NEWS
SONOFF NSPanel mit Lovelace UI
-
@armilar
Alles gut
Die Zeit werde ich gerne noch abwarten. Ich denke das werde ich dann im changelog lesen können?
Danke dir! -
@cdn sagte in SONOFF NSPanel mit Lovelace UI:
@armilar @ticaki
Naja das Problem ist doch, dass der Datenpunkt unter 0_userdata.0.NSPanels.XXX.Relay. sich nicht aktualisiert.
In meinem Fall möchte ich eine Wechselschaltung realisieren. Wenn ich nun also an einem anderen Schalter mit einem Shelly eine Zustandsänderung habe, dann kann ich dem NSPanel nicht sagen mach Aus oder An, da ich nicht weiß in welchem Zustand sich der Schalter befindet.Wenn im DP true steht, aber das Relay in wirklichkeit aus, dann muss ich den Wert erst einmal auf false ändern um ihn dann wieder auf true zu ändern um das Licht anzumachen.
Hi @cdn,
also wenn Du den Shelly Adapter drin hast und den Shelly darauf verbunden hast, dann hast Du im Relay0 einen Switch. Der gibt dir immer den aktuellen Status zurück. Darauf kannst Du einen Blockly machen und den dann mit was auch immer (Hardware Button am Panel, Lichtschalter, etc.) schalten. Ich empfehle dafür aber dann den Button am Panel wirklich zu entkoppeln, solltest Du darüber schalten wollen.
LG
-
@kuckuckmann
Ja mein setup ist aber genau andersrum. Licht hängt am NSPanel und der Shelly i4 erkennt nur ob wir den Schalter drücken
Aus reinem Interesse, da ich einige andere NSPanel im Einsatz habe, worüber ich nur Funktionen schalte, aber am Relay nichts hängt: Wieso empfiehlst du die Entkopplung? -
@cdn
Weil angezogene Relais Strom verbrauchen. -
@ticaki Joa das ist ein Argument
-
Ich würde bei einem direkt am Schaltaktor verbauten Leuchtmittel ebenfalls aus Fallback und Redundanzgründen keine Entkoppelung vornehmen
Bei einem entfernten Shelly sehe ich den Sinn eines aktiv angezogenen NSPanel-Relais ehrlich gesagt aber auch nicht.
-
@armilar
Ja wie soll ich denn sonst das Leuchtmittel steuern?
Der Shelly hat keine physische Verbindung mit dem Licht.
Stell dir vor, dass dort wo früher der Lichtschalter saß, nun das Panel ist und an einer Stelle wo es keine Verbindung zur Lampe gibt, aber Strom, ein Shelly i4 sitzt. -
@cdn sagte in SONOFF NSPanel mit Lovelace UI:
Ja wie soll ich denn sonst das Leuchtmittel steuern?
Nee, ist alles richtig so.
-
Ich setze Skript Version 4.3.1.1 ein. Ich möchte gerne als erste Seite wenn man auf das Display tippt, um den Screensaver zu entfernen, einen Button haben, der einen Datenpunkt auf true setzt. Ich habe mir das Wiki angeschaut aber habe nicht das richtige gefunden.
Welches let wäre dafür am Besten? Geht es mit CardGrid - 6 PageItems?
Muss ich mit einem Alias dabei arbeiten? Es ist ein eigener Datenpunkt:0_userdata.0.EigeneDatenpunkte.Tasmota.FusswaermerProgramm (ich habe einen Fusswärmer, der nach bestimmter Zeit immer ausgeht. Ich habe mir ein kleines Blockly geschrieben, dass bei Aktivierung mit true den Strom über eine Tasmota Schaltsteck deaktiviert und nach 5 Sek. wieder aktiviert)
-
Ich möchte gerne als erste Seite wenn man auf das Display tippt, um den Screensaver zu entfernen
Seite an erste Stelle in der Sortierung des Pages-Array in der Config setzen.
einen Button haben, der einen Datenpunkt auf true setzt
Ist der Alias Taste (button)
Muss ich mit einem Alias dabei arbeiten?
Ja
Funktionier mit cardEntities, cardGrid und cardGrid2. Nachfolgend beispiel mit cardGrid.
let Seite_1: PageType = { 'type': 'cardGrid', 'heading': 'Fußwärmer', 'useColor': true, 'items': [ { id: 'alias.0.NSPanel_1.Fusswaermer', icon: 'heating-coil', name: 'Fusswaermer' }, ] };
-
-
-
@armilar sagte in SONOFF NSPanel mit Lovelace UI:
let Seite_1: PageType =
wow danke für euren Support, dachte schon, dass es mit meiner älteren Version aus dem Wiki nicht passt, da es Fehler gab, als ich versucht habe, es einzufügen. Ich gehe auf die neuste Version und füge es dann hinzu.
Danke nochmal für eure Unterstützung!
-
@mading
Wenn du schon weitere Seiten hast, dann passe die Config der Seiten gleich nach dem neuen Schema an. Sollten Fehler kommen, einfach hier melden, die lösen wir dann gemeinsam. Viel Spaß noch -
@armilar @TT-Tom @haus-automatisierung @Kuckuckmann @joBr99
hab mir mal 10 NS Panels organisiert und schaffe mich gerade rein.. muss nur mal DANKE sagen, was ein mächtiges Tool!!
-
Hi,
ich nutze mein nspanel als Wandthermostat. Das funktioniert prinzipiell auch. Die Buttons hab ich deaktiviert, steure sie über ein Blockly, wenn die Temperatur zu kalt ist.
Jetzt ist es aber so, dass wenn ich über Tasmota relais 1 aktiviere (bei relais 2 passiert das nicht), es sich innerhalb von ca 30s wieder ausschaltet. Das Blockly hab ich bereits deaktiviert und es passiert trotzdem. In den log der Console erkennt man zwar, wenn ich das Relais aktiviere, allerdings erscheint kein Eintrag wenn es ausgeschaltet wird.
Kann sich das jmd erklären?let Kueche_Themostat = <PageThermo> { 'type': 'cardThermo', 'heading': 'Thermostat Kueche', 'useColor': true, 'subPage': false, 'parent': undefined, 'items': [<PageItem>{ id: 'alias.0.NSPanels.Thermostat_Kueche', minValue: 50, maxValue: 300, stepValue: 5, // setThermoDestTemp2: 'ACTUAL1' }] };
-
Scriptversion bitte angeben.
-
@eierfeile sagte in SONOFF NSPanel mit Lovelace UI:
ich das Relais aktiviere, allerdings erscheint kein Eintrag wenn es ausgeschaltet wird.
Kann sich das jmd erklären?- Hast du im Tasmota PulseTime 130 aktiviert?
- Hast du ein Blockly, dass mit einem Timeout nach 30 Sekunden ein Relay abschaltet?
- Hast du im Tasmota eine Rule definiert die folgendes ausführt?
Backlog Status 1; Power1 on; Delay 300; Power1 off; Status 4
- etc.
Folgendes Posten:
-
Neben der Versionsnummer des Scriptes bitte auch einen
status0
in der Tasmota-Konsole ausführen und komplett senden. -
Weblog 3 in der Tasmota Konsole einschalten und das Tasmota-Log senden, wenn das Panel das Relay ausschaltet.
-
Blockly für den Wandthermostaten senden
Da das NSPanelTs.ts in der cardThermo keine Relays steuert gehe ich mal zu 99,99% von äußeren Faktoren und Einflüssen aus...
-
@ticaki ich nutze TypeScript v4.3.1.1
-
- Nicht das ich wüsste. Wie kann ich das prüfen?
- Hab das entsprechende Blockly eigentlich deaktiviert. Falls trotzdem irgendwas das Relais ansteuert, hätte ich ein Hinweis in der Console erwartet. Oder is das falsch?
- Nein, sagt mir ebenfalls nichts.
08:22:26.173 CMD: status0 08:22:26.219 MQT: Thermostate/stat/nspanel_FA4E78/STATUS0 = {"Status":{"Module":0,"DeviceName":"Tasmota","FriendlyName":["Tasmota",""],"Topic":"nspanel_FA4E78","ButtonTopic":"0","Power":0,"PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0,"StatusRetain":0},"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota32/release/tasmota32-nspanel.bin","RestartReason":"Software reset CPU","Uptime":"0T13:07:41","StartupUTC":"2024-01-12T18:14:45","Sleep":0,"CfgHolder":4617,"BootCount":37,"BCResetTime":"2023-04-07T08:56:11","SaveCount":844},"StatusFWR":{"Version":"13.3.0(nspanel)","BuildDateTime":"2023-12-12T14:31:39","Core":"2_0_14","SDK":"4.4.6.231122","CpuFrequency":160,"Hardware":"ESP32-D0WD-V3 v3.0","CR":"456/699"},"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Fritz!repeater",""],"TelePeriod":10,"Resolution":"558180C0","SetOption":["00008009","2805C80001000600003C5A0A192800000000","00800080","00006000","00004000","00000000"]},"StatusMEM":{"ProgramSize":1888,"Free":863,"Heap":131,"StackLowMark":4,"PsrMax":0,"PsrFree":0,"ProgramFlashSize":4096,"FlashSize":4096,"FlashChipId":"16405E","FlashFrequency":40,"FlashMode":"DIO","Features":["0809","9F9AD7DF","0015A001","B7F7BFCF","05DA9BC4","E0360DC7","480840D2","20200000","D4BC482D","810A80B1","00000000"],"Drivers":"1,2,3,4,5,7,8,9,10,11,12,14,16,17,20,21,24,26,27,29,34,35,38,50,52,59,60,62,63,66,67,68,82,86,87,88","Sensors":"1,2,3,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,26,31,34,37,39,40,42,43,45,51,52,55,56,58,59,64,66,67,74,85,92,95,98,103,105,109,127","I2CDriver":"7,8,9,10,11,12,13,14,15,17,18,20,24,29,31,36,41,42,44,46,48,58,62,65,69,76,77,82"},"StatusNET":{"Hostname":"nspanel-FA4E78-3704","IPAddress":"192.168.188.96","Gateway":"192.168.188.1","Subnetmask":"255.255.255.0","DNSServer1":"192.168.188.1","DNSServer2":"2a02:6d40:36e7:9701:464e:6dff:feb7:9eee","Mac":"C0:49:EF:FA:4E:78","IP6Global":"2a02:6d40:36e7:9701:c249:efff:fefa:4e78","IP6Local":"fe80::c249:efff:fefa:4e78%st2","Ethernet":{"Hostname":"","IPAddress":"0.0.0.0","Gateway":"0.0.0.0","Subnetmask":"0.0.0.0","DNSServer1":"192.168.188.1","DNSServer2":"2a02:6d40:36e7:9701:464e:6dff:feb7:9eee","Mac":"00:00:00:00:00:00","IP6Global":"","IP6Local":""},"Webserver":2,"HTTP_API":1,"WifiConfig":4,"WifiPower":17.0},"StatusMQT":{"MqttHost":"192.168.188.222","MqttPort":1883,"MqttClientMask":"ThermostatKueche","MqttClient":"ThermostatKueche","MqttUser":"mqtt","MqttCount":2,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30,"SOCKET_TIMEOUT":4},"StatusTIM":{"UTC":"2024-01-13T07:22:26","Local":"2024-01-13T08:22:26","StartDST":"2024-03-31T02:00:00","EndDST":"2024-10-27T03:00:00","Timezone":"+01:00","Sunrise":"08:40","Sunset":"17:17"},"StatusSNS":{"Time":"2024-01-13T08:22:26","ANALOG":{"Temperature1":20.6},"TempUnit":"C"},"StatusSTS":{"Time":"2024-01-13T08:22:26","Uptime":"0T13:07:41","UptimeSec":47261,"Heap":129,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":2,"Berry":{"HeapUsed":16,"Objects":218},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Fritz!repeater","BSSId":"2C:91:AB:E1:FE:EA","Channel":6,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:05"}}} 08:22:29.190 MQT: Thermostate/stat/nspanel_FA4E78/RESULT = {"CustomSend":"Done"} 08:22:29.246 MQT: Thermostate/stat/nspanel_FA4E78/RESULT = {"CustomSend":"Done"} 08:22:35.848 MQT: Thermostate/tele/nspanel_FA4E78/STATE = {"Time":"2024-01-13T08:22:35","Uptime":"0T13:07:50","UptimeSec":47270,"Heap":126,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":2,"Berry":{"HeapUsed":16,"Objects":218},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Fritz!repeater","BSSId":"2C:91:AB:E1:FE:EA","Channel":6,"Mode":"11n","RSSI":78,"Signal":-61,"LinkCount":1,"Downtime":"0T00:00:05"}} 08:22:35.865 MQT: Thermostate/tele/nspanel_FA4E78/SENSOR = {"Time":"2024-01-13T08:22:35","ANALOG":{"Temperature1":20.5},"TempUnit":"C"} 08:22:45.846 MQT: Thermostate/tele/nspanel_FA4E78/STATE = {"Time":"2024-01-13T08:22:45","Uptime":"0T13:08:00","UptimeSec":47280,"Heap":133,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":2,"Berry":{"HeapUsed":16,"Objects":218},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Fritz!repeater","BSSId":"2C:91:AB:E1:FE:EA","Channel":6,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:05"}} 08:22:45.862 MQT: Thermostate/tele/nspanel_FA4E78/SENSOR = {"Time":"2024-01-13T08:22:45","ANALOG":{"Temperature1":20.5},"TempUnit":"C"} 08:22:55.846 MQT: Thermostate/tele/nspanel_FA4E78/STATE = {"Time":"2024-01-13T08:22:55","Uptime":"0T13:08:10","UptimeSec":47290,"Heap":133,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":2,"Berry":{"HeapUsed":16,"Objects":218},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Fritz!repeater","BSSId":"2C:91:AB:E1:FE:EA","Channel":6,"Mode":"11n","RSSI":78,"Signal":-61,"LinkCount":1,"Downtime":"0T00:00:05"}} 08:22:55.866 MQT: Thermostate/tele/nspanel_FA4E78/SENSOR = {"Time":"2024-01-13T08:22:55","ANALOG":{"Temperature1":20.5},"TempUnit":"C"} 08:22:59.183 MQT: Thermostate/stat/nspanel_FA4E78/RESULT = {"CustomSend":"Done"} 08:22:59.295 MQT: Thermostate/stat/nspanel_FA4E78/RESULT = {"CustomSend":"Done"} 08:22:59.356 MQT: Thermostate/stat/nspanel_FA4E78/RESULT = {"CustomSend":"Done"} 08:23:05.848 MQT: Thermostate/tele/nspanel_FA4E78/STATE = {"Time":"2024-01-13T08:23:05","Uptime":"0T13:08:20","UptimeSec":47300,"Heap":126,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":2,"Berry":{"HeapUsed":16,"Objects":218},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Fritz!repeater","BSSId":"2C:91:AB:E1:FE:EA","Channel":6,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:05"}} 08:23:05.866 MQT: Thermostate/tele/nspanel_FA4E78/SENSOR = {"Time":"2024-01-13T08:23:05","ANALOG":{"Temperature1":20.5},"TempUnit":"C"} 08:23:15.847 MQT: Thermostate/tele/nspanel_FA4E78/STATE = {"Time":"2024-01-13T08:23:15","Uptime":"0T13:08:30","UptimeSec":47310,"Heap":134,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":2,"Berry":{"HeapUsed":16,"Objects":218},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Fritz!repeater","BSSId":"2C:91:AB:E1:FE:EA","Channel":6,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:05"}} 08:23:15.859 MQT: Thermostate/tele/nspanel_FA4E78/SENSOR = {"Time":"2024-01-13T08:23:15","ANALOG":{"Temperature1":20.5},"TempUnit":"C"}
08:25:12.863 CMD: Grp 0, Cmd 'CUSTOMSEND', Idx 1, Len 41, Pld -99, Data 'statusUpdate~梅20.5°~64332~~17299~~~' 08:25:12.897 NXP: payload sent = bytes('55BB29007374617475735570646174657EEFA98432302E35C2B07E3634333332...') 08:25:12.903 MQT: Thermostate/stat/nspanel_FA4E78/RESULT = {"CustomSend":"Done"} 08:25:13.104 HTP: Command 08:25:13.111 SRC: WebCommand from 0.0.0.0 08:25:13.113 CMD: Grp 0, Cmd 'POWER', Idx 1, Len 4, Pld 1, Data 'true' 08:25:13.125 MQT: Thermostate/stat/nspanel_FA4E78/RESULT = {"POWER1":"ON"} 08:25:13.128 MQT: Thermostate/stat/nspanel_FA4E78/POWER1 = ON 08:25:13.719 CFG: Saved, Count 846, Bytes 4096 08:25:15.847 MQT: Thermostate/tele/nspanel_FA4E78/STATE = {"Time":"2024-01-13T08:25:15","Uptime":"0T13:10:30","UptimeSec":47430,"Heap":129,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":2,"Berry":{"HeapUsed":16,"Objects":218},"POWER1":"ON","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Fritz!repeater","BSSId":"2C:91:AB:E1:FE:EA","Channel":6,"Mode":"11n","RSSI":78,"Signal":-61,"LinkCount":1,"Downtime":"0T00:00:05"}} 08:25:15.858 MQT: Thermostate/tele/nspanel_FA4E78/SENSOR = {"Time":"2024-01-13T08:25:15","ANALOG":{"Temperature1":20.5},"TempUnit":"C"} 08:25:25.848 MQT: Thermostate/tele/nspanel_FA4E78/STATE = {"Time":"2024-01-13T08:25:25","Uptime":"0T13:10:40","UptimeSec":47440,"Heap":134,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":2,"Berry":{"HeapUsed":16,"Objects":218},"POWER1":"ON","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Fritz!repeater","BSSId":"2C:91:AB:E1:FE:EA","Channel":6,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:05"}} 08:25:25.863 MQT: Thermostate/tele/nspanel_FA4E78/SENSOR = {"Time":"2024-01-13T08:25:25","ANALOG":{"Temperature1":20.6},"TempUnit":"C"} 08:25:25.953 HTP: Command 08:25:25.959 SRC: WebCommand from 0.0.0.0 08:25:25.961 CMD: Grp 0, Cmd 'POWER', Idx 1, Len 5, Pld 0, Data 'false' 08:25:25.974 MQT: Thermostate/stat/nspanel_FA4E78/RESULT = {"POWER1":"OFF"} 08:25:25.980 MQT: Thermostate/stat/nspanel_FA4E78/POWER1 = OFF 08:25:26.041 SRC: MQTT
und hier das Blockly
v7.1.6 BlocklyJavascriptTypeScriptRules Skript läuft nicht 08:27:26.697 info javascript.0 (243) Stop script script.js.NSPanels.cardTherm Ausgewählte Blöcke exportieren <xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="f5Bid}p|/9GT(RD6+VvN" x="12" y="63"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="`r{2K%U)7zl).bayEI~^"> <field name="oid">alias.0.NSPanel.1.Sensor.ANALOG.Temperature.ACTUAL</field> </shadow> <block type="field_oid" id="U:J`M6C4H1J{*Q~bTz3y"> <field name="oid">alias.0.NSPanels.Thermostat_Kueche.ACTUAL</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="X2LSI}+Zi#M|IV$#WL@)"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="M_JR1J!hC6l{=7#)}t;o"> <field name="OP">LT</field> <value name="A"> <block type="math_arithmetic" id="SSzhQfC0#lj$jKI`rAL2"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Cnu[3+X8C-i4aI$f[LLZ"> <field name="NUM">1</field> </shadow> <block type="get_value" id="s.Y#A[ZI%3V6pQ|$D~2("> <field name="ATTR">val</field> <field name="OID">alias.0.NSPanels.Thermostat_Kueche.SET</field> </block> </value> <value name="B"> <shadow type="math_number" id=";4Bs+8_Bf_~s5BGTL2Zm"> <field name="NUM">1</field> </shadow> <block type="math_number" id="FW,V;B.:ZT`12]|[R69}"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="get_value" id="9FRly,]ESm(#7Ahr9$Oq"> <field name="ATTR">val</field> <field name="OID">alias.0.NSPanels.Thermostat_Kueche.ACTUAL</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="ZBrHe-!=-7{XHEgZ[kKP"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.NSPanels.Thermostat_Kueche.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="$!/V_Bz[$]FKapjGf7j#"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="7O!kH0aC)ojZQ27T:i~3"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.NSPanels.Thermostat_Kueche.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="^]R@F(rwWETa1P_SMi:W"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </xml> <xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="f5Bid}p|/9GT(RD6+VvN" x="12" y="63"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="`r{2K%U)7zl).bayEI~^"> <field name="oid">alias.0.NSPanel.1.Sensor.ANALOG.Temperature.ACTUAL</field> </shadow> <block type="field_oid" id="U:J`M6C4H1J{*Q~bTz3y"> <field name="oid">alias.0.NSPanels.Thermostat_Kueche.ACTUAL</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="X2LSI}+Zi#M|IV$#WL@)"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="M_JR1J!hC6l{=7#)}t;o"> <field name="OP">LT</field> <value name="A"> <block type="math_arithmetic" id="SSzhQfC0#lj$jKI`rAL2"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Cnu[3+X8C-i4aI$f[LLZ"> <field name="NUM">1</field> </shadow> <block type="get_value" id="s.Y#A[ZI%3V6pQ|$D~2("> <field name="ATTR">val</field> <field name="OID">alias.0.NSPanels.Thermostat_Kueche.SET</field> </block> </value> <value name="B"> <shadow type="math_number" id=";4Bs+8_Bf_~s5BGTL2Zm"> <field name="NUM">1</field> </shadow> <block type="math_number" id="FW,V;B.:ZT`12]|[R69}"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="get_value" id="9FRly,]ESm(#7Ahr9$Oq"> <field name="ATTR">val</field> <field name="OID">alias.0.NSPanels.Thermostat_Kueche.ACTUAL</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="ZBrHe-!=-7{XHEgZ[kKP"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.NSPanels.Thermostat_Kueche.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="$!/V_Bz[$]FKapjGf7j#"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="7O!kH0aC)ojZQ27T:i~3"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.NSPanels.Thermostat_Kueche.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="^]R@F(rwWETa1P_SMi:W"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>