Ja klar!
Ich habe das gleich aufgeteilt in einen State-Teil und einen Rules-Teil. Den State-Teil erzeuge ich immer über ein Template, weil der immer gleich ist und den Rules-Teil dann spezifisch. Erstmal das Template:
autoblind.json
Das nutze ich dann im Hauptfile (oder in einem anderen Template) folgendermaßen:
Ist jetzt ein stark vereinfachtes Beispiel. Aber es geht ja erstmal um die Syntax.
Ich hoffe, es reicht Dir, sonst musst Du konkreter fragen, was Dir Probleme verursacht.
Gruß, Waldemar
Ich habe das gleich aufgeteilt in einen State-Teil und einen Rules-Teil. Den State-Teil erzeuge ich immer über ein Template, weil der immer gleich ist und den Rules-Teil dann spezifisch. Erstmal das Template:
autoblind.json
Code:
{ "$schema": "../schema/ItemSchema.json", "autoBlind": { "State": { "suspended": { "description": "Status: Automatik ist deaktiviert", "type": "bool", "value": false }, "lock": { "description": "Über dieses Item wird die Automatik gesperrt", "type": "bool", "value": false }, "stateId": { "cache": true, "type": "str", "visu_acl": "ro" }, "stateName": { "type": "str", "cache": true, "visu_acl": "ro" } }, "Rules": { "type": "bool", "as_plugin": "active", "as_lock_item": "~~.State.lock", "as_suspend_item": "~~.State.suspended", "as_laststate_item_id": "~~.State.stateId", "as_laststate_item_name": "~~.State.stateName" } } }
Code:
"autoBlind": { "$template": { "source": "autoblind" }, "Rules": { "$templated": true, "as_plugin": "active", "as_startup_delay": 60, "cycle": "300 = 1", "as_item_Pos": "~~~.Pos.Set", "as_item_IstOben": "~~~.IstOben", "as_item_IstUnten": "~~~.IstUnten", "as_item_Windalarm": "~.Wind.Windalarm", "as_item_Regenalarm": "~.Regen", "eval_trigger": [ "~.Wind.Windalarm", "~.Regen", "~~~.IstUnten", "~~~.IstOben" ], "Windalarm": { "name": "Gesperrt durch Windalarm", "description": "Sperre durch Windalarm bleibt mindestens 10 Minuten an", "as_set_Pos": "0", "enter_Start": { "as_value_Windalarm": 1 }, "enter_Stay": { "as_min_age": 600, "as_value_laststate": "~~" } }, "Regenalarm": { "name": "Gesperrt durch Regenalarm", "description": "Sperre durch Regenalarm bleibt mindestens 10 Minuten an", "as_set_Pos": "0", "enter_Start": { "as_value_Regenalarm": 1 }, "enter_Stay": { "as_min_age": 600, "as_value_laststate": "~~" } }, "Nachtschaltung": { "name": "Eingefahren - Nachts", "description": "Markise wird nachts immer eingefahren", "as_set_Pos": "0", "enter": { "as_min_time": "06:00", "as_max_time": "22:00", "as_negate_time": true } }, "IstUnten": { "name": "Vollständig ausgefahren", "description": "Markise ist jetzt vollstaendig ausgefahren", "enter": { "as_value_IstUnten": 1 } }, "IstOben": { "name": "Eingefahren", "description": "Markise ist jetzt vollstaendig eingefahren", "enter": { "as_value_IstOben": 1 } }, "Ausgefahren": { "description": "Markise ist jetzt teilweise ausgefahren", "name": "Ausgefahren" } } }
Ich hoffe, es reicht Dir, sonst musst Du konkreter fragen, was Dir Probleme verursacht.
Gruß, Waldemar
Kommentar