Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

SONOFF NSPanel mit Lovelace UI

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
7.7k Posts 271 Posters 6.7m Views 253 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ArmilarA Armilar

    SONOFF NSPanel Touch Display Switch

    mit Lovelace UI und TASMOTA Firmware

    60848839-53b0-4e2b-a370-28e02960bfcd-image.png

    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:

    09ae2c13-c606-4ef5-88dc-26fccd14dd85-image.png

    cf500331-70d8-4150-ac59-aabff1a27f7f-image.png

    a5dbb6f4-403b-4081-b2e9-a17cbc3af26c-image.png

    b41e2fed-abaa-4993-ae6f-2344f4e3afc8-image.png

    048fc1af-d72e-45fe-9102-688d40b2df18-image.png

    08edcab4-03b7-4c0f-923e-0f5b1c639cca-image.png

    ad94cddf-a0d0-40a7-971c-16504e8949fd-image.png

    263b23cc-d003-4af6-98b6-ed994c244890-image.png

    07373515-a92e-4cc9-b717-716e4fd4413f-image.png

    7c4a1f2f-26d7-4aeb-987d-3e30a671378d-image.png


    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.

      ich glaube da ist eine verbesserte "cardMedia" in der Entwicklung - sieht cool aus...
      72571469-4a78-4caf-ba0e-7a67865bb13c-image.png

    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

    ? Offline
    ? Offline
    A Former User
    wrote on last edited by
    #4852

    @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!!

    👍 👍 👍 👍 👍 👍 👍 👍

    1 Reply Last reply
    6
    • eierfeileE Offline
      eierfeileE Offline
      eierfeile
      wrote on last edited by
      #4853

      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'
                   }]
      };
      
      T ArmilarA 2 Replies Last reply
      0
      • eierfeileE eierfeile

        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'
                     }]
        };
        
        T Do not disturb
        T Do not disturb
        ticaki
        wrote on last edited by
        #4854

        @eierfeile

        Scriptversion bitte angeben.

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        eierfeileE 1 Reply Last reply
        0
        • eierfeileE eierfeile

          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'
                       }]
          };
          
          ArmilarA Offline
          ArmilarA Offline
          Armilar
          Most Active Forum Testing
          wrote on last edited by Armilar
          #4855

          @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... 😊

          Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          eierfeileE 1 Reply Last reply
          0
          • T ticaki

            @eierfeile

            Scriptversion bitte angeben.

            eierfeileE Offline
            eierfeileE Offline
            eierfeile
            wrote on last edited by
            #4856

            @ticaki ich nutze TypeScript v4.3.1.1

            1 Reply Last reply
            0
            • ArmilarA Armilar

              @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... 😊

              eierfeileE Offline
              eierfeileE Offline
              eierfeile
              wrote on last edited by
              #4857

              @armilar

              • 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>
              
              
              eierfeileE 1 Reply Last reply
              0
              • eierfeileE eierfeile

                @armilar

                • 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>
                
                
                eierfeileE Offline
                eierfeileE Offline
                eierfeile
                wrote on last edited by
                #4858

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

                ArmilarA 1 Reply Last reply
                0
                • eierfeileE eierfeile

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

                  ArmilarA Offline
                  ArmilarA Offline
                  Armilar
                  Most Active Forum Testing
                  wrote on last edited by Armilar
                  #4859

                  @eierfeile

                  Status0 ist okay... ggfs. mal:

                  • die TelePeriod von 10 nach z.B. 60 erhöhen
                  • die ESP-Temp mit SetOption146 1 aktivieren
                  • ggfs. (Tasmota) Friendly Name 2 ebenfalls setzen

                  Das Blockly kann ich nicht importieren. Kommt bei mir:

                  d4cce371-629a-4c10-9608-5474756b02f8-image.png

                  Ggfs mal als Bild senden... und/oder den JS-Code hier posten... c2d62bc8-8124-40be-8a04-0f0ed3f3b8bd-image.png

                  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 = true einstellst. 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]}}
                  

                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  T 1 Reply Last reply
                  0
                  • ArmilarA Armilar

                    @eierfeile

                    Status0 ist okay... ggfs. mal:

                    • die TelePeriod von 10 nach z.B. 60 erhöhen
                    • die ESP-Temp mit SetOption146 1 aktivieren
                    • ggfs. (Tasmota) Friendly Name 2 ebenfalls setzen

                    Das Blockly kann ich nicht importieren. Kommt bei mir:

                    d4cce371-629a-4c10-9608-5474756b02f8-image.png

                    Ggfs mal als Bild senden... und/oder den JS-Code hier posten... c2d62bc8-8124-40be-8a04-0f0ed3f3b8bd-image.png

                    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 = true einstellst. 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]}}
                    
                    T Do not disturb
                    T Do not disturb
                    ticaki
                    wrote on last edited by
                    #4860

                    @armilar

                    Das Debug im Skript wird von dem Debug im Datenpunkt überschrieben.

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    1 Reply Last reply
                    1
                    • K Offline
                      K Offline
                      Kugelblitz
                      wrote on last edited by
                      #4861

                      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.

                      E 1 Reply Last reply
                      0
                      • K Kugelblitz

                        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.

                        E Offline
                        E Offline
                        eMd
                        wrote on last edited by
                        #4862

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

                        Master: Intel NUC 16GB/500GB
                        Slave: Raspberry Pi 3 + Homematicmodul
                        Shelly, Google Home, Zigbee Aqara, Sonoff

                        Meine VIS: https://youtu.be/JMYr2KYlpME

                        K 1 Reply Last reply
                        0
                        • E eMd

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

                          K Offline
                          K Offline
                          Kugelblitz
                          wrote on last edited by
                          #4863

                          @emd Nein, es ist schwarz.

                          ArmilarA 1 Reply Last reply
                          1
                          • K Kugelblitz

                            @emd Nein, es ist schwarz.

                            ArmilarA Offline
                            ArmilarA Offline
                            Armilar
                            Most Active Forum Testing
                            wrote on last edited by
                            #4864

                            Update v4.3.3.36

                            5751326b-4aa8-4a58-bda3-925dcd72a055-image.png

                            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

                            VG
                            @ticaki , @TT-Tom & @Armilar 😊

                            Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                            https://github.com/joBr99/nspanel-lovelace-ui/wiki

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            1 Reply Last reply
                            3
                            • theknutT Offline
                              theknutT Offline
                              theknut
                              wrote on last edited by
                              #4865

                              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 Heading und Text mache, weil ich das dann wieder schön aufgeräumt haben will^^

                              Getestet mit V4.3.3.30

                              0aaad907-0744-47b2-84c0-0ae3fac95c1a-image.png

                              ☕ @ https://ko-fi.com/theknut

                              ArmilarA 1 Reply Last reply
                              0
                              • theknutT theknut

                                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 Heading und Text mache, weil ich das dann wieder schön aufgeräumt haben will^^

                                Getestet mit V4.3.3.30

                                0aaad907-0744-47b2-84c0-0ae3fac95c1a-image.png

                                ArmilarA Offline
                                ArmilarA Offline
                                Armilar
                                Most Active Forum Testing
                                wrote on last edited by Armilar
                                #4866

                                @theknut

                                hehe 😉 - der Leerzeichen Monk

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

                                Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                ArmilarA 1 Reply Last reply
                                2
                                • ArmilarA Armilar

                                  @theknut

                                  hehe 😉 - der Leerzeichen Monk

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

                                  ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  wrote on last edited by Armilar
                                  #4867

                                  @theknut

                                  Kannst die v4.3.3.37 Version aus dem DEV nutzen:
                                  https://github.com/joBr99/nspanel-lovelace-ui/blob/e94c711f123c3f0ecfed075f3bd9143df61c6890/ioBroker/DEV/NSPanelTs.ts

                                  Damit kannst du die Texte aus dem popupNotify wieder bereinigen 😊

                                  Ist dann in den kommenden Versionen ebenfalls enthalten...

                                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  theknutT 1 Reply Last reply
                                  1
                                  • ArmilarA Armilar

                                    @theknut

                                    Kannst die v4.3.3.37 Version aus dem DEV nutzen:
                                    https://github.com/joBr99/nspanel-lovelace-ui/blob/e94c711f123c3f0ecfed075f3bd9143df61c6890/ioBroker/DEV/NSPanelTs.ts

                                    Damit kannst du die Texte aus dem popupNotify wieder bereinigen 😊

                                    Ist dann in den kommenden Versionen ebenfalls enthalten...

                                    theknutT Offline
                                    theknutT Offline
                                    theknut
                                    wrote on last edited by
                                    #4868

                                    @armilar Passt, ich danke dir!

                                    ☕ @ https://ko-fi.com/theknut

                                    1 Reply Last reply
                                    0
                                    • O ompi

                                      @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 / Sack
                                      

                                      wirst 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: 2
                                      

                                      Die Anzeige aus dem Beispiel würde mir schon reichen. Wobei mir die Restmülltonne, Blaue Tonne und Gelbe Tonne reichen würden.

                                      cabab0f6-3a52-4bb6-86e8-8cb9f44f02d2-image.png

                                      Der trashschedule Adapter schafft es die Tonnen zu trennen und die jeweiligen Abholdaten anzuzeigen. Das hilft mir beim NSPanel aber nicht weiter, oder?

                                      Marko1974M Offline
                                      Marko1974M Offline
                                      Marko1974
                                      wrote on last edited by Marko1974
                                      #4869

                                      @ompi @TT-Tom

                                      Also ich komme mit dem Abfallkalender nicht weiter.

                                      Hab alles den in google als separaten Kalender.

                                      abfall1.png

                                      Dann folgende Settings im trashschedule

                                      abfall2.png
                                      abfall3.png
                                      abfall4.png

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

                                      abfall5.png

                                      und auch dieses probiert.

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

                                      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 ausgewertet
                                      

                                      Des weiteren setzt er die dann als alias auch falsch.

                                      abfall8.png

                                      T 1 Reply Last reply
                                      0
                                      • BananaJoeB Offline
                                        BananaJoeB Offline
                                        BananaJoe
                                        Most Active
                                        wrote on last edited by BananaJoe
                                        #4870

                                        gelöscht - Thema verfehlt

                                        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                        1 Reply Last reply
                                        0
                                        • Marko1974M Marko1974

                                          @ompi @TT-Tom

                                          Also ich komme mit dem Abfallkalender nicht weiter.

                                          Hab alles den in google als separaten Kalender.

                                          abfall1.png

                                          Dann folgende Settings im trashschedule

                                          abfall2.png
                                          abfall3.png
                                          abfall4.png

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

                                          abfall5.png

                                          und auch dieses probiert.

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

                                          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 ausgewertet
                                          

                                          Des weiteren setzt er die dann als alias auch falsch.

                                          abfall8.png

                                          T Offline
                                          T Offline
                                          TT-Tom
                                          wrote on last edited by TT-Tom
                                          #4871

                                          @marko1974
                                          du kannst das Script aus meinem Github nehmen. Es legt dir alle Datenpunkte in 0_userdata und alias an und greift die Daten von iCal Adapter ab.
                                          Mit dem "Debug-Modus" bekommst du vom Script mehr informationen zu den Fehlern bei den Daten. Einfach die Konstante "debug" im Script auf true setzen.

                                          const debug= true; 
                                          

                                          Der link zu meinem Github

                                          PS: das Blockly muss ich mal prüfen.

                                          Gruß Tom
                                          https://github.com/tt-tom17
                                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                          NSPanel Script Wiki
                                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                          NSPanel Adapter Wiki
                                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                          Marko1974M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          732

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe