Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • jomowo
      jomowo @TT-Tom last edited by jomowo

      @tt-tom said in SONOFF NSPanel mit Lovelace UI:

      @tt-tom

      hierher kommen meine Daten, ist doch kein injekt node, aber es steht auch dort "value"..
      44291c1f-ff3c-433e-9873-5e2f4ed027d3-grafik.png
      und das hier klappt leider auch nicht 😕 vielleicht weil True/False und nicht 1/0 aus der entity kommen?

       button2: {
              mode: 'toggle',     // Mögliche Werte wenn Rule2 definiert: 'page', 'toggle', 'set' - Wenn nicht definiert --> mode: null
              page: null,     // Zielpage - Verwendet wenn mode = page (bisher button2Page)
              entity: 'zigbee.0.7cb03eaa0a03cf7b.state',   // Zielentity - Verwendet wenn mode = set oder toggle
              setValue: null // Zielwert - Verwendet wenn mode = set
          }
      
      

      das hier klappt auch nicht, es ist nur das "bulb"symbol verschwunden

         ScreensaverEntityValue: NSPanel_Path + 'Sensor.ANALOG.Temperature',
              ScreensaverEntityValueDecimalPlace: 0,
              ScreensaverEntityValueUnit: null,
      
      T 1 Reply Last reply Reply Quote 0
      • T
        TT-Tom @jomowo last edited by

        @jomowo

        Node Red kenne ich mich nicht aus. Darum die Idee aus MQTT direkt auslesen, dazu muss ich wissen, was da ankommt.

        Button 2 : lege ein Alias an und und mach eine Konvertierung bei Read /Write

        das hier klappt auch nicht, es ist nur das "bulb"symbol verschwunden

        zeige mal die Komplette Config von mrIcon2ScreensaverEntity:

        1 Reply Last reply Reply Quote 0
        • O
          osieben last edited by

          Re: SONOFF NSPanel mit Lovelace UI

          Hallo,

          ich brauche mal das Wissen der Erfahrenen.

          Ich habe ein NSPanel mit Tasmota innen direkt neben der Haustüre.
          An mehreren Fenstern und der Haustüre habe ich Magnet-Sensoren. Mit den Sensoren komme ich klar.

          Ich würde jetzt gerne auf dem o.g. Panel eine Warnung anzeigen, wenn irgendein Fenster geöffnet ist.
          Am besten sowas wie ein Popp-Up oder ein anderes Design.

          Geht das? Wie? Also Was bzw wie bekomme ich so eine Nachricht auf das Panel?

          Danke! Oliver

          T 1 Reply Last reply Reply Quote 0
          • T
            TT-Tom @osieben last edited by TT-Tom

            @osieben

            da gibt es viele Möglichkeiten. Ich zeige dir mal wie ich es gemacht habe.

            1. Ein alias für den Kontakt anlegen. Am besten mit dem Adapter "Devices". Den Ordner "Fenster" musst du selber anlegen, wenn du dann ein Gerät in dem Ordner anlegst, nutze den Typ "Fenster". Wichtig ist das du ACTUAL anlegst, der Rest ist Beiwerk für andere Sachen.

            Bildschirmfoto 2023-07-30 um 13.08.51.png

            1. Wenn du mit den Kontakten fertig bist, legst du dir unter 0_userdata.0 ein Ordner an mit zwei Datenpunkten( Typ Zahl und Typ Boolean)

            Bildschirmfoto 2023-07-30 um 13.15.39.png

            mit diesem Blockly träger ich auf die Alias Punkte und zähle wie viele offen sind.

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="`3q~tn|]r(LvC{19,zEY">Status_offeneFenster</variable>
               <variable id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</variable>
               <variable id="9/yJg%I-v6N#IQN8st6m">i</variable>
             </variables>
             <block type="on_ext" id="U::/4wmI3}Z@$SKGvvg=" x="88" y="63">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="7Ap7C6jIj.Mb{_iqs{{c">
                   <field name="oid">default</field>
                 </shadow>
                 <block type="selector" id="96E5N_xE!C=N626d0a_!">
                   <field name="TEXT">alias.0.Fenster.*.ACTUAL</field>
                 </block>
               </value>
               <statement name="STATEMENT">
                 <block type="variables_set" id="o,82sN(nBal}d`S@FhlR">
                   <field name="VAR" id="`3q~tn|]r(LvC{19,zEY">Status_offeneFenster</field>
                   <value name="VALUE">
                     <block type="logic_boolean" id="];3BCyF%j]5d6+iW7SW4">
                       <field name="BOOL">FALSE</field>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="^tJ|0)6.8hOKTt~3bSY9">
                       <field name="VAR" id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</field>
                       <value name="VALUE">
                         <block type="math_number" id=")NrEP9EVPkpU]lvaOIow">
                           <field name="NUM">0</field>
                         </block>
                       </value>
                       <next>
                         <block type="controls_forEach" id="zvEO{_Dt/YKLr5SA*4qm">
                           <field name="VAR" id="9/yJg%I-v6N#IQN8st6m">i</field>
                           <value name="LIST">
                             <block type="selector" id="`nXP$958BtmgM?C9iXJ,">
                               <field name="TEXT">alias.0.Fenster.*.ACTUAL</field>
                             </block>
                           </value>
                           <statement name="DO">
                             <block type="controls_if" id="|Tcfi[X*+Z+I^XU`W}c!">
                               <value name="IF0">
                                 <block type="get_value_var" id="B+{iQL0J8Uf/auyLg4;o">
                                   <field name="ATTR">val</field>
                                   <value name="OID">
                                     <shadow type="text" id="nv_xNDwj^vZd(VS@iL;U">
                                       <field name="TEXT">i</field>
                                     </shadow>
                                     <block type="variables_get" id="-R.oMz[v.gJ{a/*nGZsC">
                                       <field name="VAR" id="9/yJg%I-v6N#IQN8st6m">i</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="math_change" id="%GBC0#O-FVUS`64Eg8Li">
                                   <field name="VAR" id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</field>
                                   <value name="DELTA">
                                     <shadow type="math_number" id="O`wb$_E?4FjD*66Z.#Gz">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="math_number" id="Z0%Qp}aXwh|l3tUTm:KU">
                                       <field name="NUM">1</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="variables_set" id="-%h(cYD!_^|7$j1?7-a;">
                                       <field name="VAR" id="`3q~tn|]r(LvC{19,zEY">Status_offeneFenster</field>
                                       <value name="VALUE">
                                         <block type="logic_boolean" id="JyKdvLU=OeWD@`O7AQVi">
                                           <field name="BOOL">TRUE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                           <next>
                             <block type="update" id="VyzVl0%MBx@R,H+HEEGI">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.NSPanel.Allgemein.Fenster.Anzahl_offene</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="convert_tostring" id="p[AN%(l=kC~8Cq!%kyQy">
                                   <value name="VALUE">
                                     <block type="variables_get" id="d`73i^f,-$v2QCbRQy$g">
                                       <field name="VAR" id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="update" id="v2F]Z/TZY!PunG*kfkwO">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.NSPanel.Allgemein.Fenster.Status_offene</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="variables_get" id=",$^vy#7#dLe!?DtT8N|U">
                                       <field name="VAR" id="`3q~tn|]r(LvC{19,zEY">Status_offeneFenster</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id="M({M!_ScK2[_^j=8BB,k">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="mzN-~@]E)uw@:W_};^IK">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="text_join" id="fj*OT/+j;9m96a+a?y|Z">
                                           <mutation items="3"></mutation>
                                           <value name="ADD0">
                                             <block type="variables_get" id="])A_QS+y+K{m/p[dOVM$">
                                               <field name="VAR" id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</field>
                                             </block>
                                           </value>
                                           <value name="ADD1">
                                             <block type="text" id="XEdD(OQYXlXrVeP1Bw|k">
                                               <field name="TEXT"> Fenster offen </field>
                                             </block>
                                           </value>
                                           <value name="ADD2">
                                             <block type="on_source" id="]/!CU#MQ~Ci#!Y]o1~BA">
                                               <field name="ATTR">id</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
            </xml>
            

            Bildschirmfoto 2023-07-30 um 13.18.27.png

            im Script vom Panel habe ich auf der Scrensaverpage ein indicatorScreensaverEntity angelegt

                        // indicatorScreensaverEntity 1 (only Advanced Screensaver)
                        { 
                            ScreensaverEntity: 'alias.0.NSPanel.allgemein.Status_offene_Fenster.ACTUAL',
                            ScreensaverEntityFactor: 1,
                            ScreensaverEntityDecimalPlaces: 0,
                            ScreensaverEntityIconOn: 'window-open-variant',
                            ScreensaverEntityIconOff: 'window-closed-variant',
                            ScreensaverEntityText: 'Fenster',
                            ScreensaverEntityUnitText: '%',
                            ScreensaverEntityIconColor: {'val_best': 0}
                        },
            

            und eine Page angelegt

                    let Fenster = <PageGrid>
                    {
                        'type': 'cardGrid',
                        'heading': 'Status Fenster',
                        'useColor': true,
                        'subPage': true,
                        'parent': Hauptseite,
                        'items': [
                            <PageItem>{ id: AliasUserPath + 'Fenster.Bürofenster', name: 'Büro', offColor: Red, onColor: Green, useColor: true},
                            <PageItem>{ id: AliasUserPath + 'Fenster.Dachfenster1', name: 'Dach 1', offColor: Red, onColor: Green, useColor: true},
                            <PageItem>{ id: AliasUserPath + 'Fenster.Dachfenster3', name: 'Dach 3', offColor: Red, onColor: Green, useColor: true},
                            <PageItem>{ id: AliasUserPath + 'Fenster.JosiFenster', name: 'Josi', offColor: Red, onColor: Green, useColor: true},
                            <PageItem>{ id: AliasUserPath + 'Fenster.Küchenfenster', name: 'Küche', offColor: Red, onColor: Green, useColor: true},
                            <PageItem>{ id: AliasUserPath + 'Fenster.WC-Fenster', name: 'Gäste-WC', offColor: Red, onColor: Green, useColor: true}
                                 ]
                    };
            

            vielleicht konnte ich dir damit weiterhelfen oder mal die Richtung zeigen.

            1 Reply Last reply Reply Quote 1
            • H
              Hansi1234 last edited by

              hi alle,
              ich versuche mich eben auch an dem Panel. Tasmota wird ohne Probleme geflashed. Nur nach dem Anschließen finde ich das WLAN nicht. Hatte das Problem noch jemand? Sorry, falls die Frage schon einmal gestellt wurde.

              Armilar F 2 Replies Last reply Reply Quote 0
              • Armilar
                Armilar Most Active Forum Testing @Hansi1234 last edited by

                @hansi1234 sagte in SONOFF NSPanel mit Lovelace UI:

                Tasmota wird ohne Probleme geflashed. Nur nach dem Anschließen finde ich das WLAN nicht

                D.h. du siehst im Handy-WLAN keine SSID mit dem Namen: tasmota-XXXX ?

                H 1 Reply Last reply Reply Quote 0
                • H
                  Hansi1234 @Armilar last edited by

                  @armilar ganz genau. Hab auch schon mehrmals geflashed.

                  Armilar 1 Reply Last reply Reply Quote 0
                  • Armilar
                    Armilar Most Active Forum Testing @Hansi1234 last edited by

                    @hansi1234 sagte in SONOFF NSPanel mit Lovelace UI:

                    ganz genau. Hab auch schon mehrmals geflashed.

                    Dann könnte der ESP32 ein WLAN-Problem haben. Versuche mal 6x hintereinander einen kurzen Klick auf (ich weiß nicht genau) die linke oder die rechte Taste. Dann sollte Tasmota in den AP Mode springen.

                    Falls nicht, dann überlegen das Panel auszutauschen (Retoure)

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      Hansi1234 @Armilar last edited by

                      @armilar danke, mach ich heute Abend. Habe auch einen zweiten hier. Gleiche Problem

                      Armilar 1 Reply Last reply Reply Quote 0
                      • Armilar
                        Armilar Most Active Forum Testing @Hansi1234 last edited by

                        @hansi1234

                        2 mit dem gleichen Problem ist schon merkwürdig 🙄

                        Wie hast du die geflashed und mit welcher Version?

                        H 1 Reply Last reply Reply Quote 0
                        • M
                          manylopmy last edited by

                          Das NSPanel bietet schon eine Vielfalt an Punkten, an denen man hängenbleiben kann. 😧
                          Grundsätzlich erscheinen bei mir bei starten des Scriptes immer irgendwelche Warnungen. Leider kann ich außer der Info, dass es um javascript und das script common.Panel_1 geht nicht viel aus der Meldung interpretieren.
                          Falls es also irgendwo eine (verständliche) Erklärung dazu gibt habe ich diese noch nicht gefunden. Falls aber jemand ein paar Hinweise dazu hat, wie ich mit den Angaben auf die Position schließen kann, wo sich das Problem befindet würde mir das eventuell bei der Analyse der weiteren Aktionen helfen. Zumindest würde mir klarer, wo ich noch anfassen sollte.

                          Der erste Teil ist ja noch ganz selbsterklärend, aber danach......
                          script.js.common.Panel_1:3755:37

                          das script ist mir klar. Aber welche Aussage haben die Zahlen? Zeilennummer??, die 37 dahinter Position in der Zeile? was ist mit dem Code: 8:71 bzw14:53 etc

                          Vielen Dank für ein paar klärende Hinweise
                          Manfred

                          javascript.0 (18268) Stop script script.js.common.Panel_1
                          12:56:54.638	info	javascript.0 (18268) script.js.common.Panel_1: compiling TypeScript source...
                          12:57:08.973	info	javascript.0 (18268) script.js.common.Panel_1: TypeScript compilation successful
                          12:57:09.099	info	javascript.0 (18268) script.js.common.Panel_1: setObjects enabled - create Alias Channels possible
                          12:57:09.109	info	javascript.0 (18268) script.js.common.Panel_1: weather alias for accuweather.0. already exists
                          12:57:09.157	info	javascript.0 (18268) script.js.common.Panel_1: registered 42 subscriptions, 7 schedules, 0 messages, 0 logs and 0 file subscriptions
                          12:57:10.353	info	javascript.0 (18268) script.js.common.Panel_1: Desired TFT Firmware: 50 / v4.0.5
                          12:57:10.354	info	javascript.0 (18268) script.js.common.Panel_1: Installed TFT Firmware: 50 / v4.0.5
                          
                          12:57:16.518	warn	javascript.0 (18268) script.js.common.Panel_1: error at function SendToPanel: Cannot read properties of undefined (reading 'payload')
                          12:57:16.856	warn	javascript.0 (18268) at script.js.common.Panel_1:3755:37
                          12:57:16.857	warn	javascript.0 (18268) at step (script.js.common.Panel_1:33:23)
                          12:57:16.857	warn	javascript.0 (18268) at Object.next (script.js.common.Panel_1:14:53)
                          12:57:16.857	warn	javascript.0 (18268) at script.js.common.Panel_1:8:71
                          12:57:16.857	warn	javascript.0 (18268) at __awaiter (script.js.common.Panel_1:4:12)
                          12:57:16.858	warn	javascript.0 (18268) at Object.<anonymous> (script.js.common.Panel_1:3748:91)code_text
                          
                          T 1 Reply Last reply Reply Quote 0
                          • T
                            TT-Tom @manylopmy last edited by TT-Tom

                            Hallo @manylopmy

                            hast du schon den Datenpunkt "CustomSend" in den MQTT Objekten angelegt?

                            Welche Version von dem Script hast du verwendet? ich Empfehle zum Start immer das Ohne Beispiele -> NsPanelTs_without_Examples.ts

                            hast du diese Pfade angepasst??

                            const NSPanel_Path = '0_userdata.0.NSPanel.1.';       // Anpassen an das jewilige NSPanel
                            const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
                            
                            
                            panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // Bitte anpassen
                            panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // Bitte anpassen
                            
                            
                            M 1 Reply Last reply Reply Quote 1
                            • M
                              manylopmy @TT-Tom last edited by manylopmy

                              @tt-tom
                              ch habe den DP CustomSend angelegt. Aber ich habe ein TS Script in Benutzung, welches schon einige Beispiele vorbereitet hat. Ich meine immer, es wäre leichter etwas abzuändern als es neu zu schreiben. 😢 Kann falsch sein mit der Meinung. Die Pfade sind alle soweit angepasst.

                              panelRecvTopic: 'mqtt.0.smarthome.tele.NSPanel_D3B874.RESULT',       // Bitte anpassen
                              panelSendTopic: 'mqtt.0.smarthome.cmnd.NSPanel_D3B874.CustomSend',   // Bitte anpassenode_text
                              
                              const NSPanel_Path = '0_userdata.0.NSPanel.1.Alarm';       // Anpassen an das jewilige NSPanel
                              const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.Alarm';  
                              

                              Grundsätzlich läuft auch schon einiges. Ich versuche soeben die AlarmCard einzubinden, ist mit rinem großen Änderungspotential. Aber, ich bin von der Idee, mit dem Zahlencode die Anlage zu "armieren" angetan. Werde weiter testen.

                              Vielen Dank für euren tollen Support.
                              Zu den konkreten Fehlermeldungen würde mich hauptsächlich die Struktur der warn Meldungen interessieren. Aber, ich glaube, das gehört mehr zu iobroker/javascript und nicht hier ins nspanel.

                              T 2 Replies Last reply Reply Quote 0
                              • T
                                TT-Tom @manylopmy last edited by

                                @manylopmy

                                das heisst so viel wie Zeile:Position. mann muss aber beachten, das mann nicht die Zeilennummern aus dem Script nehmen kann. hier werden reine Codezeilen gezählt. Entscheidend ist diese Meldung

                                script.js.common.Panel_1: error at function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                

                                die Funktion SendToPanel hat ein Problem mit den Daten die es senden soll (Payload), der Rest sind Folgefehler aus dem Script.
                                Wichtig ist immer zu beobachten wann läuft die Meldung auf, um den Ursprung einzugrenzen.

                                Armilar 1 Reply Last reply Reply Quote 0
                                • T
                                  TT-Tom @manylopmy last edited by

                                  @manylopmy sagte in SONOFF NSPanel mit Lovelace UI:

                                  Ich versuche soeben die AlarmCard einzubinden, ist mit rinem großen Änderungspotential.

                                  hast du das hier im Wiki gelesen?

                                  M 1 Reply Last reply Reply Quote 0
                                  • Armilar
                                    Armilar Most Active Forum Testing @TT-Tom last edited by Armilar

                                    @tt-tom sagte in SONOFF NSPanel mit Lovelace UI:

                                    Entscheidend ist diese Meldung

                                    @manylopmy

                                    Der Inhalt ist in der Tat sehr kurz mit dem Text {1}

                                    Da ist eine Variable (vermutlich ein PageItem) nicht korrekt definiert. Gleich beim Start oder erst wenn du zu einer bestimmten Seite kommst? Hilft den Fehler einzugrenzen.

                                    Das Steuerelement oder die Page dürfte wahrscheinlich auch nicht angezeigt werden.

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      manylopmy @TT-Tom last edited by

                                      @tt-tom
                                      ja, das Wiki war die Anregung. Aktuell habe ich ein kleines Script mit einer tiny Alarmanlage "gebastelt". Das läft und macht nicht viel anderes als die Anwesenheit zu kontrollieren und bei anwesend=fals auf Sensoren reagieren.
                                      Das würde ich gerne etwas professioneller und mit mehr Komfort gestalten. Ist aber nicht wirklich dringend.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        manylopmy @Armilar last edited by

                                        @armilar
                                        Ja, das erklärt schon ein wenig. Ich hatte immer mit der Zeilennummer des Scriptes gesucht.
                                        Der Fehler tritt nicht beim start des Scrptes auf, erst wenn ich durch die verschiedenen pages durchsteppe.

                                        Soll heißen, ich werde das einmal kontrollieren, bei welcher page die Meldungen kommen und versuchen, da den Zusammenhang zu finden. Ich habe tatsächlich noch einige Pages die ohne wirklichen Inhalt entweder leer oder (so habe ich den Eindruck) manchmal gar nicht angezeigt werden.
                                        Wo finde ich denn das TS ohne integrierte Beispiele. Eventuell fange ich damit noch einmal neu an. Das, was funktioniert kann ich ja rüberkopieren.

                                        Gruß manylopmy

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          TT-Tom @manylopmy last edited by TT-Tom

                                          @manylopmy

                                          Auf GitHub wo du das andere Script auch her hast.

                                          Link

                                          Edit: aber nur ein Script laufen lassen und auch ein anderer Name ist wichtig. Haben hier schon kuriose Sachen erlebt. Ggf auch mal, wenn gar nichts läuft, dem JavaScript Adapter neu starten. Manchmal laufen Phantom Script mit.

                                          1 Reply Last reply Reply Quote 2
                                          • H
                                            Hansi1234 @Armilar last edited by

                                            @armilar hab jetzt die beiden mal mit dem Online-Flasher geflashed und immer noch das gleiche Problem. Hab die Software Tasmota32 Sonoff-NSPanel (english) verwendet

                                            Armilar 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            804
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4289222
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo