Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Sonoff NSPanel

NEWS

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

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

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

Sonoff NSPanel

Geplant Angeheftet Gesperrt Verschoben Hardware
1.5k Beiträge 78 Kommentatoren 637.6k Aufrufe 80 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    joBr99
    schrieb am zuletzt editiert von joBr99
    #484

    @Armilar

    https://github.com/Armilar/nspanel-lovelace-ui/blob/e7d96e04389a9ef54a24ab3688f118c0f4eb5714/ioBroker/NsPanelTs.ts#L576

    Ich hab in meinem AppDaemon Backend ne Variable für die aktuell zum Skript passende Version, also in etwa so:

           desired_display_firmware_version = 34
           version     = "v2.8.1"        
           desired_display_firmware_url = f"http://nspanel.pky.eu/lovelace-ui/github/nspanel-{version}.tft"
    

    Wenn das Panel auf der startup seite ist, dann sendet es event,startup,34,eu in regelmäßigen Abständen, bis die Seite gewechselt wird.

    Ich überprüfe dann ob desired_display_firmware_version > version_aus_startup_event und wenn das true ist, stoß ich meine Funktion zum updaten an.

    Für den Berry Treiber mach ich es ähnlich, nur da frage ich aktiv nach der Version mit GetDriverVersion.

    Wenn du mit dem autoupdate immer zur lui.tft updatest, hast du also die Gefahr, dass irgendwas kaputt ist, wenn du den link zu http://nspanel.pky.eu/lui-release.tft tauschst hast du es schon mal etwas entschärft, wenn du sicher sein willst, dass Skript und Firmware zusammenpassen würd ich die URLs aus den Release Notes nehmen.

    (wenn ich irgendwo quatsch schreibe, dann weil ich mir das typeskript nicht genau genug angeschaut hab ;) )

    ArmilarA 1 Antwort Letzte Antwort
    0
    • J joBr99

      @armilar said in Sonoff NSPanel:

      @wheinz44 sagte in Sonoff NSPanel:

      Guten Morgen an alle,
      an und für sich habe ich mit Tasmota und IOBroker keine Probleme, aber dieses NSPanel schaft mich.
      Außer Uhrzeit und Datum, ein paar Seiten mit Überschrift (die Ich ändern kann) funktioniert bei meinem NSPanel nichts.Mittlerweile kenne ich fast alle 466 Posts auswndig, und habe alle Anleitungen durchgearbeitet.
      Ich vermute das es an meine Aliase scheitert. Wenn wer eine Idee hat, Screenshots kann ich bei fragen am Abend schicken. Danke im voraus, wheinz44

      Mit welcher Version ist das Panel geflashed? Wir sind mit der Version 1.9.1 der TFT-Firmware angefangen. Die Skripte im Thread gehören jetzt zur Version ab 2.7.X. Da wurden die

      :
      :
      ausführen (Könnte beliebig oft wiederholt werden, soll heißen - damit zerschießt man sich nichts):

      http://nspanel.pky.eu/lui.tft
      

      und

      Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be
      

      Jetzt sollte das Panel auf dem neuesten Stand sein.

      :
      :

      ch hoffe es klappt und herzlich willkommen im Thread

      die lui.tft ist die aktuelle Entwicklungsversion (EU) zu der sollte man als user nicht unbedingt updaten

      die aktuellen links/commands zu den Releases stehen immer in den Release Notes auf GitHub, für 2.8:

      EU Version: 
      FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v2.8.1.tft
      
      US Landscape Version: 
      FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-us-l-v2.8.1.tft
      
      US Portrait Version: 
      FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-us-p-v2.8.1.tft
      

      Alternativ gibt es auch Links, die immer zum aktuellen Release zeigen, aber das kann unter Umständen inkompatibel mit dem aktuellen ioBroker Skript sein. Falls das aktuelle Release inkompatibel ist, schreibe ich das immer als Hinweis mit in die Release Notes.

      EU Version: FlashNextion http://nspanel.pky.eu/lui-release.tft
      
      US Version Portrait: FlashNextion http://nspanel.pky.eu/lui-us-p-release.tft
      
      US Version Landscape: FlashNextion http://nspanel.pky.eu/lui-us-l-release.tft
      

      Zum updaten vom Berry Treiber kann man den folgenden command verwenden oder einfach den Inhalt von der autoexec.be mit dem aktuellen von GitHub tauschen. (So oft kommen da keine Updates, mit GetDriverVersion in der Tasmota Konsole bekommt man die aktuell installierte Version angezeigt, wenn da 4 kommt ist der Berry Treiber aktuell)

      Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1

      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      schrieb am zuletzt editiert von
      #485

      @jobr99

      Stimmt, war die DEV - läuft bei mir aber auch einwandfrei mit dem Screensaver

      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 Antwort Letzte Antwort
      0
      • J joBr99

        @Armilar

        https://github.com/Armilar/nspanel-lovelace-ui/blob/e7d96e04389a9ef54a24ab3688f118c0f4eb5714/ioBroker/NsPanelTs.ts#L576

        Ich hab in meinem AppDaemon Backend ne Variable für die aktuell zum Skript passende Version, also in etwa so:

               desired_display_firmware_version = 34
               version     = "v2.8.1"        
               desired_display_firmware_url = f"http://nspanel.pky.eu/lovelace-ui/github/nspanel-{version}.tft"
        

        Wenn das Panel auf der startup seite ist, dann sendet es event,startup,34,eu in regelmäßigen Abständen, bis die Seite gewechselt wird.

        Ich überprüfe dann ob desired_display_firmware_version > version_aus_startup_event und wenn das true ist, stoß ich meine Funktion zum updaten an.

        Für den Berry Treiber mach ich es ähnlich, nur da frage ich aktiv nach der Version mit GetDriverVersion.

        Wenn du mit dem autoupdate immer zur lui.tft updatest, hast du also die Gefahr, dass irgendwas kaputt ist, wenn du den link zu http://nspanel.pky.eu/lui-release.tft tauschst hast du es schon mal etwas entschärft, wenn du sicher sein willst, dass Skript und Firmware zusammenpassen würd ich die URLs aus den Release Notes nehmen.

        (wenn ich irgendwo quatsch schreibe, dann weil ich mir das typeskript nicht genau genug angeschaut hab ;) )

        ArmilarA Offline
        ArmilarA Offline
        Armilar
        Most Active Forum Testing
        schrieb am zuletzt editiert von Armilar
        #486

        @jobr99 sagte in Sonoff NSPanel:

        @Armilar

        https://github.com/Armilar/nspanel-lovelace-ui/blob/e7d96e04389a9ef54a24ab3688f118c0f4eb5714/ioBroker/NsPanelTs.ts#L576

        Ich hab in meinem AppDaemon Backend ne Variable für die aktuell zum Skript passende Version, also in etwa so:

               desired_display_firmware_version = 34
               version     = "v2.8.1"        
               desired_display_firmware_url = f"http://nspanel.pky.eu/lovelace-ui/github/nspanel-{version}.tft"
        

        Wenn das Panel auf der startup seite ist, dann sendet es event,startup,34,eu in regelmäßigen Abständen, bis die Seite gewechselt wird.

        Ich überprüfe dann ob desired_display_firmware_version > version_aus_startup_event und wenn das true ist, stoß ich meine Funktion zum updaten an.

        Für den Berry Treiber mach ich es ähnlich, nur da frage ich aktiv nach der Version mit GetDriverVersion.

        Wenn du mit dem autoupdate immer zur lui.tft updatest, hast du also die Gefahr, dass irgendwas kaputt ist, wenn du den link zu http://nspanel.pky.eu/lui-release.tft tauschst hast du es schon mal etwas entschärft, wenn du sicher sein willst, dass Skript und Firmware zusammenpassen würd ich die URLs aus den Release Notes nehmen.

        (wenn ich irgendwo quatsch schreibe, dann weil ich mir das typeskript nicht genau genug angeschaut hab ;) )

        Nee, passt schon - obwohl ich es eigentlich genauso mache.

        beim BerryDriver wird ein "GetDriverVersion" an das Panel gesendet. Die Antwort wird in einen Datenpunkt geschrieben

        function get_current_berry_driver_version() {
            require("request")((['http://',get_current_tasmota_ip_address(),'/cm?cmnd=GetDriverVersion'].join('')), async function (error, response, result) {
                createState(NSPanel_Path + "Berry_Driver.currentVersion");
                setIfExists(NSPanel_Path + 'Berry_Driver.currentVersion', getAttr(result, 'nlui_driver_version'));
            });
        }
        

        Mit der Firmwareversion ist es genauso - also auch Startup auslösen und die Version einsammeln

        setState(config.panelSendTopic, 'pageType~pageStartup');
        

        und Daten einsammeln über:

        on({ id: config.panelRecvTopic }, function (obj) {
            if (obj.state.val.startsWith('\{"CustomRecv":')) {
                var json = JSON.parse(obj.state.val);
                var split = json.CustomRecv.split(",");
                if (split[0] == "event" && split[1] == "startup") {
                    createState(NSPanel_Path + 'Display_Firmware.currentVersion',{ type:'string'});
                    createState(NSPanel_Path + 'NSPanel_Version',{ type:'string'});
                    setIfExists(NSPanel_Path + 'Display_Firmware.currentVersion',split[2]);
                    setIfExists(NSPanel_Path + 'NSPanel_Version',split[3]);
                }
            }
        });
        

        Die Onlineversionsnummer (Tasmota, Berry, TFT) hole ich direkt bei Github ab.

        Dann wird asynchron ein Vergleich durchgeführt und bei bedarf ein Update gemacht...

        Aber die http://nspanel.pky.eu/lui-release.tft wird noch ersetzt - passt. Und aus den Release Notes nehme ich sie auch raus.

        Wäre schön, wenn nicht ein Startup durchgeführt werden müsste, denn das versetzt das Panel beim Abfragen der aktuellen Version immer für einen kurzen Moment in den "Waiting for Connection".

        P.S.: Die Versionsabfrage aus dem Github funktioniert eigentlich ähnlich:
        Die Variable aus deinem Script wird vom GitHub extrahiert:

        function check_online_display_firmware() {
            exec('curl https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/apps/nspanel-lovelace-ui/nspanel-lovelace-ui.py', function (error, result, stderr){
                if (result) {
                    let desired_display_firmware_version = result.substring((result.indexOf("desired_display_firmware_version =") + 34), result.indexOf("desired_display_firmware_version =") + 38).replace(/\s+/g, '');
                    createState(NSPanel_Path + "Display_Firmware.onlineVersion");
                    setIfExists(NSPanel_Path + 'Display_Firmware.onlineVersion', desired_display_firmware_version);
                }
            });
        }
        

        Und dann fällt es dir wie Schuppen aus den Augen ;-) Die Version ins Script schreiben. Jo - warum einfach, wenn's auch kompliziert geht :grinning:

        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.

        J 1 Antwort Letzte Antwort
        0
        • H holgerwolf

          @a200

          firstScreensaverEntity: { ScreensaverEntity: "zigbee.0.00158d0002c77840.temperature", ScreensaverEntityIcon: "thermometer", ScreensaverEntityText: "Horreo", ScreensaverEntityUnitText: "°C" },
              secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.RainProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
              thirdScreensaverEntity: { ScreensaverEntity: "mqtt.0.openWB.lp.1.%Soc", ScreensaverEntityIcon: "car-electric", ScreensaverEntityText: "SoC", ScreensaverEntityUnitText: "%" },
              fourthScreensaverEntity: { ScreensaverEntity: "javascript.0.Photovoltaik.Leistung_DC_komplett", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "PV", ScreensaverEntityUnitText: "W" },
          

          Sehr seltsam, die gehen bei mir alle.
          Hast du denn Fehlermeldungen im Log?

          a200A Offline
          a200A Offline
          a200
          schrieb am zuletzt editiert von a200
          #487

          @holgerwolf sagte in Sonoff NSPanel:

          @a200

          firstScreensaverEntity: { ScreensaverEntity: "zigbee.0.00158d0002c77840.temperature", ScreensaverEntityIcon: "thermometer", ScreensaverEntityText: "Horreo", ScreensaverEntityUnitText: "°C" },
              secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.RainProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
              thirdScreensaverEntity: { ScreensaverEntity: "mqtt.0.openWB.lp.1.%Soc", ScreensaverEntityIcon: "car-electric", ScreensaverEntityText: "SoC", ScreensaverEntityUnitText: "%" },
              fourthScreensaverEntity: { ScreensaverEntity: "javascript.0.Photovoltaik.Leistung_DC_komplett", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "PV", ScreensaverEntityUnitText: "W" },
          

          Sehr seltsam, die gehen bei mir alle.
          Hast du denn Fehlermeldungen im Log?

          Die Darstellung der Objekte ist ja Rollen abhängig. Welche Rollen sind bei dir diesen DP zugewiesen? Ich vermute dort das Problem.

          Die Logfiles (debug) geben nicht viel her.

          18:28:08.485	info	javascript.0 (20526) script.js.Prod.NSPanel.NsPanelTs_ts: pageType~cardEntities
          18:28:08.485	info	javascript.0 (20526) script.js.Prod.NSPanel.NsPanelTs_ts: entityUpd~Büro~0|1~light~alias.0.MyNSPanel.Steckdosen.KG-Buero~~62251~Drucker~0~shutter~alias.0.MyNSPanel.Rolladen.KG_Buero~~63142~Fenster~
          

          Screensaver erzeugt gar keine Logs.

          IoBroker auf QNAP TS-451, Raspi und NUC

          ArmilarA 1 Antwort Letzte Antwort
          0
          • ArmilarA Armilar

            @jobr99 sagte in Sonoff NSPanel:

            @Armilar

            https://github.com/Armilar/nspanel-lovelace-ui/blob/e7d96e04389a9ef54a24ab3688f118c0f4eb5714/ioBroker/NsPanelTs.ts#L576

            Ich hab in meinem AppDaemon Backend ne Variable für die aktuell zum Skript passende Version, also in etwa so:

                   desired_display_firmware_version = 34
                   version     = "v2.8.1"        
                   desired_display_firmware_url = f"http://nspanel.pky.eu/lovelace-ui/github/nspanel-{version}.tft"
            

            Wenn das Panel auf der startup seite ist, dann sendet es event,startup,34,eu in regelmäßigen Abständen, bis die Seite gewechselt wird.

            Ich überprüfe dann ob desired_display_firmware_version > version_aus_startup_event und wenn das true ist, stoß ich meine Funktion zum updaten an.

            Für den Berry Treiber mach ich es ähnlich, nur da frage ich aktiv nach der Version mit GetDriverVersion.

            Wenn du mit dem autoupdate immer zur lui.tft updatest, hast du also die Gefahr, dass irgendwas kaputt ist, wenn du den link zu http://nspanel.pky.eu/lui-release.tft tauschst hast du es schon mal etwas entschärft, wenn du sicher sein willst, dass Skript und Firmware zusammenpassen würd ich die URLs aus den Release Notes nehmen.

            (wenn ich irgendwo quatsch schreibe, dann weil ich mir das typeskript nicht genau genug angeschaut hab ;) )

            Nee, passt schon - obwohl ich es eigentlich genauso mache.

            beim BerryDriver wird ein "GetDriverVersion" an das Panel gesendet. Die Antwort wird in einen Datenpunkt geschrieben

            function get_current_berry_driver_version() {
                require("request")((['http://',get_current_tasmota_ip_address(),'/cm?cmnd=GetDriverVersion'].join('')), async function (error, response, result) {
                    createState(NSPanel_Path + "Berry_Driver.currentVersion");
                    setIfExists(NSPanel_Path + 'Berry_Driver.currentVersion', getAttr(result, 'nlui_driver_version'));
                });
            }
            

            Mit der Firmwareversion ist es genauso - also auch Startup auslösen und die Version einsammeln

            setState(config.panelSendTopic, 'pageType~pageStartup');
            

            und Daten einsammeln über:

            on({ id: config.panelRecvTopic }, function (obj) {
                if (obj.state.val.startsWith('\{"CustomRecv":')) {
                    var json = JSON.parse(obj.state.val);
                    var split = json.CustomRecv.split(",");
                    if (split[0] == "event" && split[1] == "startup") {
                        createState(NSPanel_Path + 'Display_Firmware.currentVersion',{ type:'string'});
                        createState(NSPanel_Path + 'NSPanel_Version',{ type:'string'});
                        setIfExists(NSPanel_Path + 'Display_Firmware.currentVersion',split[2]);
                        setIfExists(NSPanel_Path + 'NSPanel_Version',split[3]);
                    }
                }
            });
            

            Die Onlineversionsnummer (Tasmota, Berry, TFT) hole ich direkt bei Github ab.

            Dann wird asynchron ein Vergleich durchgeführt und bei bedarf ein Update gemacht...

            Aber die http://nspanel.pky.eu/lui-release.tft wird noch ersetzt - passt. Und aus den Release Notes nehme ich sie auch raus.

            Wäre schön, wenn nicht ein Startup durchgeführt werden müsste, denn das versetzt das Panel beim Abfragen der aktuellen Version immer für einen kurzen Moment in den "Waiting for Connection".

            P.S.: Die Versionsabfrage aus dem Github funktioniert eigentlich ähnlich:
            Die Variable aus deinem Script wird vom GitHub extrahiert:

            function check_online_display_firmware() {
                exec('curl https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/apps/nspanel-lovelace-ui/nspanel-lovelace-ui.py', function (error, result, stderr){
                    if (result) {
                        let desired_display_firmware_version = result.substring((result.indexOf("desired_display_firmware_version =") + 34), result.indexOf("desired_display_firmware_version =") + 38).replace(/\s+/g, '');
                        createState(NSPanel_Path + "Display_Firmware.onlineVersion");
                        setIfExists(NSPanel_Path + 'Display_Firmware.onlineVersion', desired_display_firmware_version);
                    }
                });
            }
            

            Und dann fällt es dir wie Schuppen aus den Augen ;-) Die Version ins Script schreiben. Jo - warum einfach, wenn's auch kompliziert geht :grinning:

            J Offline
            J Offline
            joBr99
            schrieb am zuletzt editiert von joBr99
            #488

            @Armilar

            Wäre schön, wenn nicht ein Startup durchgeführt werden müsste, denn das versetzt das Panel beim Abfragen der aktuellen Version immer für einen kurzen Moment in den "Waiting for Connection".

            Die Idee war, dass vor dem aktualisieren ja sowieso das TypeSkript/AppDaemon Skript aktualisiert werden muss und da ist es nicht schlecht, wenn man das Panel wieder in einem definierten Zustand hat. Deshalb hab ich auch die Versionsnummer im Skript, die Version vom Skript passt ja immer zu einer Firmware Version. Immer die aktuelle Firmware passt ggf. nicht zum Skript.

            ArmilarA 1 Antwort Letzte Antwort
            0
            • J joBr99

              @Armilar

              Wäre schön, wenn nicht ein Startup durchgeführt werden müsste, denn das versetzt das Panel beim Abfragen der aktuellen Version immer für einen kurzen Moment in den "Waiting for Connection".

              Die Idee war, dass vor dem aktualisieren ja sowieso das TypeSkript/AppDaemon Skript aktualisiert werden muss und da ist es nicht schlecht, wenn man das Panel wieder in einem definierten Zustand hat. Deshalb hab ich auch die Versionsnummer im Skript, die Version vom Skript passt ja immer zu einer Firmware Version. Immer die aktuelle Firmware passt ggf. nicht zum Skript.

              ArmilarA Offline
              ArmilarA Offline
              Armilar
              Most Active Forum Testing
              schrieb am zuletzt editiert von
              #489

              @jobr99 sagte in Sonoff NSPanel:

              @Armilar

              Wäre schön, wenn nicht ein Startup durchgeführt werden müsste, denn das versetzt das Panel beim Abfragen der aktuellen Version immer für einen kurzen Moment in den "Waiting for Connection".

              Die Idee war, dass vor dem aktualisieren ja sowieso das TypeSkript/AppDaemon Skript aktualisiert werden muss und da ist es nicht schlecht, wenn man das Panel wieder in einem definierten Zustand hat. Deshalb hab ich auch die Versionsnummer im Skript, die Version vom Skript passt ja immer zu einer Firmware Version. Immer die aktuelle Firmware passt ggf. nicht zum Skript.

              siehe oben - bin erst beim Einkaufen drauf gekommen, was du mir wirklich sagen willst ;-) . Ist absolut richtig

              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.

              a200A 1 Antwort Letzte Antwort
              0
              • a200A a200

                @holgerwolf sagte in Sonoff NSPanel:

                @a200

                firstScreensaverEntity: { ScreensaverEntity: "zigbee.0.00158d0002c77840.temperature", ScreensaverEntityIcon: "thermometer", ScreensaverEntityText: "Horreo", ScreensaverEntityUnitText: "°C" },
                    secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.RainProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
                    thirdScreensaverEntity: { ScreensaverEntity: "mqtt.0.openWB.lp.1.%Soc", ScreensaverEntityIcon: "car-electric", ScreensaverEntityText: "SoC", ScreensaverEntityUnitText: "%" },
                    fourthScreensaverEntity: { ScreensaverEntity: "javascript.0.Photovoltaik.Leistung_DC_komplett", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "PV", ScreensaverEntityUnitText: "W" },
                

                Sehr seltsam, die gehen bei mir alle.
                Hast du denn Fehlermeldungen im Log?

                Die Darstellung der Objekte ist ja Rollen abhängig. Welche Rollen sind bei dir diesen DP zugewiesen? Ich vermute dort das Problem.

                Die Logfiles (debug) geben nicht viel her.

                18:28:08.485	info	javascript.0 (20526) script.js.Prod.NSPanel.NsPanelTs_ts: pageType~cardEntities
                18:28:08.485	info	javascript.0 (20526) script.js.Prod.NSPanel.NsPanelTs_ts: entityUpd~Büro~0|1~light~alias.0.MyNSPanel.Steckdosen.KG-Buero~~62251~Drucker~0~shutter~alias.0.MyNSPanel.Rolladen.KG_Buero~~63142~Fenster~
                

                Screensaver erzeugt gar keine Logs.

                ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                schrieb am zuletzt editiert von
                #490

                @a200 Das ist einfach nur ein Datenpunkt. Und solange da Daten drin sind hat er die Daten anzuzeigen. Übrigens funktioniert das schon seit Monaten perfekt... hab es grad mal umgestellt - läuft

                if (config.firstScreensaverEntity !== null && config.firstScreensaverEntity.ScreensaverEntity != null && existsState(config.firstScreensaverEntity.ScreensaverEntity)) {
                    updateArray.push(config.firstScreensaverEntity.ScreensaverEntity)
                }
                

                Da wird also folgendes abgefragt:
                -Ist der wenn der Inhalt der Entitäten ungleich "null" ist und das Objekt existiert - dann zeige es an.

                Somit kommt mindestens eine Bedingung falsch zurück.

                @a200 sagte in Sonoff NSPanel:

                @holgerwolf sagte in Sonoff NSPanel:

                @a200

                firstScreensaverEntity: { ScreensaverEntity: "zigbee.0.00158d0002c77840.temperature", ScreensaverEntityIcon: "thermometer", ScreensaverEntityText: "Horreo", ScreensaverEntityUnitText: "°C" },
                    secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.RainProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
                    thirdScreensaverEntity: { ScreensaverEntity: "mqtt.0.openWB.lp.1.%Soc", ScreensaverEntityIcon: "car-electric", ScreensaverEntityText: "SoC", ScreensaverEntityUnitText: "%" },
                    fourthScreensaverEntity: { ScreensaverEntity: "javascript.0.Photovoltaik.Leistung_DC_komplett", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "PV", ScreensaverEntityUnitText: "W" },
                

                Sehr seltsam, die gehen bei mir alle.
                Hast du denn Fehlermeldungen im Log?

                Die Darstellung der Objekte ist ja Rollen abhängig. Welche Rollen sind bei dir diesen DP zugewiesen? Ich vermute dort das Problem.

                Die Logfiles (debug) geben nicht viel her.

                18:28:08.485	info	javascript.0 (20526) script.js.Prod.NSPanel.NsPanelTs_ts: pageType~cardEntities
                18:28:08.485	info	javascript.0 (20526) script.js.Prod.NSPanel.NsPanelTs_ts: entityUpd~Büro~0|1~light~alias.0.MyNSPanel.Steckdosen.KG-Buero~~62251~Drucker~0~shutter~alias.0.MyNSPanel.Rolladen.KG_Buero~~63142~Fenster~
                

                Screensaver erzeugt gar keine Logs.

                Warum machst du nicht einfach ein log rein?

                if (config.firstScreensaverEntity !== null && config.firstScreensaverEntity.ScreensaverEntity != null && existsState(config.firstScreensaverEntity.ScreensaverEntity)) {
                    updateArray.push(config.firstScreensaverEntity.ScreensaverEntity)
                    console.log(updateArray[0]);
                }
                

                liefert bei mir

                        else {
                            //In Config definierte Zustände wenn weatherForecast = false
                            payloadString += GetScreenSaverEntityString(config.firstScreensaverEntity);
                            console.log(payloadString);
                            payloadString += GetScreenSaverEntityString(config.secondScreensaverEntity);
                            payloadString += GetScreenSaverEntityString(config.thirdScreensaverEntity);
                            payloadString += GetScreenSaverEntityString(config.fourthScreensaverEntity);
                        }
                

                8fab1bf8-35c3-4ad4-b30a-4ea928b08201-image.png

                weatherUpdate~~21.2 °C~Luft~~45 %~

                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 Antwort Letzte Antwort
                0
                • ArmilarA Armilar

                  @jobr99 sagte in Sonoff NSPanel:

                  @Armilar

                  Wäre schön, wenn nicht ein Startup durchgeführt werden müsste, denn das versetzt das Panel beim Abfragen der aktuellen Version immer für einen kurzen Moment in den "Waiting for Connection".

                  Die Idee war, dass vor dem aktualisieren ja sowieso das TypeSkript/AppDaemon Skript aktualisiert werden muss und da ist es nicht schlecht, wenn man das Panel wieder in einem definierten Zustand hat. Deshalb hab ich auch die Versionsnummer im Skript, die Version vom Skript passt ja immer zu einer Firmware Version. Immer die aktuelle Firmware passt ggf. nicht zum Skript.

                  siehe oben - bin erst beim Einkaufen drauf gekommen, was du mir wirklich sagen willst ;-) . Ist absolut richtig

                  a200A Offline
                  a200A Offline
                  a200
                  schrieb am zuletzt editiert von a200
                  #491

                  @armilar @holgerwolf Ich glaube ich habe die Stelle gefunden.

                  if aus der Zeile 2 wird hier nie true.
                  Ich nutze kein "weatherEntity" aber dann ist entweder weatherEntity = null oder der DP ist nicht vorhanden. Damit wird der unterer Teil des Screensavers nicht eingeblendet. Also muss ich weatherEntity definieren! Und wenn ich dort einen Temp-DP eingebe, dann funktioniert es auch, auch wenn das Icon aus "GetAccuWeatherIcon" natürlich nicht gefunden wird. Also wenigstens die Zwei DP für Temp + Wetter-Icon müssen gesetzt werden. Dann ist wieder alles gut. Danke!

                  function HandleScreensaverUpdate(): void {
                      if (screensaverEnabled && config.weatherEntity != null && existsObject(config.weatherEntity)) {
                          var icon = getState(config.weatherEntity + ".ICON").val;
                   
                          let temperature: string =
                              existsState(config.weatherEntity + ".ACTUAL") ? getState(config.weatherEntity + ".ACTUAL").val :
                                  existsState(config.weatherEntity + ".TEMP") ? getState(config.weatherEntity + ".TEMP").val : "null";
                   
                          let payloadString =
                              "weatherUpdate~" + Icons.GetIcon(GetAccuWeatherIcon(parseInt(icon))) + "~"
                              + temperature + " " + config.temperatureUnit + "~"
                   
                  /*-------------------------------------------------------------------------------------------------------------------------------------*/
                          if (weatherForecast == true) {
                              // Accu-Weather Forecast Tag 2 - Tag 5 -- Wenn weatherForecast = true
                              for (let i = 2; i < 6; i++) {
                                  let TempMax = getState("accuweather.0.Summary.TempMax_d" + i).val;
                                  let DayOfWeek = getState("accuweather.0.Summary.DayOfWeek_d" + i).val;
                                  let WeatherIcon = GetAccuWeatherIcon(getState("accuweather.0.Summary.WeatherIcon_d" + i).val);
                                  payloadString += DayOfWeek + "~" + Icons.GetIcon(WeatherIcon) + "~" + TempMax + " °C~";
                              }
                          } 
                          else {
                              //In Config definierte Zustände wenn weatherForecast = false
                              payloadString += GetScreenSaverEntityString(config.firstScreensaverEntity);
                              payloadString += GetScreenSaverEntityString(config.secondScreensaverEntity);
                              payloadString += GetScreenSaverEntityString(config.thirdScreensaverEntity);
                              payloadString += GetScreenSaverEntityString(config.fourthScreensaverEntity);
                          }
                  /*-------------------------------------------------------------------------------------------------------------------------------------*/
                          SendToPanel(<Payload>{ payload: payloadString });
                      }
                  }
                  

                  IoBroker auf QNAP TS-451, Raspi und NUC

                  1 Antwort Letzte Antwort
                  0
                  • W Offline
                    W Offline
                    wheinz44
                    schrieb am zuletzt editiert von
                    #492

                    Hallo Leute,
                    ihr seit wirklich spitze, werd jetzt mal alles durcharbeiten, und bei weiteren frage meld ich mich.
                    Danke Danke

                    1 Antwort Letzte Antwort
                    0
                    • W Offline
                      W Offline
                      wheinz44
                      schrieb am zuletzt editiert von
                      #493

                      Guten Morgen, bin die Anleitung von Armilar durchgegangen, hat aber nichts genützt,
                      erst als ich den neuen Ts-Script verwendet habe hats geklappt.
                      Ein paar Baustellen sind noch offen, aber darum werde ich mich kümmer, wenn die Arbeitswoche vorbei ist.
                      Danke nochmals, und macht weiter so.
                      Hier wird noch RICHTIG geholfen.
                      LG wheinz44

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        Stwer2203
                        schrieb am zuletzt editiert von
                        #494

                        ich komm leider einfach nicht weiter und hoffe auf Hilfe

                        Folgende Fehlermeldung spuckt er aus:

                        javascript.0 (405) script.js.common.NS_Panel compile failed: at script.js.common.NS_Panel:5918
                        

                        Kann mir einer erklären, was ich falsch mache

                        a200A 1 Antwort Letzte Antwort
                        0
                        • S Stwer2203

                          ich komm leider einfach nicht weiter und hoffe auf Hilfe

                          Folgende Fehlermeldung spuckt er aus:

                          javascript.0 (405) script.js.common.NS_Panel compile failed: at script.js.common.NS_Panel:5918
                          

                          Kann mir einer erklären, was ich falsch mache

                          a200A Offline
                          a200A Offline
                          a200
                          schrieb am zuletzt editiert von a200
                          #495

                          @stwer2203 Leider lässt sich das nicht pauschal beantworten. Aber lass uns prüfen:

                          • Hast du die Datei icon_mapping.ts in global Verzeichnis abgelegt und aktiviert? (script.js.global.icon_mapping_ts)
                          • Ich persönlich nutze schiebe nichts ins common, sondern habe meine Unterverzeichnisse. Das hilft bei der Orientierung. Also habe ich die Unterverzeichnisse Prod und NSPanel. Dort habe ich die Datei NsPanelTs.ts abgelegt: Es sieht dann so aus: script.js.Prod.NSPanel.NsPanelTs_ts
                          • Der Inhalt der NsPanelTs.ts kommt aus: https://github.com/Armilar/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                          Ich würde die Dateinamen genauso übernehmen. Was bei dir nicht der Fall ist.

                          Check das mal aus und wir können weiter schauen. Mir wurde hier auch viel geholfen, also keine Sorge, dich kriegen wir auch "verarztet". :blush:

                          IoBroker auf QNAP TS-451, Raspi und NUC

                          S 1 Antwort Letzte Antwort
                          0
                          • a200A a200

                            @stwer2203 Leider lässt sich das nicht pauschal beantworten. Aber lass uns prüfen:

                            • Hast du die Datei icon_mapping.ts in global Verzeichnis abgelegt und aktiviert? (script.js.global.icon_mapping_ts)
                            • Ich persönlich nutze schiebe nichts ins common, sondern habe meine Unterverzeichnisse. Das hilft bei der Orientierung. Also habe ich die Unterverzeichnisse Prod und NSPanel. Dort habe ich die Datei NsPanelTs.ts abgelegt: Es sieht dann so aus: script.js.Prod.NSPanel.NsPanelTs_ts
                            • Der Inhalt der NsPanelTs.ts kommt aus: https://github.com/Armilar/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                            Ich würde die Dateinamen genauso übernehmen. Was bei dir nicht der Fall ist.

                            Check das mal aus und wir können weiter schauen. Mir wurde hier auch viel geholfen, also keine Sorge, dich kriegen wir auch "verarztet". :blush:

                            S Offline
                            S Offline
                            Stwer2203
                            schrieb am zuletzt editiert von
                            #496

                            @a200

                            Hast du die Datei icon_mapping.ts in global Verzeichnis abgelegt und aktiviert? (script.js.global.icon_mapping_ts).

                            ja, war und ist das Script

                            Ich persönlich nutze schiebe nichts ins common, sondern habe meine Unterverzeichnisse. Das hilft bei der Orientierung. Also habe ich die Unterverzeichnisse Prod und NSPanel. Dort habe ich die Datei NsPanelTs.ts abgelegt: Es sieht dann so aus: script.js.Prod.NSPanel.NsPanelTs_ts

                            ich habe im common meine Unterverzeichnisse, aber habe es jetzt genauso wie du

                            Der Inhalt der NsPanelTs.ts kommt aus: https://github.com/Armilar/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts.

                            das war auch und die mqtt Pfade angepasst

                            weiterhin bleibt:

                            13:45:54.626	info	javascript.0 (3155) Stop script script.js.Prod.NSPanel.NsPanelTs
                            13:45:55.037	info	javascript.0 (3155) script.js.Prod.NSPanel.NsPanelTs: compiling TypeScript source...
                            13:45:58.202	info	javascript.0 (3155) script.js.Prod.NSPanel.NsPanelTs: TypeScript compilation successful
                            13:45:58.225	error	javascript.0 (3155) script.js.Prod.NSPanel.NsPanelTs compile failed: at script.js.Prod.NSPanel.NsPanelTs:782
                            
                            a200A 1 Antwort Letzte Antwort
                            0
                            • S Stwer2203

                              @a200

                              Hast du die Datei icon_mapping.ts in global Verzeichnis abgelegt und aktiviert? (script.js.global.icon_mapping_ts).

                              ja, war und ist das Script

                              Ich persönlich nutze schiebe nichts ins common, sondern habe meine Unterverzeichnisse. Das hilft bei der Orientierung. Also habe ich die Unterverzeichnisse Prod und NSPanel. Dort habe ich die Datei NsPanelTs.ts abgelegt: Es sieht dann so aus: script.js.Prod.NSPanel.NsPanelTs_ts

                              ich habe im common meine Unterverzeichnisse, aber habe es jetzt genauso wie du

                              Der Inhalt der NsPanelTs.ts kommt aus: https://github.com/Armilar/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts.

                              das war auch und die mqtt Pfade angepasst

                              weiterhin bleibt:

                              13:45:54.626	info	javascript.0 (3155) Stop script script.js.Prod.NSPanel.NsPanelTs
                              13:45:55.037	info	javascript.0 (3155) script.js.Prod.NSPanel.NsPanelTs: compiling TypeScript source...
                              13:45:58.202	info	javascript.0 (3155) script.js.Prod.NSPanel.NsPanelTs: TypeScript compilation successful
                              13:45:58.225	error	javascript.0 (3155) script.js.Prod.NSPanel.NsPanelTs compile failed: at script.js.Prod.NSPanel.NsPanelTs:782
                              
                              a200A Offline
                              a200A Offline
                              a200
                              schrieb am zuletzt editiert von
                              #497

                              @stwer2203

                              1. jetzt sehe ich noch einen Unterschied. Das Sktipt hat eine Endung .ts bei dir nicht.
                              2. Die Zeilennummer bei der Fehlermeldung ist anders.
                              3. Hast du den Bereich angepasst?:
                              export const config: Config = {
                                  panelRecvTopic: "mqtt.1.SmartHome.nspanel_C829B4.tele.RESULT",       //anpassen
                                  panelSendTopic: "mqtt.1.SmartHome.nspanel_C829B4.cmnd.CustomSend",   //anpassen
                              

                              IoBroker auf QNAP TS-451, Raspi und NUC

                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • a200A a200

                                @stwer2203

                                1. jetzt sehe ich noch einen Unterschied. Das Sktipt hat eine Endung .ts bei dir nicht.
                                2. Die Zeilennummer bei der Fehlermeldung ist anders.
                                3. Hast du den Bereich angepasst?:
                                export const config: Config = {
                                    panelRecvTopic: "mqtt.1.SmartHome.nspanel_C829B4.tele.RESULT",       //anpassen
                                    panelSendTopic: "mqtt.1.SmartHome.nspanel_C829B4.cmnd.CustomSend",   //anpassen
                                
                                ArmilarA Offline
                                ArmilarA Offline
                                Armilar
                                Most Active Forum Testing
                                schrieb am zuletzt editiert von
                                #498

                                @a200 sagte in Sonoff NSPanel:

                                @stwer2203

                                1. jetzt sehe ich noch einen Unterschied. Das Sktipt hat eine Endung .ts bei dir nicht.
                                2. Die Zeilennummer bei der Fehlermeldung ist anders.
                                3. Hast du den Bereich angepasst?:
                                export const config: Config = {
                                    panelRecvTopic: "mqtt.1.SmartHome.nspanel_C829B4.tele.RESULT",       //anpassen
                                    panelSendTopic: "mqtt.1.SmartHome.nspanel_C829B4.cmnd.CustomSend",   //anpassen
                                

                                Der Dateiname ist völlig egal - kannst das Skript hinlegen wo du willst und auch Schneewittchen nennen.

                                Wenn es einen "compile failed" gibt, dann steh in der Regel auch etwas mehr im Protokoll und an irgendeiner Stelle im Code ist es seitlich rot. Ich bräuchte diese Informationen ma kurz ;-)

                                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 Antwort Letzte Antwort
                                0
                                • ArmilarA Armilar

                                  @a200 sagte in Sonoff NSPanel:

                                  @stwer2203

                                  1. jetzt sehe ich noch einen Unterschied. Das Sktipt hat eine Endung .ts bei dir nicht.
                                  2. Die Zeilennummer bei der Fehlermeldung ist anders.
                                  3. Hast du den Bereich angepasst?:
                                  export const config: Config = {
                                      panelRecvTopic: "mqtt.1.SmartHome.nspanel_C829B4.tele.RESULT",       //anpassen
                                      panelSendTopic: "mqtt.1.SmartHome.nspanel_C829B4.cmnd.CustomSend",   //anpassen
                                  

                                  Der Dateiname ist völlig egal - kannst das Skript hinlegen wo du willst und auch Schneewittchen nennen.

                                  Wenn es einen "compile failed" gibt, dann steh in der Regel auch etwas mehr im Protokoll und an irgendeiner Stelle im Code ist es seitlich rot. Ich bräuchte diese Informationen ma kurz ;-)

                                  ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  schrieb am zuletzt editiert von Armilar
                                  #499

                                  Ich habe auf Github eine neuere Version des TypeScript abgelegt:

                                  https://github.com/Armilar/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                                  Die Version sollte jetzt alle Features unterstützen, die auch in der openHAB-Version verfügbar sind.

                                  Bugfixes und Erweiterungen seit letzter Version:
                                  - BugFix: Automatischer Dimmode versetzt NSPanel im Normalbetrieb in Dimmodus ohne Screensaver
                                  - Fix: Auto-Update in definiertem Zustand
                                  - Neu: manuelle Updates (Werden über Popup eingeblendet, falls vorhanden)
                                  - Neu cardAlarm (Anleitung/Emulator zum Testen folgt)
                                  - Neu popupNotify (Nachricht über separates Popup Fenster im Panel - Anleitung/Emulator zum Testen folgt)

                                  Wie immer die Variablen berücksichtigen.

                                  Ab jetzt gibt es zunächst (und falls erforderlich) nur noch Bugfixes und weitere Aliase.

                                  Viel Spaß beim ausprobieren.

                                  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 Antwort Letzte Antwort
                                  1
                                  • ArmilarA Armilar

                                    Ich habe auf Github eine neuere Version des TypeScript abgelegt:

                                    https://github.com/Armilar/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                                    Die Version sollte jetzt alle Features unterstützen, die auch in der openHAB-Version verfügbar sind.

                                    Bugfixes und Erweiterungen seit letzter Version:
                                    - BugFix: Automatischer Dimmode versetzt NSPanel im Normalbetrieb in Dimmodus ohne Screensaver
                                    - Fix: Auto-Update in definiertem Zustand
                                    - Neu: manuelle Updates (Werden über Popup eingeblendet, falls vorhanden)
                                    - Neu cardAlarm (Anleitung/Emulator zum Testen folgt)
                                    - Neu popupNotify (Nachricht über separates Popup Fenster im Panel - Anleitung/Emulator zum Testen folgt)

                                    Wie immer die Variablen berücksichtigen.

                                    Ab jetzt gibt es zunächst (und falls erforderlich) nur noch Bugfixes und weitere Aliase.

                                    Viel Spaß beim ausprobieren.

                                    ArmilarA Offline
                                    ArmilarA Offline
                                    Armilar
                                    Most Active Forum Testing
                                    schrieb am zuletzt editiert von Armilar
                                    #500

                                    Ich habe für die popupNotify einen kleinen Blockly-Emulator geschrieben - Eventuell möchte den jemand ausprobieren, um besser zu verstehen, wie die Nachrichten (von außen - durch andere Skripts (JS, Blockly, TS)) an das Panel übermittelt werden.

                                    Code in neues Blockly importieren, Parameter anpassen und ausführen

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                      <variables>
                                        <variable id="uo@LUG^!/XDby|445u/B">Path</variable>
                                        <variable id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</variable>
                                        <variable id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</variable>
                                        <variable id="-o6c|nVGu[-e9kJUQ*Py">Text</variable>
                                        <variable id="g=qMvdYbq.K$K#qmOxv%">Button1</variable>
                                        <variable id="[OV33hQZKYvb2l{,hIz5">Button2</variable>
                                        <variable id="GLNUJ.^6GeEeSI!hhRv^">Timeout</variable>
                                      </variables>
                                      <block type="comment" id="`s6]m,+$3U;:^lwh}RV5" x="62" y="-413">
                                        <field name="COMMENT">Emulation wird jede Minute durchgeführt</field>
                                        <next>
                                          <block type="schedule" id="0G0P80pyKC8!U~a1%(.E">
                                            <field name="SCHEDULE">* * * * *</field>
                                            <statement name="STATEMENT">
                                              <block type="variables_set" id="30#(TnQM=_MBK:actv{l">
                                                <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                <value name="VALUE">
                                                  <block type="text" id="h/e(`ygx?v?]11Z`88zp">
                                                    <field name="TEXT">0_userdata.0.NSPanel.1.popupNotify.</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="variables_set" id="R3Wks}hW8#-p/m25k-mK">
                                                    <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                                    <value name="VALUE">
                                                      <block type="text" id="l*M,26M-+$C$vL0GW,XJ">
                                                        <field name="TEXT">Waschmaschine</field>
                                                      </block>
                                                    </value>
                                                    <next>
                                                      <block type="variables_set" id="u3F5ACIOMm{nZ%~T@gN7">
                                                        <field name="VAR" id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</field>
                                                        <value name="VALUE">
                                                          <block type="text_join" id="gilEtg%GtWmZ{Ma7#TH)">
                                                            <mutation items="2"></mutation>
                                                            <value name="ADD0">
                                                              <block type="text" id="ar3{89`Ttkt[m[W$ns5W">
                                                                <field name="TEXT">Nachricht von </field>
                                                              </block>
                                                            </value>
                                                            <value name="ADD1">
                                                              <block type="variables_get" id="W*TW2,-kH?kXp0-zq$m#">
                                                                <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <next>
                                                          <block type="variables_set" id="7xV_#HwZp%4fs)`69P7I">
                                                            <field name="VAR" id="-o6c|nVGu[-e9kJUQ*Py">Text</field>
                                                            <value name="VALUE">
                                                              <block type="text_join" id="0u!=u_]+ir[CYmK[xb,%">
                                                                <mutation items="10"></mutation>
                                                                <value name="ADD0">
                                                                  <block type="text" id="ah?o$fm/Du;,mkK#~Wn`">
                                                                    <field name="TEXT">Der Waschvorgang ist beendet</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD1">
                                                                  <block type="text_newline" id="5PgB+z=YZ/Cy(G3`k:LK">
                                                                    <field name="Type">\r\n</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD2">
                                                                  <block type="text_newline" id=",CuP]bnfML_B8A4YWfB0">
                                                                    <field name="Type">\r\n</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD3">
                                                                  <block type="text" id="!i/O$+%ZdbrJ7-^YqXs2">
                                                                    <field name="TEXT">Diese Nachricht zerstört sich in 15 Sekunden</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD4">
                                                                  <block type="text_newline" id="v)hnAj(3J#E:-.SacK9|">
                                                                    <field name="Type">\r\n</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD5">
                                                                  <block type="text" id="bW{bQPK]Zr;DCxw7rx^}">
                                                                    <field name="TEXT">von selbst</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD6">
                                                                  <block type="text_newline" id="e9WhU9G$[u]$hGIHHkOg">
                                                                    <field name="Type">\r\n</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD7">
                                                                  <block type="text_newline" id="#{;D1ACiGtk3DAeH4RvP">
                                                                    <field name="Type">\r\n</field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD8">
                                                                  <block type="text" id="{7;]*K(T=]lPCH;#yy,S">
                                                                    <field name="TEXT">Bist du sicher das du mich abstellen </field>
                                                                  </block>
                                                                </value>
                                                                <value name="ADD9">
                                                                  <block type="text" id="Id60*I{KgLs,7,RNbL#0">
                                                                    <field name="TEXT">möchtest?</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <next>
                                                              <block type="comment" id="MghuTgD][qtrl)GO#HrD">
                                                                <field name="COMMENT">Button1 liefert "false" - kann auch leer sein</field>
                                                                <next>
                                                                  <block type="variables_set" id="d|F8*4v2KA:${~Q;9;n~">
                                                                    <field name="VAR" id="g=qMvdYbq.K$K#qmOxv%">Button1</field>
                                                                    <value name="VALUE">
                                                                      <block type="text" id="gHu6:V~JvgPcVq53w1.=">
                                                                        <field name="TEXT">Nein</field>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="comment" id="C5?qa0+JRgTU%GlVW$g4">
                                                                        <field name="COMMENT">Button2 liefert "true" - kann auch leer sein</field>
                                                                        <next>
                                                                          <block type="variables_set" id="aG7hBeg1fGHN@a_`sUbZ">
                                                                            <field name="VAR" id="[OV33hQZKYvb2l{,hIz5">Button2</field>
                                                                            <value name="VALUE">
                                                                              <block type="text" id="1O$?!70tQ:aSFIXlS7A,">
                                                                                <field name="TEXT">OK</field>
                                                                              </block>
                                                                            </value>
                                                                            <next>
                                                                              <block type="comment" id="]h~w+hG;N$9l!}_GV+4B">
                                                                                <field name="COMMENT">Kann auch auf 0 für manuell schließen</field>
                                                                                <next>
                                                                                  <block type="variables_set" id="CGGwa_Ykf}kYYeR)IkR.">
                                                                                    <field name="VAR" id="GLNUJ.^6GeEeSI!hhRv^">Timeout</field>
                                                                                    <value name="VALUE">
                                                                                      <block type="math_number" id="([Hku{[tr5;;mM@qHQ$t">
                                                                                        <field name="NUM">15</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <next>
                                                                                      <block type="control_ex" id="1dL$wOk9{m-yOy|2=*1g">
                                                                                        <field name="TYPE">false</field>
                                                                                        <field name="CLEAR_RUNNING">FALSE</field>
                                                                                        <value name="OID">
                                                                                          <shadow type="field_oid" id="p%b].;f)Tg{x/hQ,(`:E">
                                                                                            <field name="oid">Object ID</field>
                                                                                          </shadow>
                                                                                          <block type="text_join" id="amkxN:qSczo2d]97yqgU">
                                                                                            <mutation items="2"></mutation>
                                                                                            <value name="ADD0">
                                                                                              <block type="variables_get" id="k;cYrw$(3p-R5GTFvMW%">
                                                                                                <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                              </block>
                                                                                            </value>
                                                                                            <value name="ADD1">
                                                                                              <block type="text" id="C6sE8F@i_5VZ)C,x0(s_">
                                                                                                <field name="TEXT">popupNotifyHeading</field>
                                                                                              </block>
                                                                                            </value>
                                                                                          </block>
                                                                                        </value>
                                                                                        <value name="VALUE">
                                                                                          <shadow type="logic_boolean" id="*FA,Qt^=:a61n5.Y3.x]">
                                                                                            <field name="BOOL">TRUE</field>
                                                                                          </shadow>
                                                                                          <block type="variables_get" id="MTH3SkAm}pe/1Cg:N1dV">
                                                                                            <field name="VAR" id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</field>
                                                                                          </block>
                                                                                        </value>
                                                                                        <value name="DELAY_MS">
                                                                                          <shadow type="math_number" id="-DlWt*-;[s9PI#Xyv}ZS">
                                                                                            <field name="NUM">0</field>
                                                                                          </shadow>
                                                                                        </value>
                                                                                        <next>
                                                                                          <block type="comment" id="F,R/t@f|GO,Z.QfkIwd$">
                                                                                            <field name="COMMENT">Im Text wird die Zeit mitgegeben</field>
                                                                                            <next>
                                                                                              <block type="comment" id="F-3#0=OVZNca`nOED6Ls">
                                                                                                <field name="COMMENT">ohne Änderung des Textes wir kein popup angezeigt</field>
                                                                                                <next>
                                                                                                  <block type="control_ex" id="?uUW)tMaHVs%}4f(O{3R">
                                                                                                    <field name="TYPE">false</field>
                                                                                                    <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                    <value name="OID">
                                                                                                      <shadow type="field_oid" id="%,m?2:R:N?)ZD,$vBC`d">
                                                                                                        <field name="oid">Object ID</field>
                                                                                                      </shadow>
                                                                                                      <block type="text_join" id="w~,,}#T_:R!@(91x(KY)">
                                                                                                        <mutation items="2"></mutation>
                                                                                                        <value name="ADD0">
                                                                                                          <block type="variables_get" id="35hU_%k~-#4$(:LcM6,1">
                                                                                                            <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="ADD1">
                                                                                                          <block type="text" id="g`M._dA#Yo[g)P0|,[*N">
                                                                                                            <field name="TEXT">popupNotifyText</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                    <value name="VALUE">
                                                                                                      <shadow type="logic_boolean" id="R`0o?%kFD}=);P5,o-V2">
                                                                                                        <field name="BOOL">TRUE</field>
                                                                                                      </shadow>
                                                                                                      <block type="text_join" id="9LX]H?SV#xzIh`X!vZVX">
                                                                                                        <mutation items="3"></mutation>
                                                                                                        <value name="ADD0">
                                                                                                          <block type="convert_from_date" id="L^EjJxj1V$OZ/Ga7/4*2">
                                                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                                                                            <field name="OPTION">custom</field>
                                                                                                            <field name="FORMAT">TT.MM.JJJJ SS:mm:ss</field>
                                                                                                            <value name="VALUE">
                                                                                                              <block type="time_get" id="rjD9!@$v?CDm/5n}@(GA">
                                                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                                <field name="OPTION">object</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="ADD1">
                                                                                                          <block type="text_newline" id="n{mP0B^59fa`=3,/=tlV">
                                                                                                            <field name="Type">\r\n</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="ADD2">
                                                                                                          <block type="variables_get" id="%hXKnQkTTz?%Waf1T0%i">
                                                                                                            <field name="VAR" id="-o6c|nVGu[-e9kJUQ*Py">Text</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                    <value name="DELAY_MS">
                                                                                                      <shadow type="math_number" id="{5ff|Qz@z:(ZrW[T:`)E">
                                                                                                        <field name="NUM">0</field>
                                                                                                      </shadow>
                                                                                                    </value>
                                                                                                    <next>
                                                                                                      <block type="control_ex" id="mHM54A6B1nA*)Tl`4bTs">
                                                                                                        <field name="TYPE">false</field>
                                                                                                        <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                        <value name="OID">
                                                                                                          <shadow type="field_oid">
                                                                                                            <field name="oid">Object ID</field>
                                                                                                          </shadow>
                                                                                                          <block type="text_join" id="Ya+g|Cl+i7=.p/Ie(AtO">
                                                                                                            <mutation items="2"></mutation>
                                                                                                            <value name="ADD0">
                                                                                                              <block type="variables_get" id="GI+;?qw:YE[{U2_kxJZg">
                                                                                                                <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="ADD1">
                                                                                                              <block type="text" id="wybh?!k``1,iP%|P]c[p">
                                                                                                                <field name="TEXT">popupNotifyButton1Text</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="VALUE">
                                                                                                          <shadow type="logic_boolean">
                                                                                                            <field name="BOOL">TRUE</field>
                                                                                                          </shadow>
                                                                                                          <block type="variables_get" id="YA2[S#5qR#UG$jHlfQ%S">
                                                                                                            <field name="VAR" id="g=qMvdYbq.K$K#qmOxv%">Button1</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="DELAY_MS">
                                                                                                          <shadow type="math_number" id="?=AGjEn:juA9us=H]a%;">
                                                                                                            <field name="NUM">0</field>
                                                                                                          </shadow>
                                                                                                        </value>
                                                                                                        <next>
                                                                                                          <block type="control_ex" id="8_BX{?-?Oi|$d|Gg$1Cy">
                                                                                                            <field name="TYPE">false</field>
                                                                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                            <value name="OID">
                                                                                                              <shadow type="field_oid">
                                                                                                                <field name="oid">Object ID</field>
                                                                                                              </shadow>
                                                                                                              <block type="text_join" id="He1!cC/^[205l;-1}ASR">
                                                                                                                <mutation items="2"></mutation>
                                                                                                                <value name="ADD0">
                                                                                                                  <block type="variables_get" id="jw4DW_qno}iIHugSt,}8">
                                                                                                                    <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="ADD1">
                                                                                                                  <block type="text" id="lr.F~YZdc$sfF|z#V.w5">
                                                                                                                    <field name="TEXT">popupNotifyButton2Text</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="VALUE">
                                                                                                              <shadow type="logic_boolean">
                                                                                                                <field name="BOOL">TRUE</field>
                                                                                                              </shadow>
                                                                                                              <block type="variables_get" id="]l!LD%wcjPA[2)SfUHHs">
                                                                                                                <field name="VAR" id="[OV33hQZKYvb2l{,hIz5">Button2</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="DELAY_MS">
                                                                                                              <shadow type="math_number" id="OdWpiHsNV#30R]Aq!$Gu">
                                                                                                                <field name="NUM">0</field>
                                                                                                              </shadow>
                                                                                                            </value>
                                                                                                            <next>
                                                                                                              <block type="control_ex" id=":`/?=XT;sJqhXvIA~Q_R">
                                                                                                                <field name="TYPE">false</field>
                                                                                                                <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                                <value name="OID">
                                                                                                                  <shadow type="field_oid">
                                                                                                                    <field name="oid">Object ID</field>
                                                                                                                  </shadow>
                                                                                                                  <block type="text_join" id="jCD!fuaPfAai?P8U9,?n">
                                                                                                                    <mutation items="2"></mutation>
                                                                                                                    <value name="ADD0">
                                                                                                                      <block type="variables_get" id="b]8Y@1:l8%|,xImg{V(_">
                                                                                                                        <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="ADD1">
                                                                                                                      <block type="text" id="VCw44y[yzUF][09V_+OU">
                                                                                                                        <field name="TEXT">popupNotifySleepTimeout</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="VALUE">
                                                                                                                  <shadow type="logic_boolean">
                                                                                                                    <field name="BOOL">TRUE</field>
                                                                                                                  </shadow>
                                                                                                                  <block type="variables_get" id="z;!QKJE2cka}x5~oL8%2">
                                                                                                                    <field name="VAR" id="GLNUJ.^6GeEeSI!hhRv^">Timeout</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="DELAY_MS">
                                                                                                                  <shadow type="math_number" id="1YUXTd5z~e^I*6/?o_;0">
                                                                                                                    <field name="NUM">0</field>
                                                                                                                  </shadow>
                                                                                                                </value>
                                                                                                                <next>
                                                                                                                  <block type="control_ex" id="d,*_!q{w=02C~^vvZlYP">
                                                                                                                    <field name="TYPE">false</field>
                                                                                                                    <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                                    <value name="OID">
                                                                                                                      <shadow type="field_oid">
                                                                                                                        <field name="oid">Object ID</field>
                                                                                                                      </shadow>
                                                                                                                      <block type="text_join" id="cQlWDwPHeE4tzR|+)TlH">
                                                                                                                        <mutation items="2"></mutation>
                                                                                                                        <value name="ADD0">
                                                                                                                          <block type="variables_get" id="}bZBoWEFal{Z@vm_im$#">
                                                                                                                            <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <value name="ADD1">
                                                                                                                          <block type="text" id="fK9rd_%mPOgv)BI14-(I">
                                                                                                                            <field name="TEXT">popupNotifyInternalName</field>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="VALUE">
                                                                                                                      <shadow type="logic_boolean">
                                                                                                                        <field name="BOOL">TRUE</field>
                                                                                                                      </shadow>
                                                                                                                      <block type="variables_get" id="?Ue4ZS-9tnXRHWmu?j$u">
                                                                                                                        <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                                                                                                      </block>
                                                                                                                    </value>
                                                                                                                    <value name="DELAY_MS">
                                                                                                                      <shadow type="math_number" id="KSV7H~p;Rw}X]^fgXGA;">
                                                                                                                        <field name="NUM">0</field>
                                                                                                                      </shadow>
                                                                                                                    </value>
                                                                                                                    <next>
                                                                                                                      <block type="comment" id="k}-$zkTkx#NVPnhQ+zzM">
                                                                                                                        <field name="COMMENT">Output-Parameter werden abgefragt</field>
                                                                                                                        <next>
                                                                                                                          <block type="on_ext" id="Q$YB)v(VTl#wB2|u;63q">
                                                                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                                                                                            <field name="CONDITION">any</field>
                                                                                                                            <field name="ACK_CONDITION"></field>
                                                                                                                            <value name="OID0">
                                                                                                                              <shadow type="field_oid" id="^prU7]O!M$KjiHYwI?{T">
                                                                                                                                <field name="oid">0_userdata.0.NSPanel.1.popupNotify.popupNotifyAction</field>
                                                                                                                              </shadow>
                                                                                                                            </value>
                                                                                                                            <statement name="STATEMENT">
                                                                                                                              <block type="controls_if" id="USh#T`M700~2CAoY2d#e">
                                                                                                                                <mutation elseif="1"></mutation>
                                                                                                                                <value name="IF0">
                                                                                                                                  <block type="logic_compare" id=";L2c+1)qFU}F1Z=qjFbU">
                                                                                                                                    <field name="OP">EQ</field>
                                                                                                                                    <value name="A">
                                                                                                                                      <block type="on_source" id="orbJ;#C((8Dtuf7!S17/">
                                                                                                                                        <field name="ATTR">state.val</field>
                                                                                                                                      </block>
                                                                                                                                    </value>
                                                                                                                                    <value name="B">
                                                                                                                                      <block type="logic_boolean" id="gP!v0w[Yj`(AAv=w66@^">
                                                                                                                                        <field name="BOOL">FALSE</field>
                                                                                                                                      </block>
                                                                                                                                    </value>
                                                                                                                                  </block>
                                                                                                                                </value>
                                                                                                                                <statement name="DO0">
                                                                                                                                  <block type="comment" id="[A=mJCJZXmf%8fuZKr8/">
                                                                                                                                    <field name="COMMENT">Aktion für "false" durchführen</field>
                                                                                                                                    <next>
                                                                                                                                      <block type="debug" id="QR:oB2FD{+gth,B^eN%4">
                                                                                                                                        <field name="Severity">log</field>
                                                                                                                                        <value name="TEXT">
                                                                                                                                          <shadow type="text" id="|NuBbx-lPVkd#K@m:cZ#">
                                                                                                                                            <field name="TEXT">test</field>
                                                                                                                                          </shadow>
                                                                                                                                          <block type="text" id="nEbw|*BtC5J,K~$cfr7S">
                                                                                                                                            <field name="TEXT">Es wurde Button1 gedrückt</field>
                                                                                                                                          </block>
                                                                                                                                        </value>
                                                                                                                                      </block>
                                                                                                                                    </next>
                                                                                                                                  </block>
                                                                                                                                </statement>
                                                                                                                                <value name="IF1">
                                                                                                                                  <block type="logic_compare" id="+EYB1H+OhaH?$hux,j{`">
                                                                                                                                    <field name="OP">EQ</field>
                                                                                                                                    <value name="A">
                                                                                                                                      <block type="on_source" id="t)S*(~jk01onDN%F3Up[">
                                                                                                                                        <field name="ATTR">state.val</field>
                                                                                                                                      </block>
                                                                                                                                    </value>
                                                                                                                                    <value name="B">
                                                                                                                                      <block type="logic_boolean" id="p8I|SmJp#?Ja8]g4h;-G">
                                                                                                                                        <field name="BOOL">TRUE</field>
                                                                                                                                      </block>
                                                                                                                                    </value>
                                                                                                                                  </block>
                                                                                                                                </value>
                                                                                                                                <statement name="DO1">
                                                                                                                                  <block type="comment" id=":)$,fqkdSEZ}qHWxBKQJ">
                                                                                                                                    <field name="COMMENT">Aktion für "true" durchführen</field>
                                                                                                                                    <next>
                                                                                                                                      <block type="debug" id="wmpOOSJ=^fxqOo$:5Gk0">
                                                                                                                                        <field name="Severity">log</field>
                                                                                                                                        <value name="TEXT">
                                                                                                                                          <shadow type="text">
                                                                                                                                            <field name="TEXT">test</field>
                                                                                                                                          </shadow>
                                                                                                                                          <block type="text" id="u1yn4=-4Qr$ZKL$Ma6-P">
                                                                                                                                            <field name="TEXT">Es wurde Button2 gedrückt</field>
                                                                                                                                          </block>
                                                                                                                                        </value>
                                                                                                                                      </block>
                                                                                                                                    </next>
                                                                                                                                  </block>
                                                                                                                                </statement>
                                                                                                                              </block>
                                                                                                                            </statement>
                                                                                                                          </block>
                                                                                                                        </next>
                                                                                                                      </block>
                                                                                                                    </next>
                                                                                                                  </block>
                                                                                                                </next>
                                                                                                              </block>
                                                                                                            </next>
                                                                                                          </block>
                                                                                                        </next>
                                                                                                      </block>
                                                                                                    </next>
                                                                                                  </block>
                                                                                                </next>
                                                                                              </block>
                                                                                            </next>
                                                                                          </block>
                                                                                        </next>
                                                                                      </block>
                                                                                    </next>
                                                                                  </block>
                                                                                </next>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                          </block>
                                        </next>
                                      </block>
                                    </xml>
                                    

                                    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 Antwort Letzte Antwort
                                    0
                                    • ArmilarA Armilar

                                      Ich habe für die popupNotify einen kleinen Blockly-Emulator geschrieben - Eventuell möchte den jemand ausprobieren, um besser zu verstehen, wie die Nachrichten (von außen - durch andere Skripts (JS, Blockly, TS)) an das Panel übermittelt werden.

                                      Code in neues Blockly importieren, Parameter anpassen und ausführen

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                        <variables>
                                          <variable id="uo@LUG^!/XDby|445u/B">Path</variable>
                                          <variable id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</variable>
                                          <variable id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</variable>
                                          <variable id="-o6c|nVGu[-e9kJUQ*Py">Text</variable>
                                          <variable id="g=qMvdYbq.K$K#qmOxv%">Button1</variable>
                                          <variable id="[OV33hQZKYvb2l{,hIz5">Button2</variable>
                                          <variable id="GLNUJ.^6GeEeSI!hhRv^">Timeout</variable>
                                        </variables>
                                        <block type="comment" id="`s6]m,+$3U;:^lwh}RV5" x="62" y="-413">
                                          <field name="COMMENT">Emulation wird jede Minute durchgeführt</field>
                                          <next>
                                            <block type="schedule" id="0G0P80pyKC8!U~a1%(.E">
                                              <field name="SCHEDULE">* * * * *</field>
                                              <statement name="STATEMENT">
                                                <block type="variables_set" id="30#(TnQM=_MBK:actv{l">
                                                  <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                  <value name="VALUE">
                                                    <block type="text" id="h/e(`ygx?v?]11Z`88zp">
                                                      <field name="TEXT">0_userdata.0.NSPanel.1.popupNotify.</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="variables_set" id="R3Wks}hW8#-p/m25k-mK">
                                                      <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                                      <value name="VALUE">
                                                        <block type="text" id="l*M,26M-+$C$vL0GW,XJ">
                                                          <field name="TEXT">Waschmaschine</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="variables_set" id="u3F5ACIOMm{nZ%~T@gN7">
                                                          <field name="VAR" id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</field>
                                                          <value name="VALUE">
                                                            <block type="text_join" id="gilEtg%GtWmZ{Ma7#TH)">
                                                              <mutation items="2"></mutation>
                                                              <value name="ADD0">
                                                                <block type="text" id="ar3{89`Ttkt[m[W$ns5W">
                                                                  <field name="TEXT">Nachricht von </field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD1">
                                                                <block type="variables_get" id="W*TW2,-kH?kXp0-zq$m#">
                                                                  <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="variables_set" id="7xV_#HwZp%4fs)`69P7I">
                                                              <field name="VAR" id="-o6c|nVGu[-e9kJUQ*Py">Text</field>
                                                              <value name="VALUE">
                                                                <block type="text_join" id="0u!=u_]+ir[CYmK[xb,%">
                                                                  <mutation items="10"></mutation>
                                                                  <value name="ADD0">
                                                                    <block type="text" id="ah?o$fm/Du;,mkK#~Wn`">
                                                                      <field name="TEXT">Der Waschvorgang ist beendet</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD1">
                                                                    <block type="text_newline" id="5PgB+z=YZ/Cy(G3`k:LK">
                                                                      <field name="Type">\r\n</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD2">
                                                                    <block type="text_newline" id=",CuP]bnfML_B8A4YWfB0">
                                                                      <field name="Type">\r\n</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD3">
                                                                    <block type="text" id="!i/O$+%ZdbrJ7-^YqXs2">
                                                                      <field name="TEXT">Diese Nachricht zerstört sich in 15 Sekunden</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD4">
                                                                    <block type="text_newline" id="v)hnAj(3J#E:-.SacK9|">
                                                                      <field name="Type">\r\n</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD5">
                                                                    <block type="text" id="bW{bQPK]Zr;DCxw7rx^}">
                                                                      <field name="TEXT">von selbst</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD6">
                                                                    <block type="text_newline" id="e9WhU9G$[u]$hGIHHkOg">
                                                                      <field name="Type">\r\n</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD7">
                                                                    <block type="text_newline" id="#{;D1ACiGtk3DAeH4RvP">
                                                                      <field name="Type">\r\n</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD8">
                                                                    <block type="text" id="{7;]*K(T=]lPCH;#yy,S">
                                                                      <field name="TEXT">Bist du sicher das du mich abstellen </field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD9">
                                                                    <block type="text" id="Id60*I{KgLs,7,RNbL#0">
                                                                      <field name="TEXT">möchtest?</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="comment" id="MghuTgD][qtrl)GO#HrD">
                                                                  <field name="COMMENT">Button1 liefert "false" - kann auch leer sein</field>
                                                                  <next>
                                                                    <block type="variables_set" id="d|F8*4v2KA:${~Q;9;n~">
                                                                      <field name="VAR" id="g=qMvdYbq.K$K#qmOxv%">Button1</field>
                                                                      <value name="VALUE">
                                                                        <block type="text" id="gHu6:V~JvgPcVq53w1.=">
                                                                          <field name="TEXT">Nein</field>
                                                                        </block>
                                                                      </value>
                                                                      <next>
                                                                        <block type="comment" id="C5?qa0+JRgTU%GlVW$g4">
                                                                          <field name="COMMENT">Button2 liefert "true" - kann auch leer sein</field>
                                                                          <next>
                                                                            <block type="variables_set" id="aG7hBeg1fGHN@a_`sUbZ">
                                                                              <field name="VAR" id="[OV33hQZKYvb2l{,hIz5">Button2</field>
                                                                              <value name="VALUE">
                                                                                <block type="text" id="1O$?!70tQ:aSFIXlS7A,">
                                                                                  <field name="TEXT">OK</field>
                                                                                </block>
                                                                              </value>
                                                                              <next>
                                                                                <block type="comment" id="]h~w+hG;N$9l!}_GV+4B">
                                                                                  <field name="COMMENT">Kann auch auf 0 für manuell schließen</field>
                                                                                  <next>
                                                                                    <block type="variables_set" id="CGGwa_Ykf}kYYeR)IkR.">
                                                                                      <field name="VAR" id="GLNUJ.^6GeEeSI!hhRv^">Timeout</field>
                                                                                      <value name="VALUE">
                                                                                        <block type="math_number" id="([Hku{[tr5;;mM@qHQ$t">
                                                                                          <field name="NUM">15</field>
                                                                                        </block>
                                                                                      </value>
                                                                                      <next>
                                                                                        <block type="control_ex" id="1dL$wOk9{m-yOy|2=*1g">
                                                                                          <field name="TYPE">false</field>
                                                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                                                          <value name="OID">
                                                                                            <shadow type="field_oid" id="p%b].;f)Tg{x/hQ,(`:E">
                                                                                              <field name="oid">Object ID</field>
                                                                                            </shadow>
                                                                                            <block type="text_join" id="amkxN:qSczo2d]97yqgU">
                                                                                              <mutation items="2"></mutation>
                                                                                              <value name="ADD0">
                                                                                                <block type="variables_get" id="k;cYrw$(3p-R5GTFvMW%">
                                                                                                  <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="ADD1">
                                                                                                <block type="text" id="C6sE8F@i_5VZ)C,x0(s_">
                                                                                                  <field name="TEXT">popupNotifyHeading</field>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="VALUE">
                                                                                            <shadow type="logic_boolean" id="*FA,Qt^=:a61n5.Y3.x]">
                                                                                              <field name="BOOL">TRUE</field>
                                                                                            </shadow>
                                                                                            <block type="variables_get" id="MTH3SkAm}pe/1Cg:N1dV">
                                                                                              <field name="VAR" id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="DELAY_MS">
                                                                                            <shadow type="math_number" id="-DlWt*-;[s9PI#Xyv}ZS">
                                                                                              <field name="NUM">0</field>
                                                                                            </shadow>
                                                                                          </value>
                                                                                          <next>
                                                                                            <block type="comment" id="F,R/t@f|GO,Z.QfkIwd$">
                                                                                              <field name="COMMENT">Im Text wird die Zeit mitgegeben</field>
                                                                                              <next>
                                                                                                <block type="comment" id="F-3#0=OVZNca`nOED6Ls">
                                                                                                  <field name="COMMENT">ohne Änderung des Textes wir kein popup angezeigt</field>
                                                                                                  <next>
                                                                                                    <block type="control_ex" id="?uUW)tMaHVs%}4f(O{3R">
                                                                                                      <field name="TYPE">false</field>
                                                                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                      <value name="OID">
                                                                                                        <shadow type="field_oid" id="%,m?2:R:N?)ZD,$vBC`d">
                                                                                                          <field name="oid">Object ID</field>
                                                                                                        </shadow>
                                                                                                        <block type="text_join" id="w~,,}#T_:R!@(91x(KY)">
                                                                                                          <mutation items="2"></mutation>
                                                                                                          <value name="ADD0">
                                                                                                            <block type="variables_get" id="35hU_%k~-#4$(:LcM6,1">
                                                                                                              <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD1">
                                                                                                            <block type="text" id="g`M._dA#Yo[g)P0|,[*N">
                                                                                                              <field name="TEXT">popupNotifyText</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <value name="VALUE">
                                                                                                        <shadow type="logic_boolean" id="R`0o?%kFD}=);P5,o-V2">
                                                                                                          <field name="BOOL">TRUE</field>
                                                                                                        </shadow>
                                                                                                        <block type="text_join" id="9LX]H?SV#xzIh`X!vZVX">
                                                                                                          <mutation items="3"></mutation>
                                                                                                          <value name="ADD0">
                                                                                                            <block type="convert_from_date" id="L^EjJxj1V$OZ/Ga7/4*2">
                                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                                                                              <field name="OPTION">custom</field>
                                                                                                              <field name="FORMAT">TT.MM.JJJJ SS:mm:ss</field>
                                                                                                              <value name="VALUE">
                                                                                                                <block type="time_get" id="rjD9!@$v?CDm/5n}@(GA">
                                                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                                  <field name="OPTION">object</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD1">
                                                                                                            <block type="text_newline" id="n{mP0B^59fa`=3,/=tlV">
                                                                                                              <field name="Type">\r\n</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD2">
                                                                                                            <block type="variables_get" id="%hXKnQkTTz?%Waf1T0%i">
                                                                                                              <field name="VAR" id="-o6c|nVGu[-e9kJUQ*Py">Text</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <value name="DELAY_MS">
                                                                                                        <shadow type="math_number" id="{5ff|Qz@z:(ZrW[T:`)E">
                                                                                                          <field name="NUM">0</field>
                                                                                                        </shadow>
                                                                                                      </value>
                                                                                                      <next>
                                                                                                        <block type="control_ex" id="mHM54A6B1nA*)Tl`4bTs">
                                                                                                          <field name="TYPE">false</field>
                                                                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                          <value name="OID">
                                                                                                            <shadow type="field_oid">
                                                                                                              <field name="oid">Object ID</field>
                                                                                                            </shadow>
                                                                                                            <block type="text_join" id="Ya+g|Cl+i7=.p/Ie(AtO">
                                                                                                              <mutation items="2"></mutation>
                                                                                                              <value name="ADD0">
                                                                                                                <block type="variables_get" id="GI+;?qw:YE[{U2_kxJZg">
                                                                                                                  <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="ADD1">
                                                                                                                <block type="text" id="wybh?!k``1,iP%|P]c[p">
                                                                                                                  <field name="TEXT">popupNotifyButton1Text</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="VALUE">
                                                                                                            <shadow type="logic_boolean">
                                                                                                              <field name="BOOL">TRUE</field>
                                                                                                            </shadow>
                                                                                                            <block type="variables_get" id="YA2[S#5qR#UG$jHlfQ%S">
                                                                                                              <field name="VAR" id="g=qMvdYbq.K$K#qmOxv%">Button1</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="DELAY_MS">
                                                                                                            <shadow type="math_number" id="?=AGjEn:juA9us=H]a%;">
                                                                                                              <field name="NUM">0</field>
                                                                                                            </shadow>
                                                                                                          </value>
                                                                                                          <next>
                                                                                                            <block type="control_ex" id="8_BX{?-?Oi|$d|Gg$1Cy">
                                                                                                              <field name="TYPE">false</field>
                                                                                                              <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                              <value name="OID">
                                                                                                                <shadow type="field_oid">
                                                                                                                  <field name="oid">Object ID</field>
                                                                                                                </shadow>
                                                                                                                <block type="text_join" id="He1!cC/^[205l;-1}ASR">
                                                                                                                  <mutation items="2"></mutation>
                                                                                                                  <value name="ADD0">
                                                                                                                    <block type="variables_get" id="jw4DW_qno}iIHugSt,}8">
                                                                                                                      <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="ADD1">
                                                                                                                    <block type="text" id="lr.F~YZdc$sfF|z#V.w5">
                                                                                                                      <field name="TEXT">popupNotifyButton2Text</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="VALUE">
                                                                                                                <shadow type="logic_boolean">
                                                                                                                  <field name="BOOL">TRUE</field>
                                                                                                                </shadow>
                                                                                                                <block type="variables_get" id="]l!LD%wcjPA[2)SfUHHs">
                                                                                                                  <field name="VAR" id="[OV33hQZKYvb2l{,hIz5">Button2</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="DELAY_MS">
                                                                                                                <shadow type="math_number" id="OdWpiHsNV#30R]Aq!$Gu">
                                                                                                                  <field name="NUM">0</field>
                                                                                                                </shadow>
                                                                                                              </value>
                                                                                                              <next>
                                                                                                                <block type="control_ex" id=":`/?=XT;sJqhXvIA~Q_R">
                                                                                                                  <field name="TYPE">false</field>
                                                                                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                                  <value name="OID">
                                                                                                                    <shadow type="field_oid">
                                                                                                                      <field name="oid">Object ID</field>
                                                                                                                    </shadow>
                                                                                                                    <block type="text_join" id="jCD!fuaPfAai?P8U9,?n">
                                                                                                                      <mutation items="2"></mutation>
                                                                                                                      <value name="ADD0">
                                                                                                                        <block type="variables_get" id="b]8Y@1:l8%|,xImg{V(_">
                                                                                                                          <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="ADD1">
                                                                                                                        <block type="text" id="VCw44y[yzUF][09V_+OU">
                                                                                                                          <field name="TEXT">popupNotifySleepTimeout</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="VALUE">
                                                                                                                    <shadow type="logic_boolean">
                                                                                                                      <field name="BOOL">TRUE</field>
                                                                                                                    </shadow>
                                                                                                                    <block type="variables_get" id="z;!QKJE2cka}x5~oL8%2">
                                                                                                                      <field name="VAR" id="GLNUJ.^6GeEeSI!hhRv^">Timeout</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="DELAY_MS">
                                                                                                                    <shadow type="math_number" id="1YUXTd5z~e^I*6/?o_;0">
                                                                                                                      <field name="NUM">0</field>
                                                                                                                    </shadow>
                                                                                                                  </value>
                                                                                                                  <next>
                                                                                                                    <block type="control_ex" id="d,*_!q{w=02C~^vvZlYP">
                                                                                                                      <field name="TYPE">false</field>
                                                                                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                                      <value name="OID">
                                                                                                                        <shadow type="field_oid">
                                                                                                                          <field name="oid">Object ID</field>
                                                                                                                        </shadow>
                                                                                                                        <block type="text_join" id="cQlWDwPHeE4tzR|+)TlH">
                                                                                                                          <mutation items="2"></mutation>
                                                                                                                          <value name="ADD0">
                                                                                                                            <block type="variables_get" id="}bZBoWEFal{Z@vm_im$#">
                                                                                                                              <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                          <value name="ADD1">
                                                                                                                            <block type="text" id="fK9rd_%mPOgv)BI14-(I">
                                                                                                                              <field name="TEXT">popupNotifyInternalName</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="VALUE">
                                                                                                                        <shadow type="logic_boolean">
                                                                                                                          <field name="BOOL">TRUE</field>
                                                                                                                        </shadow>
                                                                                                                        <block type="variables_get" id="?Ue4ZS-9tnXRHWmu?j$u">
                                                                                                                          <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <value name="DELAY_MS">
                                                                                                                        <shadow type="math_number" id="KSV7H~p;Rw}X]^fgXGA;">
                                                                                                                          <field name="NUM">0</field>
                                                                                                                        </shadow>
                                                                                                                      </value>
                                                                                                                      <next>
                                                                                                                        <block type="comment" id="k}-$zkTkx#NVPnhQ+zzM">
                                                                                                                          <field name="COMMENT">Output-Parameter werden abgefragt</field>
                                                                                                                          <next>
                                                                                                                            <block type="on_ext" id="Q$YB)v(VTl#wB2|u;63q">
                                                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                                                                                              <field name="CONDITION">any</field>
                                                                                                                              <field name="ACK_CONDITION"></field>
                                                                                                                              <value name="OID0">
                                                                                                                                <shadow type="field_oid" id="^prU7]O!M$KjiHYwI?{T">
                                                                                                                                  <field name="oid">0_userdata.0.NSPanel.1.popupNotify.popupNotifyAction</field>
                                                                                                                                </shadow>
                                                                                                                              </value>
                                                                                                                              <statement name="STATEMENT">
                                                                                                                                <block type="controls_if" id="USh#T`M700~2CAoY2d#e">
                                                                                                                                  <mutation elseif="1"></mutation>
                                                                                                                                  <value name="IF0">
                                                                                                                                    <block type="logic_compare" id=";L2c+1)qFU}F1Z=qjFbU">
                                                                                                                                      <field name="OP">EQ</field>
                                                                                                                                      <value name="A">
                                                                                                                                        <block type="on_source" id="orbJ;#C((8Dtuf7!S17/">
                                                                                                                                          <field name="ATTR">state.val</field>
                                                                                                                                        </block>
                                                                                                                                      </value>
                                                                                                                                      <value name="B">
                                                                                                                                        <block type="logic_boolean" id="gP!v0w[Yj`(AAv=w66@^">
                                                                                                                                          <field name="BOOL">FALSE</field>
                                                                                                                                        </block>
                                                                                                                                      </value>
                                                                                                                                    </block>
                                                                                                                                  </value>
                                                                                                                                  <statement name="DO0">
                                                                                                                                    <block type="comment" id="[A=mJCJZXmf%8fuZKr8/">
                                                                                                                                      <field name="COMMENT">Aktion für "false" durchführen</field>
                                                                                                                                      <next>
                                                                                                                                        <block type="debug" id="QR:oB2FD{+gth,B^eN%4">
                                                                                                                                          <field name="Severity">log</field>
                                                                                                                                          <value name="TEXT">
                                                                                                                                            <shadow type="text" id="|NuBbx-lPVkd#K@m:cZ#">
                                                                                                                                              <field name="TEXT">test</field>
                                                                                                                                            </shadow>
                                                                                                                                            <block type="text" id="nEbw|*BtC5J,K~$cfr7S">
                                                                                                                                              <field name="TEXT">Es wurde Button1 gedrückt</field>
                                                                                                                                            </block>
                                                                                                                                          </value>
                                                                                                                                        </block>
                                                                                                                                      </next>
                                                                                                                                    </block>
                                                                                                                                  </statement>
                                                                                                                                  <value name="IF1">
                                                                                                                                    <block type="logic_compare" id="+EYB1H+OhaH?$hux,j{`">
                                                                                                                                      <field name="OP">EQ</field>
                                                                                                                                      <value name="A">
                                                                                                                                        <block type="on_source" id="t)S*(~jk01onDN%F3Up[">
                                                                                                                                          <field name="ATTR">state.val</field>
                                                                                                                                        </block>
                                                                                                                                      </value>
                                                                                                                                      <value name="B">
                                                                                                                                        <block type="logic_boolean" id="p8I|SmJp#?Ja8]g4h;-G">
                                                                                                                                          <field name="BOOL">TRUE</field>
                                                                                                                                        </block>
                                                                                                                                      </value>
                                                                                                                                    </block>
                                                                                                                                  </value>
                                                                                                                                  <statement name="DO1">
                                                                                                                                    <block type="comment" id=":)$,fqkdSEZ}qHWxBKQJ">
                                                                                                                                      <field name="COMMENT">Aktion für "true" durchführen</field>
                                                                                                                                      <next>
                                                                                                                                        <block type="debug" id="wmpOOSJ=^fxqOo$:5Gk0">
                                                                                                                                          <field name="Severity">log</field>
                                                                                                                                          <value name="TEXT">
                                                                                                                                            <shadow type="text">
                                                                                                                                              <field name="TEXT">test</field>
                                                                                                                                            </shadow>
                                                                                                                                            <block type="text" id="u1yn4=-4Qr$ZKL$Ma6-P">
                                                                                                                                              <field name="TEXT">Es wurde Button2 gedrückt</field>
                                                                                                                                            </block>
                                                                                                                                          </value>
                                                                                                                                        </block>
                                                                                                                                      </next>
                                                                                                                                    </block>
                                                                                                                                  </statement>
                                                                                                                                </block>
                                                                                                                              </statement>
                                                                                                                            </block>
                                                                                                                          </next>
                                                                                                                        </block>
                                                                                                                      </next>
                                                                                                                    </block>
                                                                                                                  </next>
                                                                                                                </block>
                                                                                                              </next>
                                                                                                            </block>
                                                                                                          </next>
                                                                                                        </block>
                                                                                                      </next>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </next>
                                                                                            </block>
                                                                                          </next>
                                                                                        </block>
                                                                                      </next>
                                                                                    </block>
                                                                                  </next>
                                                                                </block>
                                                                              </next>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </xml>
                                      
                                      ArmilarA Offline
                                      ArmilarA Offline
                                      Armilar
                                      Most Active Forum Testing
                                      schrieb am zuletzt editiert von Armilar
                                      #501

                                      Jetzt ein weiterer Blockly-Emulator für die cardAlarm

                                      Hintergrund: Nach Aktivierung des Alarms wird in einen Datenpunkt (Pin/Status/Typ) geschrieben. Da ich davon ausgehe, dass alle anderen Aktionen, wie Bewegungen/Fenster- und Türsensoren, etc. über externe Skripts verarbeitet werden, gibt es quasi eine Schnittstelle:

                                      • Pin: Eingabe wird nach Aktivierung übernommen und in Datenpunkt 0.userdata.0......Alarm.AlarmPin hinterlegt. Bei Deaktivierung wird der Pin erneut abgefragt.
                                      • Typ: ist der ausgewählte Alarmtyp (Kann separat extern ausprogrammiert werden (z.B. Unterschiedliche Steuerung des Alarms für Vollschutz, Nachts (wenn im Sommer Fenster auf sein sollen), Besuch, etc.. (0.userdata.0......Alarm.AlarmType)
                                      • State: Das Panel sendet keine Zustände wie "armed" oder "disarmed", sondern "arming" oder "pending" an den Datenpunkt 0.userdata.0......Alarm.AlarmState. Das nachträglich verarbeitende "externe" Skript" setzt den Status "armed" bei erfolgreicher Aktivierung oder "disarmed" bei erfolgreicher Deaktivierung. Wenn der Alarm ausgelöst wurde, so wird in den Datenpunkt (ebenfalls über externes Skript) ein "triggered" geschrieben.

                                      Der Emulator reagiert auf das "arming" und "pending" und schreibt entsprechend ein "armed" oder "disarmed" zurück.

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                        <block type="on_ext" id="q!?(x}z/f~TClQnNmbyU" x="113" y="38">
                                          <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="]~f@4kO$zmxdg=}/810C">
                                              <field name="oid">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                            </shadow>
                                          </value>
                                          <statement name="STATEMENT">
                                            <block type="controls_if" id="=_e7bf!`Q]$tg*0U1_2F">
                                              <mutation elseif="1"></mutation>
                                              <value name="IF0">
                                                <block type="logic_compare" id="0_9gv(MmSSJ{2a$j{}(P">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="on_source" id="H$WWrxxX|NaWkT%W]g!Z">
                                                      <field name="ATTR">state.val</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="_TnyjJ5x!)JY~rQ:Opj)">
                                                      <field name="TEXT">arming</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="control" id="eO}0c$0s~08Di)?sMM0(">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                  <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                  <field name="WITH_DELAY">TRUE</field>
                                                  <field name="DELAY_MS">1000</field>
                                                  <field name="UNIT">ms</field>
                                                  <field name="CLEAR_RUNNING">TRUE</field>
                                                  <value name="VALUE">
                                                    <block type="text" id="J(va8~n[/dogNBn!W].I">
                                                      <field name="TEXT">armed</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                              <value name="IF1">
                                                <block type="logic_compare" id="]p3s+ouB~BJkfd:e)G:(">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="on_source" id=":n]Z,t6+q#-l_hP+MEI@">
                                                      <field name="ATTR">state.val</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="([Ep{MPBu5s.C-lOdHgr">
                                                      <field name="TEXT">pending</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="DO1">
                                                <block type="control" id="s77gpG^9o0A)T{f}{#,c">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                  <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                  <field name="WITH_DELAY">TRUE</field>
                                                  <field name="DELAY_MS">1000</field>
                                                  <field name="UNIT">ms</field>
                                                  <field name="CLEAR_RUNNING">TRUE</field>
                                                  <value name="VALUE">
                                                    <block type="text" id="4DC5l(?mcdlhZ/jIumty">
                                                      <field name="TEXT">disarmed</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                        </block>
                                      </xml>
                                      

                                      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 Antwort Letzte Antwort
                                      0
                                      • ArmilarA Armilar

                                        Jetzt ein weiterer Blockly-Emulator für die cardAlarm

                                        Hintergrund: Nach Aktivierung des Alarms wird in einen Datenpunkt (Pin/Status/Typ) geschrieben. Da ich davon ausgehe, dass alle anderen Aktionen, wie Bewegungen/Fenster- und Türsensoren, etc. über externe Skripts verarbeitet werden, gibt es quasi eine Schnittstelle:

                                        • Pin: Eingabe wird nach Aktivierung übernommen und in Datenpunkt 0.userdata.0......Alarm.AlarmPin hinterlegt. Bei Deaktivierung wird der Pin erneut abgefragt.
                                        • Typ: ist der ausgewählte Alarmtyp (Kann separat extern ausprogrammiert werden (z.B. Unterschiedliche Steuerung des Alarms für Vollschutz, Nachts (wenn im Sommer Fenster auf sein sollen), Besuch, etc.. (0.userdata.0......Alarm.AlarmType)
                                        • State: Das Panel sendet keine Zustände wie "armed" oder "disarmed", sondern "arming" oder "pending" an den Datenpunkt 0.userdata.0......Alarm.AlarmState. Das nachträglich verarbeitende "externe" Skript" setzt den Status "armed" bei erfolgreicher Aktivierung oder "disarmed" bei erfolgreicher Deaktivierung. Wenn der Alarm ausgelöst wurde, so wird in den Datenpunkt (ebenfalls über externes Skript) ein "triggered" geschrieben.

                                        Der Emulator reagiert auf das "arming" und "pending" und schreibt entsprechend ein "armed" oder "disarmed" zurück.

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                          <block type="on_ext" id="q!?(x}z/f~TClQnNmbyU" x="113" y="38">
                                            <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="]~f@4kO$zmxdg=}/810C">
                                                <field name="oid">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                              </shadow>
                                            </value>
                                            <statement name="STATEMENT">
                                              <block type="controls_if" id="=_e7bf!`Q]$tg*0U1_2F">
                                                <mutation elseif="1"></mutation>
                                                <value name="IF0">
                                                  <block type="logic_compare" id="0_9gv(MmSSJ{2a$j{}(P">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="on_source" id="H$WWrxxX|NaWkT%W]g!Z">
                                                        <field name="ATTR">state.val</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="text" id="_TnyjJ5x!)JY~rQ:Opj)">
                                                        <field name="TEXT">arming</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="control" id="eO}0c$0s~08Di)?sMM0(">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                    <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                    <field name="WITH_DELAY">TRUE</field>
                                                    <field name="DELAY_MS">1000</field>
                                                    <field name="UNIT">ms</field>
                                                    <field name="CLEAR_RUNNING">TRUE</field>
                                                    <value name="VALUE">
                                                      <block type="text" id="J(va8~n[/dogNBn!W].I">
                                                        <field name="TEXT">armed</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                                <value name="IF1">
                                                  <block type="logic_compare" id="]p3s+ouB~BJkfd:e)G:(">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="on_source" id=":n]Z,t6+q#-l_hP+MEI@">
                                                        <field name="ATTR">state.val</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="text" id="([Ep{MPBu5s.C-lOdHgr">
                                                        <field name="TEXT">pending</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO1">
                                                  <block type="control" id="s77gpG^9o0A)T{f}{#,c">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                    <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                    <field name="WITH_DELAY">TRUE</field>
                                                    <field name="DELAY_MS">1000</field>
                                                    <field name="UNIT">ms</field>
                                                    <field name="CLEAR_RUNNING">TRUE</field>
                                                    <value name="VALUE">
                                                      <block type="text" id="4DC5l(?mcdlhZ/jIumty">
                                                        <field name="TEXT">disarmed</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                              </block>
                                            </statement>
                                          </block>
                                        </xml>
                                        
                                        ArmilarA Offline
                                        ArmilarA Offline
                                        Armilar
                                        Most Active Forum Testing
                                        schrieb am zuletzt editiert von Armilar
                                        #502

                                        Falls jemand wissen möchte, wie ein spezieller Alias aussehen muss - dann einfach Bescheid geben. Kann gerne ein Screenshot aus dem Adapter "Geräte verwalten" machen.

                                        Im Verlauf des Threads habe ich schon den ein oder anderen Alias für Lampe, Dimmer, etc. aufgeführt.

                                        Ebenso sollte sich bereits der Alias für die cardMedia (Alexa-Player) im Thread befinden, der sich allerdings nur korrekt über den Adapter "Alias-Manager (wie ebenfalls beschrieben) erzeugen ließ. Hier versagt der Adapter "Geräte verwalten" komplett.

                                        Für den Alias cardThermo setzte ich jetzt bereits einen Screenshot vom Alias-Typ: Thermostat ein:

                                        77351494-7f98-499d-8d24-623bbc617ec3-image.png

                                        und etwas tiefer (scrollen):
                                        00c4625b-bbba-44bb-b303-321b869b3042-image.png

                                        Ist in diesem Fall ein Thermostat von homaticIP - wer andere Typen hat, kann auch weitere Indikatoren füllen

                                        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 Antwort Letzte Antwort
                                        0
                                        • ArmilarA Armilar

                                          Falls jemand wissen möchte, wie ein spezieller Alias aussehen muss - dann einfach Bescheid geben. Kann gerne ein Screenshot aus dem Adapter "Geräte verwalten" machen.

                                          Im Verlauf des Threads habe ich schon den ein oder anderen Alias für Lampe, Dimmer, etc. aufgeführt.

                                          Ebenso sollte sich bereits der Alias für die cardMedia (Alexa-Player) im Thread befinden, der sich allerdings nur korrekt über den Adapter "Alias-Manager (wie ebenfalls beschrieben) erzeugen ließ. Hier versagt der Adapter "Geräte verwalten" komplett.

                                          Für den Alias cardThermo setzte ich jetzt bereits einen Screenshot vom Alias-Typ: Thermostat ein:

                                          77351494-7f98-499d-8d24-623bbc617ec3-image.png

                                          und etwas tiefer (scrollen):
                                          00c4625b-bbba-44bb-b303-321b869b3042-image.png

                                          Ist in diesem Fall ein Thermostat von homaticIP - wer andere Typen hat, kann auch weitere Indikatoren füllen

                                          ArmilarA Offline
                                          ArmilarA Offline
                                          Armilar
                                          Most Active Forum Testing
                                          schrieb am zuletzt editiert von Armilar
                                          #503

                                          Der Alias für die cardAlarm war etwas trickreicher...

                                          Habe einen Alias vom Typ "Feueralarm" verwendet und um "Zustand hinzufügen (schwarzes +)", die Zustände PIN (Rolle: state; Datentyp: string) und TYPE (Rolle: state; Datentyp: string) hinzugefügt.

                                          cdf472ee-2e45-4217-8987-4c7e5985a1d8-image.png

                                          Nach dem Speichern habe ich den ACTUAL unter alias.0...Alarm.ACTUAL von "boolean" auf "string" umgebogen

                                          0b216e5b-da1a-4d85-a445-444e84881e70-image.png

                                          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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          364

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe