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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

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

      @jomowo

      1. Datenpunkt sieht okay aus. Wie kommen die Daten in diesen Datenpunkt?

      2. sollte so aussehen. den Datenpunkt musst du an deinen anpassen.

          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: '0_userdata.0.Schreibtischlampe.switch',   // Zielentity - Verwendet wenn mode = set oder toggle
              setValue: null  // Zielwert - Verwendet wenn mode = set
          }
      
      1. kannst du sagen, wann die Meldung kommt wären des Screensaver oder beim Wechsel zur Page oder beim Pagewechsel.
      jomowo 2 Replies Last reply Reply Quote 0
      • jomowo
        jomowo @TT-Tom last edited by

        @tt-tom
        die daten kommen aus nodered per mqqt inject node, aus richtung Victron (Solar) aber auch in NR bin ich kein fachmann, kann also durchaus nicht richtig sein.

        1. probiere ich!

        2. ca jede sekunde, vlt ja wegen den komischnen Datenpunkten aus 1...?

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

          @jomowo

          Zu 1. wenn ich das richtig verstehe, kommen die Daten per MQTT in den Broker?

          Zu 3. also wenn der Screensaver läuft?

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

            @tt-tom

            ja
            und
            ja
            🙂

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

              @jomowo

              Wollen wir mal an node vorbei die Daten aus MQTT verarbeiten? Zeige mal den Datenpunkt und den Inhalt.

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

                @tt-tom

                ich weiß nicht wie du das meinst 😞
                deshalb frage ich nach discord, da kann man sowas bestimmt schnell erledigt.

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

                  Hallo liebes Forum, ich versuche mich weiterhin am NS-Panel mit mittlerem Erfolg. Derzeitig versuche ich Daten eines Homematic Temperatursensors unter dem type CardGrid darzustellen.
                  Dazu habe ich mit dem Geräte Adapter ein Alias angelegt, Thermostat.
                  Dies finde ich dann in den Objekten mit folgendem Eintrag:

                  alias.0.Parterre.Wintergarten.TemperatursensorHM
                  Hier gibt es 3 DP, das ist Actual, Humidity und Set.

                  alias.0.Parterre.Wintergarten.TemperatursensorHM.ACTUAL
                  alias.0.Parterre.Wintergarten.TemperatursensorHM.HUMIDITY
                  alias.0.Parterre.Wintergarten.TemperatursensorHM.SET

                  Actual und Humidity möchte ich auf dem Panel sehen. Dazu folgender Eintrag.

                  let SensorGrid = <PageGrid>
                  {
                      'type': 'cardGrid',
                      'heading': 'Sensor Werte',
                      'useColor': true,
                      'items': [
                          <PageItem>{ id: 'alias.0.Parterre.Wintergarten.TemperatursensorHM', name: 'Wintergarten. °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} },
                          <PageItem>{ id: 'alias.0.Parterre.Wintergarten.TemperatursensorHM.Humidity', name: 'Luftfeuchte %', offColor: MSYellow, onColor: MSYellow , useValue: true, colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
                   code_text
                  

                  Leider erscheint auf dem Panel nur der Temperaturwert, keine Humidity. Befürchtet hatte ich es schon weil ich erwartete dass das System selber erkennt welche Werte unter dem DP TemperatursensorHM liegen. Ich finde aber nicht die Stelle, wo ich den falschen Eintrag vornehme. Wenn mir da jemand auf die Sprünge helfen könnte.
                  Bin erst morgen wieder am System, heute kann ich also keine Erfolgsmeldungen mehr abgeben. 😳 Aber, ich werde mit Sicherheit reagieren wenn ein Hinweis kommt. Vielen Dank.

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

                    @manylopmy

                    Nimm einfach für die Luftfeuchtigkeit einen Alias Feuchtigkeit

                    55ee5756-31b2-475d-8271-cd5d9ed32787-image.png

                    oder alternativ den Alias "Info"

                    Der Alias Temperatur ignoriert die Luftfeuchte und geht nur auf den Actual

                    1 Reply Last reply Reply Quote 1
                    • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            474
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4584363
                                            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