Ankündigung
Einklappen
Keine Ankündigung bisher.
Stateengine Plugin Support
Einklappen
X
-
--
- Likes 1
-
Hallo Onkelandy,
erst einmal Danke. Bin noch nicht dazu gekommen es zu testen. Ich schaue mal wie ich damit zurecht komme.
Gruß
Michael
Einen Kommentar schreiben:
-
Die Reihenfolge wäre release, lock, suspend. Da brauchst du dann kein automatik_manuell_aus, sondern du triggerst einfach den release State. Dafür gibt es das Item .automatik.release -> True
Um zu sperren, setzt du das lock Item auf True, das ist schon fix im struct. Wichtig ist die korrekte Hierarchie der States.Zuletzt geändert von Onkelandy; 04.04.2025, 16:30.
Einen Kommentar schreiben:
-
Hallo schon wieder,
bin jetzt schon ein ganzes Stück weiter bekommen. Allerdings habe ich einen Knoten im Kopf wie ich mit stateengine.state_lock und stateengine.state_release umgehe.
Ich habe ein Item, welches wie folgt definiert ist:
Jetzt möchte ich, wenn ich das Item auf "Aus" also "false" setzte, dass state_release ausgelöst wird (also das erneute Ausführen der stateengine, z.B. zum definierten Nachführen der Rolläden, welche evtl. vorher manuell verstellt wurden. Klar möchte ich auch, wenn ich das Item auf "Ein" also "true" setzte, das state_Lock angesprochen wird.Code:allgemein: status: automatik_manuell_aus: type: bool knx_dpt: 1 knx_listen: 0/7/10 knx_init: 0/7/10 knx_send: 0/7/10
Mein Item sieht derzeit wie folgt aus:
Wo und wie muss ich jetzt die Zuordnung vonCode:beschattung: triggeritem: type: bool name: Trigger cycle: 300 = 1 #crontab: '* */5 8-19 * *' enforce_updates: true EG: Buero: automatik: struct: - stateengine.general - stateengine.state_suspend - stateengine.state_lock - stateengine.state_release #- beschattung_default manuell: eval_trigger: - EG.Buero.Rolladen.Fenster.Wert.knx_send - EG.Buero.Rolladen.Fenster.Fahren - EG.Buero.Rolladen.Fenster.Stopp se_manual_exclude: - KNX:1.1.11:0.0.0 rules: type: bool se_log_level: 0 se_plugin: active se_item_height: EG.Buero.Rolladen.Fenster.Wert se_item_sun_altitude: env.location.sun_position.azimut.degrees se_item_sun_elevation: env.location.sun_position.elevation.degrees se_item_fassade4: allgemein.status.rolladen_automatik_fassade4 se_repeat_actions: false eval_trigger: - beschattung.EG.Buero.automatik.manuell #- beschattung.EG.Buero.automatik.release #- beschattung.EG.Buero.automatik.lock - beschattung.triggeritem eval: true ...
beschattung.EG.Buero.automatik.lock zu allegmein.status.automatik_manuell_aus = true
und
beschattung.EG.Buero.automatik.release zu allegmein.status.automatik_manuell_aus = false
machen? In den verschiedenen Dokus und Hilfeseiten habe ich das nicht gefunden, oder ich habe Tomaten auf den Augen, sry dafür.
Danke im voraus
Michael
P.S. weil ich es gerade sehe: wenn ich den crontab nutzen möchte, funktioniert das irgendwie auch nicht.
Einen Kommentar schreiben:
-
Super, vielen Dank. das habe ich tatsächlich nicht gesehen. Es funktioniert. Freu mich schon auf die unendlichen Möglichkeiten
Gruß
Michael
- Likes 1
Einen Kommentar schreiben:
-
2 Kleinigkeiten mit großen Auswirkungen:
https://smarthomeng.github.io/dev_do...s.html#index-2
on_enter_or_Stay muss on_enter_or_stay heißen.
- Likes 1
Einen Kommentar schreiben:
-
Guten Abend zusammen,
ich versuche mich gerade in der Stateengine. Hier mein erstes Item:
Im Plugin sieht auch alles gut aus:Code:# 00_Beschattung.yaml beschattung: triggeritem: type: bool name: Trigger cycle: 120 = 1 enforce_update: True automatik: struct: stateengine.general rules: type: bool se_log_level: 2 se_plugin: active se_item_height: EG.Buero.Rolladen.Fenster.Wert se_item_sun_altitude: env.location.sun_position.azimut.degrees se_item_temperature: DG.Dach.Wetterstation.Temperatur eval: True eval_trigger: beschattung.triggeritem suntrack: enter_Sonnenstand: se_min_sun_altitude: 170 se_max_sun_altitude: 310 se_min_temperature: 5 on_enter_or_Stay: se_action_height: - 'function: set' - 'to: 60' standard: on_enter_or_Stay: se_action_height: - 'function: set' - 'to: 0'
Screenshot 2025-03-26 184054.png
Nach einem Neustart von SHNG kann ich nur einen Fehler sehen, wobei ich mich Frage wo der herkommt.
Mein Problem:Code:25-03-26 17:17:38 NOTICE lib.smarthome -------------------- SmartHomeNG restarting, initiated by admin interface -------------------- 2025-03-26 17:17:53 NOTICE lib.smarthome -------------------- SmartHomeNG stopped -------------------- 2025-03-26 17:17:54 NOTICE lib.smarthome -------------------- Init SmartHomeNG v1.10.0-master (4b25822a0) -------------------- 2025-03-26 17:17:54 NOTICE lib.smarthome Running in Python interpreter 'v3.10.12 final', from directory /usr/local/smarthome 2025-03-26 17:17:54 NOTICE lib.smarthome - operating system 'Linux Mint 21.3' (pid=702433) 2025-03-26 17:17:56 NOTICE lib.smarthome - on 'Intel(R) Core(TM) i5-7400T CPU @ 2.40GHz' 2025-03-26 17:18:10 NOTICE lib.metadata Item 'beschattung.triggeritem', attribute 'enforce_update': Attribute is undefined and has value 'True' (defined in 00_Beschattung.yaml) [B]2025-03-26 17:18:11 ERROR lib.triggertimes crontab entry '' has fewer than 4 parts and is invalid[/B] 2025-03-26 17:18:11 NOTICE lib.smarthome -------------------- SmartHomeNG initialization finished --------------------
Der Rolladen wird nicht angesprochen. Das Item "EG.Buero.Rolladen.Fenster.Wert" wird an anderer Stelle erfolgreich eingesetzt, das kann es also nicht sein.
Wo ist mein Fehler? Ich kann ihn nicht findenCode:2025-03-26 14:52:39.536763 =============================================================================== 2025-03-26 14:52:39.561559 Set log level to startup log level 2 2025-03-26 14:52:39.561990 Initialize Item beschattung.automatik.rules (Log stateengine.beschattung.automatik.rules, Level set to -1, default log level is 0) 2025-03-26 14:52:39.562768 Testing for relative item declaration ..state_id 2025-03-26 14:52:39.563439 Testing for relative item declaration ..state_name 2025-03-26 14:52:39.563543 Testing for relative item declaration ..previousstate_id 2025-03-26 14:52:39.563648 Testing for relative item declaration ..previousstate_name 2025-03-26 14:52:39.563706 Testing for relative item declaration ..conditionset_id 2025-03-26 14:52:39.563763 Testing for relative item declaration ..conditionset_name 2025-03-26 14:52:39.563815 Testing for relative item declaration ..previousconditionset_id 2025-03-26 14:52:39.563867 Testing for relative item declaration ..previousconditionset_name 2025-03-26 14:52:39.563920 Testing for relative item declaration ..previousstate_conditionset_id 2025-03-26 14:52:39.563973 Testing for relative item declaration ..previousstate_conditionset_name 2025-03-26 14:52:39.564248 Init state beschattung.automatik.rules.suntrack 2025-03-26 14:52:39.568427 Added 0 action(s) based on item configuration: 0 on_enter, 0 on_stay , 0 on_enter_or_stay, 0 on_leave 2025-03-26 14:52:39.610723 Added 1 condition set(s) based on item configuration 2025-03-26 14:52:39.612094 Appended state beschattung.automatik.rules.suntrack 2025-03-26 14:52:39.612783 Init state beschattung.automatik.rules.standard 2025-03-26 14:52:39.614152 Added 0 action(s) based on item configuration: 0 on_enter, 0 on_stay , 0 on_enter_or_stay, 0 on_leave 2025-03-26 14:52:39.625545 Added 0 condition set(s) based on item configuration 2025-03-26 14:52:39.626193 Appended state beschattung.automatik.rules.standard 2025-03-26 14:52:39.627595 ________________________________________________________________________________ 2025-03-26 14:52:39.630612 Recalculating state order. Current order: [SeState item: beschattung.automatik.rules.suntrack, id beschattung.automatik.rules.suntrack., SeState item: beschattung.automatik.rules.standard, id beschattung.automatik.rules.standard.] 2025-03-26 14:52:39.650025 Recalculated state order. New order: [SeState item: beschattung.automatik.rules.suntrack, id beschattung.automatik.rules.suntrack., SeState item: beschattung.automatik.rules.standard, id beschattung.automatik.rules.standard.] 2025-03-26 14:52:39.653443 ________________________________________________________________________________ 2025-03-26 14:52:39.667005 Testing for relative item declaration ..settings.instant_leaveaction 2025-03-26 14:52:39.670084 Using instant_leaveaction ['item:beschattung.automatik.settings.instant_leaveaction'] from attribute se_instant_leaveaction. Default value is False 2025-03-26 14:52:39.678077 ________________________________________________________________________________ 2025-03-26 14:52:39.686867 Configuration of item beschattung.automatik.rules ============================== 2025-03-26 14:52:39.691141 Startup Delay: 10 (<class 'int'>) 2025-03-26 14:52:39.720136 Suspension time on manual changes: 3600 (<class 'int'>) 2025-03-26 14:52:39.725294 Instant Leave Action from item: beschattung.automatik.settings.instant_leaveaction 2025-03-26 14:52:39.733568 Currently item results in -1 2025-03-26 14:52:39.736326 Cycle: Inactive 2025-03-26 14:52:39.736504 Cron: Inactive 2025-03-26 14:52:39.736578 Trigger: beschattung.triggeritem 2025-03-26 14:52:39.736682 Repeat actions if state is not changed: True (<class 'bool'>) 2025-03-26 14:52:39.736776 Item 'Laststate Id': beschattung.automatik.state_id 2025-03-26 14:52:39.736846 Item 'Laststate Name': beschattung.automatik.state_name 2025-03-26 14:52:39.785246 Item 'Previousstate Id': beschattung.automatik.previousstate_id 2025-03-26 14:52:39.807528 Item 'Previousstate Name': beschattung.automatik.previousstate_name 2025-03-26 14:52:39.826258 Item 'Lastcondition Id': beschattung.automatik.conditionset_id 2025-03-26 14:52:39.826350 Item 'Lastcondition Name': beschattung.automatik.conditionset_name 2025-03-26 14:52:39.826398 Item 'Previouscondition Id': beschattung.automatik.previousconditionset_id 2025-03-26 14:52:39.826438 Item 'Previouscondition Name': beschattung.automatik.previousconditionset_name 2025-03-26 14:52:39.826641 Item 'Previousstate condition Id': beschattung.automatik.previousstate_conditionset_id 2025-03-26 14:52:39.844581 Item 'Previousstate condition Name': beschattung.automatik.previousstate_conditionset_name 2025-03-26 14:52:39.857191 ________________________________________________________________________________ 2025-03-26 14:52:39.857294 Initializing released_by attributes 2025-03-26 14:52:39.857384 ________________________________________________________________________________ 2025-03-26 14:52:39.857438 State beschattung.automatik.rules.suntrack: 2025-03-26 14:52:39.857548 State Name: suntrack (<class 'str'>) 2025-03-26 14:52:39.857602 State Order: 1 (<class 'int'>) 2025-03-26 14:52:39.857652 Updating Web Interface... 2025-03-26 14:52:39.859909 Finished Web Interface Update 2025-03-26 14:52:39.896648 Condition sets to enter state: 2025-03-26 14:52:39.902418 Condition Set 'enter_Sonnenstand': 2025-03-26 14:52:39.902794 Condition 'sun_altitude': 2025-03-26 14:52:39.903065 item: sun_altitude (env.location.sun_position.azimut.degrees) 2025-03-26 14:52:39.903264 min: 170 (<class 'int'>) 2025-03-26 14:52:39.903442 max: 310 (<class 'int'>) 2025-03-26 14:52:39.903542 negate: False 2025-03-26 14:52:39.903675 Condition 'temperature': 2025-03-26 14:52:39.903790 item: temperature (DG.Dach.Wetterstation.Temperatur) 2025-03-26 14:52:39.903895 min: 5 (<class 'int'>) 2025-03-26 14:52:39.903955 negate: False 2025-03-26 14:52:39.928399 State beschattung.automatik.rules.standard: 2025-03-26 14:52:39.928618 State Name: standard (<class 'str'>) 2025-03-26 14:52:39.928715 State Order: 2 (<class 'int'>) 2025-03-26 14:52:39.928793 Updating Web Interface... 2025-03-26 14:52:39.928874 Finished Web Interface Update 2025-03-26 14:52:39.928992 ________________________________________________________________________________ 2025-03-26 14:52:39.929065 2025-03-26 14:52:39.929131 These attributes are not used: height. Please check extended log file for details. 2025-03-26 14:52:39.929193 2025-03-26 14:52:39.929256 The following attributes have issues: 2025-03-26 14:52:39.929321 Definition height not used in any action or condition. 2025-03-26 14:52:39.929389 ________________________________________________________________________________ 2025-03-26 14:52:39.929562 Will start stateengine evaluation at 14:52:49, 26.03. 2025-03-26 14:52:39.929795 Reset log level to -1
Danke schon mal im Voraus für die Hilfe
MichaelZuletzt geändert von MrSetup; 26.03.2025, 20:17.
Einen Kommentar schreiben:
-
hab eine NOTICE im Log gefunden (PLUGIN_VERSION = '2.0.0'):
Code:2024-07-17 07:16:26 NOTICE lib.metadata Item 'Dg.Wohnzimmer.Jalousie.Fenster.AutoBlind.rules.Beschatten', attribute 'se_name': Attribute is undefined and has value 'eval: ('Beschatten-' + sh....Parameter.Himmelsrichtung())'Zuletzt geändert von ivande; 17.07.2024, 06:23.
- Likes 1
Einen Kommentar schreiben:
-
Gut, habs zusammen mit ein paar weiteren Fixes gemergt, ist nun im develop
Einen Kommentar schreiben:
-
Musste tatsächlich tief graben, aber hab das Problem gefunden. Das hier sollte es lösen, bitte testen:
https://github.com/smarthomeNG/plugins/pull/948
Einen Kommentar schreiben:
-
wollte in mein bestehendes Projekt, welches schon länger läuft mit struct eine Ergänzung einfügen und komme seit 2 Tagen nicht auf den Fehler drauf: expected string or bytes-like object
log:
dg.yamlCode:2024-07-03 12:44:46.156430 Init state Dg.Wohnzimmer.Jalousie.Terrasse.AutoBlind.rules.Schiebetuer 2024-07-03 12:44:46.157878 Struct stateengine_jalousie_spezial.Default.Schiebetuer created. 2024-07-03 12:44:46.158718 Reading struct stateengine_jalousie_spezial.Default.Schiebetuer. It is a valid struct for the state configuration. 2024-07-03 12:44:46.161389 Added 3 action(s) based on se_use stateengine_jalousie_spezial.Default.Schiebetuer. 0 on_enter, 0 on_stay , 3 on_enter_or_stay, 0 on_leave 2024-07-03 12:44:46.161762 Added 1 condition set(s) based on se_use: stateengine_jalousie_spezial.Default.Schiebetuer 2024-07-03 12:44:46.163661 ERROR: Ignoring state Dg.Wohnzimmer.Jalousie.Terrasse.AutoBlind.rules.Schiebetuer because: expected string or bytes-like object
global_structs.yamlCode:AutoBlind: struct: - stateengine_jalousie_default - stateengine.general - stateengine_jalousie_spezial rules: type: bool se_plugin: active name: Dg Wohnzimmer Terasse eval_trigger: - Dg.Trigger - Dg.Wohnzimmer.Jalousie.Terrasse.AutoBlind.manuell - Dg.Wohnzimmer.Jalousie.Terrasse.AutoBlind.retrigger - Dg.Wohnzimmer.Jalousie.Terrasse.AutoBlind.suspend - Dg.Wohnzimmer.Jalousie.Terrasse.AutoBlind.automatik - Dg.Wohnzimmer.Jalousie.Terrasse.AutoBlind.beschatten - Dg.Wohnzimmer.Jalousie.Terrasse.AutoBlind.beschattenFuerZeit - Dg.Wohnzimmer.Jalousie.Terrasse.Position_gueltig - Dg.Wohnzimmer.Jalousie.Terrasse.ReferenzFahren - Dg.Wohnzimmer.Status.Schlafen - Wetterstation.WindWarnung - Wetterstation.WindAlarm - Dg.Wohnzimmer.Schiebetuer.Status eval: True se_item_schiebetuer: .....Schiebetuer.Status se_repeat_actions: true se_laststate_item_id: ..state_id se_laststate_item_name: ..state_name se_suspend_time: "eval:se_eval.get_relative_itemvalue('...Parameter.ZeitManuell') * 60" Schiebetuer: se_use: struct:stateengine_jalousie_spezial.Default.Schiebetuer
Code:stateengine_jalousie_default: rules: se_item_Brightness_ost_gt43k: Wetterstation.Helligkeit.Ost_gt43k .... Tag: type: foo name: Tag se_set_suspend: 'False' se_set_Position: 'item: ...Parameter.Tag.Position' se_set_Lamellenposition: 'item: ...Parameter.Tag.Lamellenposition' enter: se_value_TagAktive: 'True' se_min_sun_altitude: 0 se_min_Daemmerung: 200 se_min_time: 'item: ...Parameter.Tag.Uhrzeit' ... stateengine_jalousie_spezial: Default: Schiebetuer: type: foo name: Schiebetuer enter: se_value_schiebetuer: True se_value_automatik: True se_set_suspend: False se_set_Position: 0 se_set_Lamellenposition: 0
Einen Kommentar schreiben:
-
Bin mit Morg da dran.. frag mich eh grad, was ich mit den zwei Zeilen bewirken wollte bzw. ob da jemals was Gescheites rauskommen kann
Ändere die Zeilen bitte mal wie folgt, dann funzt es zumindest.
Code:try: _last_conditionset_id = self.__conditionsets[_wouldenter][0] _last_conditionset_name = self.__conditionsets[_wouldenter][1] except: pass
Einen Kommentar schreiben:
-
Wir haben leider kein Glück ;-(. Habe es mit dem aktuellen develop Stand für das Stateengine Plugin versucht. Keine Veränderung. Der Fehler wird einmal beim Start für alle Stateengines geworfen und sie laufen alle nicht.
Einen Kommentar schreiben:
-
Ich kann den Fehler hier komischerweise nicht reproduzieren. Kannst du bitte mal die develop Version ziehen und nochmals testen? Vielleicht haben wir Glück
Einen Kommentar schreiben:

Einen Kommentar schreiben: