From 69c833430ccb4a65a1ef909d7ef1de4c0ed9f83a Mon Sep 17 00:00:00 2001
From: Morg42 <43153739+Morg42@users.noreply.github.com>
Date: Thu, 15 Feb 2024 13:03:50 +0100
Subject: [PATCH] restore logics
---
logics/blockly_logics.py | 6 ++++++
logics/blockly_logics.xml | 1 +
logics/example_logging.py | 14 ++++++++++++++
logics/example_persistance.py | 19 +++++++++++++++++++
logics/logic.tpl | 19 +++++++++++++++++++
5 files changed, 59 insertions(+)
create mode 100644 logics/blockly_logics.py
create mode 100644 logics/blockly_logics.xml
create mode 100644 logics/example_logging.py
create mode 100644 logics/example_persistance.py
create mode 100644 logics/logic.tpl
diff --git a/logics/blockly_logics.py b/logics/blockly_logics.py
new file mode 100644
index 0000000000..69010546ff
--- /dev/null
+++ b/logics/blockly_logics.py
@@ -0,0 +1,6 @@
+#?#trigger_id:cycle = 60
+"""
+Hallo Welt Beispiel
+"""
+if (logic.name == 'blockly_runner_trigger_id') and True:
+ print('hallo Welt')
diff --git a/logics/blockly_logics.xml b/logics/blockly_logics.xml
new file mode 100644
index 0000000000..ed71c17dfb
--- /dev/null
+++ b/logics/blockly_logics.xml
@@ -0,0 +1 @@
+60TRUEHallo Welt Beispieltrigger_idhallo Welt
\ No newline at end of file
diff --git a/logics/example_logging.py b/logics/example_logging.py
new file mode 100644
index 0000000000..9e5fd3e15c
--- /dev/null
+++ b/logics/example_logging.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python3
+# logics/example_logging.py
+
+# Beispiel-Logik welche zeigt, wie Logeinträge verschiedener Levels in die Logdateien eingetragen werden.
+#
+# Dazu:
+# - Diese Logik triggern
+# - die Einträge in ../var/log/smarthome-warnings.log und ../var/log/smarthome-details.log prüfen
+
+logger.warning(f"Logik '{logic.name}' (filename '{logic.filename}') wurde getriggert (WARNING)")
+logger.notice(f"Logik '{logic.name}' (filename '{logic.filename}') wurde getriggert (NOTICE)")
+logger.info(f"Logik '{logic.name}' (filename '{logic.filename}') wurde getriggert (INFO)")
+logger.debug(f"Logik '{logic.name}' (filename '{logic.filename}') wurde getriggert (DEBUG)")
+
diff --git a/logics/example_persistance.py b/logics/example_persistance.py
new file mode 100644
index 0000000000..821003e746
--- /dev/null
+++ b/logics/example_persistance.py
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+# logics/example_persistance.py
+
+# Diese Beispiel-Logik zeigt, Variablen definiert werden müssen, um den Lauf einer Logik zu überdauern
+#
+# Dazu:
+# - Diese Logik triggern
+# - die Einträge in ../var/log/smarthome-details.log prüfen
+#
+# - Diese Logik erneut triggern
+# - die Einträge in ../var/log/smarthome-details.log prüfen
+
+if not hasattr(logic, 'mycounter'):
+ logic.mycounter = 0
+
+logic.mycounter += 1
+
+logger.info("Logik '{}' (filename '{}'): mycounter = {}".format(logic.name, logic.filename, logic.mycounter))
+
diff --git a/logics/logic.tpl b/logics/logic.tpl
new file mode 100644
index 0000000000..280e34fa01
--- /dev/null
+++ b/logics/logic.tpl
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+#
+# This file contains a logic for use with SmartHomeNG
+#
+# Name of the logic: example_logic.py
+#
+
+# This logic performs the following function(s):
+#
+# ...
+#
+
+# The following triggers should be defined in ../etc/logic.yaml:
+#
+# watch_item = | | ...
+# crontab = init = Init
+# cycle = 600
+#
+