NEWS
SONOFF NSPanel mit Lovelace UI
SONOFF NSPanel mit Lovelace UI
-
@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!
-
@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!
-
SONOFF NSPanel Touch Display Switch
mit Lovelace UI und TASMOTA Firmware

Das Thema https://forum.iobroker.net/topic/50888/sonoff-nspanel/1542 wird hier jetzt fortgesetzt...
An alle begeisterten NSPanel'er
Dieser Thread soll sich jetzt ausschließlich mit den Fragen und Themen rund um das SONOFF NSPanel mit Lovelace UI beschäftigen.
Wie alles begann:
- 22.10.2021
Blakadder's Dokumentation der Dekodierung des NSPanel-Kommunikationsprotokolls und Einrichtung der Steuerung des Nextion-Bildschirms mit benutzerdefinierter Firmware.
https://blakadder.com/nspanel-hacking/ - 01.01.2022
Erste Gehversuche mit Blockly-Scripts auf der Original-Firmware nach einer ersten coolen Anleitung für den ioBroker von @haus-automatisierung. - ...
Funkstille auf allen Kanälen, da das Panel in der Originalsoftware einfach zu wenig Funktionalität hat. Ein Vergleich mit "Jugend forscht" wäre maßlos übertrieben... - 15.01.2022
@jobr99 Erstes POC von Lovelace Konzept mit ESPhome Komponente, da Nextion Upload Protcol unter tasmota nicht umsetzbar ist (berry tcpclient crashed ESP, HTTP Libary ist auf viel zu kleine Dateien limitiert) - 17.01.2022
peepshow-21 Erste implementierung von Nextion Upload Protocol 1.1 mit Workaround für HTTP Libary über Java Converter um tft files für tasmota vorzubereiten - 20.01.2022
s-hadinger fixt bug in berry tcpclient - 31.01.2022
Erste Version für HomeAssistant mit Nodered und Tasmota - 08.02.2022
@joBr99 Erste Implementierung von Nextion Upload Protokoll 1.2 in Berry basiertend auf HTTP Range Header Requests und lokalem Buffer (funktioniert nur mit -nspanel tasmota build uns PSRAM Support) - 12.02.2022
peepshow-21 Implementierung von Nextion Upload Protocol 1.2 mit vollständigem Download und "streaming" zum Nextion Screen während dem Download - 05.03.2022
@joBr99 Portierung von Node-Red Flow zu AppDaemon, da AppDaemon sich besser eignet zur Implementierung vom Backend - 13.03.2022
@joBr99 Erste Version von Lovelace Berry Driver basierend auf Upload Protocol Implementierung von peepshow-21, da diese etwas stabiler läuft mit zusätzlichem Error Handling - 30.03.2022
@joBr99 kommt mit der Info um die Ecke, dass es ein erstes Script v1.9.0 für den ioBroker von @Britzelpuf gibt. Zu diesem Zeitpunkt gab es bereits den Screensaver die Seitennavigation und die Möglichkeit eine Lampe, einen Dimmer eine Taste und eine Info, sowie die popUps für Licht (Brightness) und Shutter (Position) und einen Thermostaten zur Steuerung einzubinden. - 10.04.2022
@joBr99 Firmware got bigger and bigger with >15 Minutes Flashing Time for the tft file
Increased Flashing Speed of Berry Driver from 115200 to 921600 and added skipping to the End with HTTP Range Headers, resulted in faster display flashing - 11.04.2022
@Armilar macht seine ersten Änderungen auf github und hört seit dem nicht mehr auf, weitere Funktionen in das TSScript hinzuzufügen...
@joBr99 entwickelt die HMI und neue Funktionen für Home Assistant schneller als der Wind - und macht das Panel zur echten Bereicherung für jedes Smart Home

heute
- Eine der besten Community's die ich jemals erlebt habe. Hilfsbereit und kompetent wird jeder mit Hilfestellungen und Problemlösungen in kürzester Zeit versorgt.
Es macht großen Spaß zusammen mit euch...
VG
Armilar
Beispiele:










Features:
- cardEntities für die Unterstützung diverser Steuerelemente (siehe Beispiele)
- cardGrid (3x2-Raster) für die Unterstützung diverser Steuerelemente (siehe Beispiele)
- cardGrid2 (4x2) für die Unterstützung diverser Steuerelemente (siehe Beispiele)
- cardGrid3 (2x2) für die Unterstützung diverser Steuerelemente (siehe Beispiele)
- cardPower zur Visualisierung der Energieverteilung
- cardAlarm als Seite für Alarmanlagen
- cardMedia - der Media-Player (Diverse Adapter)
- cardThermo - Seite für Thermostat oder Klimaanlage
- cardQR - Seite mit QRCode zur Anzeige von WLAN-Informationen
- cardChart - Balkendiagramme
- Detailseiten für Leuchtmittel (Helligkeit, Temperatur und Farbe)
- Detailseite für Jalousien/Rollos (Position und Tilt)
- Detailseite für Ventilatoren
- Detailseite für Timer
- Auswahl Detailseite für Werteliste
- Bildschirmschonerseite mit Uhrzeit, Datum und Wetterinformationen oder/und Infos
- Multilingual (unterstützt über 40 Sprachen)
- Unbegrenzte Anzahl an Seiten und Unterseiten
- Abfallkalender
- Favoritenseiten
- etc.
NsPanel Lovelace UI ist eine Firmware für den Nextion-Bildschirm innerhalb des NSPanel.
Die allgemeine Idee ist, dass das Nextion-Display einen Seitenzähler durchläuft und der ESP32 dem Display sagt, was zu tun ist. Alles ist dynamisch durch Alias-Erstellung konfigurierbar, es ist nicht erforderlich, Nextion Editor zu programmieren. Neben der Seiten-Definition sind im ioBroker keine Programmierkenntnisse erforderlich. Es ist im ioBroker ebenfalls kein Lovelace-Adapter erforderlich.
Das Panel arbeitet mit Tasmota und MQTT. Um das Panel zu steuern und mit Inhalten von ioBroker zu aktualisieren, gibt es ein vordefiniertes TypeScript (TS) für den JavaScript-Adapter.
Aktuelle Wiki (Anleitung) für den ioBroker
https://github.com/joBr99/nspanel-lovelace-ui/wiki by @Kuckuckmann
NsPanelTs.ts (TypeScript) für ioBroker v4.9.3.X
zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar und @TT-Tom
https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker
abgestimmt auf:- TFT 58 / v4.9.3 ( by @joBr99 / Armilar > 4.4.0)
- BerryDriver 9 ( by peepshow-21 (based on code by blakadder and s-hadinger))
- Tasmota 15.1.0 ( by Theo Arends ) --> Theo-Arends-Sonoff-MQTT-OTA
Projekt:
by @joBr99
- main (Home Assistant - Version und Nextion HMI): https://github.com/joBr99/nspanel-lovelace-ui by @joBr99
- ioBroker: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker by @Armilar (HA - Adaption)
Icon-Mapper:
- icon_mapping.ts:
https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts
(TypeScript muss in global liegen)
Icons:
unter: https://docs.nspanel.pky.eu/icon-cheatsheet.html
Video-Tutorial:
https://www.youtube.com/watch?v=ZPLJk2ZLo_8 by @haus-automatisierung
@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!!

- 22.10.2021
-
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' }] }; -
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.
-
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' }] };@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
status0in 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...

-
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
status0in 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...

- 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: MQTTund 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> -
- 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: MQTTund 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>@eierfeile hm, hab gerade gesehen, dass das Blockly wieder aktiv war. Hab es deaktiviert, jetzt schaltet es sich zumindest nicht mehr von alleine aus. Gestern ist das aber trotz deaktviertem Blockly passiert. Hm muss mir das heute abend nochmal anschauen. Muss jetzt leider los.
-
@eierfeile hm, hab gerade gesehen, dass das Blockly wieder aktiv war. Hab es deaktiviert, jetzt schaltet es sich zumindest nicht mehr von alleine aus. Gestern ist das aber trotz deaktviertem Blockly passiert. Hm muss mir das heute abend nochmal anschauen. Muss jetzt leider los.
Status0 ist okay... ggfs. mal:
- die TelePeriod von 10 nach z.B. 60 erhöhen
- die ESP-Temp mit
SetOption146 1aktivieren - ggfs. (Tasmota) Friendly Name 2 ebenfalls setzen
Das Blockly kann ich nicht importieren. Kommt bei mir:

