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 +# +