Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

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

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

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.7m Aufrufe 254 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ArmilarA Armilar

    @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

    @armilar
    Merci für die Unterstützung! Ich bin einfach kein Entwickler, merk ich. Danke deswegen für die Unterstützung!

    Was bleibt ist das Phänomen mit der Sprache. Im Wetterforecast werden die Wochentage auch Englisch angezeigt.

    Hast du da noch irgendwelche Erleuchtungen?
    Danke und Grüße
    Bastian

    Was ist denn das für ein System?

    C Offline
    C Offline
    chiob314
    schrieb am zuletzt editiert von
    #346

    @armilar ubuntu 20.04, tagesaktuell gepatcht

    ArmilarA 1 Antwort Letzte Antwort
    0
    • ArmilarA Armilar

      @nevermind sagte in SONOFF NSPanel mit Lovelace UI:

      @armilar

      Danke :)

      Haut aber noch nicht ganz hin. Es nimmt immer die Farbe von fourthScreensaverEntity und zeigt diese bei firstScreensaverEntity an. D.h. 2-4 sind weiterhin ohne Farbe.

      Was soll ich sagen: Bugfixing und gleichzeitig Essen ;-)

      Jetzt sollte es passen:

      function HandleScreensaverUpdate(): void {
          try {
              if (screensaverEnabled && config.weatherEntity != null && existsObject(config.weatherEntity)) {
                  var icon = getState(config.weatherEntity + '.ICON').val;
      
                  let temperature =
                      existsState(config.weatherEntity + '.ACTUAL') ? getState(config.weatherEntity + '.ACTUAL').val :
                          existsState(config.weatherEntity + '.TEMP') ? getState(config.weatherEntity + '.TEMP').val : 'null';
      
                  if (config.alternativeScreensaverLayout) {
                      temperature = parseInt(Math.round(temperature).toFixed());
                  }
      
                  let payloadString =
                      'weatherUpdate~' + Icons.GetIcon(GetAccuWeatherIcon(parseInt(icon))) + '~'
                      + temperature + ' ' + config.temperatureUnit + '~';
      
                  vwIconColor[0] = GetAccuWeatherIconColor(parseInt(icon));
                  if (Debug) console.log(GetAccuWeatherIconColor(parseInt(icon)));
      
                  if (weatherForecast) {
                      // Accu-Weather Forecast Tag 2 - Tag 5 -- Wenn weatherForecast = true
                      for (let i = 2; i < 6; i++) {
                          let TempMax = getState('accuweather.0.Summary.TempMax_d' + i).val;
                          let DayOfWeek = getState('accuweather.0.Summary.DayOfWeek_d' + i).val;
                          let WeatherIcon = GetAccuWeatherIcon(getState('accuweather.0.Summary.WeatherIcon_d' + i).val);
                          vwIconColor[i-1] = GetAccuWeatherIconColor(getState('accuweather.0.Summary.WeatherIcon_d' + i).val);
                          if (Debug) console.log(vwIconColor[i-1]);
                          payloadString += DayOfWeek + '~' + Icons.GetIcon(WeatherIcon) + '~' + TempMax + ' ' + config.temperatureUnit + '~';
                      }
                  } else {
                      payloadString += GetScreenSaverEntityString(config.firstScreensaverEntity);
                      payloadString += GetScreenSaverEntityString(config.secondScreensaverEntity);
                      payloadString += GetScreenSaverEntityString(config.thirdScreensaverEntity);
                      payloadString += GetScreenSaverEntityString(config.fourthScreensaverEntity);
                      
                      const colorScale0:  RGB = { red:   99, green: 190, blue: 123 };
                      const colorScale1:  RGB = { red:  129, green: 199, blue: 126 };
                      const colorScale2:  RGB = { red:  161, green: 208, blue: 127 };
                      const colorScale3:  RGB = { red:  129, green: 217, blue: 126 };
                      const colorScale4:  RGB = { red:  222, green: 226, blue: 131 };
                      const colorScale5:  RGB = { red:  254, green: 235, blue: 132 };
                      const colorScale6:  RGB = { red:  255, green: 210, blue: 129 };
                      const colorScale7:  RGB = { red:  251, green: 185, blue: 124 };
                      const colorScale8:  RGB = { red:  251, green: 158, blue: 117 };
                      const colorScale9:  RGB = { red:  248, green: 131, blue: 111 };
                      const colorScale10: RGB = { red:  248, green: 105, blue: 107 };
      
                      if (config.firstScreensaverEntity.ScreensaverEntityIconColor != undefined) {
                          if (typeof getState(config.firstScreensaverEntity.ScreensaverEntity).val == 'boolean') {
                              vwIconColor[1] = (getState(config.firstScreensaverEntity.ScreensaverEntity).val == true) ? rgb_dec565(colorScale10) : rgb_dec565(colorScale0);
                          } else if (typeof config.firstScreensaverEntity.ScreensaverEntityIconColor == 'object') {
                              let iconvalmin = (config.firstScreensaverEntity.ScreensaverEntityIconColor.val_min != undefined) ? config.firstScreensaverEntity.ScreensaverEntityIconColor.val_min : 0 ;
                              let iconvalmax = (config.firstScreensaverEntity.ScreensaverEntityIconColor.val_max != undefined) ? config.firstScreensaverEntity.ScreensaverEntityIconColor.val_max : 100 ;
                              let iconvalbest = (config.firstScreensaverEntity.ScreensaverEntityIconColor.val_best != undefined) ? config.firstScreensaverEntity.ScreensaverEntityIconColor.val_best : iconvalmin ;
                              let valueScale = getState(config.firstScreensaverEntity.ScreensaverEntity).val;
      
                              if (iconvalmin == 0 && iconvalmax == 1) {
                                  vwIconColor[1] = (getState(config.firstScreensaverEntity.ScreensaverEntity).val == 1) ? rgb_dec565(colorScale0) : rgb_dec565(colorScale10);
                              } else {
                                  if (iconvalbest == iconvalmin) {
                                      valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0)
                                  } else {
                                      if (valueScale < iconvalbest) {
                                          valueScale = scale(valueScale,iconvalmin, iconvalbest, 0, 10)    
                                      } else if (valueScale > iconvalbest || iconvalbest != iconvalmin) {
                                          valueScale = scale(valueScale,iconvalbest, iconvalmax, 10, 0)    
                                      } else {
                                        valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0)  
                                      }
                                  }
                                  let valueScaletemp = (Math.round(valueScale)).toFixed(); 
                                  if (Debug) console.log(valueScaletemp);
                                  switch (valueScaletemp) {
                                      case '0':
                                          vwIconColor[1] = rgb_dec565(colorScale0);
                                          break;
                                      case '1':
                                          vwIconColor[1] = rgb_dec565(colorScale1);
                                          break;
                                      case '2':
                                          vwIconColor[1] = rgb_dec565(colorScale2);
                                          break;
                                      case '3':
                                          vwIconColor[1] = rgb_dec565(colorScale3);
                                          break;
                                      case '4':
                                          vwIconColor[1] = rgb_dec565(colorScale4);
                                          break;
                                      case '5':
                                          vwIconColor[1] = rgb_dec565(colorScale5);
                                          break;
                                      case '6':
                                          vwIconColor[1] = rgb_dec565(colorScale6);
                                          break;
                                      case '7':
                                          vwIconColor[1] = rgb_dec565(colorScale7);
                                          break;                                 
                                      case '8':
                                          vwIconColor[1] = rgb_dec565(colorScale8);
                                          break;
                                      case '9':
                                          vwIconColor[1] = rgb_dec565(colorScale9);
                                          break;
                                      case '10':
                                          vwIconColor[1] = rgb_dec565(colorScale10);
                                          break;
                                  } 
                              }
                              if (config.firstScreensaverEntity.ScreensaverEntityIconColor.val_min == undefined) {
                                  vwIconColor[1] = rgb_dec565(config.firstScreensaverEntity.ScreensaverEntityIconColor);
                              }
                          } else {
                              vwIconColor[1] = rgb_dec565(sctF1Icon);
                          }
                      } else {
                          vwIconColor[1] = rgb_dec565(sctF1Icon);    
                      }
      
                      if (config.secondScreensaverEntity.ScreensaverEntityIconColor != undefined) {
                          if (typeof getState(config.secondScreensaverEntity.ScreensaverEntity).val == 'boolean') {
                              vwIconColor[2] = (getState(config.secondScreensaverEntity.ScreensaverEntity).val == true) ? rgb_dec565(colorScale10) : rgb_dec565(colorScale0);
                          } else if (typeof config.secondScreensaverEntity.ScreensaverEntityIconColor == 'object') {
      
                              let iconvalmin = (config.secondScreensaverEntity.ScreensaverEntityIconColor.val_min != undefined) ? config.secondScreensaverEntity.ScreensaverEntityIconColor.val_min : 0 ;
                              let iconvalmax = (config.secondScreensaverEntity.ScreensaverEntityIconColor.val_max != undefined) ? config.secondScreensaverEntity.ScreensaverEntityIconColor.val_max : 100 ;
                              let iconvalbest = (config.secondScreensaverEntity.ScreensaverEntityIconColor.val_best != undefined) ? config.secondScreensaverEntity.ScreensaverEntityIconColor.val_best : iconvalmin ;
                              let valueScale = getState(config.secondScreensaverEntity.ScreensaverEntity).val;
      
                              if (iconvalmin == 0 && iconvalmax == 1) {
                                  vwIconColor[2] = (getState(config.secondScreensaverEntity.ScreensaverEntity).val == 1) ? rgb_dec565(colorScale0) : rgb_dec565(colorScale10);
                              } else {
                                  if (iconvalbest == iconvalmin) {
                                      valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0)
                                  } else {
                                      if (valueScale < iconvalbest) {
                                          valueScale = scale(valueScale,iconvalmin, iconvalbest, 0, 10)    
                                      } else if (valueScale > iconvalbest || iconvalbest != iconvalmin) {
                                          valueScale = scale(valueScale,iconvalbest, iconvalmax, 10, 0)    
                                      } else {
                                        valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0)  
                                      }
                                  }
                                  let valueScaletemp = (Math.round(valueScale)).toFixed(); 
                                  if (Debug) console.log(valueScaletemp);
                                  switch (valueScaletemp) {
                                      case '0':
                                          vwIconColor[2] = rgb_dec565(colorScale0);
                                          break;
                                      case '1':
                                          vwIconColor[2] = rgb_dec565(colorScale1);
                                          break;
                                      case '2':
                                          vwIconColor[2] = rgb_dec565(colorScale2);
                                          break;
                                      case '3':
                                          vwIconColor[2] = rgb_dec565(colorScale3);
                                          break;
                                      case '4':
                                          vwIconColor[2] = rgb_dec565(colorScale4);
                                          break;
                                      case '5':
                                          vwIconColor[2] = rgb_dec565(colorScale5);
                                          break;
                                      case '6':
                                          vwIconColor[2] = rgb_dec565(colorScale6);
                                          break;
                                      case '7':
                                          vwIconColor[2] = rgb_dec565(colorScale7);
                                          break;                                 
                                      case '8':
                                          vwIconColor[2] = rgb_dec565(colorScale8);
                                          break;
                                      case '9':
                                          vwIconColor[2] = rgb_dec565(colorScale9);
                                          break;
                                      case '10':
                                          vwIconColor[2] = rgb_dec565(colorScale10);
                                          break;
                                  } 
                              }
                              if (config.secondScreensaverEntity.ScreensaverEntityIconColor.val_min == undefined) {
                                  vwIconColor[2] = rgb_dec565(config.secondScreensaverEntity.ScreensaverEntityIconColor);
                              }
                          } else {
                              vwIconColor[2] = rgb_dec565(sctF2Icon);                        
                          }
                      } else {
                          vwIconColor[2] = rgb_dec565(sctF2Icon);    
                      }
      
                      if (config.thirdScreensaverEntity.ScreensaverEntityIconColor != undefined) {
                          if (typeof getState(config.thirdScreensaverEntity.ScreensaverEntity).val == 'boolean') {
                              vwIconColor[3] = (getState(config.thirdScreensaverEntity.ScreensaverEntity).val == true) ? rgb_dec565(colorScale10) : rgb_dec565(colorScale0);
                          } else if (typeof config.thirdScreensaverEntity.ScreensaverEntityIconColor == 'object') {
      
                              let iconvalmin = (config.thirdScreensaverEntity.ScreensaverEntityIconColor.val_min != undefined) ? config.thirdScreensaverEntity.ScreensaverEntityIconColor.val_min : 0 ;
                              let iconvalmax = (config.thirdScreensaverEntity.ScreensaverEntityIconColor.val_max != undefined) ? config.thirdScreensaverEntity.ScreensaverEntityIconColor.val_max : 100 ;
                              let iconvalbest = (config.thirdScreensaverEntity.ScreensaverEntityIconColor.val_best != undefined) ? config.thirdScreensaverEntity.ScreensaverEntityIconColor.val_best : iconvalmin ;
                              let valueScale = getState(config.thirdScreensaverEntity.ScreensaverEntity).val;
      
                              if (iconvalmin == 0 && iconvalmax == 1) {
                                  vwIconColor[3] = (getState(config.thirdScreensaverEntity.ScreensaverEntity).val == 1) ? rgb_dec565(colorScale0) : rgb_dec565(colorScale10);
                              } else {
                                  if (iconvalbest == iconvalmin) {
                                      valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0)
                                  } else {
                                      if (valueScale < iconvalbest) {
                                          valueScale = scale(valueScale,iconvalmin, iconvalbest, 0, 10)    
                                      } else if (valueScale > iconvalbest || iconvalbest != iconvalmin) {
                                          valueScale = scale(valueScale,iconvalbest, iconvalmax, 10, 0)    
                                      } else {
                                        valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0)  
                                      }
                                  }
                                  let valueScaletemp = (Math.round(valueScale)).toFixed(); 
                                  if (Debug) console.log(valueScaletemp);
                                  switch (valueScaletemp) {
                                      case '0':
                                          vwIconColor[3] = rgb_dec565(colorScale0);
                                          break;
                                      case '1':
                                          vwIconColor[3] = rgb_dec565(colorScale1);
                                          break;
                                      case '2':
                                          vwIconColor[3] = rgb_dec565(colorScale2);
                                          break;
                                      case '3':
                                          vwIconColor[3] = rgb_dec565(colorScale3);
                                          break;
                                      case '4':
                                          vwIconColor[3] = rgb_dec565(colorScale4);
                                          break;
                                      case '5':
                                          vwIconColor[3] = rgb_dec565(colorScale5);
                                          break;
                                      case '6':
                                          vwIconColor[3] = rgb_dec565(colorScale6);
                                          break;
                                      case '7':
                                          vwIconColor[3] = rgb_dec565(colorScale7);
                                          break;                                 
                                      case '8':
                                          vwIconColor[3] = rgb_dec565(colorScale8);
                                          break;
                                      case '9':
                                          vwIconColor[3] = rgb_dec565(colorScale9);
                                          break;
                                      case '10':
                                          vwIconColor[3] = rgb_dec565(colorScale10);
                                          break;
                                  } 
                              }
                              if (config.thirdScreensaverEntity.ScreensaverEntityIconColor.val_min == undefined) {
                                  vwIconColor[3] = rgb_dec565(config.thirdScreensaverEntity.ScreensaverEntityIconColor);
                              }
                          } else {
                              vwIconColor[3] = rgb_dec565(sctF2Icon);                        
                          }
                      } else {
                          vwIconColor[3] = rgb_dec565(sctF2Icon);    
                      }
      
                      if (config.fourthScreensaverEntity.ScreensaverEntityIconColor != undefined) {
                          if (typeof getState(config.fourthScreensaverEntity.ScreensaverEntity).val == 'boolean') {
                              vwIconColor[4] = (getState(config.fourthScreensaverEntity.ScreensaverEntity).val == true) ? rgb_dec565(colorScale10) : rgb_dec565(colorScale0);
                          } else if (typeof config.fourthScreensaverEntity.ScreensaverEntityIconColor == 'object') {
      
                              let iconvalmin = (config.fourthScreensaverEntity.ScreensaverEntityIconColor.val_min != undefined) ? config.fourthScreensaverEntity.ScreensaverEntityIconColor.val_min : 0 ;
                              let iconvalmax = (config.fourthScreensaverEntity.ScreensaverEntityIconColor.val_max != undefined) ? config.fourthScreensaverEntity.ScreensaverEntityIconColor.val_max : 100 ;
                              let iconvalbest = (config.fourthScreensaverEntity.ScreensaverEntityIconColor.val_best != undefined) ? config.fourthScreensaverEntity.ScreensaverEntityIconColor.val_best : iconvalmin ;
                              let valueScale = getState(config.fourthScreensaverEntity.ScreensaverEntity).val;
      
                              if (iconvalmin == 0 && iconvalmax == 1) {
                                  vwIconColor[4] = (getState(config.fourthScreensaverEntity.ScreensaverEntity).val == 1) ? rgb_dec565(colorScale0) : rgb_dec565(colorScale10);
                              } else {
                                  if (iconvalbest == iconvalmin) {
                                      valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0)
                                  } else {
                                      if (valueScale < iconvalbest) {
                                          valueScale = scale(valueScale,iconvalmin, iconvalbest, 0, 10)    
                                      } else if (valueScale > iconvalbest || iconvalbest != iconvalmin) {
                                          valueScale = scale(valueScale,iconvalbest, iconvalmax, 10, 0)    
                                      } else {
                                        valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0)  
                                      }
                                  }
                                  let valueScaletemp = (Math.round(valueScale)).toFixed(); 
                                  if (Debug) console.log(valueScaletemp);
                                  switch (valueScaletemp) {
                                      case '0':
                                          vwIconColor[4] = rgb_dec565(colorScale0);
                                          break;
                                      case '1':
                                          vwIconColor[4] = rgb_dec565(colorScale1);
                                          break;
                                      case '2':
                                          vwIconColor[4] = rgb_dec565(colorScale2);
                                          break;
                                      case '3':
                                          vwIconColor[4] = rgb_dec565(colorScale3);
                                          break;
                                      case '4':
                                          vwIconColor[4] = rgb_dec565(colorScale4);
                                          break;
                                      case '5':
                                          vwIconColor[4] = rgb_dec565(colorScale5);
                                          break;
                                      case '6':
                                          vwIconColor[4] = rgb_dec565(colorScale6);
                                          break;
                                      case '7':
                                          vwIconColor[4] = rgb_dec565(colorScale7);
                                          break;                                 
                                      case '8':
                                          vwIconColor[4] = rgb_dec565(colorScale8);
                                          break;
                                      case '9':
                                          vwIconColor[4] = rgb_dec565(colorScale9);
                                          break;
                                      case '10':
                                          vwIconColor[4] = rgb_dec565(colorScale10);
                                          break;
                                  } 
                              }
                              if (config.fourthScreensaverEntity.ScreensaverEntityIconColor.val_min == undefined) {
                                  vwIconColor[4] = rgb_dec565(config.fourthScreensaverEntity.ScreensaverEntityIconColor);
                              }
                          } else {
                              vwIconColor[4] = rgb_dec565(sctF2Icon);                        
                          }
                      } else {
                          vwIconColor[4] = rgb_dec565(sctF2Icon);    
                      }
                  }
      
                  //AltLayout
                  if (config.alternativeScreensaverLayout) {
                      payloadString += parseInt(getState(config.fourthScreensaverEntity.ScreensaverEntity).val) + '~'; 
                      payloadString += config.fourthScreensaverEntity.ScreensaverEntityUnitText + '~'
                  } else {
                      payloadString += '~~'            
                  }
                  
                  let hwBtn1Col: any = config.mrIcon1ScreensaverEntity.ScreensaverEntityOffColor;
                  if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
                      if (typeof (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) == 'string') {
                          let hwBtn1: string = getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val;
                          if (hwBtn1 == 'ON') {
                              hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;                
                          }
                          payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIcon) + '~' + rgb_dec565(hwBtn1Col) + '~';
                      } else if (typeof (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) == 'boolean') {
                          let hwBtn1: boolean = getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val;
                          if (hwBtn1) {
                              hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;                
                          }
                          payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIcon) + '~' + rgb_dec565(hwBtn1Col) + '~';
                      }  
                  } else {
                      hwBtn1Col = Black;
                      payloadString += '~~';
                  }
      
                  let hwBtn2Col: any = config.mrIcon2ScreensaverEntity.ScreensaverEntityOffColor;
                  if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
                      if (typeof (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) == 'string') {
                          let hwBtn2: string = getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val;
                          if (hwBtn2 == 'ON') {
                              hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;                
                          }
                          payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIcon) + '~' + rgb_dec565(hwBtn2Col) + '~';
                      } else if (typeof (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) == 'boolean') {
                          let hwBtn2: boolean = getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val;
                          if (hwBtn2) {
                              hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;               
                          }
                          payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIcon) + '~' + rgb_dec565(hwBtn2Col) + '~';
                      }  
                  } else {
                      hwBtn2Col = Black;
                      payloadString += '~~';
                  }
                  HandleScreensaverColors();
                  
                  SendToPanel(<Payload>{ payload: payloadString });
                  
              }
          } catch (err) {
              console.log('HandleScreensaverUpdate: ' + err.message);
          }        
      }
      

      N Offline
      N Offline
      nevermind
      schrieb am zuletzt editiert von
      #347

      @armilar

      Yes:) Danke dir!

      ArmilarA 1 Antwort Letzte Antwort
      0
      • N nevermind

        @armilar

        Yes:) Danke dir!

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

        @nevermind sagte in SONOFF NSPanel mit Lovelace UI:

        @armilar

        Yes:) Danke dir!

        :+1:

        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        1 Antwort Letzte Antwort
        0
        • C chiob314

          @armilar ubuntu 20.04, tagesaktuell gepatcht

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

          @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

          @armilar ubuntu 20.04, tagesaktuell gepatcht

          was zeigt

          $ locale
          

          und

          $ locale -a
          

          an?

          Nee, habe aktuell ein ubuntu22.04 laufen. Mache alle Installationen immer selbst...

          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.

          C 1 Antwort Letzte Antwort
          0
          • ArmilarA Armilar

            @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar ubuntu 20.04, tagesaktuell gepatcht

            was zeigt

            $ locale
            

            und

            $ locale -a
            

            an?

            Nee, habe aktuell ein ubuntu22.04 laufen. Mache alle Installationen immer selbst...

            C Offline
            C Offline
            chiob314
            schrieb am zuletzt editiert von
            #350

            @armilar

            administrator@mrtn-iobroker:~$ locale
            LANG=de_DE.UTF-8
            LANGUAGE=
            LC_CTYPE="de_DE.UTF-8"
            LC_NUMERIC="de_DE.UTF-8"
            LC_TIME="de_DE.UTF-8"
            LC_COLLATE="de_DE.UTF-8"
            LC_MONETARY="de_DE.UTF-8"
            LC_MESSAGES="de_DE.UTF-8"
            LC_PAPER="de_DE.UTF-8"
            LC_NAME="de_DE.UTF-8"
            LC_ADDRESS="de_DE.UTF-8"
            LC_TELEPHONE="de_DE.UTF-8"
            LC_MEASUREMENT="de_DE.UTF-8"
            LC_IDENTIFICATION="de_DE.UTF-8"
            LC_ALL=
            administrator@mrtn-iobroker:~$ locale -a
            C
            C.UTF-8
            de_DE.utf8
            en_US.utf8
            POSIX
            
            
            ArmilarA 1 Antwort Letzte Antwort
            0
            • C chiob314

              @armilar

              administrator@mrtn-iobroker:~$ locale
              LANG=de_DE.UTF-8
              LANGUAGE=
              LC_CTYPE="de_DE.UTF-8"
              LC_NUMERIC="de_DE.UTF-8"
              LC_TIME="de_DE.UTF-8"
              LC_COLLATE="de_DE.UTF-8"
              LC_MONETARY="de_DE.UTF-8"
              LC_MESSAGES="de_DE.UTF-8"
              LC_PAPER="de_DE.UTF-8"
              LC_NAME="de_DE.UTF-8"
              LC_ADDRESS="de_DE.UTF-8"
              LC_TELEPHONE="de_DE.UTF-8"
              LC_MEASUREMENT="de_DE.UTF-8"
              LC_IDENTIFICATION="de_DE.UTF-8"
              LC_ALL=
              administrator@mrtn-iobroker:~$ locale -a
              C
              C.UTF-8
              de_DE.utf8
              en_US.utf8
              POSIX
              
              
              ArmilarA Offline
              ArmilarA Offline
              Armilar
              Most Active Forum Testing
              schrieb am zuletzt editiert von
              #351

              @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

              @armilar

              administrator@mrtn-iobroker:~$ locale
              LANG=de_DE.UTF-8
              LANGUAGE=
              LC_CTYPE="de_DE.UTF-8"
              LC_NUMERIC="de_DE.UTF-8"
              LC_TIME="de_DE.UTF-8"
              LC_COLLATE="de_DE.UTF-8"
              LC_MONETARY="de_DE.UTF-8"
              LC_MESSAGES="de_DE.UTF-8"
              LC_PAPER="de_DE.UTF-8"
              LC_NAME="de_DE.UTF-8"
              LC_ADDRESS="de_DE.UTF-8"
              LC_TELEPHONE="de_DE.UTF-8"
              LC_MEASUREMENT="de_DE.UTF-8"
              LC_IDENTIFICATION="de_DE.UTF-8"
              LC_ALL=
              administrator@mrtn-iobroker:~$ locale -a
              C
              C.UTF-8
              de_DE.utf8
              en_US.utf8
              POSIX
              
              

              da gibt es von meiner Seite kein Veto...

              Wie sieht die Einstellung im ioBroker aus?

              d8589df1-8740-4d88-8112-1935102dfbac-image.png

              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
              https://github.com/joBr99/nspanel-lovelace-ui/wiki

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              C 2 Antworten Letzte Antwort
              0
              • ArmilarA Armilar

                @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                @armilar

                administrator@mrtn-iobroker:~$ locale
                LANG=de_DE.UTF-8
                LANGUAGE=
                LC_CTYPE="de_DE.UTF-8"
                LC_NUMERIC="de_DE.UTF-8"
                LC_TIME="de_DE.UTF-8"
                LC_COLLATE="de_DE.UTF-8"
                LC_MONETARY="de_DE.UTF-8"
                LC_MESSAGES="de_DE.UTF-8"
                LC_PAPER="de_DE.UTF-8"
                LC_NAME="de_DE.UTF-8"
                LC_ADDRESS="de_DE.UTF-8"
                LC_TELEPHONE="de_DE.UTF-8"
                LC_MEASUREMENT="de_DE.UTF-8"
                LC_IDENTIFICATION="de_DE.UTF-8"
                LC_ALL=
                administrator@mrtn-iobroker:~$ locale -a
                C
                C.UTF-8
                de_DE.utf8
                en_US.utf8
                POSIX
                
                

                da gibt es von meiner Seite kein Veto...

                Wie sieht die Einstellung im ioBroker aus?

                d8589df1-8740-4d88-8112-1935102dfbac-image.png

                C Offline
                C Offline
                chiob314
                schrieb am zuletzt editiert von
                #352

                @armilar
                5935af2f-6e96-4ce9-a3d9-89621bac29da-grafik.png

                Eigentlich auch soweit ok....

                ArmilarA 1 Antwort Letzte Antwort
                0
                • C chiob314

                  @armilar
                  5935af2f-6e96-4ce9-a3d9-89621bac29da-grafik.png

                  Eigentlich auch soweit ok....

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

                  @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                  @armilar
                  5935af2f-6e96-4ce9-a3d9-89621bac29da-grafik.png

                  Eigentlich auch soweit ok....

                  Dann verstehe ich das aber irgendwie auch nicht mehr... :confused:

                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  1 Antwort Letzte Antwort
                  0
                  • ArmilarA Armilar

                    @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                    @armilar

                    administrator@mrtn-iobroker:~$ locale
                    LANG=de_DE.UTF-8
                    LANGUAGE=
                    LC_CTYPE="de_DE.UTF-8"
                    LC_NUMERIC="de_DE.UTF-8"
                    LC_TIME="de_DE.UTF-8"
                    LC_COLLATE="de_DE.UTF-8"
                    LC_MONETARY="de_DE.UTF-8"
                    LC_MESSAGES="de_DE.UTF-8"
                    LC_PAPER="de_DE.UTF-8"
                    LC_NAME="de_DE.UTF-8"
                    LC_ADDRESS="de_DE.UTF-8"
                    LC_TELEPHONE="de_DE.UTF-8"
                    LC_MEASUREMENT="de_DE.UTF-8"
                    LC_IDENTIFICATION="de_DE.UTF-8"
                    LC_ALL=
                    administrator@mrtn-iobroker:~$ locale -a
                    C
                    C.UTF-8
                    de_DE.utf8
                    en_US.utf8
                    POSIX
                    
                    

                    da gibt es von meiner Seite kein Veto...

                    Wie sieht die Einstellung im ioBroker aus?

                    d8589df1-8740-4d88-8112-1935102dfbac-image.png

                    C Offline
                    C Offline
                    chiob314
                    schrieb am zuletzt editiert von
                    #354

                    @armilar Dann sind wir ja schon zu zweit. (danke mal bis hierher!!)

                    Vielleicht gibt es ja noch von anderen Kollegen hier ein paar Ideen, was das sein könnte...

                    C ArmilarA T 3 Antworten Letzte Antwort
                    0
                    • C chiob314

                      @armilar Dann sind wir ja schon zu zweit. (danke mal bis hierher!!)

                      Vielleicht gibt es ja noch von anderen Kollegen hier ein paar Ideen, was das sein könnte...

                      C Offline
                      C Offline
                      chiob314
                      schrieb am zuletzt editiert von
                      #355

                      @Armilar

                      Das Problem müsste irgendwo hier stecken:

                      function SendDate(): void {
                          try {
                              const date = new Date();
                              const options: any = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
                              const _SendDate = date.toLocaleDateString(config.locale, options);
                      
                              SendToPanel(<Payload>{ payload: 'date~' + _SendDate });
                          } catch (err) {
                              console.warn('function SendDate: ' + err.message);
                          }
                      }
                      

                      Die Funktion date.toLocalDateString müsste hier eigentlich brav alles umwandeln. Aus irgendeinem Grund passiert das nicht.

                      1 Antwort Letzte Antwort
                      0
                      • C chiob314

                        @armilar Dann sind wir ja schon zu zweit. (danke mal bis hierher!!)

                        Vielleicht gibt es ja noch von anderen Kollegen hier ein paar Ideen, was das sein könnte...

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

                        @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                        @armilar Dann sind wir ja schon zu zweit. (danke mal bis hierher!!)

                        Vielleicht gibt es ja noch von anderen Kollegen hier ein paar Ideen, was das sein könnte...

                        function SendDate(): void {
                            try {
                                const date = new Date();
                                const options: any = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
                                const _SendDate = date.toLocaleDateString(config.locale, options);
                        
                                SendToPanel(<Payload>{ payload: 'date~' + _SendDate });
                            } catch (err) {
                                console.warn('function SendDate: ' + err.message);
                            }
                        }
                        

                        Das ist zumindest mal das Datum in der Mitte des Screensavers

                        Die bekommt als Variable in config.locale ein de-DE und wandelt alles dann um. Eigentlich kein Hexenwerk...

                        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.

                        C 1 Antwort Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                          @armilar Dann sind wir ja schon zu zweit. (danke mal bis hierher!!)

                          Vielleicht gibt es ja noch von anderen Kollegen hier ein paar Ideen, was das sein könnte...

                          function SendDate(): void {
                              try {
                                  const date = new Date();
                                  const options: any = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
                                  const _SendDate = date.toLocaleDateString(config.locale, options);
                          
                                  SendToPanel(<Payload>{ payload: 'date~' + _SendDate });
                              } catch (err) {
                                  console.warn('function SendDate: ' + err.message);
                              }
                          }
                          

                          Das ist zumindest mal das Datum in der Mitte des Screensavers

                          Die bekommt als Variable in config.locale ein de-DE und wandelt alles dann um. Eigentlich kein Hexenwerk...

                          C Offline
                          C Offline
                          chiob314
                          schrieb am zuletzt editiert von
                          #357

                          @armilar richtig. Ich hab mal statt der Variable config.locale direkt 'de-DE' eingetragen. Aber.....
                          Auch mal mit ner anderen locale getestet. Keine Änderung.

                          C 1 Antwort Letzte Antwort
                          0
                          • C chiob314

                            @armilar richtig. Ich hab mal statt der Variable config.locale direkt 'de-DE' eingetragen. Aber.....
                            Auch mal mit ner anderen locale getestet. Keine Änderung.

                            C Offline
                            C Offline
                            chiob314
                            schrieb am zuletzt editiert von
                            #358

                            @Armilar Problem gelöst! nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                            Jetzt ist alles schick.

                            ArmilarA Thomas BraunT 2 Antworten Letzte Antwort
                            0
                            • C chiob314

                              @Armilar Problem gelöst! nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                              Jetzt ist alles schick.

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

                              @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                              @Armilar Problem gelöst! nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                              Jetzt ist alles schick.

                              :+1:

                              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              1 Antwort Letzte Antwort
                              0
                              • C chiob314

                                @Armilar Problem gelöst! nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                                Jetzt ist alles schick.

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

                                @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                                nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                                Und ich bekomme immer zuhören:
                                Du immer mit deinem nodejs-Update-Geseiere...
                                Das hat überhaupt nichts mit dem Problem zu tun!1!

                                Ein aktuelles und korrekt installiertes nodejs ist die Grundlage für alles im iobroker!

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

                                1 Antwort Letzte Antwort
                                0
                                • ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  schrieb am zuletzt editiert von Armilar
                                  #361

                                  @thomas-braun sagte in SONOFF NSPanel mit Lovelace UI:

                                  @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                                  nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                                  Und ich bekomme immer zuhören:
                                  Du immer mit deinem nodejs-Update-Geseiere...
                                  Das hat überhaupt nichts mit dem Problem zu tun!1!

                                  Ein aktuelles und korrekt installiertes nodejs ist die Grundlage für alles im iobroker!

                                  "vor allem korrekt installiert" - denn "date.toLocaleDateString" gab es in der 12er auch schon... ;-)

                                  Aber aktuell sollte es auch sein. Und Probleme, dessen Ursache man an an völlig anderer Stelle erwartet, lösen sich dann in Luft auf... So eine Laufzeitumgebung für Javascript ist halt auch nur ein Mensch... :blush: :+1:

                                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  1 Antwort Letzte Antwort
                                  2
                                  • MatzebhvM Offline
                                    MatzebhvM Offline
                                    Matzebhv
                                    schrieb am zuletzt editiert von
                                    #362

                                    Moin, ich wieder mit meinem neu aufgesetzten System :-)

                                    Habe die Chance genutzt und sowohl die Firmware als auch die Scripte auf aktuellen Stand zu bringen.

                                    Das Panel funktioniert einwandfrei, allerdings wird das Log vollgeschrieben mit:

                                    script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                                    Ich kann den Fehler absolut nicht finden.

                                    Tasmota, Firmware, Script und iOBroker aktuell.

                                    Gruß
                                    Matze

                                    ArmilarA 1 Antwort Letzte Antwort
                                    0
                                    • MatzebhvM Matzebhv

                                      Moin, ich wieder mit meinem neu aufgesetzten System :-)

                                      Habe die Chance genutzt und sowohl die Firmware als auch die Scripte auf aktuellen Stand zu bringen.

                                      Das Panel funktioniert einwandfrei, allerdings wird das Log vollgeschrieben mit:

                                      script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                                      Ich kann den Fehler absolut nicht finden.

                                      Tasmota, Firmware, Script und iOBroker aktuell.

                                      Gruß
                                      Matze

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

                                      @matzebhv sagte in SONOFF NSPanel mit Lovelace UI:

                                      Moin, ich wieder mit meinem neu aufgesetzten System :-)

                                      Habe die Chance genutzt und sowohl die Firmware als auch die Scripte auf aktuellen Stand zu bringen.

                                      Das Panel funktioniert einwandfrei, allerdings wird das Log vollgeschrieben mit:

                                      script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                                      Ich kann den Fehler absolut nicht finden.

                                      Tasmota, Firmware, Script und iOBroker aktuell.

                                      Gruß
                                      Matze

                                      Benutzt du eine Emulation oder das echte Panel?

                                      Erste Vermutung: Der interne Sensor ist nicht im Tasmota-Template...

                                      Hintergrund, es werden die internen Sensordaten (der benannte ist der Temperatursensor) ausgelesen und in Datenpunkte unter 0_userdata.0. geschrieben. Bei meiner Emu (die hat ja keine externen Sensoren) ist der Fehler völlig normal. Beim Original Panel allerdings nicht.

                                      Nachfolgende Funktion (fast am Ende des TS-Scripts vor den Color-Funktionen) findest du folgende Funktion:

                                      //------------------Begin Read Internal Sensor Data
                                      on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
                                          try {
                                              const Tasmota_Sensor = JSON.parse(obj.state.val);
                                      
                                              await createStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.StateCommon>{ type: 'string' });
                                              await createStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.StateCommon>{ type: 'string' });
                                              await createStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                              await createStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                      
                                              await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: Tasmota_Sensor.Time, ack: true });
                                              await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                              //await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                              await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                          } catch (err) {
                                              console.warn('error with reading senor-data: '+ err.message);
                                          }
                                      });
                                      //------------------End Read Internal Sensor Data
                                      

                                      Kommentiere den vorletzten setStateAsync mal aus. Falls danach immer noch, den ESP32 Sensor eine Zeile danach.

                                      Dann melden ;-)

                                      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      MatzebhvM 1 Antwort Letzte Antwort
                                      0
                                      • ArmilarA Armilar

                                        @matzebhv sagte in SONOFF NSPanel mit Lovelace UI:

                                        Moin, ich wieder mit meinem neu aufgesetzten System :-)

                                        Habe die Chance genutzt und sowohl die Firmware als auch die Scripte auf aktuellen Stand zu bringen.

                                        Das Panel funktioniert einwandfrei, allerdings wird das Log vollgeschrieben mit:

                                        script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                                        Ich kann den Fehler absolut nicht finden.

                                        Tasmota, Firmware, Script und iOBroker aktuell.

                                        Gruß
                                        Matze

                                        Benutzt du eine Emulation oder das echte Panel?

                                        Erste Vermutung: Der interne Sensor ist nicht im Tasmota-Template...

                                        Hintergrund, es werden die internen Sensordaten (der benannte ist der Temperatursensor) ausgelesen und in Datenpunkte unter 0_userdata.0. geschrieben. Bei meiner Emu (die hat ja keine externen Sensoren) ist der Fehler völlig normal. Beim Original Panel allerdings nicht.

                                        Nachfolgende Funktion (fast am Ende des TS-Scripts vor den Color-Funktionen) findest du folgende Funktion:

                                        //------------------Begin Read Internal Sensor Data
                                        on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
                                            try {
                                                const Tasmota_Sensor = JSON.parse(obj.state.val);
                                        
                                                await createStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.StateCommon>{ type: 'string' });
                                                await createStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.StateCommon>{ type: 'string' });
                                                await createStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                                await createStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                        
                                                await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: Tasmota_Sensor.Time, ack: true });
                                                await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                                //await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                                await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                            } catch (err) {
                                                console.warn('error with reading senor-data: '+ err.message);
                                            }
                                        });
                                        //------------------End Read Internal Sensor Data
                                        

                                        Kommentiere den vorletzten setStateAsync mal aus. Falls danach immer noch, den ESP32 Sensor eine Zeile danach.

                                        Dann melden ;-)

                                        MatzebhvM Offline
                                        MatzebhvM Offline
                                        Matzebhv
                                        schrieb am zuletzt editiert von
                                        #364

                                        @armilar Meld :-)

                                        Nein, ich benutze ein voll echtes Panel. Die Daten sind auch gerade unter 0_userdata.0.NSPanel.1.Sensor.ANALOG.Temperature angekommen -> 23.2

                                        Ich habe das trotzdem mal auskommentiert, hat leider nicht geholfen.

                                        //------------------Begin Read Internal Sensor Data
                                        on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
                                            try {
                                                const Tasmota_Sensor = JSON.parse(obj.state.val);
                                        
                                                await createStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.StateCommon>{ type: 'string' });
                                                await createStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.StateCommon>{ type: 'string' });
                                                await createStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                                await createStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                        
                                                await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: Tasmota_Sensor.Time, ack: true });
                                                await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                                //await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                                await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                            } catch (err) {
                                                console.warn('error with reading senor-data: '+ err.message);
                                            }
                                        });
                                        //------------------End Read Internal Sensor Data
                                        

                                        -> script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                                        ArmilarA 1 Antwort Letzte Antwort
                                        0
                                        • MatzebhvM Matzebhv

                                          @armilar Meld :-)

                                          Nein, ich benutze ein voll echtes Panel. Die Daten sind auch gerade unter 0_userdata.0.NSPanel.1.Sensor.ANALOG.Temperature angekommen -> 23.2

                                          Ich habe das trotzdem mal auskommentiert, hat leider nicht geholfen.

                                          //------------------Begin Read Internal Sensor Data
                                          on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
                                              try {
                                                  const Tasmota_Sensor = JSON.parse(obj.state.val);
                                          
                                                  await createStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.StateCommon>{ type: 'string' });
                                                  await createStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.StateCommon>{ type: 'string' });
                                                  await createStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                                  await createStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                          
                                                  await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: Tasmota_Sensor.Time, ack: true });
                                                  await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                                  //await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                                  await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                              } catch (err) {
                                                  console.warn('error with reading senor-data: '+ err.message);
                                              }
                                          });
                                          //------------------End Read Internal Sensor Data
                                          

                                          -> script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

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

                                          @matzebhv sagte in SONOFF NSPanel mit Lovelace UI:

                                          @armilar Meld :-)

                                          Nein, ich benutze ein voll echtes Panel. Die Daten sind auch gerade unter 0_userdata.0.NSPanel.1.Sensor.ANALOG.Temperature angekommen -> 23.2

                                          Ich habe das trotzdem mal auskommentiert, hat leider nicht geholfen.

                                          //------------------Begin Read Internal Sensor Data
                                          on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
                                              try {
                                                  const Tasmota_Sensor = JSON.parse(obj.state.val);
                                          
                                                  await createStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.StateCommon>{ type: 'string' });
                                                  await createStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.StateCommon>{ type: 'string' });
                                                  await createStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                                  await createStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                          
                                                  await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: Tasmota_Sensor.Time, ack: true });
                                                  await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                                  //await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                                  await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                              } catch (err) {
                                                  console.warn('error with reading senor-data: '+ err.message);
                                              }
                                          });
                                          //------------------End Read Internal Sensor Data
                                          

                                          -> script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                                          Kommando zurück...

                                          Hatte das ebenfalls eben. Tasmota-Update. Das Panel ist im Safe-Boot. Geh mal unter der IP ins Tasmota und starte kurz das Panel durch. Dann sollte es wieder gehen

                                          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.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          745

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe