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 mit Lovelace UI

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 mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.7m Aufrufe 254 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.
  • K Offline
    K Offline
    Kerschte_de
    schrieb am zuletzt editiert von
    #6675

    Hallo zusammen.
    Ich habe den Abfallkalender auf dem NSP mittels Blockly-Script von @Armilar umgesetzt. Das funktioniert grundsätzlich. Allerdings habe ich so meine Schwierigkeiten mit dem richtigen Farbcode. Benötigt wird der in Dezimal umgerechnete Farbcode als 1 Wert (1 Zahl). Also habe ich mit einen Umrechner von Hex in Dec gesucht. Hinterlege ich diesen Wert im Blockly, kommen jedoch andere Farben heraus.

    Beispiel für grün:
    Hex: 27BA4E --> Dec: 33840 --> heraus kommt auf dem Panel ein grau

    Ich konnte mir zwar mit den im Beispielscript enthaltenen Farben notdürftig behelfen, jedoch würde ich gerne eigene Farben verwenden (habe mehr Ausprägungen/Kombinationen als im Beispielscript). Deshalb die Frage: Weshalb kommt auf dem NSP nicht die angewählte Farbe an?

    Zur Umrechnung nutze ich diese Maske:
    https://www.duplichecker.com/de/hex-to-decimal.php
    Welche nutzt ihr denn, um auf gewünschte Farben zu kommen? Was mache ich falsch?

    Allgemeine Rückmeldung zum Blockly-Script:
    Das Script funktioniert soweit, es werden die richtigen Termine mit den richtigen Zeiten abgerufen und dargestellt. Nicht ganz durchgängig ist, dass einfach die englischen Begriffe des iCAL-Adapters abgegriffen und auf dem NSP ausgeworfen werden. Dadurch hat man eine Durchmischung aus Deutsch (Die Tonnenbzeichnung) und Englisch (Zeitraum, wann abgeholt wird). Gerne möchte ich deshalb noch das Script von @TT-Tom ausprobieren, in der Hoffnung, dass es dort durchgängig deutsch dargestellt wird. Ursprünglich hatte ich mich für das Blockly entschieden, weil ich das etwas besser in der Mechanik nachvollziehen kann.

    Besten Dank für eine Rückmeldung.

    ArmilarA T 2 Antworten Letzte Antwort
    0
    • K Kerschte_de

      Hallo zusammen.
      Ich habe den Abfallkalender auf dem NSP mittels Blockly-Script von @Armilar umgesetzt. Das funktioniert grundsätzlich. Allerdings habe ich so meine Schwierigkeiten mit dem richtigen Farbcode. Benötigt wird der in Dezimal umgerechnete Farbcode als 1 Wert (1 Zahl). Also habe ich mit einen Umrechner von Hex in Dec gesucht. Hinterlege ich diesen Wert im Blockly, kommen jedoch andere Farben heraus.

      Beispiel für grün:
      Hex: 27BA4E --> Dec: 33840 --> heraus kommt auf dem Panel ein grau

      Ich konnte mir zwar mit den im Beispielscript enthaltenen Farben notdürftig behelfen, jedoch würde ich gerne eigene Farben verwenden (habe mehr Ausprägungen/Kombinationen als im Beispielscript). Deshalb die Frage: Weshalb kommt auf dem NSP nicht die angewählte Farbe an?

      Zur Umrechnung nutze ich diese Maske:
      https://www.duplichecker.com/de/hex-to-decimal.php
      Welche nutzt ihr denn, um auf gewünschte Farben zu kommen? Was mache ich falsch?

      Allgemeine Rückmeldung zum Blockly-Script:
      Das Script funktioniert soweit, es werden die richtigen Termine mit den richtigen Zeiten abgerufen und dargestellt. Nicht ganz durchgängig ist, dass einfach die englischen Begriffe des iCAL-Adapters abgegriffen und auf dem NSP ausgeworfen werden. Dadurch hat man eine Durchmischung aus Deutsch (Die Tonnenbzeichnung) und Englisch (Zeitraum, wann abgeholt wird). Gerne möchte ich deshalb noch das Script von @TT-Tom ausprobieren, in der Hoffnung, dass es dort durchgängig deutsch dargestellt wird. Ursprünglich hatte ich mich für das Blockly entschieden, weil ich das etwas besser in der Mechanik nachvollziehen kann.

      Besten Dank für eine Rückmeldung.

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

      @kerschte_de

      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#17-farben-für-das-ts-skript

      Das NSPanel Nextion nutzt "Decimal RGB565"

      Für die Umrechnung kannst du z.B. diese Seite nutzen:

      https://nodtem66.github.io/nextion-hmi-color-convert/index.html

      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.

      K 1 Antwort Letzte Antwort
      2
      • ArmilarA Armilar

        @kerschte_de

        https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#17-farben-für-das-ts-skript

        Das NSPanel Nextion nutzt "Decimal RGB565"

        Für die Umrechnung kannst du z.B. diese Seite nutzen:

        https://nodtem66.github.io/nextion-hmi-color-convert/index.html

        K Offline
        K Offline
        Kerschte_de
        schrieb am zuletzt editiert von
        #6677

        @armilar ach, das ging ja schnell. Vielen Dank. Dann schaue ich mir das durch. Spitze :)

        ArmilarA 1 Antwort Letzte Antwort
        1
        • K Kerschte_de

          @armilar ach, das ging ja schnell. Vielen Dank. Dann schaue ich mir das durch. Spitze :)

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

          @kerschte_de

          Erinnere mich noch an diese Farbthemen, insbesondere bei den Koordinaten zu Farben :grin: . Haben so manche Stunde gekostet :blush:

          Deine gewünschte RGB565 wäre demnach 9673 ;-)

          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
          2
          • K Kerschte_de

            Hallo zusammen.
            Ich habe den Abfallkalender auf dem NSP mittels Blockly-Script von @Armilar umgesetzt. Das funktioniert grundsätzlich. Allerdings habe ich so meine Schwierigkeiten mit dem richtigen Farbcode. Benötigt wird der in Dezimal umgerechnete Farbcode als 1 Wert (1 Zahl). Also habe ich mit einen Umrechner von Hex in Dec gesucht. Hinterlege ich diesen Wert im Blockly, kommen jedoch andere Farben heraus.

            Beispiel für grün:
            Hex: 27BA4E --> Dec: 33840 --> heraus kommt auf dem Panel ein grau

            Ich konnte mir zwar mit den im Beispielscript enthaltenen Farben notdürftig behelfen, jedoch würde ich gerne eigene Farben verwenden (habe mehr Ausprägungen/Kombinationen als im Beispielscript). Deshalb die Frage: Weshalb kommt auf dem NSP nicht die angewählte Farbe an?

            Zur Umrechnung nutze ich diese Maske:
            https://www.duplichecker.com/de/hex-to-decimal.php
            Welche nutzt ihr denn, um auf gewünschte Farben zu kommen? Was mache ich falsch?

            Allgemeine Rückmeldung zum Blockly-Script:
            Das Script funktioniert soweit, es werden die richtigen Termine mit den richtigen Zeiten abgerufen und dargestellt. Nicht ganz durchgängig ist, dass einfach die englischen Begriffe des iCAL-Adapters abgegriffen und auf dem NSP ausgeworfen werden. Dadurch hat man eine Durchmischung aus Deutsch (Die Tonnenbzeichnung) und Englisch (Zeitraum, wann abgeholt wird). Gerne möchte ich deshalb noch das Script von @TT-Tom ausprobieren, in der Hoffnung, dass es dort durchgängig deutsch dargestellt wird. Ursprünglich hatte ich mich für das Blockly entschieden, weil ich das etwas besser in der Mechanik nachvollziehen kann.

            Besten Dank für eine Rückmeldung.

            T Offline
            T Offline
            TT-Tom
            schrieb am zuletzt editiert von
            #6679

            @kerschte_de

            Wenn es Fragen zum Java Script gibt, immer raus damit.

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

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

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

            T 1 Antwort Letzte Antwort
            1
            • T TT-Tom

              @kerschte_de

              Wenn es Fragen zum Java Script gibt, immer raus damit.

              T Offline
              T Offline
              TimoWald
              schrieb am zuletzt editiert von
              #6680

              @tt-tom was habe ich hier für ein Problem? Habe am Skript nix geändert.

              2024-12-28 20:39:21.503 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
              2024-12-28 20:39:36.503 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
              2024-12-28 20:39:51.501 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
              2024-12-28 20:40:00.001 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
              2024-12-28 20:40:06.502 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
              
              ArmilarA 1 Antwort Letzte Antwort
              0
              • T TimoWald

                @tt-tom was habe ich hier für ein Problem? Habe am Skript nix geändert.

                2024-12-28 20:39:21.503 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
                2024-12-28 20:39:36.503 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
                2024-12-28 20:39:51.501 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
                2024-12-28 20:40:00.001 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
                2024-12-28 20:40:06.502 - warn: javascript.0 (196413) script.js.NSPanels.NSPanel_1: More than 100 subscriptions registered. Check your script!
                
                ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                schrieb am zuletzt editiert von
                #6681

                @timowald

                Im JS-Adapter gibt es Schwellenwerte wie z.B. den des Triggers:
                40221f80-6314-4296-ad25-67d328e8a237-image.png

                Sind mehr als diese Einstellung aktiv, dann kommt diese Warnung vom JS-Adapter.

                Ich denke, dass diese Anzahl nicht wirklich durch ein einziges NSPanel Skript erreicht werden kann, da die Subscriptions beim Seitenwechsel gelöscht werden. Dennoch könnte ich es nicht mit Sicherheit ausschließen, da auch weitere Subscriptions aufgebaut werden und zur Laufzeit benötigt werden.

                Zunächst würde ich mal den ioBroker durchstarten und beobachten (ggfs. läuft da noch eine weitere Instanz des Skriptes). Ansonsten den Wert langsam nach oben schrauben und ab und zu berichten... Interessant wäre auch noch zu wissen, bei welchen Seitentypen (Cards) das auftritt. Somit könnte man ggfs. mal gezielter nachsehen, ob Subscriptions vergessen werden.

                Diese Nachricht (habe ebenfalls viele Entitäten) ist mir aber im Zusammenhang mit dem NSPanel-Skript neu und bei mir scheinen die 100 max. Trigger auch noch zu reichen.

                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
                • K Offline
                  K Offline
                  Kerschte_de
                  schrieb am zuletzt editiert von Kerschte_de
                  #6682

                  Veraltetes Blockly-Script beim Timer für das NSP ?

                  Hallo zusammen. Ich bin dabei, den Timer auf dem NSP umzusetzen. Die Datenpunkte sind angelegt, ebenfalls die Aliase im Bereich des NSP. In der Anleitung wird dann auf das Blockly-Script verwiesen. Dieses wollte ich entsprechend importieren. Doch dabei kommt es zur folgenden Fehlermeldung:
                  90518f29-f244-4781-9a07-1e92a4bd080c-image.png

                  Den link habe ich schon auf das PageItem gesetzt. Was mir zudem noch nicht klar ist, wo wird die Seite zur Einstellung des Timers angelegt ... darüber finde ich nichts. Auch: Was passiert dann eigentlich, wenn der Timer abgelaufen ist? Das NSP kann je keinen Ton von sich geben.

                  ArmilarA T 2 Antworten Letzte Antwort
                  0
                  • K Kerschte_de

                    Veraltetes Blockly-Script beim Timer für das NSP ?

                    Hallo zusammen. Ich bin dabei, den Timer auf dem NSP umzusetzen. Die Datenpunkte sind angelegt, ebenfalls die Aliase im Bereich des NSP. In der Anleitung wird dann auf das Blockly-Script verwiesen. Dieses wollte ich entsprechend importieren. Doch dabei kommt es zur folgenden Fehlermeldung:
                    90518f29-f244-4781-9a07-1e92a4bd080c-image.png

                    Den link habe ich schon auf das PageItem gesetzt. Was mir zudem noch nicht klar ist, wo wird die Seite zur Einstellung des Timers angelegt ... darüber finde ich nichts. Auch: Was passiert dann eigentlich, wenn der Timer abgelaufen ist? Das NSP kann je keinen Ton von sich geben.

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

                    @kerschte_de

                    Habe es mal schnell importiert:
                    539e7ca1-f713-4467-aaf3-4f5bece43bec-image.png
                    und funktioniert...

                    Starte mal den Rechner durch und nutze die RAW Version:

                    https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/refs/heads/main/ioBroker/Blockly/PopupTimer.xml

                    Es wird lediglich eine Entität (pageItem) in einer cardGrid oder cardEntities erstellt. Der Timer hat ein Popup, welches beim Klick auf die Entität geöffnet wird. Dort lässt sich die Zeit einstellen.

                    Nach Ablauf des Timers müsstest du dir schon etwas überlegen. Es könnte z.B. eine Nachricht über einen Smart Speaker erfolgen oder über Licht signalisiert werden.

                    Auch hat der ESP32 des NSPanels einen internen beschriebenen Buzzer (ja - es kann tatsächlich Töne spielen). Es könnte also Pieps-Sequenzen abspielen (für meinen Geschmack zu leise). Siehe auch:
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Tasmota-FAQ#113----rule3---esp-buzzer

                    Also in der Weiterverarbeitung eines Signals sind dir keine Grenzen gesetzt

                    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.

                    K 1 Antwort Letzte Antwort
                    2
                    • K Kerschte_de

                      Veraltetes Blockly-Script beim Timer für das NSP ?

                      Hallo zusammen. Ich bin dabei, den Timer auf dem NSP umzusetzen. Die Datenpunkte sind angelegt, ebenfalls die Aliase im Bereich des NSP. In der Anleitung wird dann auf das Blockly-Script verwiesen. Dieses wollte ich entsprechend importieren. Doch dabei kommt es zur folgenden Fehlermeldung:
                      90518f29-f244-4781-9a07-1e92a4bd080c-image.png

                      Den link habe ich schon auf das PageItem gesetzt. Was mir zudem noch nicht klar ist, wo wird die Seite zur Einstellung des Timers angelegt ... darüber finde ich nichts. Auch: Was passiert dann eigentlich, wenn der Timer abgelaufen ist? Das NSP kann je keinen Ton von sich geben.

                      T Offline
                      T Offline
                      TT-Tom
                      schrieb am zuletzt editiert von TT-Tom
                      #6684

                      @kerschte_de

                      als Alternative hier ein JS-Script. Als Beispiel wird hier der selbst erstellte Datenpunkt auf true gesetzt.

                      const dp_userdata: string = '0_userdata.0.NSPanel';
                      const dp_alias: string = 'alias.0.NSPanel';
                      
                      // Der nachfolgende Datenpunkt muss manuell angelegt werden
                      const dpAction: string = '0_userdata.0.example_boolean'; // anpassen
                      
                      const debug = false;
                      
                      let intervallCounter: any;
                      
                      let sec_timer = getState(dp_userdata + '.Countdown.Time').val;
                      on({ id: dp_userdata + '.Countdown.State', change: 'ne' }, async (obj) => {
                          switch (obj.state.val) {
                              case 'active':
                                  if (intervallCounter) {
                                      clearInterval(intervallCounter);
                                      intervallCounter = null;
                                  }
                                  intervallCounter = setInterval(async () => {
                                      if (getState(dp_userdata + '.Countdown.Time').val > 0) {
                                          sec_timer = getState(dp_userdata + '.Countdown.Time').val;
                                          setState(dp_userdata + '.Countdown.Time', sec_timer - 1, false);
                                      } else {
                                          setState(dp_userdata + '.Countdown.Time', 0, false);
                                          setState(dp_userdata + '.Countdown.State', 'idle', false);
                                          // An dieser Stelle kann auch noch eine Meldung an Alexa oder Telegram, etc. erfolgen
                                           setState(dpAction, <iobJS.State>{ val: true, ack: true });
                                      }
                                  }, 1000);
                      
                                  break;
                              default:
                                  if (intervallCounter) {
                                      clearInterval(intervallCounter);
                                      intervallCounter = null;
                                  }
                      
                                  break;
                          }
                      });
                      
                      async function Init_Datenpunkte() {
                          if (existsState(dp_alias + '.Countdown.ACTUAL') == false) {
                              log('Datenpunkte werden erstellt', 'info');
                              await createStateAsync(dp_userdata + '.Countdown.Time', '0', { type: 'number' });
                              await createStateAsync(dp_userdata + '.Countdown.State', 'paused', { type: 'string' });
                              setObject(dp_alias + '.Countown', { type: 'channel', common: { role: 'level.timer', name: 'Countdown' }, native: {} });
                              await createAliasAsync(dp_alias + '.Countdown.ACTUAL', dp_userdata + '.Countdown.Time', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' });
                              await createAliasAsync(dp_alias + '.Countdown.STATE', dp_userdata + '.Countdown.State', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'STATE' });
                              log("{id: '" + dp_alias + ".Countdown', name: 'Timer'}", 'info');
                          }
                      }
                      Init_Datenpunkte();
                      
                      

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

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

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

                      1 Antwort Letzte Antwort
                      2
                      • ArmilarA Armilar

                        @kerschte_de

                        Habe es mal schnell importiert:
                        539e7ca1-f713-4467-aaf3-4f5bece43bec-image.png
                        und funktioniert...

                        Starte mal den Rechner durch und nutze die RAW Version:

                        https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/refs/heads/main/ioBroker/Blockly/PopupTimer.xml

                        Es wird lediglich eine Entität (pageItem) in einer cardGrid oder cardEntities erstellt. Der Timer hat ein Popup, welches beim Klick auf die Entität geöffnet wird. Dort lässt sich die Zeit einstellen.

                        Nach Ablauf des Timers müsstest du dir schon etwas überlegen. Es könnte z.B. eine Nachricht über einen Smart Speaker erfolgen oder über Licht signalisiert werden.

                        Auch hat der ESP32 des NSPanels einen internen beschriebenen Buzzer (ja - es kann tatsächlich Töne spielen). Es könnte also Pieps-Sequenzen abspielen (für meinen Geschmack zu leise). Siehe auch:
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Tasmota-FAQ#113----rule3---esp-buzzer

                        Also in der Weiterverarbeitung eines Signals sind dir keine Grenzen gesetzt

                        K Offline
                        K Offline
                        Kerschte_de
                        schrieb am zuletzt editiert von
                        #6685

                        @armilar Ich habe das Blockly erfolgreich über die RAW-Version importiert. Die Pfade im Blockly habe ich angepasst, so dass ich den Timer einstellen und starten kann. Was mir in den Objekten aufgefallen ist, die Datenpunkte sind alle unbestätigt (rot). Ist das so gewollt?
                        Nach Ablauf des Timers gibt es im Sekundentakt die Warnmeldung, die erst durch stoppen des Scripts unterbrochen wird:

                        2a42ac1b-a0b7-4fab-b29e-aeeb794ebc96-image.png

                        Rückmeldung zur Anleitung: Die Anleitung ist sicher aus verschiedenen Entwicklungsständen entstanden. Verwirrend war gewesen, dass im Blockly die beiden Punkte State und Actual auf Zustand und Sekunden läuft. Demnach wäre es für einen Newbie besser zu verstehen, wenn die Datenpunkte gemäß dem Blockly lauten oder das Blockly an die Benamung aus der Beschreibung angepasst wird --> und sehr gern mit vollem Pfad (rote Markierung Bild unten). Denn man musste mehrfach nachvollziehen, ob man in den Datenpunkten unter 0_userdata oder unter den Aliasen unterwegs ist. Vielleicht tut es auch ein zusätzlicher Screenshot von den Datenpunkten unter 0_userdata (zwischen rot und gelber Markierung).
                        373f4312-d51d-4341-b8e5-7fdceb31b127-image.png

                        T 1 Antwort Letzte Antwort
                        0
                        • K Kerschte_de

                          @armilar Ich habe das Blockly erfolgreich über die RAW-Version importiert. Die Pfade im Blockly habe ich angepasst, so dass ich den Timer einstellen und starten kann. Was mir in den Objekten aufgefallen ist, die Datenpunkte sind alle unbestätigt (rot). Ist das so gewollt?
                          Nach Ablauf des Timers gibt es im Sekundentakt die Warnmeldung, die erst durch stoppen des Scripts unterbrochen wird:

                          2a42ac1b-a0b7-4fab-b29e-aeeb794ebc96-image.png

                          Rückmeldung zur Anleitung: Die Anleitung ist sicher aus verschiedenen Entwicklungsständen entstanden. Verwirrend war gewesen, dass im Blockly die beiden Punkte State und Actual auf Zustand und Sekunden läuft. Demnach wäre es für einen Newbie besser zu verstehen, wenn die Datenpunkte gemäß dem Blockly lauten oder das Blockly an die Benamung aus der Beschreibung angepasst wird --> und sehr gern mit vollem Pfad (rote Markierung Bild unten). Denn man musste mehrfach nachvollziehen, ob man in den Datenpunkten unter 0_userdata oder unter den Aliasen unterwegs ist. Vielleicht tut es auch ein zusätzlicher Screenshot von den Datenpunkten unter 0_userdata (zwischen rot und gelber Markierung).
                          373f4312-d51d-4341-b8e5-7fdceb31b127-image.png

                          T Offline
                          T Offline
                          TT-Tom
                          schrieb am zuletzt editiert von
                          #6686

                          @kerschte_de
                          Danke für deine Rückmeldung, das Wiki werde ich mir die Tage ansehen und anpassen.
                          Mit dem Blockly kann ich die leider nicht weiterhelfen, bin noch unterwegs.

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

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

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

                          K 1 Antwort Letzte Antwort
                          1
                          • T TT-Tom

                            @kerschte_de
                            Danke für deine Rückmeldung, das Wiki werde ich mir die Tage ansehen und anpassen.
                            Mit dem Blockly kann ich die leider nicht weiterhelfen, bin noch unterwegs.

                            K Offline
                            K Offline
                            Kerschte_de
                            schrieb am zuletzt editiert von Kerschte_de
                            #6687

                            @TT-Tom
                            Das Blockly scheint in Ordnung. Was mir auffällt ist, dass nach Ablauf des Timers der Datenpunkt STATE nicht von "active" auf "idle" gesetzt wird. Das scheint jedoch nicht aus dem Blockly zu kommen, sondern am Script des NSP zu liegen?
                            Hier das Blockly mal als Grafik zur "Lektüre unterwegs", Tom. Im Ablauf sehe ich keinen Bug, zumal es das schon so einige Zeit gibt.
                            336587c0-2fbf-4064-bda9-cc6778a7c32d-image.png

                            Würde mich über eine Nachricht nach Deiner Rückkehr freuen :)

                            ArmilarA T 2 Antworten Letzte Antwort
                            0
                            • K Kerschte_de

                              @TT-Tom
                              Das Blockly scheint in Ordnung. Was mir auffällt ist, dass nach Ablauf des Timers der Datenpunkt STATE nicht von "active" auf "idle" gesetzt wird. Das scheint jedoch nicht aus dem Blockly zu kommen, sondern am Script des NSP zu liegen?
                              Hier das Blockly mal als Grafik zur "Lektüre unterwegs", Tom. Im Ablauf sehe ich keinen Bug, zumal es das schon so einige Zeit gibt.
                              336587c0-2fbf-4064-bda9-cc6778a7c32d-image.png

                              Würde mich über eine Nachricht nach Deiner Rückkehr freuen :)

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

                              @kerschte_de

                              Die Logik für den Status liegt ausschließlich im Blockly. Nur der Status "active" wird im NSPanel Skript gesetzt.

                              Das würde gem. der Blockly-Logik aber ebenfalls bedeuten, dass der Timer die "0" nicht erreicht.

                              Prüfe das bitte mal mit Debug-Blöcken im Blockly.

                              Ab dem Zeitpunkt, wenn das NSPanel Script den Status "active" setzt, spielt sich alles hier ab:

                              8cceca27-4a81-465c-9a51-505c153f62aa-image.png

                              Der Timer dekrementiert bis zur "0" bei Status "active" und geht dann eine Sekunde später in den Else-Zweig und sollte dort den Status auf "idle" umbiegen.

                              Diese Zeile ist dabei sogar überflüssig:
                              1e643eac-923a-43c7-a22f-ccf32789bc02-image.png

                              solange die 0 im oberen Zweig nicht erreicht wird, wird vACTUAL dekrementiert. Auch bis 0...

                              Hier müsste eigentlich "Intervall" statt vState stehen. Da es keinen Timer "vState" gibt. Das sollte doppelte Ausführungen verhindern. Wird aber in der Regel nur einmal getriggert.
                              91f635dd-cc4b-4c6d-9485-be407bf247e4-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.

                              K 1 Antwort Letzte Antwort
                              1
                              • K Kerschte_de

                                @TT-Tom
                                Das Blockly scheint in Ordnung. Was mir auffällt ist, dass nach Ablauf des Timers der Datenpunkt STATE nicht von "active" auf "idle" gesetzt wird. Das scheint jedoch nicht aus dem Blockly zu kommen, sondern am Script des NSP zu liegen?
                                Hier das Blockly mal als Grafik zur "Lektüre unterwegs", Tom. Im Ablauf sehe ich keinen Bug, zumal es das schon so einige Zeit gibt.
                                336587c0-2fbf-4064-bda9-cc6778a7c32d-image.png

                                Würde mich über eine Nachricht nach Deiner Rückkehr freuen :)

                                T Offline
                                T Offline
                                TT-Tom
                                schrieb am zuletzt editiert von TT-Tom
                                #6689

                                @kerschte_de

                                du hast ja @Armilar sein Post schon gelesen. Ich habe das Blockly jetzt bei mir getestet und der einzige Fehler den ich erkennen kann ist vSTATE im Intervall.

                                Edit: Der Fehler kommt beim Einlesen des Blockly. Bei mir stand auch vSTATE, im Quelltext steht aber Intervall (Zeile 3)

                                 <statement name="CASE0">
                                                      <block type="timeouts_clearinterval" id="H1?KT2GS=;m|lB4B[d9{">
                                                        <field name="NAME">Intervall</field>
                                                        <next>
                                                          <block type="timeouts_setinterval" id="OCAffLYx5xl2^)mb:1ON">
                                                            <field name="NAME">Intervall</field>
                                                            <field name="INTERVAL">1000</field>
                                                            <field name="UNIT">ms</field>
                                

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

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

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

                                K 1 Antwort Letzte Antwort
                                1
                                • ArmilarA Armilar

                                  @kerschte_de

                                  Die Logik für den Status liegt ausschließlich im Blockly. Nur der Status "active" wird im NSPanel Skript gesetzt.

                                  Das würde gem. der Blockly-Logik aber ebenfalls bedeuten, dass der Timer die "0" nicht erreicht.

                                  Prüfe das bitte mal mit Debug-Blöcken im Blockly.

                                  Ab dem Zeitpunkt, wenn das NSPanel Script den Status "active" setzt, spielt sich alles hier ab:

                                  8cceca27-4a81-465c-9a51-505c153f62aa-image.png

                                  Der Timer dekrementiert bis zur "0" bei Status "active" und geht dann eine Sekunde später in den Else-Zweig und sollte dort den Status auf "idle" umbiegen.

                                  Diese Zeile ist dabei sogar überflüssig:
                                  1e643eac-923a-43c7-a22f-ccf32789bc02-image.png

                                  solange die 0 im oberen Zweig nicht erreicht wird, wird vACTUAL dekrementiert. Auch bis 0...

                                  Hier müsste eigentlich "Intervall" statt vState stehen. Da es keinen Timer "vState" gibt. Das sollte doppelte Ausführungen verhindern. Wird aber in der Regel nur einmal getriggert.
                                  91f635dd-cc4b-4c6d-9485-be407bf247e4-image.png

                                  K Offline
                                  K Offline
                                  Kerschte_de
                                  schrieb am zuletzt editiert von
                                  #6690

                                  @armilar
                                  Vielen Dank für Deine Rückmeldung. Bevor ich mich im Setzen von Debug-Blöcken in einem Blockly versuche, hier vorab ein Ausschnitte der letzten Sekunden beim Ablaufen des Timers über die erweiterte Protokollierung. Der debug-Modus des gesamten Blockly funktioniert nicht, das wird vom Blockly abgelehnt (dann läuft das Script nicht).

                                  Hier jetzt mal, was im jetzigen Blockly in den letzten Sekunden vor Ablauf und den ersten Sekunden NACH Ablauf ausgegeben wird:

                                  30.12.2024, 19:11:35.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":6,"ack":false,"ts":1735582294747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582294747}
                                  30.12.2024, 19:11:35.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":6,"ack":false,"ts":1735582294747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582294747}
                                  30.12.2024, 19:11:35.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":5,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:35.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":5,"ack":false,"ts":1735582295748,"q":0,"from":"system.adapter.javascript.0","lc":1735582295748,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:36.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":5,"ack":false,"ts":1735582295748,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582295748}
                                  30.12.2024, 19:11:36.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":5,"ack":false,"ts":1735582295748,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582295748}
                                  30.12.2024, 19:11:36.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":4,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:36.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":4,"ack":false,"ts":1735582296747,"q":0,"from":"system.adapter.javascript.0","lc":1735582296747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:37.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":4,"ack":false,"ts":1735582296747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582296747}
                                  30.12.2024, 19:11:37.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":4,"ack":false,"ts":1735582296747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582296747}
                                  30.12.2024, 19:11:37.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":3,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:37.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":3,"ack":false,"ts":1735582297747,"q":0,"from":"system.adapter.javascript.0","lc":1735582297747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:38.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":3,"ack":false,"ts":1735582297747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582297747}
                                  30.12.2024, 19:11:38.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":3,"ack":false,"ts":1735582297747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582297747}
                                  30.12.2024, 19:11:38.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":2,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:38.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":2,"ack":false,"ts":1735582298747,"q":0,"from":"system.adapter.javascript.0","lc":1735582298747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:39.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":2,"ack":false,"ts":1735582298747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582298747}
                                  30.12.2024, 19:11:39.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":2,"ack":false,"ts":1735582298747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582298747}
                                  30.12.2024, 19:11:39.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":1,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:39.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":1,"ack":false,"ts":1735582299748,"q":0,"from":"system.adapter.javascript.0","lc":1735582299748,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:40.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":1,"ack":false,"ts":1735582299748,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582299748}
                                  30.12.2024, 19:11:40.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":1,"ack":false,"ts":1735582299748,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582299748}
                                  30.12.2024, 19:11:40.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:40.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false,"ts":1735582300747,"q":0,"from":"system.adapter.javascript.0","lc":1735582300747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:41.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":0,"ack":false,"ts":1735582300747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582300747}
                                  30.12.2024, 19:11:41.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:41.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false,"ts":1735582301747,"q":0,"from":"system.adapter.javascript.0","lc":1735582300747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:41.747	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=null, state={"val":"idle","ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:41.748	[warn ]: javascript.0 (1832)     at Object.<anonymous> (script.js.common.Blockly.PopupTimer:21:9)
                                  30.12.2024, 19:11:42.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":0,"ack":false,"ts":1735582301747,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582300747}
                                  30.12.2024, 19:11:42.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:42.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false,"ts":1735582302748,"q":0,"from":"system.adapter.javascript.0","lc":1735582300747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:42.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=null, state={"val":"idle","ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:42.749	[warn ]: javascript.0 (1832)     at Object.<anonymous> (script.js.common.Blockly.PopupTimer:21:9)
                                  30.12.2024, 19:11:43.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":0,"ack":false,"ts":1735582302748,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582300747}
                                  30.12.2024, 19:11:43.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:43.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false,"ts":1735582303748,"q":0,"from":"system.adapter.javascript.0","lc":1735582300747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:43.749	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=null, state={"val":"idle","ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:43.749	[warn ]: javascript.0 (1832)     at Object.<anonymous> (script.js.common.Blockly.PopupTimer:21:9)
                                  30.12.2024, 19:11:44.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":0,"ack":false,"ts":1735582303748,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582300747}
                                  30.12.2024, 19:11:44.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:44.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false,"ts":1735582304748,"q":0,"from":"system.adapter.javascript.0","lc":1735582300747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:44.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=null, state={"val":"idle","ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:44.748	[warn ]: javascript.0 (1832)     at Object.<anonymous> (script.js.common.Blockly.PopupTimer:21:9)
                                  30.12.2024, 19:11:45.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: getState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, timerId=undefined) => {"val":0,"ack":false,"ts":1735582304748,"q":0,"c":"script.js.common.Blockly.PopupTimer","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1735582300747}
                                  30.12.2024, 19:11:45.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:45.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setForeignState(id=0_userdata.0.NSPanel.Countdown.ACTUAL, state={"val":0,"ack":false,"ts":1735582305748,"q":0,"from":"system.adapter.javascript.0","lc":1735582300747,"c":"script.js.common.Blockly.PopupTimer"})
                                  30.12.2024, 19:11:45.748	[info ]: javascript.0 (1832) script.js.common.Blockly.PopupTimer: setStateDelayed(id=null, state={"val":"idle","ack":false}, isAck=undefined, delay=NaN, clearRunning=false)
                                  30.12.2024, 19:11:45.749	[warn ]: javascript.0 (1832)     at Object.<anonymous> (script.js.common.Blockly.PopupTimer:21:9)
                                  30.12.2024, 19:11:46.582	[info ]: javascript.0 (1832) Stopping script script.js.common.Blockly.PopupTimer
                                  
                                  1 Antwort Letzte Antwort
                                  0
                                  • T TT-Tom

                                    @kerschte_de

                                    du hast ja @Armilar sein Post schon gelesen. Ich habe das Blockly jetzt bei mir getestet und der einzige Fehler den ich erkennen kann ist vSTATE im Intervall.

                                    Edit: Der Fehler kommt beim Einlesen des Blockly. Bei mir stand auch vSTATE, im Quelltext steht aber Intervall (Zeile 3)

                                     <statement name="CASE0">
                                                          <block type="timeouts_clearinterval" id="H1?KT2GS=;m|lB4B[d9{">
                                                            <field name="NAME">Intervall</field>
                                                            <next>
                                                              <block type="timeouts_setinterval" id="OCAffLYx5xl2^)mb:1ON">
                                                                <field name="NAME">Intervall</field>
                                                                <field name="INTERVAL">1000</field>
                                                                <field name="UNIT">ms</field>
                                    
                                    K Offline
                                    K Offline
                                    Kerschte_de
                                    schrieb am zuletzt editiert von
                                    #6691

                                    @tt-tom @Armilar

                                    Hi Tom. Habe es entsprechend geändert --> und es funktioniert nun. Der STATE wird am Ende des Countdowns von active auf idle gesetzt und das Blockly stoppt.
                                    In Summe handelt es sich also um einen kleinen Fehler in der RAW-Version auf Github. Dann kann ich mich nun dem Ausbau des Countdowns sowie dem nächsten inhaltlichen Thema im NSP widmen - der Einbindung des Alexa-Players.

                                    Mal wieder vielen Dank für Eure schnelle, unkomplizierte und sehr lösungsorientierte Unterstützung. :)
                                    Kersten

                                    T 1 Antwort Letzte Antwort
                                    2
                                    • K Kerschte_de

                                      @tt-tom @Armilar

                                      Hi Tom. Habe es entsprechend geändert --> und es funktioniert nun. Der STATE wird am Ende des Countdowns von active auf idle gesetzt und das Blockly stoppt.
                                      In Summe handelt es sich also um einen kleinen Fehler in der RAW-Version auf Github. Dann kann ich mich nun dem Ausbau des Countdowns sowie dem nächsten inhaltlichen Thema im NSP widmen - der Einbindung des Alexa-Players.

                                      Mal wieder vielen Dank für Eure schnelle, unkomplizierte und sehr lösungsorientierte Unterstützung. :)
                                      Kersten

                                      T Offline
                                      T Offline
                                      TT-Tom
                                      schrieb am zuletzt editiert von
                                      #6692

                                      @kerschte_de
                                      Das Blockly auf GitHub ist und war richtig. Aber beim Import in den ioBroker ist da was schief gelaufen. Hatte bei mir auch den Effect. Habe meine Version und die auf GitHub verglichen, sind beide identisch. Hauptsache es funktioniert jetzt. Viel Spass noch und einen guten Rutsch

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

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

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

                                      1 Antwort Letzte Antwort
                                      1
                                      • K Offline
                                        K Offline
                                        Kerschte_de
                                        schrieb am zuletzt editiert von Kerschte_de
                                        #6693

                                        Hallo zusammen.
                                        Die Einbindung des Alexa2.0 Adapters und Einrichtung des Players hat funktioniert. Ich kann auf die Playliste/Radiosender zugreifen. Auch der Wechsel bei den Ausgabegeräten klappt - allerdings nur 1mal. Gibt es die Möglichkeit, da noch etwas weiter reinzulesen? Die Wiki-Seite ist da gerade in Arbeit.
                                        Bei mir gibt es 2 Punkte:
                                        Ich wechsle von dem Quellgerät (Echo Dot Wohnzimmer) auf eine Gruppe (Erdgeschoss) oder anderes Ausgabegerät (Echo Dot Küche bspw.). Das funktioniert 1mal. Will ich die Musik wieder zurückholen auf nur 1 Gerät (Echo Dot Wohnzimmer), so ändert sich nichts. Es spielt also weiter das gesamte Erdgeschoss. Starte ich die Playlist bspw. neu auf Echo Dot Wohnzimmer, so beginnt diese auch dort. Der bisherige Stream wird aber weiterhin auf Küche ausgegeben.
                                        Der zweite Punkt ist die Lautstärkesteuerung über das NSP. Die spricht bei mir garnicht an. Ich kann steuern, es passiert jedoch nichts bei der Lautstärke auf dem Ausgabegerät.
                                        Gibt es Lösungsansätze, die ich dazu durchlesen kann?

                                        Beste Grüße und allen heute abend einen guten Rutsch ins neue Jahr.
                                        Kersten

                                        1 Antwort Letzte Antwort
                                        0
                                        • T Offline
                                          T Offline
                                          Toysman
                                          schrieb am zuletzt editiert von
                                          #6694

                                          Hallo zusammen und ein frohes neues Jahr,

                                          mein Sonoff NSPanel ist mit Tasmota-nspanel 14.4.1 geflasht, nun will ich es in den ioBroker einbinden um das Teil zum laufen zu bringen gemäß des YT Tutorials von Matthias Kleine. Die TS Scripte habe ich in eingebunden und an den entsprechende Passagen angepasst.

                                          Bei Start des NSPanel Scripts erhalte ich den Log Eintrag, das nodeJS aktualisiert werden muss. "Angeblich" liegt die Version 16.17.0 vor und ich müsste auf 18 updaten. Laut "Hosts" ist jedoch Node.js: v20.17.0 installiert.

                                          Ferner bleibt der Script in einer Art Schleife hängen bei der Installation der TFT Firmeware.

                                          Könnte ein wenig Unterstützung gebrauchen und hoffe hier richtig zu sein.

                                          Danke & Gruß

                                          472039951_10232295700473765_1156533940919961903_n.jpg
                                          472055324_10232295700433764_7415065131012174448_n.jpg

                                          Viele Grüße
                                          Harry

                                          T 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

                                          769

                                          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