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

donate donate
  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.6k

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

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

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.8m 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.
  • F froitzheims

    20221204_162127.jpg 20221204_162110.jpg 20221204_162058.jpg

    Hi Habe ein US Panel
    alles wie in der Anleitung gemacht mit dem Scripts unter
    global icon_mapping erstellt
    und unter common das NSPanel1

    die Beiden Punkte angepasst für den Panel Namen.

    Alias werden angelegt und der Screensaver läuft in englisch.
    Und es werden in den Ansichten keine Icons angezeigt.

    Was mache ich falsch ?

    Gruß Marcus

    K Offline
    K Offline
    Kuckuckmann
    schrieb am zuletzt editiert von
    #1028

    @froitzheims
    Hallo,

    willkommen im Forum.
    Hast Du in deinem Skript locale: 'de-DE' eingestellt? Ich verstehe es so, dass EN für dich nicht korrekt ist, richtig?
    Was hast Du auf der Seite Büro denn konfiguriert? hast Du für das, was Du anzeigen willst auch Alias(e) angelegt?

    hast Du auch die 5 Zeile auf der cardEntities aktiviert? Das noch als kleiner Tip, dafür muss 0_userdata.0.NSPanel.1.NSPanel_Version auf "us" stehen.

    LG

    NSPanel Dokumentation im GitHub Wiki:

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

    1 Antwort Letzte Antwort
    0
    • M Martin c

      @tobiasp was genau war denn dein Fehler? Vielleicht habe ich zufällig den gleichen.

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

      @martin-c

      @tobiasp was genau war denn dein Fehler? Vielleicht habe ich zufällig den gleichen.

      Du könntest deine Warungen im Log auch einfach in Code-Tags posten...

      Kleiner Tipp... Falls es ähnlich aussieht. Die beiden Status-Icons hatten den falschen MQTT-Topic in der Config

      d88fac5c-c97b-4723-b1dc-5d5b63f59be6-image.png

      Die müssen ebenfalls angepasst werden.

      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
      • F froitzheims

        20221204_162127.jpg 20221204_162110.jpg 20221204_162058.jpg

        Hi Habe ein US Panel
        alles wie in der Anleitung gemacht mit dem Scripts unter
        global icon_mapping erstellt
        und unter common das NSPanel1

        die Beiden Punkte angepasst für den Panel Namen.

        Alias werden angelegt und der Screensaver läuft in englisch.
        Und es werden in den Ansichten keine Icons angezeigt.

        Was mache ich falsch ?

        Gruß Marcus

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

        @froitzheims

        Die Anzeige in englischer Sprache, kann vielfältige Ursachen haben. Die häufigsten Ursachen waren ein veraltetes node.js oder falsche Einstellungen der Locales im Betriebssystem. Hierzu bräuchten wir etwas mehr Infos. Die node.js Version bekommst du im Systemterminal mit node -v heraus und dann wäre noch interessant, welches Betriebssystem du hast und auf welcher Hardware es läuft.

        Wie @Kuckuckmann schon gesagt hat, kann das US-Panel 5 Zeilen anzeigen. Hierzu in der Config von eu auf us umstellen.

        Das wird aber nicht dein Problem lösen, dass du in der ersten konfigurierten Seite hast. Die Pages mit den Autoaliasen funktionieren, daher vermute ich, dass etwas mit den selbsterstellten Seiten nicht stimmt. Sende mal in Code-Tags bitte deine Variablen für die Büro-Seite und die Config. Ich vermute, dass du mit Datenpunkten, statt Aliasen arbeitest oder die Seite nicht in der Config eingetragen hast. Kann ich aber erst sehen, wenn du sie sendest.

        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.

        F 1 Antwort Letzte Antwort
        0
        • ArmilarA Armilar

          @froitzheims

          Die Anzeige in englischer Sprache, kann vielfältige Ursachen haben. Die häufigsten Ursachen waren ein veraltetes node.js oder falsche Einstellungen der Locales im Betriebssystem. Hierzu bräuchten wir etwas mehr Infos. Die node.js Version bekommst du im Systemterminal mit node -v heraus und dann wäre noch interessant, welches Betriebssystem du hast und auf welcher Hardware es läuft.

          Wie @Kuckuckmann schon gesagt hat, kann das US-Panel 5 Zeilen anzeigen. Hierzu in der Config von eu auf us umstellen.

          Das wird aber nicht dein Problem lösen, dass du in der ersten konfigurierten Seite hast. Die Pages mit den Autoaliasen funktionieren, daher vermute ich, dass etwas mit den selbsterstellten Seiten nicht stimmt. Sende mal in Code-Tags bitte deine Variablen für die Büro-Seite und die Config. Ich vermute, dass du mit Datenpunkten, statt Aliasen arbeitest oder die Seite nicht in der Config eingetragen hast. Kann ich aber erst sehen, wenn du sie sendest.

          F Offline
          F Offline
          froitzheims
          schrieb am zuletzt editiert von froitzheims
          #1031

          @armilar

          also Node -v
          v12.22.12

          ist ein Raspi4 mit 64 Bit system

          PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
          NAME="Debian GNU/Linux"
          VERSION_ID="11"
          VERSION="11 (bullseye)"
          VERSION_CODENAME=bullseye
          ID=debian

          das Script Büro ist:

          let Buero_Seite_1: PageEntities =
          {
          "type": "cardEntities",
          "heading": "Büro",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
          <PageItem>{ id: "alias.0.Lampe Holz", interpolateColor: true},
          <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
          <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
          <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
          ]
          };

          Alias habe ich für die Lampe so angelegt mit dem Alias Manager (Geräte wird bei mir nicht angezeigt obwohl istalliert)

          Bildschirmfoto vom 2022-12-05 11-17-23.png

          Die NSPanel_Version steht auf US-p
          Bildschirmfoto vom 2022-12-05 11-21-00.png

          Thomas BraunT ArmilarA K 3 Antworten Letzte Antwort
          0
          • B Offline
            B Offline
            bean
            schrieb am zuletzt editiert von
            #1032

            Danke für die coole Arbeit, mein Panel ist schon im "Produktiveinsatz":

            https://youtu.be/qEbxVWK6y8U

            Viel Homematic, Zigbee Sensoren und Steckdosen, Ikea Rollos, Toshiba Klimaanlage, Nuki Türschloss...

            Was ich noch für "Probleme" habe:

            • Ich schaffe es nicht, die beiden Hardwaretasten vernünftig zu konfigurieren, bei mir wechsel ich mit denen immer zwischen den Seiten, sie haben also die gleiche Funktion wie die beiden Navigationspfeile oben links und rechts. (Obwohl ich eine Seite unter der Buttonpagefunction hinterlegt habe)

            • Und zum neuen "Haus"-Symbol rechts oben: Muss das irgendwo konfiguriert werden? Bei mir geschieht nichts, wenn ich da drauftippe...

            ArmilarA 2 Antworten Letzte Antwort
            2
            • ArmilarA Armilar

              @lobomau sagte in SONOFF NSPanel mit Lovelace UI:

              Wenn ich den setze, bewegt sich nichts. Nur umgekehrt, wenn ich level setze ändert sich DIRECTION.

              Kann man also mit zusätzlichen Datenpunkten und z.B. Blockly umsetzen (z.B. in 0_userdata).

              UP = true (aktualisiert) --> Level = 100
              DOWN = true (aktualisiert) --> Level = 0

              Dann Alias auf diese Datenpunkte. Sollte nachbildbar sein...

              B Offline
              B Offline
              bean
              schrieb am zuletzt editiert von
              #1033

              @armilar said in SONOFF NSPanel mit Lovelace UI:

              @lobomau sagte in SONOFF NSPanel mit Lovelace UI:

              Wenn ich den setze, bewegt sich nichts. Nur umgekehrt, wenn ich level setze ändert sich DIRECTION.

              Kann man also mit zusätzlichen Datenpunkten und z.B. Blockly umsetzen (z.B. in 0_userdata).
              UP = true (aktualisiert) --> Level = 100
              DOWN = true (aktualisiert) --> Level = 0

              Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:
              BlindsWrite.jpg
              (Im Beispiel wird Level auf 100 (geöffnet) gesetzt, wenn der Datenpunkt OPEN getriggert/true wird)

              ArmilarA 1 Antwort Letzte Antwort
              0
              • F froitzheims

                @armilar

                also Node -v
                v12.22.12

                ist ein Raspi4 mit 64 Bit system

                PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
                NAME="Debian GNU/Linux"
                VERSION_ID="11"
                VERSION="11 (bullseye)"
                VERSION_CODENAME=bullseye
                ID=debian

                das Script Büro ist:

                let Buero_Seite_1: PageEntities =
                {
                "type": "cardEntities",
                "heading": "Büro",
                "useColor": true,
                "subPage": false,
                "parent": undefined,
                "items": [
                <PageItem>{ id: "alias.0.Lampe Holz", interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
                ]
                };

                Alias habe ich für die Lampe so angelegt mit dem Alias Manager (Geräte wird bei mir nicht angezeigt obwohl istalliert)

                Bildschirmfoto vom 2022-12-05 11-17-23.png

                Die NSPanel_Version steht auf US-p
                Bildschirmfoto vom 2022-12-05 11-21-00.png

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von
                #1034

                @froitzheims sagte in SONOFF NSPanel mit Lovelace UI:

                v12.22.12

                Zu alt, nodeJS@12 ist abgekündigt. Installier da nodeJS@16.

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                1 Antwort Letzte Antwort
                0
                • F froitzheims

                  @armilar

                  also Node -v
                  v12.22.12

                  ist ein Raspi4 mit 64 Bit system

                  PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
                  NAME="Debian GNU/Linux"
                  VERSION_ID="11"
                  VERSION="11 (bullseye)"
                  VERSION_CODENAME=bullseye
                  ID=debian

                  das Script Büro ist:

                  let Buero_Seite_1: PageEntities =
                  {
                  "type": "cardEntities",
                  "heading": "Büro",
                  "useColor": true,
                  "subPage": false,
                  "parent": undefined,
                  "items": [
                  <PageItem>{ id: "alias.0.Lampe Holz", interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
                  ]
                  };

                  Alias habe ich für die Lampe so angelegt mit dem Alias Manager (Geräte wird bei mir nicht angezeigt obwohl istalliert)

                  Bildschirmfoto vom 2022-12-05 11-17-23.png

                  Die NSPanel_Version steht auf US-p
                  Bildschirmfoto vom 2022-12-05 11-21-00.png

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

                  @froitzheims

                  Zuerst mal die locales checken:

                  sudo raspi-config
                  

                  dann zu Set locale navigieren und de_DE.UTF-8 auswählen (falls noch nicht aktiv)

                  mit

                  sudo apt-get update
                  sudo apt-get dist-upgrade
                  

                  auf den neuesten Stand bringen.

                  Dann node.js updaten auf die empfohlene Version 16.18.1 (npm zieht sich automatisch auf die 8.19.2) Am Besten nach der Anleitung (und bitte keine 18.X.X):
                  https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian
                  Deine Laufzeitumgebung für JavaScript (und das ist node.js) und somit die Laufzeitumgebung für den kompletten ioBroker und auch das TS-Script ist völlig veraltet. Daher bitte updaten.

                  Die us-p Version ist okay - muss nichts geändert werden!

                  Die Aliase sind nicht korrekt. Versuche den Geräte-Manager nach dem node.js Update nochmal in Gang zu bringen. Der Alias-Manager kann das zwar auch, jedoch brauchst du hierfür Erfahrung.
                  Deine Datenpunkte im Alias sind allesamt falsch benannt. Eine Lampe benötigt nicht diese Datenpunkte zum steuern, sondern mindestens etwas zum Schalten also on/switch oder bei einigen auch power. Diese gehen dann im ALIAS über einen ACTUAL oder/und SET.

                  Siehe auch: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Table

                  Der Geräte-Manager macht das in der Regel richtig.

                  Und ebenfalls sollten Leerzeichen (und Sonderzeichen, Umlaute) vermieden werden. Besser zusammenschreiben wie LampeHolz oder Lampe_Holz

                  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
                  • B bean

                    Danke für die coole Arbeit, mein Panel ist schon im "Produktiveinsatz":

                    https://youtu.be/qEbxVWK6y8U

                    Viel Homematic, Zigbee Sensoren und Steckdosen, Ikea Rollos, Toshiba Klimaanlage, Nuki Türschloss...

                    Was ich noch für "Probleme" habe:

                    • Ich schaffe es nicht, die beiden Hardwaretasten vernünftig zu konfigurieren, bei mir wechsel ich mit denen immer zwischen den Seiten, sie haben also die gleiche Funktion wie die beiden Navigationspfeile oben links und rechts. (Obwohl ich eine Seite unter der Buttonpagefunction hinterlegt habe)

                    • Und zum neuen "Haus"-Symbol rechts oben: Muss das irgendwo konfiguriert werden? Bei mir geschieht nichts, wenn ich da drauftippe...

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

                    @bean

                    Manchmal überholen sich die Ereignisse. Das Haus-Symbol ist zwar schon zu sehen, bekommt erst mit der nächsten Script-Version eine Funktion.

                    Lies dir zu den Hardwaretasten kurz https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Tasmota-FAQ durch.

                    Falls das nicht dabei ist, nochmal melden...

                    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.

                    B F 2 Antworten Letzte Antwort
                    1
                    • B bean

                      @armilar said in SONOFF NSPanel mit Lovelace UI:

                      @lobomau sagte in SONOFF NSPanel mit Lovelace UI:

                      Wenn ich den setze, bewegt sich nichts. Nur umgekehrt, wenn ich level setze ändert sich DIRECTION.

                      Kann man also mit zusätzlichen Datenpunkten und z.B. Blockly umsetzen (z.B. in 0_userdata).
                      UP = true (aktualisiert) --> Level = 100
                      DOWN = true (aktualisiert) --> Level = 0

                      Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:
                      BlindsWrite.jpg
                      (Im Beispiel wird Level auf 100 (geöffnet) gesetzt, wenn der Datenpunkt OPEN getriggert/true wird)

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

                      @bean sagte in SONOFF NSPanel mit Lovelace UI:

                      Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:

                      Wobei, wenn ich den Ternary richtig interpretiere fragst du folgendes ab:

                      Wenn der Wert auf ungleich 0 ist, dann setzte 100 (also hoch) sonst 0 (also runter)

                      Warum setzt du nicht val = 100 und val = 0? :face_with_rolling_eyes:

                      Weil was ist, wenn der Wert z.B. auf 1, 2 oder 3 steht. Dann fährt das Rollo bei Up runter...

                      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.

                      VumerV B 2 Antworten Letzte Antwort
                      0
                      • VumerV Offline
                        VumerV Offline
                        Vumer
                        schrieb am zuletzt editiert von Vumer
                        #1038

                        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                        Manchmal überholen sich die Ereignisse.

                        Ich hoffe das ist schon älter ;)
                        Abfallkalender


                        const idAbfalliCal = 'ical.0'; // iCal Instanz zum Abfallkalender
                        const idZeichenLoeschen = 0; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                        const idRestmuellName ='Restabfall'; // Schwarze Tonne
                        const idWertstoffName = 'Gelbe Tonne'; // Gelbe Tonne / Sack
                        const idPappePapierName = 'Papiertonne'; // Blaue Tonne
                        const idBioabfaelleName = 'Komposttonne'; // Braune Tonne

                        var i, Muell_JSON, Event2, Color = 0;

                        for (i = 1; i <= 4; i++) {
                        if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date')) {
                        log(i + '.date nicht vorhanden, wurde erstellt');
                        createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date', '',
                        {
                        name: parseFloat(i) + '.date',
                        role: 'state',
                        type: 'string',
                        read: true,
                        write: true,
                        def: ''
                        });
                        };
                        if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event')) {
                        log(i + '.event nicht vorhanden, wurde erstellt');
                        createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event', '',
                        {
                        name: parseFloat(i) + '.event',
                        role: 'state',
                        type: 'string',
                        read: true,
                        write: true,
                        def: ''
                        });
                        };
                        if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color')) {
                        log(i + '.color nicht vorhanden, wurde erstellt');
                        createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color', 0,
                        {
                        name: parseFloat(i) + '.color',
                        role: 'state',
                        type: 'number',
                        read: true,
                        write: true,
                        def: 0
                        });
                        };
                        }

                        function subsequenceFromStartLast(sequence, at1) {
                        var start = at1;
                        var end = sequence.length;
                        return sequence.slice(start, end);
                        }

                        on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () {

                        for (i = 0; i <= 3; i++) {
                        Muell_JSON = getState(idAbfalliCal + '.data.table').val;
                        setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                        Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), idZeichenLoeschen);
                        setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                        if (Event2 == idRestmuellName) {
                        Color = 33840;
                        } else if (Event2 == idBioabfaelleName) {
                        Color = 48192;
                        } else if (Event2 == idPappePapierName) {
                        Color = 2016;
                        } else if (Event2 == idWertstoffName) {
                        Color = 65504;
                        }
                        setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                        }
                        });

                        javascript.0 2022-12-05 12:17:07.105	error	at processImmediate (node:internal/timers:466:21)
                        javascript.0 2022-12-05 12:17:07.105	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
                        javascript.0 2022-12-05 12:17:07.105	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29)
                        javascript.0 2022-12-05 12:17:07.105	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38)
                        javascript.0 2022-12-05 12:17:07.105	error	at Object.<anonymous> (script.js.common.NSPanel.Abfallkalender:61:18)
                        javascript.0 2022-12-05 12:17:07.105	error	at subsequenceFromStartLast (script.js.common.NSPanel.Abfallkalender:52:24)
                        javascript.0 2022-12-05 12:17:07.104	error	script.js.common.NSPanel.Abfallkalender: TypeError: Cannot read properties of null (reading 'length')
                        

                        was habe ich wieder falsch gemacht?

                        ArmilarA T 2 Antworten Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @bean sagte in SONOFF NSPanel mit Lovelace UI:

                          Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:

                          Wobei, wenn ich den Ternary richtig interpretiere fragst du folgendes ab:

                          Wenn der Wert auf ungleich 0 ist, dann setzte 100 (also hoch) sonst 0 (also runter)

                          Warum setzt du nicht val = 100 und val = 0? :face_with_rolling_eyes:

                          Weil was ist, wenn der Wert z.B. auf 1, 2 oder 3 steht. Dann fährt das Rollo bei Up runter...

                          VumerV Offline
                          VumerV Offline
                          Vumer
                          schrieb am zuletzt editiert von
                          #1039

                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                          Warum setzt du nicht val = 100 und val = 0?

                          Beim HM funktioniert das so mit 0 und 100

                          1 Antwort Letzte Antwort
                          0
                          • VumerV Vumer

                            @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                            Manchmal überholen sich die Ereignisse.

                            Ich hoffe das ist schon älter ;)
                            Abfallkalender


                            const idAbfalliCal = 'ical.0'; // iCal Instanz zum Abfallkalender
                            const idZeichenLoeschen = 0; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                            const idRestmuellName ='Restabfall'; // Schwarze Tonne
                            const idWertstoffName = 'Gelbe Tonne'; // Gelbe Tonne / Sack
                            const idPappePapierName = 'Papiertonne'; // Blaue Tonne
                            const idBioabfaelleName = 'Komposttonne'; // Braune Tonne

                            var i, Muell_JSON, Event2, Color = 0;

                            for (i = 1; i <= 4; i++) {
                            if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date')) {
                            log(i + '.date nicht vorhanden, wurde erstellt');
                            createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date', '',
                            {
                            name: parseFloat(i) + '.date',
                            role: 'state',
                            type: 'string',
                            read: true,
                            write: true,
                            def: ''
                            });
                            };
                            if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event')) {
                            log(i + '.event nicht vorhanden, wurde erstellt');
                            createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event', '',
                            {
                            name: parseFloat(i) + '.event',
                            role: 'state',
                            type: 'string',
                            read: true,
                            write: true,
                            def: ''
                            });
                            };
                            if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color')) {
                            log(i + '.color nicht vorhanden, wurde erstellt');
                            createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color', 0,
                            {
                            name: parseFloat(i) + '.color',
                            role: 'state',
                            type: 'number',
                            read: true,
                            write: true,
                            def: 0
                            });
                            };
                            }

                            function subsequenceFromStartLast(sequence, at1) {
                            var start = at1;
                            var end = sequence.length;
                            return sequence.slice(start, end);
                            }

                            on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () {

                            for (i = 0; i <= 3; i++) {
                            Muell_JSON = getState(idAbfalliCal + '.data.table').val;
                            setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                            Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), idZeichenLoeschen);
                            setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                            if (Event2 == idRestmuellName) {
                            Color = 33840;
                            } else if (Event2 == idBioabfaelleName) {
                            Color = 48192;
                            } else if (Event2 == idPappePapierName) {
                            Color = 2016;
                            } else if (Event2 == idWertstoffName) {
                            Color = 65504;
                            }
                            setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                            }
                            });

                            javascript.0 2022-12-05 12:17:07.105	error	at processImmediate (node:internal/timers:466:21)
                            javascript.0 2022-12-05 12:17:07.105	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
                            javascript.0 2022-12-05 12:17:07.105	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29)
                            javascript.0 2022-12-05 12:17:07.105	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38)
                            javascript.0 2022-12-05 12:17:07.105	error	at Object.<anonymous> (script.js.common.NSPanel.Abfallkalender:61:18)
                            javascript.0 2022-12-05 12:17:07.105	error	at subsequenceFromStartLast (script.js.common.NSPanel.Abfallkalender:52:24)
                            javascript.0 2022-12-05 12:17:07.104	error	script.js.common.NSPanel.Abfallkalender: TypeError: Cannot read properties of null (reading 'length')
                            

                            was habe ich wieder falsch gemacht?

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

                            @vumer

                            Kann ich dir erst sagen, wenn du mir die zugehörige Seite für das NSPanel mitteilst die 4 Aliase vom Gerätetyp: Warnung aufruft...

                            Im Spoiler finde ich nur ein Script, das Datenpunkte aus einem iCal in 0_userdata erstellt und befüllt. ;-)

                            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.

                            VumerV 1 Antwort Letzte Antwort
                            0
                            • ArmilarA Armilar

                              @bean

                              Manchmal überholen sich die Ereignisse. Das Haus-Symbol ist zwar schon zu sehen, bekommt erst mit der nächsten Script-Version eine Funktion.

                              Lies dir zu den Hardwaretasten kurz https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Tasmota-FAQ durch.

                              Falls das nicht dabei ist, nochmal melden...

                              B Offline
                              B Offline
                              bean
                              schrieb am zuletzt editiert von
                              #1041

                              @armilar said in SONOFF NSPanel mit Lovelace UI:

                              Lies dir zu den Hardwaretasten kurz https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Tasmota-FAQ durch.
                              Falls das nicht dabei ist, nochmal melden...

                              Danke für den Linkt, kannte ich noch nicht. Hatte die Buttons in Tasmota aber einer anderen Infosammlung entsprechend entkoppelt, das funktioniert auch (Keine Relaisbenutzung).
                              Im script sind die Buttons auch konfiguriert (zB button2Page: Abfall,), aber trotzdem wechseln die Seiten bei Tastenbetätigung durch...

                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • B bean

                                @armilar said in SONOFF NSPanel mit Lovelace UI:

                                Lies dir zu den Hardwaretasten kurz https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Tasmota-FAQ durch.
                                Falls das nicht dabei ist, nochmal melden...

                                Danke für den Linkt, kannte ich noch nicht. Hatte die Buttons in Tasmota aber einer anderen Infosammlung entsprechend entkoppelt, das funktioniert auch (Keine Relaisbenutzung).
                                Im script sind die Buttons auch konfiguriert (zB button2Page: Abfall,), aber trotzdem wechseln die Seiten bei Tastenbetätigung durch...

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

                                @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                aber trotzdem wechseln die Seiten bei Tastenbetätigung durch...

                                Ich kann mit der Aussage nichts anfangen. Was wechselt wann, wie durch?

                                Welche Seiten sind wo konfiguriert und wie sehen die aus?

                                Was ist konfiguriert, was passiert wenn du was machst (präzise und detailliert) und was wird erwartet? Was hast du z.B. an Rules im Tasmota benutzt und wie sehen die aus? Welche Einstellungen hat Tasmota ggfs. noch bekommen?

                                Das ist mir zu wenig Content. Ich wüsste da nicht ansatzweise, wo ich unterstützen kann...

                                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.

                                B 1 Antwort Letzte Antwort
                                0
                                • ArmilarA Armilar

                                  @vumer

                                  Kann ich dir erst sagen, wenn du mir die zugehörige Seite für das NSPanel mitteilst die 4 Aliase vom Gerätetyp: Warnung aufruft...

                                  Im Spoiler finde ich nur ein Script, das Datenpunkte aus einem iCal in 0_userdata erstellt und befüllt. ;-)

                                  VumerV Offline
                                  VumerV Offline
                                  Vumer
                                  schrieb am zuletzt editiert von
                                  #1043

                                  @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                  Im Spoiler finde ich nur ein Script, das Datenpunkte aus einem iCal in 0_userdata erstellt und befüllt

                                  das ist auch der script.js.common.NSPanel.Abfallkalender
                                  Der NSPanelTs.ts lief gar nicht. Und der Fehler tritt auf wenn ich dem script.js.common.NSPanel.Abfallkalender starte

                                  1 Antwort Letzte Antwort
                                  0
                                  • ArmilarA Armilar

                                    @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                    Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:

                                    Wobei, wenn ich den Ternary richtig interpretiere fragst du folgendes ab:

                                    Wenn der Wert auf ungleich 0 ist, dann setzte 100 (also hoch) sonst 0 (also runter)

                                    Warum setzt du nicht val = 100 und val = 0? :face_with_rolling_eyes:

                                    Weil was ist, wenn der Wert z.B. auf 1, 2 oder 3 steht. Dann fährt das Rollo bei Up runter...

                                    B Offline
                                    B Offline
                                    bean
                                    schrieb am zuletzt editiert von
                                    #1044

                                    @armilar said in SONOFF NSPanel mit Lovelace UI:

                                    @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                    Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:

                                    Wobei, wenn ich den Ternary richtig interpretiere fragst du folgendes ab:
                                    Wenn der Wert auf ungleich 0 ist, dann setzte 100 (also hoch) sonst 0 (also runter)
                                    Warum setzt du nicht val = 100 und val = 0?
                                    Weil was ist, wenn der Wert z.B. auf 1, 2 oder 3 steht. Dann fährt das Rollo bei Up runter...

                                    Bin da ja auch noch am experimentieren, aber meiner Erkenntnis nach:
                                    Der Datenpunkt "Open" ist ja vom Typ Boolean und gleichzeitig ein Trigger/Taster, ist also immer auf "true" und wird nur aktualisiert.
                                    Ich dachte ich muss bei der Funktion erst den Wert abfragen, dass es einfach so auch gehen könnte hab ich noch nicht bedacht, wird ausprobiert. Zumindest ist ein eigenes Skript nicht notwendig.

                                    1 Antwort Letzte Antwort
                                    0
                                    • ArmilarA Armilar

                                      @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                      aber trotzdem wechseln die Seiten bei Tastenbetätigung durch...

                                      Ich kann mit der Aussage nichts anfangen. Was wechselt wann, wie durch?

                                      Welche Seiten sind wo konfiguriert und wie sehen die aus?

                                      Was ist konfiguriert, was passiert wenn du was machst (präzise und detailliert) und was wird erwartet? Was hast du z.B. an Rules im Tasmota benutzt und wie sehen die aus? Welche Einstellungen hat Tasmota ggfs. noch bekommen?

                                      Das ist mir zu wenig Content. Ich wüsste da nicht ansatzweise, wo ich unterstützen kann...

                                      B Offline
                                      B Offline
                                      bean
                                      schrieb am zuletzt editiert von
                                      #1045

                                      @armilar said in SONOFF NSPanel mit Lovelace UI:

                                      Ich kann mit der Aussage nichts anfangen. Was wechselt wann, wie durch?
                                      Welche Seiten sind wo konfiguriert und wie sehen die aus?

                                      Ich habe Pages konfiguriert

                                         pages: [
                                                 SzenenLicht,
                                                 SzenenRollos,
                                                 Mattelsberg,
                                                 CardPowerExample,
                                                 Radio,
                                                 Alexa,
                                                 Sonos,
                                                 Abfall
                                         ],
                                      

                                      und die Buttonpages

                                          button1Page: button1cardPage, 
                                          button2Page: Abfall 
                                      
                                      

                                      Diese Seiten funktionieren genauso wie erwartet, alles super.

                                      Was ist konfiguriert, was passiert wenn du was machst (präzise und detailliert) und was wird erwartet?

                                      Wenn ich nun die physischen Tasten am Panel drücke, wechsle ich zwischen den Pages durch, mit der rechten Taste wechsle ich "Vorwärts" (nach unten in der Liste der Pages), mit der linken wechsle ich "rückwärts" (nach oben), so als würde ein Seitenzähler um eins erhöht oder verringert.
                                      Erwartet hätte ich, dass mich der Druck auf die linke Taste auf die button1cardPage bringt und ein Druck auf die rechte Taste auf die Abfallseite.

                                      Was hast du z.B. an Rules im Tasmota benutzt und wie sehen die aus? Welche Einstellungen hat Tasmota ggfs. noch bekommen?

                                      Ich habe Rule2 mit beiden Buttons konfiguriert und an meine MQTT-Struktur angepasst.

                                      Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
                                      

                                      Die Button-Events kommen auch im passenden Datenpunkt an. Sonst (glaub ich) habe ich nichts an Tasmota geändert.

                                      Das ist mir zu wenig Content. Ich wüsste da nicht ansatzweise, wo ich unterstützen kann...

                                      Kein Stress, er funktioniert ja grundsätzlich, nur nicht so wie erwartet. Ich habe nur etwas das Gefühl, hier einem Bug auf der Spur zu sein, aber dass dieses Verhalten nur hier auftritt, ist seltsam.

                                      Und falls ich es noch nicht erwähnt habe: Danke für die super Arbeit!!

                                      ArmilarA 1 Antwort Letzte Antwort
                                      0
                                      • VumerV Offline
                                        VumerV Offline
                                        Vumer
                                        schrieb am zuletzt editiert von
                                        #1046

                                        @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                        Ich dachte ich muss bei der Funktion erst den Wert abfragen

                                        Du schreibst die Werte. Shuttercontrol z.B. macht auch nichts anderes
                                        So sieht meine mired -> kelvin -> mired umrechnung aus

                                        9574e4aa-40bd-48a7-a76f-07466f2ba7d1-grafik.png

                                        1 Antwort Letzte Antwort
                                        0
                                        • B bean

                                          @armilar said in SONOFF NSPanel mit Lovelace UI:

                                          Ich kann mit der Aussage nichts anfangen. Was wechselt wann, wie durch?
                                          Welche Seiten sind wo konfiguriert und wie sehen die aus?

                                          Ich habe Pages konfiguriert

                                             pages: [
                                                     SzenenLicht,
                                                     SzenenRollos,
                                                     Mattelsberg,
                                                     CardPowerExample,
                                                     Radio,
                                                     Alexa,
                                                     Sonos,
                                                     Abfall
                                             ],
                                          

                                          und die Buttonpages

                                              button1Page: button1cardPage, 
                                              button2Page: Abfall 
                                          
                                          

                                          Diese Seiten funktionieren genauso wie erwartet, alles super.

                                          Was ist konfiguriert, was passiert wenn du was machst (präzise und detailliert) und was wird erwartet?

                                          Wenn ich nun die physischen Tasten am Panel drücke, wechsle ich zwischen den Pages durch, mit der rechten Taste wechsle ich "Vorwärts" (nach unten in der Liste der Pages), mit der linken wechsle ich "rückwärts" (nach oben), so als würde ein Seitenzähler um eins erhöht oder verringert.
                                          Erwartet hätte ich, dass mich der Druck auf die linke Taste auf die button1cardPage bringt und ein Druck auf die rechte Taste auf die Abfallseite.

                                          Was hast du z.B. an Rules im Tasmota benutzt und wie sehen die aus? Welche Einstellungen hat Tasmota ggfs. noch bekommen?

                                          Ich habe Rule2 mit beiden Buttons konfiguriert und an meine MQTT-Struktur angepasst.

                                          Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
                                          

                                          Die Button-Events kommen auch im passenden Datenpunkt an. Sonst (glaub ich) habe ich nichts an Tasmota geändert.

                                          Das ist mir zu wenig Content. Ich wüsste da nicht ansatzweise, wo ich unterstützen kann...

                                          Kein Stress, er funktioniert ja grundsätzlich, nur nicht so wie erwartet. Ich habe nur etwas das Gefühl, hier einem Bug auf der Spur zu sein, aber dass dieses Verhalten nur hier auftritt, ist seltsam.

                                          Und falls ich es noch nicht erwähnt habe: Danke für die super Arbeit!!

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

                                          @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                          Wenn ich nun die physischen Tasten am Panel drücke, wechsle ich zwischen den Pages durch, mit der rechten Taste wechsle ich "Vorwärts" (nach unten in der Liste der Pages), mit der linken wechsle ich "rückwärts" (nach oben), so als würde ein Seitenzähler um eins erhöht oder verringert.

                                          Es gibt da eine Tasmota-Rule, die exakt dieses Verhalten widerspiegelt und die Tasten als Pagezähler nutzt , jedoch wird die separat definiert. Ist da eventuell noch eine andere hinterlegt?

                                          Bei mir sind die immer nur als Rule2 eingestellt und die machen auch exakt nur die definierte Seite auf. Selbst wenn ich auf den Button erneut drücke, dann wird die Seite nur neu aúfgebaut, aber nur das - kein Seitenwechsel.

                                          Sieh mal nach, ob da noch andere Rules (1, 3) aktiv sind oder gehe mal mit

                                          Rule1 0
                                          Rule3 0
                                          

                                          vor, falls wirklich noch andere da sind.

                                          Ich vermute, dass der den Fulltopic bei dir nicht interpretieren kann.

                                          %topic%/%prefix%/RESULT
                                          

                                          Sieht der wirklich genauso aus oder ist der wie bei den meisten Anwendern verändert?

                                          Bei mir sieht das z.B. so aus:

                                          SmartHome/%topic%/tele/RESULT
                                          

                                          Du kannst auch die erste Zeile, z.B.

                                          mqtt.0.SmartHome.NSPanel_1.tele.RESULT
                                          

                                          in der Config dafür nutzen und das mqtt.0. weglassen. Müsste dann in etwa so aussehen:

                                          SmartHome.NSPanel_1.tele.RESULT
                                          

                                          also analog Deiner MQTT-Einstellungen und kann dann das %topic%/%prefix%/RESULT ersetzten.

                                          EDIT: Habe die Rule gerade gefunden, die genau dein Verhalten zeigt.. Sieht ähnlich aus, ist aber was völlig anderes. So in etwa sollte die "nicht" vorhanden sein, wenn du die Button-Pages nutzen möchtest:

                                          Rule1 on Button1#state do Publish %topic%/tele/RESULT {"CustomRecv":"event,buttonPress2,hwbtn,bPrev"} endon on Button2#state do Publish %topic%/tele/RESULT {"CustomRecv":"event,buttonPress2,hwbtn,bNext"} endon
                                          

                                          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.

                                          B 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          817

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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