Ggfs mal als Bild senden... und/oder den JS-Code hier posten...

Wenn es sporadisch ist, dann bitte den ioBroker einmal durchstarten. Scripte können auch mal im Hintergrund weiterlaufen, obwohl alles korrekt angezeigt wird.
Auch mal prüfen, ob ein ggfs. weiteres Script einen Trigger auf das Relais hat.
Falls trotzdem irgendwas das Relais ansteuert, hätte ich ein Hinweis in der Console erwartet. Oder is das falsch?
Ja ist falsch. Das Log füllt sich ja nur, wenn du den Debug Baustein im Blockly verwendest oder im NSPanelTs.ts
Debug = trueeinstellst. Da das aber ein separater Trigger auf einem Datenpunkt (also eine Schnittstelle) im NSPanel-Verzeichnis ist, wird der nur protokollieren, dass der Trigger ausgelöst hat, aber nicht, welches Blockly das verursacht hat...Nicht das ich wüsste. Wie kann ich das prüfen?
in dem du PulseTime in der Tasmota Konsole eingibst:12:00:02.443 CMD: PulseTime 12:00:02.456 MQT: SmartHome/NSPanel_1/stat/RESULT = {"PulseTime":{"Set":[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,0,0,0,0],"Remaining":[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,0,0,0,0]}} -
Status0 ist okay... ggfs. mal:
- die TelePeriod von 10 nach z.B. 60 erhöhen
- die ESP-Temp mit
SetOption146 1aktivieren - ggfs. (Tasmota) Friendly Name 2 ebenfalls setzen
Das Blockly kann ich nicht importieren. Kommt bei mir:

Ggfs mal als Bild senden... und/oder den JS-Code hier posten...

Wenn es sporadisch ist, dann bitte den ioBroker einmal durchstarten. Scripte können auch mal im Hintergrund weiterlaufen, obwohl alles korrekt angezeigt wird.
Auch mal prüfen, ob ein ggfs. weiteres Script einen Trigger auf das Relais hat.
Falls trotzdem irgendwas das Relais ansteuert, hätte ich ein Hinweis in der Console erwartet. Oder is das falsch?
Ja ist falsch. Das Log füllt sich ja nur, wenn du den Debug Baustein im Blockly verwendest oder im NSPanelTs.ts
Debug = trueeinstellst. Da das aber ein separater Trigger auf einem Datenpunkt (also eine Schnittstelle) im NSPanel-Verzeichnis ist, wird der nur protokollieren, dass der Trigger ausgelöst hat, aber nicht, welches Blockly das verursacht hat...Nicht das ich wüsste. Wie kann ich das prüfen?
in dem du PulseTime in der Tasmota Konsole eingibst:12:00:02.443 CMD: PulseTime 12:00:02.456 MQT: SmartHome/NSPanel_1/stat/RESULT = {"PulseTime":{"Set":[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,0,0,0,0],"Remaining":[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,0,0,0,0]}}Das Debug im Skript wird von dem Debug im Datenpunkt überschrieben.
-
Hallo zusammen,
auch wenn es nicht ganz zu eurer Diskussion passt, möchte ich doch an dieser Stelle mal fragen wie man Lovelace UI wieder deinstalliert bekommt.
Ich habe viel damit experimentiert, kam aber auch aufgrund fehlender Zeit zu keinem zufriedenstellenden Ergebnis. Jetzt möchte ich das NS Panel gerne erst mal wieder nur mit Tasmota, ohne Lovelace UI betreiben. Wie komme ich da wieder hin?
Und wenn ich schon dabei bin zu fragen, je nachdem würde ich das Panel auch wieder verkaufen wollen, gibt es eine Möglichkeit die Sonoff Stock FW wieder drauf zu flashen bzw wo bekomme ich die her ohne ein Backup?
Danke für eure Hilfe. -
Hallo zusammen,
auch wenn es nicht ganz zu eurer Diskussion passt, möchte ich doch an dieser Stelle mal fragen wie man Lovelace UI wieder deinstalliert bekommt.
Ich habe viel damit experimentiert, kam aber auch aufgrund fehlender Zeit zu keinem zufriedenstellenden Ergebnis. Jetzt möchte ich das NS Panel gerne erst mal wieder nur mit Tasmota, ohne Lovelace UI betreiben. Wie komme ich da wieder hin?
Und wenn ich schon dabei bin zu fragen, je nachdem würde ich das Panel auch wieder verkaufen wollen, gibt es eine Möglichkeit die Sonoff Stock FW wieder drauf zu flashen bzw wo bekomme ich die her ohne ein Backup?
Danke für eure Hilfe.@kugelblitz Ist das panel weiß? Vielleicht kauft das hier auch jemand ab und freut sich das es nicht stock ist

-
@kugelblitz Ist das panel weiß? Vielleicht kauft das hier auch jemand ab und freut sich das es nicht stock ist

@emd Nein, es ist schwarz.
-
@emd Nein, es ist schwarz.
Update v4.3.3.36

Wenn aktuelle Version ab v4.3.3.30, dann unteren Teil des NSPanelTs.ts ab:
// ________________ DE: Ab hier keine Konfiguration mehr _______________austauschen
https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
Wenn aktuelle Version bis v4.3.3.29, dann Updateaneitung befolgen:
https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Starthilfe-FAQ#hilfe-bei-update--upgrade -
Hallo zusammen,
ich kann bei mir reproduzierbar das Panel aufhängen indem ich folgendes mache:
setState(panelId + ".popupNotify.popupNotifyHeading", ''); setState(panelId + ".popupNotify.popupNotifyText", '');Äußern tut sich das bei mir insofern, dass ich nach dem Bestätigen ein Clear von
HeadingundTextmache, weil ich das dann wieder schön aufgeräumt haben will^^Getestet mit V4.3.3.30

-
Hallo zusammen,
ich kann bei mir reproduzierbar das Panel aufhängen indem ich folgendes mache:
setState(panelId + ".popupNotify.popupNotifyHeading", ''); setState(panelId + ".popupNotify.popupNotifyText", '');Äußern tut sich das bei mir insofern, dass ich nach dem Bestätigen ein Clear von
HeadingundTextmache, weil ich das dann wieder schön aufgeräumt haben will^^Getestet mit V4.3.3.30

hehe
- der Leerzeichen MonkDann weiß du ja auch, dass du in den popupNotifyText kein '' bis zur nächsten Erweiterung schreiben solltest.
Oder halt nochmal "OK" drücken. Das Icon und den Button könntest du ja auch noch löschen

Können da eine Erweiterung einbauen, dass wenn Heading und Text leer sind, kein Popup initiiert wird.
-
hehe
- der Leerzeichen MonkDann weiß du ja auch, dass du in den popupNotifyText kein '' bis zur nächsten Erweiterung schreiben solltest.
Oder halt nochmal "OK" drücken. Das Icon und den Button könntest du ja auch noch löschen

Können da eine Erweiterung einbauen, dass wenn Heading und Text leer sind, kein Popup initiiert wird.
Kannst die v4.3.3.37 Version aus dem DEV nutzen:
https://github.com/joBr99/nspanel-lovelace-ui/blob/e94c711f123c3f0ecfed075f3bd9143df61c6890/ioBroker/DEV/NSPanelTs.tsDamit kannst du die Texte aus dem popupNotify wieder bereinigen

Ist dann in den kommenden Versionen ebenfalls enthalten...
-
Kannst die v4.3.3.37 Version aus dem DEV nutzen:
https://github.com/joBr99/nspanel-lovelace-ui/blob/e94c711f123c3f0ecfed075f3bd9143df61c6890/ioBroker/DEV/NSPanelTs.tsDamit kannst du die Texte aus dem popupNotify wieder bereinigen

Ist dann in den kommenden Versionen ebenfalls enthalten...
-
@tt-tom sagte in SONOFF NSPanel mit Lovelace UI:
@ompi du könntest jetzt als Event / Suchmuster folgendes machen. Hast dann aber nur zwei Tonnenfarben. z.B.
const idRestmuellName: string = 'Gelbe Tonne, Biotonne, Restmülltonne'; // Schwarze Tonne const idWertstoffName: string = 'Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich'; // Gelbe Tonne / Sackwirst aber Probleme mit dem Eventnamen auf dem Display haben, wegen begrenzte Anzahl an Zeichen.
Edit: wie würdest du es am liebsten auf dem Display haben bzw. angezeigt bekommen.
Danke für die Antwort. Wenn ich es so eingebe, scheint das Skript wohl Übereinstimmungen zu finden, kann diese aber anscheinend nicht in die Objekte schreiben.
2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: getState(id=ical.0.data.table, timerId=undefined) => {"val":[{"date":"14.12.2023 ","event":" Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","_class":"ical_Abfall ","_date":"2023-12-13T23:00:00.000Z","_end":"2023-12-14T23:00:00.000Z","_IDID":"6568f816d4d7f","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfall","_calColor":"#FF0000","_object":{"type":"VEVENT","params":[],"start":"2023-12-13T23:00:00.000Z","datetype":"date","end":"2023-12-14T23:00:00.000Z","dtstamp":"2023-12-05T21:43:50.000Z","uid":"6568f816d4d7f","class":"PUBLIC","created":"2023-11-30T21:01:19.000Z","lastmodified":"2023-11-30T21:01:19.000Z","sequence":"0","status":"CONFIRMED","summary":" Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","transparency":"OPAQUE","MICROSOFT-CDO-ALLDAYEVENT":"TRUE","method":"PUBLISH"}},{"date":"29.12.2023 ","event":" Gelbe Tonne, Biotonne, Restmülltonne","_class":"ical_Abfall ","_date":"2023-12-28T23:00:00.000Z","_end":"2023-12-29T23:00:00.000Z","_IDID":"6568f816d4d84","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfall","_calColor":"#FF0000","_object":{"type":"VEVENT","params":[],"start":"2023-12-28T23:00:00.000Z","datetype":"date","end":"2023-12-29T23:00:00.000Z","dtstamp":"2023-12-05T21:43:50.000Z","uid":"6568f816d4d84","class":"PUBLIC","created":"2023-11-30T21:01:23.000Z","lastmodified":"2023-11-30T21:01:23.000Z","sequence":"0","status":"CONFIRMED","summary":" Gelbe Tonne, Biotonne, Restmülltonne","transparency":"OPAQUE","MICROSOFT-CDO-ALLDAYEVENT":"TRUE","method":"PUBLISH"}}],"ack":true,"ts":1701812630745,"q":0,"from":"system.adapter.ical.0","user":"system.user.admin","lc":1701812630745} 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Rohdaten von iCal: [{"date":"14.12.2023 ","event":" Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","_class":"ical_Abfall ","_date":"2023-12-13T23:00:00.000Z","_end":"2023-12-14T23:00:00.000Z","_IDID":"6568f816d4d7f","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfall","_calColor":"#FF0000","_object":{"type":"VEVENT","params":[],"start":"2023-12-13T23:00:00.000Z","datetype":"date","end":"2023-12-14T23:00:00.000Z","dtstamp":"2023-12-05T21:43:50.000Z","uid":"6568f816d4d7f","class":"PUBLIC","created":"2023-11-30T21:01:19.000Z","lastmodified":"2023-11-30T21:01:19.000Z","sequence":"0","status":"CONFIRMED","summary":" Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","transparency":"OPAQUE","MICROSOFT-CDO-ALLDAYEVENT":"TRUE","method":"PUBLISH"}},{"date":"29.12.2023 ","event":" Gelbe Tonne, Biotonne, Restmülltonne","_class":"ical_Abfall ","_date":"2023-12-28T23:00:00.000Z","_end":"2023-12-29T23:00:00.000Z","_IDID":"6568f816d4d84","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Abfall","_calColor":"#FF0000","_object":{"type":"VEVENT","params":[],"start":"2023-12-28T23:00:00.000Z","datetype":"date","end":"2023-12-29T23:00:00.000Z","dtstamp":"2023-12-05T21:43:50.000Z","uid":"6568f816d4d84","class":"PUBLIC","created":"2023-11-30T21:01:23.000Z","lastmodified":"2023-11-30T21:01:23.000Z","sequence":"0","status":"CONFIRMED","summary":" Gelbe Tonne, Biotonne, Restmülltonne","transparency":"OPAQUE","MICROSOFT-CDO-ALLDAYEVENT":"TRUE","method":"PUBLISH"}}] 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Anzahl iCal - Daten: 2 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft --------- 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Startdatum UTC: 2023-12-13T23:00:00.000Z 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Datum: 14.12.2023 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Event: Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich% 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.date, state={"val":"14.12.2023 ","ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) 2023-12-05 22:43:50.746 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.date, state={"val":"14.12.2023 ","ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.event, state={"val":"Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) 2023-12-05 22:43:50.746 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.event, state={"val":"Gelbe Tonne, Biotonne, Restmülltonne, Blaue Papiertonne, Restmülltonne 4-wöchentlich","ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist 2023-12-05 22:43:50.746 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.color, state={"val":65504,"ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) 2023-12-05 22:43:50.746 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.1.color, state={"val":65504,"ack":false,"ts":1701812630746,"q":0,"from":"system.adapter.javascript.0","lc":1701812630746,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Abfallnummer: 1 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft --------- 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Startdatum UTC: 2023-12-28T23:00:00.000Z 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Datum: 29.12.2023 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Event: Gelbe Tonne, Biotonne, Restmülltonne 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Gelbe Tonne, Biotonne, Restmülltonne% 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.date, state={"val":"29.12.2023 ","ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) 2023-12-05 22:43:50.747 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.date, state={"val":"29.12.2023 ","ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.event, state={"val":"Gelbe Tonne, Biotonne, Restmülltonne","ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) 2023-12-05 22:43:50.747 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.event, state={"val":"Gelbe Tonne, Biotonne, Restmülltonne","ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.color, state={"val":33840,"ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) 2023-12-05 22:43:50.747 - warn: javascript.0 (181) script.js.common.NSPanel.Abfall: setForeignState(id=0_userdata.0.Abfallkalender.2.color, state={"val":33840,"ack":false,"ts":1701812630747,"q":0,"from":"system.adapter.javascript.0","lc":1701812630747,"c":"script.js.common.NSPanel.Abfall"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist 2023-12-05 22:43:50.747 - info: javascript.0 (181) script.js.common.NSPanel.Abfall: Abfallnummer: 2Die Anzeige aus dem Beispiel würde mir schon reichen. Wobei mir die Restmülltonne, Blaue Tonne und Gelbe Tonne reichen würden.

Der trashschedule Adapter schafft es die Tonnen zu trennen und die jeweiligen Abholdaten anzuzeigen. Das hilft mir beim NSPanel aber nicht weiter, oder?
Also ich komme mit dem Abfallkalender nicht weiter.
Hab alles den in google als separaten Kalender.

Dann folgende Settings im trashschedule



Habe dann das bereitgestellte Blockly genommen, welches die Datenpunkte in userdata0 und die alias anlegt

und auch dieses probiert.
Hier kommts dann zu dem ersten Fehler. Da gehts es wahrscheinlich aber auch nur um Color, oder?

javascript.0 2024-01-15 22:22:58.748 info State value to set for "0_userdata.0.Abfallkalender.4.color" has to be type "number" but received type "object" javascript.0 2024-01-15 22:22:58.748 info State value to set for "0_userdata.0.Abfallkalender.3.color" has to be type "number" but received type "object" javascript.0 2024-01-15 22:22:58.747 info State value to set for "0_userdata.0.Abfallkalender.2.color" has to be type "number" but received type "object" javascript.0 2024-01-15 22:22:58.746 info State value to set for "0_userdata.0.Abfallkalender.1.color" has to be type "number" but received type "object" javascript.0 2024-01-15 22:22:58.739 info script.js.common.Abfallkalender: Daten vom ical Adapter werden ausgewertet javascript.0 2024-01-15 22:22:58.738 info script.js.common.Abfallkalender: Daten vom ical Adapter werden ausgewertet javascript.0 2024-01-15 22:22:58.738 info script.js.common.Abfallkalender: Daten vom ical Adapter werden ausgewertet javascript.0 2024-01-15 22:22:58.738 info script.js.common.Abfallkalender: Daten vom ical Adapter werden ausgewertet javascript.0 2024-01-15 22:22:58.737 info script.js.common.Abfallkalender: Daten vom ical Adapter werden ausgewertetDes weiteren setzt er die dann als alias auch falsch.
