Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  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.1k

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

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

SONOFF NSPanel mit Lovelace UI

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
7.7k Posts 271 Posters 6.7m Views 253 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Tom_W

    @mercyful-0

    Ich habs nochmal neu rein kopiert, da lief bei copy & paste was schief.

    M Offline
    M Offline
    Mercyful 0
    wrote on last edited by
    #2247

    @tom_w said in SONOFF NSPanel mit Lovelace UI:

    @mercyful-0

    Ich habs nochmal neu rein kopiert, da lief bei copy & paste was schief.

    Ich konnte es importieren.
    Ich habe Fragen zu den Datenpunkten:
    Welchen Typ hat 'alias.0.Wohnzimmer.Temperatur Wohnzimmer' und womit wird dieser verbunden?
    Woher bekommst Du die Informationen von 'Wert' (beim ersten aktualisiere 0_userdata...)?
    Der Datenpunkt 'alias.0.Wohnzimmer.Erreichbar Multisensor Wohnzimmer' ist sicherlich ein Boolscher der prüft ob ein anderer Sensor erreichbar ist?
    Was ist das für ein Datenpunkt '0_userdata.0.NSPanel.1.Eigene.Modi.AUTOMATIC' und welche Werte kann dieser annehmen?
    Danke für die Info!
    Liebe Grüße
    Mercy

    T D 2 Replies Last reply
    0
    • ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      wrote on last edited by
      #2248

      @mercyful-0

      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen#thermostat---cardthermo---channel-thermostat

      Ihr seid ja schon fertig. Tolle Skripte...

      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 Reply Last reply
      0
      • M Mercyful 0

        @tom_w said in SONOFF NSPanel mit Lovelace UI:

        @mercyful-0

        Ich habs nochmal neu rein kopiert, da lief bei copy & paste was schief.

        Ich konnte es importieren.
        Ich habe Fragen zu den Datenpunkten:
        Welchen Typ hat 'alias.0.Wohnzimmer.Temperatur Wohnzimmer' und womit wird dieser verbunden?
        Woher bekommst Du die Informationen von 'Wert' (beim ersten aktualisiere 0_userdata...)?
        Der Datenpunkt 'alias.0.Wohnzimmer.Erreichbar Multisensor Wohnzimmer' ist sicherlich ein Boolscher der prüft ob ein anderer Sensor erreichbar ist?
        Was ist das für ein Datenpunkt '0_userdata.0.NSPanel.1.Eigene.Modi.AUTOMATIC' und welche Werte kann dieser annehmen?
        Danke für die Info!
        Liebe Grüße
        Mercy

        T Offline
        T Offline
        Tom_W
        wrote on last edited by Tom_W
        #2249

        @mercyful-0 sagte in SONOFF NSPanel mit Lovelace UI:

        Welchen Typ hat 'alias.0.Wohnzimmer.Temperatur Wohnzimmer' und womit wird dieser verbunden?

        Temperatur Wohnzimmer ist die Temperatur eines Batteriebetriebenen Temperatursensors

        Woher bekommst Du die Informationen von 'Wert' (beim ersten aktualisiere 0_userdata...)?

        In 'Wert' steht ja der Wert des Triggerereignisses. Der erste Trigger macht nichts anderes, als wenn sich der interne Temperaturwert des NS Panel ändert uu diesem 'Wert' ein Offset zu addieren und in einen neuen Wert zu schreiben.
        Das mache ich, da der interne Temperaturfühler bei mir einfach zu weit vom tatsächlichen entfernt ist.

        Der Datenpunkt 'alias.0.Wohnzimmer.Erreichbar Multisensor Wohnzimmer' ist sicherlich ein Boolscher der prüft ob ein anderer Sensor erreichbar ist?

        Richtig, das ist ein boolscher Wert der genau das von dir angegebene macht. Ist der Sensor (wieder mein Batteriebetriebener Temperatursensor) erreichbar, schreibe ich diesen Wert in einen Datenpunkt, ist er nicht erreichbar, dann den errechneten des NSPanel Sensors.
        Das alles macht der zweite Triggerblock

        Was ist das für ein Datenpunkt '0_userdata.0.NSPanel.1.Eigene.Modi.AUTOMATIC' und welche Werte kann dieser annehmen?

        Das ist ein boolscher Wert, ist der false ist die Heizung aus (4. Triggerblock) oder true, dann ist die Heizungsregelung aktiv.
        Also genau der Wert den du mit deiner Hardwaretaste umschalten musst.

        Gruß

        1 Reply Last reply
        0
        • M Mercyful 0

          @tom_w said in SONOFF NSPanel mit Lovelace UI:

          @mercyful-0

          Ich habs nochmal neu rein kopiert, da lief bei copy & paste was schief.

          Ich konnte es importieren.
          Ich habe Fragen zu den Datenpunkten:
          Welchen Typ hat 'alias.0.Wohnzimmer.Temperatur Wohnzimmer' und womit wird dieser verbunden?
          Woher bekommst Du die Informationen von 'Wert' (beim ersten aktualisiere 0_userdata...)?
          Der Datenpunkt 'alias.0.Wohnzimmer.Erreichbar Multisensor Wohnzimmer' ist sicherlich ein Boolscher der prüft ob ein anderer Sensor erreichbar ist?
          Was ist das für ein Datenpunkt '0_userdata.0.NSPanel.1.Eigene.Modi.AUTOMATIC' und welche Werte kann dieser annehmen?
          Danke für die Info!
          Liebe Grüße
          Mercy

          D Offline
          D Offline
          DaPeace
          wrote on last edited by
          #2250

          @mercyful-0 es gibt aber auch einen heat-manager-adapter der genau diese Regelung macht und dabei sogar alle anderen Annehmlichkeiten einer modernen Heizungssteuerung hat (Heizperioden/Partymodus/Urlaubsmodus). Dann braucht es nicht zwingend ein Blocky.

          R 1 Reply Last reply
          0
          • D DaPeace

            @mercyful-0 es gibt aber auch einen heat-manager-adapter der genau diese Regelung macht und dabei sogar alle anderen Annehmlichkeiten einer modernen Heizungssteuerung hat (Heizperioden/Partymodus/Urlaubsmodus). Dann braucht es nicht zwingend ein Blocky.

            R Offline
            R Offline
            ronny130286
            wrote on last edited by
            #2251

            @dapeace

            Den Adapter hatte ich mir damals auch angesehen, ich fand ihn aber für ne FBH mit Erdwärmepumpe, einfach zu umfangreich.
            Da hilft auch das einfache Skript, weil viele Sachen die der Adapter mitbringt nicht benötigt werden.
            Bspw. die FBH ist viel zu träge um auf ein offenes Fenster zu reagieren, Party/Urlaubsmodus wir in der Heizung eingestellt => Heizungsadapter (Nibe, Wolf etc.)

            1 Reply Last reply
            0
            • O Offline
              O Offline
              Oliver Feld
              wrote on last edited by
              #2252

              Hallo,

              brauche mal eure Hilfe:
              Ich bin Anfänger und habe es endlich geschafft das NS Panel einzurichten.

              Bei dem Screensaver habe ich ein kleine Problem:
              Bei der Windgeschwindigkeit wird mir der Wert in m/s umgerechnet angezeigt. Auch wenn im Skript km/h ausgewählt ist. Vom accuwether Adapter wird in den Objekten der Wert in km/h angezeigt.
              Hat Jemand ein Tip für mich wie der Wert in Km/h angezeigt wird?

              T 1 Reply Last reply
              0
              • O Oliver Feld

                Hallo,

                brauche mal eure Hilfe:
                Ich bin Anfänger und habe es endlich geschafft das NS Panel einzurichten.

                Bei dem Screensaver habe ich ein kleine Problem:
                Bei der Windgeschwindigkeit wird mir der Wert in m/s umgerechnet angezeigt. Auch wenn im Skript km/h ausgewählt ist. Vom accuwether Adapter wird in den Objekten der Wert in km/h angezeigt.
                Hat Jemand ein Tip für mich wie der Wert in Km/h angezeigt wird?

                T Offline
                T Offline
                TT-Tom
                wrote on last edited by
                #2253

                @oliver-feld

                secondScreensaverEntity:  { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', 
                                                ScreensaverEntityFactor: 1,                       //New
                                                ScreensaverEntityDecimalPlaces: 1,                          //New Anzahl Kommastellen
                                                ScreensaverEntityIcon: 'weather-windy', 
                                                ScreensaverEntityText: "Wind", 
                                                ScreensaverEntityUnitText: 'km/h', 
                                                ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35} // val_max anpassen, ab wann Icon Rot sein soll
                                              },
                

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

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

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

                R 1 Reply Last reply
                0
                • T TT-Tom

                  @oliver-feld

                  secondScreensaverEntity:  { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', 
                                                  ScreensaverEntityFactor: 1,                       //New
                                                  ScreensaverEntityDecimalPlaces: 1,                          //New Anzahl Kommastellen
                                                  ScreensaverEntityIcon: 'weather-windy', 
                                                  ScreensaverEntityText: "Wind", 
                                                  ScreensaverEntityUnitText: 'km/h', 
                                                  ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35} // val_max anpassen, ab wann Icon Rot sein soll
                                                },
                  
                  R Offline
                  R Offline
                  ronny130286
                  wrote on last edited by ronny130286
                  #2254

                  @TT-Tom @oliver-feld

                  du musst dann aber auch die min max anpassen, weil mit max 35km/h kann man wenig anfangen 😉

                  ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35}
                  

                  @Armilar
                  Heute wurde Tasmota 1.2.4.0 released => das Panel zeigt die Popupmessage auch an aber drückt man auf ja wird wird das update nicht getriggert auch im Debugmodus sieht man das die Funktion für das Update nicht gestartet wird . Ist das gewollt? Ich war der Meinung das ging schon mal.

                  EDIT: habs gefunden => manually_Update muss true sein, aber ist das so richtig? Weil es ist ein manuelles Update, wenn ich noch die Wahl zwischen ja und nein habe und es mit Ja betätige, müsste er doch trotzdem ein Update machen oder nicht?

                  on({ id: NSPanel_Path + 'popupNotify.popupNotifyAction', change: 'any' }, async function (obj) {
                      try {
                          const val = obj.state ? obj.state.val : false;
                          if (!val) {
                              manually_Update = false;
                              if (Debug) {
                                  console.log('Es wurde Button1 gedrückt');
                              }
                          } else if (val) {
                              
                              if (manually_Update) { => Entfernen?
                                  const internalName = getState(NSPanel_Path + 'popupNotify.popupNotifyInternalName').val;
                  
                                  if (internalName == 'TasmotaFirmwareUpdate') {
                                      update_tasmota_firmware();
                                  } else if (internalName == 'BerryDriverUpdate') {
                                      update_berry_driver_version();
                                  } else if (internalName == 'TFTFirmwareUpdate') {
                                      update_tft_firmware();
                                  }
                              }
                              if (Debug) {
                                  console.log('Es wurde Button2 gedrückt');
                              }
                          }
                      } catch (err) {
                          console.warn('Trigger popupNotifyAction: ' + err.message);
                      }
                  });
                  

                  @Armilar
                  EDIT2:
                  Ich hab jetzt das manuelly_Update mal komplett aus dem Skript entfernt und prüfen einfach nur im im internalName das Word Update steht.

                  on({ id: NSPanel_Path + 'popupNotify.popupNotifyAction', change: 'any' }, async function (obj) {
                      try {
                          const val = obj.state ? obj.state.val : false;
                          if (!val) {
                              if (Debug) {
                                  console.log('Es wurde Button1 gedrückt');
                              }
                          } else if (val) {
                              
                              const internalName: string = getState(NSPanel_Path + 'popupNotify.popupNotifyInternalName').val;
                              if (internalName.includes('Update')) {
                                  if (internalName == 'TasmotaFirmwareUpdate') {
                                      update_tasmota_firmware();
                                  } else if (internalName == 'BerryDriverUpdate') {
                                      update_berry_driver_version();
                                  } else if (internalName == 'TFTFirmwareUpdate') {
                                      update_tft_firmware();
                                  }
                              }
                              if (Debug) {
                                  console.log('Es wurde Button2 gedrückt');
                              }
                          }
                      } catch (err) {
                          console.warn('Trigger popupNotifyAction: ' + err.message);
                      }
                  });
                  
                  O ArmilarA 2 Replies Last reply
                  1
                  • R ronny130286

                    @TT-Tom @oliver-feld

                    du musst dann aber auch die min max anpassen, weil mit max 35km/h kann man wenig anfangen 😉

                    ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35}
                    

                    @Armilar
                    Heute wurde Tasmota 1.2.4.0 released => das Panel zeigt die Popupmessage auch an aber drückt man auf ja wird wird das update nicht getriggert auch im Debugmodus sieht man das die Funktion für das Update nicht gestartet wird . Ist das gewollt? Ich war der Meinung das ging schon mal.

                    EDIT: habs gefunden => manually_Update muss true sein, aber ist das so richtig? Weil es ist ein manuelles Update, wenn ich noch die Wahl zwischen ja und nein habe und es mit Ja betätige, müsste er doch trotzdem ein Update machen oder nicht?

                    on({ id: NSPanel_Path + 'popupNotify.popupNotifyAction', change: 'any' }, async function (obj) {
                        try {
                            const val = obj.state ? obj.state.val : false;
                            if (!val) {
                                manually_Update = false;
                                if (Debug) {
                                    console.log('Es wurde Button1 gedrückt');
                                }
                            } else if (val) {
                                
                                if (manually_Update) { => Entfernen?
                                    const internalName = getState(NSPanel_Path + 'popupNotify.popupNotifyInternalName').val;
                    
                                    if (internalName == 'TasmotaFirmwareUpdate') {
                                        update_tasmota_firmware();
                                    } else if (internalName == 'BerryDriverUpdate') {
                                        update_berry_driver_version();
                                    } else if (internalName == 'TFTFirmwareUpdate') {
                                        update_tft_firmware();
                                    }
                                }
                                if (Debug) {
                                    console.log('Es wurde Button2 gedrückt');
                                }
                            }
                        } catch (err) {
                            console.warn('Trigger popupNotifyAction: ' + err.message);
                        }
                    });
                    

                    @Armilar
                    EDIT2:
                    Ich hab jetzt das manuelly_Update mal komplett aus dem Skript entfernt und prüfen einfach nur im im internalName das Word Update steht.

                    on({ id: NSPanel_Path + 'popupNotify.popupNotifyAction', change: 'any' }, async function (obj) {
                        try {
                            const val = obj.state ? obj.state.val : false;
                            if (!val) {
                                if (Debug) {
                                    console.log('Es wurde Button1 gedrückt');
                                }
                            } else if (val) {
                                
                                const internalName: string = getState(NSPanel_Path + 'popupNotify.popupNotifyInternalName').val;
                                if (internalName.includes('Update')) {
                                    if (internalName == 'TasmotaFirmwareUpdate') {
                                        update_tasmota_firmware();
                                    } else if (internalName == 'BerryDriverUpdate') {
                                        update_berry_driver_version();
                                    } else if (internalName == 'TFTFirmwareUpdate') {
                                        update_tft_firmware();
                                    }
                                }
                                if (Debug) {
                                    console.log('Es wurde Button2 gedrückt');
                                }
                            }
                        } catch (err) {
                            console.warn('Trigger popupNotifyAction: ' + err.message);
                        }
                    });
                    
                    O Offline
                    O Offline
                    Oliver Feld
                    wrote on last edited by
                    #2255

                    @ronny130286
                    So sieht es bei mir aus, müsste doch passen oder?

                    secondScreensaverEntity:  { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', 
                                                    ScreensaverEntityFactor: (1000/3600),                       //New
                                                    ScreensaverEntityDecimalPlaces: 1,                          //New 
                                                    ScreensaverEntityIcon: 'weather-windy', 
                                                    ScreensaverEntityText: "Wind", 
                                                    ScreensaverEntityUnitText: 'Km/h', 
                                                    ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 90}
                    

                    IMG_4144.jpeg

                    R 1 Reply Last reply
                    0
                    • O Oliver Feld

                      @ronny130286
                      So sieht es bei mir aus, müsste doch passen oder?

                      secondScreensaverEntity:  { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', 
                                                      ScreensaverEntityFactor: (1000/3600),                       //New
                                                      ScreensaverEntityDecimalPlaces: 1,                          //New 
                                                      ScreensaverEntityIcon: 'weather-windy', 
                                                      ScreensaverEntityText: "Wind", 
                                                      ScreensaverEntityUnitText: 'Km/h', 
                                                      ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 90}
                      

                      IMG_4144.jpeg

                      R Offline
                      R Offline
                      ronny130286
                      wrote on last edited by ronny130286
                      #2256

                      @oliver-feld

                       ScreensaverEntityFactor: (1000/3600),                       //New
                      

                      Das muss auf 1 stehen nicht auf 1000/3600 => das wäre die Umrechnung in m/s

                       ScreensaverEntityFactor: 1,                       //New
                      
                      O 1 Reply Last reply
                      0
                      • R ronny130286

                        @oliver-feld

                         ScreensaverEntityFactor: (1000/3600),                       //New
                        

                        Das muss auf 1 stehen nicht auf 1000/3600 => das wäre die Umrechnung in m/s

                         ScreensaverEntityFactor: 1,                       //New
                        
                        O Offline
                        O Offline
                        Oliver Feld
                        wrote on last edited by
                        #2257

                        @ronny130286
                        Danke! Das wars 🙂

                        1 Reply Last reply
                        0
                        • R ronny130286

                          @TT-Tom @oliver-feld

                          du musst dann aber auch die min max anpassen, weil mit max 35km/h kann man wenig anfangen 😉

                          ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35}
                          

                          @Armilar
                          Heute wurde Tasmota 1.2.4.0 released => das Panel zeigt die Popupmessage auch an aber drückt man auf ja wird wird das update nicht getriggert auch im Debugmodus sieht man das die Funktion für das Update nicht gestartet wird . Ist das gewollt? Ich war der Meinung das ging schon mal.

                          EDIT: habs gefunden => manually_Update muss true sein, aber ist das so richtig? Weil es ist ein manuelles Update, wenn ich noch die Wahl zwischen ja und nein habe und es mit Ja betätige, müsste er doch trotzdem ein Update machen oder nicht?

                          on({ id: NSPanel_Path + 'popupNotify.popupNotifyAction', change: 'any' }, async function (obj) {
                              try {
                                  const val = obj.state ? obj.state.val : false;
                                  if (!val) {
                                      manually_Update = false;
                                      if (Debug) {
                                          console.log('Es wurde Button1 gedrückt');
                                      }
                                  } else if (val) {
                                      
                                      if (manually_Update) { => Entfernen?
                                          const internalName = getState(NSPanel_Path + 'popupNotify.popupNotifyInternalName').val;
                          
                                          if (internalName == 'TasmotaFirmwareUpdate') {
                                              update_tasmota_firmware();
                                          } else if (internalName == 'BerryDriverUpdate') {
                                              update_berry_driver_version();
                                          } else if (internalName == 'TFTFirmwareUpdate') {
                                              update_tft_firmware();
                                          }
                                      }
                                      if (Debug) {
                                          console.log('Es wurde Button2 gedrückt');
                                      }
                                  }
                              } catch (err) {
                                  console.warn('Trigger popupNotifyAction: ' + err.message);
                              }
                          });
                          

                          @Armilar
                          EDIT2:
                          Ich hab jetzt das manuelly_Update mal komplett aus dem Skript entfernt und prüfen einfach nur im im internalName das Word Update steht.

                          on({ id: NSPanel_Path + 'popupNotify.popupNotifyAction', change: 'any' }, async function (obj) {
                              try {
                                  const val = obj.state ? obj.state.val : false;
                                  if (!val) {
                                      if (Debug) {
                                          console.log('Es wurde Button1 gedrückt');
                                      }
                                  } else if (val) {
                                      
                                      const internalName: string = getState(NSPanel_Path + 'popupNotify.popupNotifyInternalName').val;
                                      if (internalName.includes('Update')) {
                                          if (internalName == 'TasmotaFirmwareUpdate') {
                                              update_tasmota_firmware();
                                          } else if (internalName == 'BerryDriverUpdate') {
                                              update_berry_driver_version();
                                          } else if (internalName == 'TFTFirmwareUpdate') {
                                              update_tft_firmware();
                                          }
                                      }
                                      if (Debug) {
                                          console.log('Es wurde Button2 gedrückt');
                                      }
                                  }
                              } catch (err) {
                                  console.warn('Trigger popupNotifyAction: ' + err.message);
                              }
                          });
                          
                          ArmilarA Offline
                          ArmilarA Offline
                          Armilar
                          Most Active Forum Testing
                          wrote on last edited by
                          #2258

                          @ronny130286

                          Hab es schon bemerkt. Das muss eigentlich auch gar nicht mehr eingeblendet werden, da die Funktionen auch über das Servicemenü ermöglicht 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.

                          R 1 Reply Last reply
                          0
                          • ArmilarA Armilar

                            @ronny130286

                            Hab es schon bemerkt. Das muss eigentlich auch gar nicht mehr eingeblendet werden, da die Funktionen auch über das Servicemenü ermöglicht werden.

                            R Offline
                            R Offline
                            ronny130286
                            wrote on last edited by
                            #2259

                            @armilar
                            Also das es angezeigt wird finde ich gut, da man ansonsten keinerlei Hinweis hat das es ein Update gibt, aber er sollte dann auch updaten wenn man ja drückt 😉
                            Ich hab die Funktion wie oben ersetzt, somit kann man ja nein nutzen und zusätzlich kann man es auch im Servicemenu updaten, sofern man Autoupdate aus lässt.

                            ArmilarA 1 Reply Last reply
                            1
                            • R ronny130286

                              @armilar
                              Also das es angezeigt wird finde ich gut, da man ansonsten keinerlei Hinweis hat das es ein Update gibt, aber er sollte dann auch updaten wenn man ja drückt 😉
                              Ich hab die Funktion wie oben ersetzt, somit kann man ja nein nutzen und zusätzlich kann man es auch im Servicemenu updaten, sofern man Autoupdate aus lässt.

                              ArmilarA Offline
                              ArmilarA Offline
                              Armilar
                              Most Active Forum Testing
                              wrote on last edited by
                              #2260

                              @ronny130286

                              werde es nachher mal kurz übernehmen

                              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 Reply Last reply
                              0
                              • ArmilarA Armilar

                                @bembelstemmer sagte in SONOFF NSPanel mit Lovelace UI:

                                Wegen der negativen Labels habe ich nochmal mit einem komplett neuen 3.9.0.4 Script gestartet um Fehler von mir auszuschließen und dein Beispiel verwendet.
                                Der Graph zeigt die Kurve absolut korrekt. Auch die Minus Werte. Nur Labels an der Y-Achse mit 0 oder kleiner fehlen weiterhin.
                                Über den Debug sehe ich, dass die Werte zumindest so geschickt werden wie eingetragen.

                                Bitte kurz einen Issue an @fumanchi im Github dazu anlegen. Wenn es korrekt an die HMI übertragen wird, d.h. auch im PageItem korrekt definiert ist, dann ist es ein Verarbeitungsfehler in der Nextion HMI.

                                Und ich habe noch etwas zur Card Power, da sie ja jetzt nicht mehr flackert. Im Github Wiki zeigt das beispiel noch, dass man "direction" mit "in" oder "out" setzen soll, was aber gar nicht mehr ausgewertet wird im Script.
                                Dein Hinweis mit den Speeds war super. Habe es dann in der HMI Doku gefunden.
                                Kann/soll/darf man zum Projekt contributen? Dann könnte ich die Beispiele ggf. aktualisieren und ich würde auch gerne helfen die Squeezeboxrpc Unterstützung zu verbessen falls das nicht bei jemandem schon lokal in der Mache ist.

                                Liebend gerne 😊
                                Gerade die Squeezebocrpc schreibe ich immer ohne das ich sie testen kann (Habe keine Squeezebox). Wäre natürlich Klasse, wenn wir jetzt einen Squeezebox User hätten. Also tobe dich da ruhig aus. Bislang ist da keiner am rumfeilen...

                                Letzte Frage 🙊
                                Ich habe sowohl EU als auch US Panels im Einsatz. Wenn ich bei der CardPower den gleichen Datenpunkt verwende, ist die Animation der Punkte beim US Portrait exakt entgegengesetzt zum EU Panel (US Landscape habe ich noch nicht getestet). Beide habe ich nach deinen Hinweisen nochmal jeweils mit der expliziten 3.9.0 geflashed.
                                Von meinem Verständnis wäre das eher was für's HMI, da der TS/JS Code identisch ist und somit ein Github Issue oder?

                                Stimmt, den kannst du dann an @joBr99 adressieren.

                                bembelstemmerB Online
                                bembelstemmerB Online
                                bembelstemmer
                                wrote on last edited by
                                #2261

                                @armilar
                                Hi,
                                hat einen Moment gedauert mich in die Struktur des TypeScripts einzuarbeiten aber langsam komme ich voran.
                                Ich habe eine erste Variante mit Squeezeboxrpc Unterstützung die bei mir soweit ganz gut funktioniert. Man kann die Speaker wechseln, die Favoriten Playlists auswählen, autoCreateAlias funktioniert, etc.
                                Das war bisher nicht möglich.
                                Allerdings musste ich für die Auswahl der Speaker leider recht große Anpassungen machen, da die Struktur einfach so verschieden ist zu den anderen Adaptern.

                                Hier der letzte große Commit in meinem Branch im Fork Repo:
                                https://github.com/bembelstemmer/nspanel-lovelace-ui/commit/5a2a95a7f7d0d6aa70589550484b6e423bba6c71
                                Wenn du willst, kannst du gerne mal drüber schauen. Wollte nicht einfach nen Pull-Request aufmachen, da das schon ne größere Anpassung ist und ich nicht sicher bin ob das so alles ins Konzept passt.
                                Zudem kann ich nicht testen ob ich die anderen Media Adapter vielleicht kaputt gemacht habe 🙈

                                Also gerne Kommentare oder so wie ich am besten vorgehen soll.

                                VG

                                ArmilarA 2 Replies Last reply
                                1
                                • bembelstemmerB bembelstemmer

                                  @armilar
                                  Hi,
                                  hat einen Moment gedauert mich in die Struktur des TypeScripts einzuarbeiten aber langsam komme ich voran.
                                  Ich habe eine erste Variante mit Squeezeboxrpc Unterstützung die bei mir soweit ganz gut funktioniert. Man kann die Speaker wechseln, die Favoriten Playlists auswählen, autoCreateAlias funktioniert, etc.
                                  Das war bisher nicht möglich.
                                  Allerdings musste ich für die Auswahl der Speaker leider recht große Anpassungen machen, da die Struktur einfach so verschieden ist zu den anderen Adaptern.

                                  Hier der letzte große Commit in meinem Branch im Fork Repo:
                                  https://github.com/bembelstemmer/nspanel-lovelace-ui/commit/5a2a95a7f7d0d6aa70589550484b6e423bba6c71
                                  Wenn du willst, kannst du gerne mal drüber schauen. Wollte nicht einfach nen Pull-Request aufmachen, da das schon ne größere Anpassung ist und ich nicht sicher bin ob das so alles ins Konzept passt.
                                  Zudem kann ich nicht testen ob ich die anderen Media Adapter vielleicht kaputt gemacht habe 🙈

                                  Also gerne Kommentare oder so wie ich am besten vorgehen soll.

                                  VG

                                  ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  wrote on last edited by
                                  #2262

                                  @bembelstemmer

                                  Top, bekommen wir schon alle unter einen Hut. Ich teste übers Wochenende mal die anderen Adapter.

                                  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 Reply Last reply
                                  0
                                  • O Offline
                                    O Offline
                                    Oliver Feld
                                    wrote on last edited by
                                    #2263

                                    Ich hänge beim Wlan QR-Code fest...

                                    Ich habe folgendes im Skript:

                                    let Test_WLAN = <PageQR> 
                                    {
                                        "type": "cardQR",
                                        "heading": "Deine Überschrift",
                                        "useColor": true,
                                        "subPage": false,
                                        "parent": undefined,
                                        "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }] // Beispiel
                                    };
                                    

                                    Wenn ich diese Seite jetzt als erste Position bei den Seiten eintrage startet das Panel nicht (warten auf content).

                                    Wenn ich diese Seite auf Position 2 setzte ruft er die Seite nicht auf.

                                    Folgende Fehlermeldung kommen:

                                    09:56:38.070	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Object "alias.0.NSPanel_1.Guest_Wifi" does not exist
                                    09:56:38.073	warn	javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67)
                                    09:56:38.073	warn	javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29)
                                    09:56:38.073	warn	javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21)
                                    09:56:38.074	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25)
                                    09:56:38.074	warn	javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23)
                                    09:56:38.074	warn	javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53)
                                    09:56:38.074	warn	javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71
                                    09:56:38.075	warn	javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12)
                                    09:56:38.075	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12)
                                    09:56:38.076	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split')
                                    09:56:38.077	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                    

                                    Gruß Olli

                                    ArmilarA T 2 Replies Last reply
                                    0
                                    • O Oliver Feld

                                      Ich hänge beim Wlan QR-Code fest...

                                      Ich habe folgendes im Skript:

                                      let Test_WLAN = <PageQR> 
                                      {
                                          "type": "cardQR",
                                          "heading": "Deine Überschrift",
                                          "useColor": true,
                                          "subPage": false,
                                          "parent": undefined,
                                          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }] // Beispiel
                                      };
                                      

                                      Wenn ich diese Seite jetzt als erste Position bei den Seiten eintrage startet das Panel nicht (warten auf content).

                                      Wenn ich diese Seite auf Position 2 setzte ruft er die Seite nicht auf.

                                      Folgende Fehlermeldung kommen:

                                      09:56:38.070	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Object "alias.0.NSPanel_1.Guest_Wifi" does not exist
                                      09:56:38.073	warn	javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67)
                                      09:56:38.073	warn	javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29)
                                      09:56:38.073	warn	javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21)
                                      09:56:38.074	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25)
                                      09:56:38.074	warn	javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23)
                                      09:56:38.074	warn	javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53)
                                      09:56:38.074	warn	javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71
                                      09:56:38.075	warn	javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12)
                                      09:56:38.075	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12)
                                      09:56:38.076	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split')
                                      09:56:38.077	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                      

                                      Gruß Olli

                                      ArmilarA Offline
                                      ArmilarA Offline
                                      Armilar
                                      Most Active Forum Testing
                                      wrote on last edited by
                                      #2264

                                      @oliver-feld

                                      In der ersten Zeile der Warnungen steht bereits die Lösung 😉

                                      Der Alias aus dem PageItem existiert nicht...

                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#5-qr-code-page

                                      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.

                                      O 1 Reply Last reply
                                      1
                                      • ArmilarA Armilar

                                        @oliver-feld

                                        In der ersten Zeile der Warnungen steht bereits die Lösung 😉

                                        Der Alias aus dem PageItem existiert nicht...

                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#5-qr-code-page

                                        O Offline
                                        O Offline
                                        Oliver Feld
                                        wrote on last edited by
                                        #2265

                                        @armilar
                                        Stimmt, aber auch mit dem Alias will das irgendwie nicht:

                                        0:08:49.232	info	javascript.0 (970) Stop script script.js.NSPanels.NSPanel_Wohnzimmer
                                        10:08:49.885	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: compiling TypeScript source...
                                        10:08:55.586	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: TypeScript compilation successful
                                        10:08:55.736	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Wetter-Alias für accuweather.0. existiert bereits
                                        10:08:55.775	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: registered 31 subscriptions, 7 schedules, 0 messages, 0 logs and 0 file subscriptions
                                        10:08:56.953	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Desired TFT Firmware: 49 / v3.9.0
                                        10:08:56.953	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Installed TFT Firmware: 49 / v3.9.0
                                        10:09:12.027	info	javascript.0 (970) Stop script script.js.NSPanels.NSPanel_Wohnzimmer
                                        10:09:12.606	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: compiling TypeScript source...
                                        10:09:17.648	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: TypeScript compilation successful
                                        10:09:17.783	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Wetter-Alias für accuweather.0. existiert bereits
                                        10:09:17.812	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: registered 31 subscriptions, 7 schedules, 0 messages, 0 logs and 0 file subscriptions
                                        10:09:19.012	warn	javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67)
                                        10:09:19.012	warn	javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29)
                                        10:09:19.013	warn	javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21)
                                        10:09:19.013	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25)
                                        10:09:19.013	warn	javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23)
                                        10:09:19.014	warn	javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53)
                                        10:09:19.014	warn	javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71
                                        10:09:19.014	warn	javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12)
                                        10:09:19.015	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12)
                                        10:09:19.021	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split')
                                        10:09:19.021	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                        10:09:19.104	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Desired TFT Firmware: 49 / v3.9.0
                                        10:09:19.105	info	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Installed TFT Firmware: 49 / v3.9.0
                                        10:09:23.974	warn	javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67)
                                        10:09:23.974	warn	javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29)
                                        10:09:23.975	warn	javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21)
                                        10:09:23.975	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25)
                                        10:09:23.975	warn	javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23)
                                        10:09:23.975	warn	javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53)
                                        10:09:23.976	warn	javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71
                                        10:09:23.976	warn	javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12)
                                        10:09:23.977	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12)
                                        10:09:23.979	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split')
                                        10:09:23.979	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                        10:09:29.983	warn	javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67)
                                        10:09:29.983	warn	javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29)
                                        10:09:29.984	warn	javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21)
                                        10:09:29.984	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25)
                                        10:09:29.985	warn	javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23)
                                        10:09:29.986	warn	javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53)
                                        10:09:29.986	warn	javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71
                                        10:09:29.987	warn	javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12)
                                        10:09:29.988	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12)
                                        10:09:29.991	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split')
                                        10:09:29.992	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                        10:09:36.312	warn	javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67)
                                        10:09:36.313	warn	javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29)
                                        10:09:36.313	warn	javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21)
                                        10:09:36.313	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25)
                                        10:09:36.314	warn	javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23)
                                        10:09:36.314	warn	javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53)
                                        10:09:36.314	warn	javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71
                                        10:09:36.314	warn	javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12)
                                        10:09:36.315	warn	javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12)
                                        10:09:36.316	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split')
                                        10:09:36.316	warn	javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                        

                                        Das wäre der angelegte Datenpunkt. ist der so ok?

                                        {
                                          "common": {
                                            "name": "WIFI:T:WPA;S:Gastzugang;P:47110815;H:;",
                                            "desc": "Manuell erzeugt",
                                            "role": "state",
                                            "type": "string",
                                            "read": true,
                                            "write": true,
                                            "def": ""
                                          },
                                          "type": "state",
                                          "native": {},
                                          "from": "system.adapter.admin.0",
                                          "user": "system.user.admin",
                                          "ts": 1676681985024,
                                          "_id": "0_userdata.0.WIFI:T:WPA_S:Gastzugang_P:47110815_H:_"
                                        
                                        1 Reply Last reply
                                        0
                                        • ArmilarA Offline
                                          ArmilarA Offline
                                          Armilar
                                          Most Active Forum Testing
                                          wrote on last edited by Armilar
                                          #2266

                                          @oliver-feld

                                          nein

                                          Nicht der Name des Datenpunktes muss so heißen, sondern der Inhalt.

                                          Lege dir mal einen Datenpunkt (string) unter 0_userdata an. Name GuestWifi oder ähnlich.

                                          705fecd5-4c1d-4889-8939-1de6fc6678f1-image.png

                                          Da kommt dann der Inhalt WIFI:T:WPA..... rein

                                          Auf den DP GuestWifi legst du dann den Info Alias und trägst diesen ALIAS in den PageItem ein

                                          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.

                                          O 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          445

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe