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.2k

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

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

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.
  • K Kuckuckmann

    @danny_v1

    Hi @danny_v1 ,

    was ich nicht verstehe ist, warum Du bei vielen Punkten ein navigate: true da drin hast. Die meisten der PageItems sind doch zum schalten und nicht noch um auf weitere Unterseiten zu navigieren, oder?

    Vlt. hilft Dir das ja.

    @Armilar man könnte meinen Du hast Langeweile? :-D

    LG

    D Offline
    D Offline
    danny_v1
    schrieb am zuletzt editiert von
    #4114

    @kuckuckmann said in SONOFF NSPanel mit Lovelace UI:

    @danny_v1

    Hi @danny_v1 ,

    was ich nicht verstehe ist, warum Du bei vielen Punkten ein navigate: true da drin hast. Die meisten der PageItems sind doch zum schalten und nicht noch um auf weitere Unterseiten zu navigieren, oder?

    Vlt. hilft Dir das ja.

    Hab noch mal drüber geschaut, das passt schon so, sind alles Punkt zum navigieren.

    D 1 Antwort Letzte Antwort
    0
    • D danny_v1

      @kuckuckmann said in SONOFF NSPanel mit Lovelace UI:

      @danny_v1

      Hi @danny_v1 ,

      was ich nicht verstehe ist, warum Du bei vielen Punkten ein navigate: true da drin hast. Die meisten der PageItems sind doch zum schalten und nicht noch um auf weitere Unterseiten zu navigieren, oder?

      Vlt. hilft Dir das ja.

      Hab noch mal drüber geschaut, das passt schon so, sind alles Punkt zum navigieren.

      D Offline
      D Offline
      DaPeace
      schrieb am zuletzt editiert von
      #4115

      Hier nochmal ein kurzer Abriss wie ich mit NodeRed den normalen Balken-Chart befülle.
      Benötigt wird in Nodered die Anbindung an die MySQL-DB (node-red-node-mysql), die Anbindung an ioBroker, wobei ich nodered aus dem iobroker raus installiert habe und die Nodes dann vorhanden waren und 2 Funktionsnodes.
      nodered_nspanel_chart.jpg

      Meine Tabelle in Mysql ist sehr simple. Sie besteht aus der ID, dem Wert (Stromverbrauch) und dem Datum. Geschrieben werden die Daten auch direkt aus NodeRed. In diesem Fall mit dem Query:

      INSERT INTO `Stromverbrauch` (`stromverbrauch`,`date`) VALUES ({{payload}},NOW()) 
      

      Um es dann aufs Display zu zaubern benötigt man im ersten Funktionsnode den korrekten Query:

      var A = "SELECT * FROM Stromverbrauch ORDER BY id DESC LIMIT 8";
      msg.topic = A ;
      return msg;
      

      Ich nehme hier einfach die letzten 8 Werte die geschrieben wurden.
      Dieser Node wird mit mit dem DB-Node verknüpft. Der Ausgang vom DB-Node geht dann auf den nächsten Funktionsnode mit folgendem Code und aus dem Funktionsnode geht es dann direkt in ioBroker:

      var resultArray = [];
      var currentDate = "";
      
      for (var i = 0; i < msg.payload.length; i++) {
          var date = new Date(msg.payload[i].date);
          var day = date.getDate();
          var month = date.getMonth() + 1;
          var floatvalue = msg.payload[i].stromverbrauch;
          var intvalue = Math.round(floatvalue);
      
          if (i % 4 === 0) {
              if (currentDate !== "") {
                  resultArray.push("^"); 
              }
              currentDate = intvalue + "^" + (day < 10 ? "0" + day : day) + ":" + (month < 10 ? "0" + month : month); 
              resultArray.push(currentDate);
          } else {
              resultArray.push(intvalue); 
          }
      }
      msg.payload = resultArray.join("~"); 
      msg.payload = msg.payload.replace(/~\^~/g, "~");
      return msg; 
      

      Hier wird die Ausgabe zerlegt, 1 Wert wird mit Datum versehen und 3 Werte sind ohne Datum und es wird entsprechend mit den Tilden aufgefüllt.
      Wenn man mehr Werte benötigt, dann einfach das Limit beim Mysql-Query erhöhen.
      Das Panel formatiert sich das ja dann zurecht. Das Datum wird aus dem Timestamp extrahiert, sonst steht auf dem Panel ein ganzer Roman.
      Die Uhrzeit brauche ich bei meinem Tagesverbrauch vom Haus nicht. Es ist aber ziemlich einfach jetzt aus dem Timestamp anstelle Monat und Tag einfach Stunde und Minute zu ziehen und an der richtigen Stelle einzubinden. Wie bereits von @Armilar bestätigt, kann das Panel momentan nur Werte von 0-5 anzeigen. Mein Hausverbrauch liegt je nach Jahreszeit zwischen 4kwh - 30kwh und entsprechend passt das noch nicht in die Skalierung. Ich hoffe das wird sich noch ändern. Bis jetzt nehm ich den Wert einfach / 10 das er im Panel ordentlich dargestellt wird.

      ArmilarA 1 Antwort Letzte Antwort
      1
      • D DaPeace

        Hier nochmal ein kurzer Abriss wie ich mit NodeRed den normalen Balken-Chart befülle.
        Benötigt wird in Nodered die Anbindung an die MySQL-DB (node-red-node-mysql), die Anbindung an ioBroker, wobei ich nodered aus dem iobroker raus installiert habe und die Nodes dann vorhanden waren und 2 Funktionsnodes.
        nodered_nspanel_chart.jpg

        Meine Tabelle in Mysql ist sehr simple. Sie besteht aus der ID, dem Wert (Stromverbrauch) und dem Datum. Geschrieben werden die Daten auch direkt aus NodeRed. In diesem Fall mit dem Query:

        INSERT INTO `Stromverbrauch` (`stromverbrauch`,`date`) VALUES ({{payload}},NOW()) 
        

        Um es dann aufs Display zu zaubern benötigt man im ersten Funktionsnode den korrekten Query:

        var A = "SELECT * FROM Stromverbrauch ORDER BY id DESC LIMIT 8";
        msg.topic = A ;
        return msg;
        

        Ich nehme hier einfach die letzten 8 Werte die geschrieben wurden.
        Dieser Node wird mit mit dem DB-Node verknüpft. Der Ausgang vom DB-Node geht dann auf den nächsten Funktionsnode mit folgendem Code und aus dem Funktionsnode geht es dann direkt in ioBroker:

        var resultArray = [];
        var currentDate = "";
        
        for (var i = 0; i < msg.payload.length; i++) {
            var date = new Date(msg.payload[i].date);
            var day = date.getDate();
            var month = date.getMonth() + 1;
            var floatvalue = msg.payload[i].stromverbrauch;
            var intvalue = Math.round(floatvalue);
        
            if (i % 4 === 0) {
                if (currentDate !== "") {
                    resultArray.push("^"); 
                }
                currentDate = intvalue + "^" + (day < 10 ? "0" + day : day) + ":" + (month < 10 ? "0" + month : month); 
                resultArray.push(currentDate);
            } else {
                resultArray.push(intvalue); 
            }
        }
        msg.payload = resultArray.join("~"); 
        msg.payload = msg.payload.replace(/~\^~/g, "~");
        return msg; 
        

        Hier wird die Ausgabe zerlegt, 1 Wert wird mit Datum versehen und 3 Werte sind ohne Datum und es wird entsprechend mit den Tilden aufgefüllt.
        Wenn man mehr Werte benötigt, dann einfach das Limit beim Mysql-Query erhöhen.
        Das Panel formatiert sich das ja dann zurecht. Das Datum wird aus dem Timestamp extrahiert, sonst steht auf dem Panel ein ganzer Roman.
        Die Uhrzeit brauche ich bei meinem Tagesverbrauch vom Haus nicht. Es ist aber ziemlich einfach jetzt aus dem Timestamp anstelle Monat und Tag einfach Stunde und Minute zu ziehen und an der richtigen Stelle einzubinden. Wie bereits von @Armilar bestätigt, kann das Panel momentan nur Werte von 0-5 anzeigen. Mein Hausverbrauch liegt je nach Jahreszeit zwischen 4kwh - 30kwh und entsprechend passt das noch nicht in die Skalierung. Ich hoffe das wird sich noch ändern. Bis jetzt nehm ich den Wert einfach / 10 das er im Panel ordentlich dargestellt wird.

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

        @dapeace

        Ja cool :blush:

        Das Thema cardChart und cardLChart nimmt wieder Fahrt auf. Aktuell gibt es ja noch folgende Fehler/Features:

        cardChart

        • Wenn ein Wert > 196 ist (entspricht 19,6), dann wird dieser negativ dargestellt
        • Y-Achse zur Darstellung größerer Werte zu schmal

        cardLChart

        • Keine negativen Werte möglich

        Fumanchi, der Entwickler der HMI-Charts bittet aus zeitlichen Gründen noch um etwas Geduld. Die Cards werden jedoch gefixt. Sollte jemand bereits einen Fix haben, so kann er den gerne auch bereitstellen.

        Parallel dazu werden die cardChart und die cardLChart jetzt auch in Home Assistant (ioBroker ja bereits seit v3.9.0) mit aufgenommen.

        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
        • D danny_v1

          @armilar said in SONOFF NSPanel mit Lovelace UI:
          Erstma vielen Dank für die ausführliche Analyse und Hilfe!!!

          @danny_v1

          b5a0fc46-45c0-4a20-b7ab-74358856563d-Nextion_Editor_12mOYErUCZ.gif

          Falls ich etwas abweichend, zu deiner Klick-Vorgehensweise gemacht haben sollte, dann bitte kurze zusätzliche Info

          Ja wenn man es so schaltet funktioniert es problemlos. Der Effekt tritt auf wenn ich direkt hier schalte:
          Lampe.png

          EDIT: Ich kann allerdings auch nicht nachvollziehen, was diese nachfolgenden beiden Aliase bewirken sollen:

          • alias.0.Wohnzimmer.Deckenlampe.Alle.Info.INFO --> denke es ist ein Info-Alias, der true/false zurück gibt und damit entsprechend die Farbe des Icons steuert, ob noch eine Lampe an ist oder alles aus

          Ja genau dafür ist das gedacht.

          • alias.0.Wohnzimmer.HeizungWZ.SET --> den kann aktuell ich gar nicht nachvollziehen

          Das war noch ein Test ich wollte je nach Temperatur das Icon einfärben, weiß das ist so falsch, hatte ich vergessen anzupassen, bzw übersehen es wieder zu entfernten.

          • alias.0.Status.Test.ACTUAL --> der dürfte Fehler werfen, es sei denn du hast den wieder ACTUAL.ACTUAL genannt ;-)

          Ja bei dem ist es das gleiche, der ist noch nicht angepasst. :scream:

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

          @danny_v1 sagte in SONOFF NSPanel mit Lovelace UI:

          Ja wenn man es so schaltet funktioniert es problemlos. Der Effekt tritt auf wenn ich direkt hier schalte:

          Jedes mal oder nur sporadisch? Sind die betroffenen Lampen beim Schalten alle vom Typ "RGB" mit colormode: "xy"?

          Betrachten wir mal diesesPageItem:

          <PageItem>{ id: "alias.0.Wohnzimmer.Deckenlampe.SofaRGB.Gruppe", 
                                name: "Sofa RGB", 
                                icon: "ceiling-light-multiple", 
                                minValueBrightness: 0, 
                                maxValueBrightness: 100, 
                                minValueColorTemp: 150, 
                                maxValueColorTemp: 500, 
                                interpolateColor: true, 
                                colormode: "xy"},
          

          die

                                minValueBrightness: 0, 
                                maxValueBrightness: 100,
          

          kannst du schon mal entfernen, die der Standard-Slider sowieso von 0-100% arbeitet.

          Dann bitte noch einmal den Alias für den kompletten RGB senden.

          Es gibt auch den Geräte-Typen CIE-Farblicht:
          9baa0817-88ff-4f73-9a9d-77508f805701-image.png

          Könntest du mal diesen Alias-Typen testen? CIE wäre der XY-Wert der Lampe.

          Außerdem bitte noch mal einen Blick in den xy-Datenpunkt der Lampe(n-Gruppe)

          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.

          D 1 Antwort Letzte Antwort
          0
          • ArmilarA Armilar

            @danny_v1 sagte in SONOFF NSPanel mit Lovelace UI:

            Ja wenn man es so schaltet funktioniert es problemlos. Der Effekt tritt auf wenn ich direkt hier schalte:

            Jedes mal oder nur sporadisch? Sind die betroffenen Lampen beim Schalten alle vom Typ "RGB" mit colormode: "xy"?

            Betrachten wir mal diesesPageItem:

            <PageItem>{ id: "alias.0.Wohnzimmer.Deckenlampe.SofaRGB.Gruppe", 
                                  name: "Sofa RGB", 
                                  icon: "ceiling-light-multiple", 
                                  minValueBrightness: 0, 
                                  maxValueBrightness: 100, 
                                  minValueColorTemp: 150, 
                                  maxValueColorTemp: 500, 
                                  interpolateColor: true, 
                                  colormode: "xy"},
            

            die

                                  minValueBrightness: 0, 
                                  maxValueBrightness: 100,
            

            kannst du schon mal entfernen, die der Standard-Slider sowieso von 0-100% arbeitet.

            Dann bitte noch einmal den Alias für den kompletten RGB senden.

            Es gibt auch den Geräte-Typen CIE-Farblicht:
            9baa0817-88ff-4f73-9a9d-77508f805701-image.png

            Könntest du mal diesen Alias-Typen testen? CIE wäre der XY-Wert der Lampe.

            Außerdem bitte noch mal einen Blick in den xy-Datenpunkt der Lampe(n-Gruppe)

            D Offline
            D Offline
            danny_v1
            schrieb am zuletzt editiert von
            #4118

            @armilar Es ist jedes mal und es sind alle Lampen betroffen, also nicht nur farbige.
            Datenpunkte der Aliasse schick ich heute abend.

            ArmilarA 1 Antwort Letzte Antwort
            0
            • ArmilarA Armilar

              @dapeace sagte in SONOFF NSPanel mit Lovelace UI:

              Temperatur-Werte als Line

              Meine Temperatur-Sensoren schiebe ich durch ein einziges JS-Script. Kannste evtl auch für Node-Red mit mySQL adaptieren...

              const Debug = false;
              
              const NSPanel_Path = '0_userdata.0.NSPanel.';
              const Path = NSPanel_Path + 'Influx2NSPanel.cardLChart.';
              let   PathSensor = '';
              
              let SensorName = ['EG.Buero.Temperatur',
                                'EG.Gaeste_WC.Temperatur',
                                'EG.Wohnzimmer.Temperatur',
                                'EG.Hauswirtschaftsraum.Temperatur',
                                'EG.Flur_vorne.Temperatur',
                                'EG.Flur_hinten.Temperatur',
                                'EG.Esszimmer.Temperatur',
                                'EG.Kaminzimmer.Temperatur',
                                'EG.Badezimmer.Temperatur',
                                'EG.Kueche.Temperatur',
                                'OG.Schlafzimmer_1.Temperatur',
                                'OG.Gaestezimmer.Temperatur',
                                'OG.Hobbyraum.Temperatur',
                                'Gartenhaus.Temperatur'];
              
              const Sensor = [].concat('deconz.0.Sensors.5.temperature')  // EG.Buero.Temperatur
                               .concat('deconz.0.Sensors.12.temperature')  // EG.Gaeste_WC.Temperatur
                               .concat('deconz.0.Sensors.53.temperature')  // EG.Wohnzimmer.Temperatur
                               .concat('deconz.0.Sensors.19.temperature')  // EG.Hauswirtschaftsraum.Temperatur
                               .concat('deconz.0.Sensors.9.temperature')   // EG.Flur_vorne.Temperatur
                               .concat('deconz.0.Sensors.27.temperature')  // EG.Flur_hinten.Temperatur
                               .concat('deconz.0.Sensors.40.temperature')  // EG.Esszimmer.Temperatur
                               .concat('deconz.0.Sensors.37.temperature')  // EG.Kaminzimmer.Temperatur
                               .concat('deconz.0.Sensors.45.temperature')  // EG.Badezimmer.Temperatur
                               .concat('deconz.0.Sensors.25.temperature')  // EG.Kueche.Temperature
                               .concat('deconz.0.Sensors.57.temperature')  // OG.Schlafzimmer_1.Temperatur
                               .concat('deconz.0.Sensors.60.temperature')  // OG.Gaestezimmer.Temperatur
                               .concat('deconz.0.Sensors.63.temperature')  // OG.Hobbyraum.Temperatur
                               .concat('deconz.0.Sensors.30.temperature'); // Gartenhaus.Temperatur
                               
              let   triggeredSensor = 0;
              
              const numberOfHoursAgo = 24;
              const xAxisTicksEveryM = 60;
              const xAxisLabelEveryM = 240;
              
              const InfluxInstance = 'influxdb.1';
              
              // Ab hier keine Ändeungen
              
              let coordinates = ''; 
              
              on({ id: Sensor, change: 'any' }, async function (obj) {
                  
                  if (Debug) console.log(obj.id);
                  if (Debug) console.log(Sensor.indexOf(obj.id));
                  if (Debug) console.log(SensorName[Sensor.indexOf(obj.id)])
              
                  PathSensor = Path + SensorName[Sensor.indexOf(obj.id)]
              
                  if (existsObject(PathSensor) == false) {
                      createState(PathSensor, 0, {
                          name: 'SensorGrid',
                          desc: 'Sensor Values [~<time>:<value>]*',
                          type: 'string',
                          role: 'value',
                      });
                  }
              
                  let query =[
                      'from(bucket: "iobroker")',
                      '|> range(start: -' + numberOfHoursAgo + 'h)',
                      '|> filter(fn: (r) => r["_measurement"] == "' + obj.id + '")',
                      '|> filter(fn: (r) => r["_field"] == "value")',
                      '|> drop(columns: ["from", "ack", "q"])',
                      '|> aggregateWindow(every: 1h, fn: last, createEmpty: false)',
                      '|> map(fn: (r) => ({ r with _rtime: int(v: r._time) - int(v: r._start)}))',
                      '|> yield(name: "_result")'].join('');
              
                  if (Debug) console.log('Query: ' + query);
              
                  sendTo(InfluxInstance, 'query', query, function (result) {
                      if (result.error) {
                          console.error(result.error);
                      } else {
                          // show result
                          if (Debug) console.log(result);
                          let numResults = result.result.length;
                          for (let r = 0; r < numResults; r++) 
                          {
                              let list = []
                              let numValues = result.result[r].length;
              
                              for (let i = 0; i < numValues; i++) 
                              {
                                  let time = Math.round(result.result[r][i]._rtime/1000/1000/1000/60);
                                  let value = Math.round(result.result[r][i]._value * 10);
                                  list.push(time + ":" + value);
                              }
              
                              coordinates = list.join("~");
              
                              if (Debug) console.log(coordinates);
                          }
                      }
                  });
              
                  let timeOut = setTimeout (
                      function () {
                          let ticksAndLabelsList = []
                          let date = new Date();
                          date.setMinutes(0, 0, 0);
                          let ts = Math.round(date.getTime() / 1000);
                          let tsYesterday = ts - (numberOfHoursAgo * 3600);
                          if (Debug) console.log('Iterate from ' + tsYesterday + ' to ' + ts + ' stepsize=' + (xAxisTicksEveryM * 60));
                          for (let x = tsYesterday, i = 0; x < ts; x += (xAxisTicksEveryM * 60), i += xAxisTicksEveryM)
                          {
                              if ((i % xAxisLabelEveryM))
                                  ticksAndLabelsList.push(i);
                              else
                              {
                                  let currentDate = new Date(x * 1000);
                                  // Hours part from the timestamp
                                  let hours = '0' + String(currentDate.getHours());
                                  // Minutes part from the timestamp
                                  let minutes = '0' + String(currentDate.getMinutes());
                                  let formattedTime = hours.slice(-2) + ':' + minutes.slice(-2);
              
                                  ticksAndLabelsList.push(String(i) + '^' + formattedTime);
                              }
                          }
                          if (Debug) console.log('Ticks & Label: ' + ticksAndLabelsList);
                          if (Debug) console.log('Coordinates: ' + coordinates);
                          setState(PathSensor, ticksAndLabelsList.join('+') + '~' + coordinates, true);
                      }, 
                  1500
                  ) ;
              });
              

              5bb270b6-0966-4868-9967-48ee6bc6d93d-image.png

              Die cardLChart arbeitet allerdings mit Koordinaten:

              Der String weicht von der cardChart ab:
              0^16:00+60+120+180+240^20:00+300+360+420+480^00:00+540+600+660+720^04:00+780+840+900+960^08:00+1020+1080+1140+1200^12:00+1260+1320+1380~58:212~118:211~178:212~238:212~298:213~358:211~418:209~478:209~538:209~598:208~658:202~718:201~778:199~838:198~898:197~958:196~1018:198~1078:200~1138:201~1198:203~1258:208~1318:209~1378:208~1438:209

              im vorderen Teil (rot) wird die X-Achse konstruiert und mit "+" verknüpft. Im Anschluss werden dann die Koordinaten mit der Tilde "~" getrennt als "X:Y" angegeben...

              50e923c1-bb54-4599-aeba-047215d8e5f7-image.png

              EDIT: Falls das dann alles irgendwann im Node-Red funktioniert, könntest du es der Nachwelt für eine Wiki-Erweiterung zur Verfügung stellen? Bist sicherlich nicht der einzige mit Node-Red... :kissing_closed_eyes:

              D Offline
              D Offline
              DaPeace
              schrieb am zuletzt editiert von
              #4119

              @armilar
              Kannst du mir das mit dem LChart etwas genauer erklären? Bei dem folgenden String von dir ist quasi die 0 der Beginn des Charts, 16 wie gehabt die Uhrzeit. Was ist dann die +60+120+180+240? Die Position in X?
              Und wie ist das mit der Y-Achse? Was ist das z.B. als erster Wert für die Konstruktion "~58:212~"?

              0^16:00+60+120+180+240^20:00+300+360+420+480^00:00+540+600+660+720^04:00+780+840+900+960^08:00+1020+1080+1140+1200^12:00+1260+1320+1380~58:212~118:211~178:212~238:212~298:213~358:211~418:209~478:209~538:209~598:208~658:202~718:201~778:199~838:198~898:197~958:196~1018:198~1078:200~1138:201~1198:203~1258:208~1318:209~1378:208~1438:209
              
              T ArmilarA 2 Antworten Letzte Antwort
              0
              • D DaPeace

                @armilar
                Kannst du mir das mit dem LChart etwas genauer erklären? Bei dem folgenden String von dir ist quasi die 0 der Beginn des Charts, 16 wie gehabt die Uhrzeit. Was ist dann die +60+120+180+240? Die Position in X?
                Und wie ist das mit der Y-Achse? Was ist das z.B. als erster Wert für die Konstruktion "~58:212~"?

                0^16:00+60+120+180+240^20:00+300+360+420+480^00:00+540+600+660+720^04:00+780+840+900+960^08:00+1020+1080+1140+1200^12:00+1260+1320+1380~58:212~118:211~178:212~238:212~298:213~358:211~418:209~478:209~538:209~598:208~658:202~718:201~778:199~838:198~898:197~958:196~1018:198~1078:200~1138:201~1198:203~1258:208~1318:209~1378:208~1438:209
                
                T Offline
                T Offline
                TT-Tom
                schrieb am zuletzt editiert von
                #4120

                @dapeace

                Das ist x:y , also die Koordinaten im Chart

                Link Text

                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

                1 Antwort Letzte Antwort
                1
                • D DaPeace

                  @armilar
                  Kannst du mir das mit dem LChart etwas genauer erklären? Bei dem folgenden String von dir ist quasi die 0 der Beginn des Charts, 16 wie gehabt die Uhrzeit. Was ist dann die +60+120+180+240? Die Position in X?
                  Und wie ist das mit der Y-Achse? Was ist das z.B. als erster Wert für die Konstruktion "~58:212~"?

                  0^16:00+60+120+180+240^20:00+300+360+420+480^00:00+540+600+660+720^04:00+780+840+900+960^08:00+1020+1080+1140+1200^12:00+1260+1320+1380~58:212~118:211~178:212~238:212~298:213~358:211~418:209~478:209~538:209~598:208~658:202~718:201~778:199~838:198~898:197~958:196~1018:198~1078:200~1138:201~1198:203~1258:208~1318:209~1378:208~1438:209
                  
                  ArmilarA Offline
                  ArmilarA Offline
                  Armilar
                  Most Active Forum Testing
                  schrieb am zuletzt editiert von Armilar
                  #4121

                  @dapeace sagte in SONOFF NSPanel mit Lovelace UI:

                  Ah okay, die cardLChart

                  0^16:00+60+120+180+240^20:00+300+360+420+480^00:00+540+600+660+720^04:00+780+840+900+960^08:00+1020+1080+1140+1200^12:00+1260+1320+1380~58:212~118:211~178:212~238:212~298:213~358:211~418:209~478:209~538:209~598:208~658:202~718:201~778:199~838:198~898:197~958:196~1018:198~1078:200~1138:201~1198:203~1258:208~1318:209~1378:208~1438:209
                  

                  Kurz zerlegt:

                  In diesem Teil wird die X-Achse konstruiert ("+" getrennt):

                  0^16:00+60+120+180+240^20:00+300+360+420+480^00:00+540+600+660+720^04:00+780+840+900+960^08:00+1020+1080+1140+1200^12:00+1260+1320+1380
                  

                  fängt bei 0 an und geht in diesem Beispiel in 60er Schritten bis 1380 (wäre der letzte Strich an der X-Achse). Alle 240 wird dort eine Uhrzeit an die X-Achse gesetzt.
                  Die max. X-Position "in diesem Beispiel" wäre also 24h x 60 Min = max_x = 1440

                  Du kannst natürlich auch eine andere Basis abbilden (Woche, Monat, What ever)

                  wie hier:
                  bei 0 die ^16:00
                  bei 240 die ^20:00
                  bei 480 die ^0:00
                  etc.

                  Im Anschluss kommen die Koordinaten des Graphen (wie @TT-Tom schon korrekt geschrieben hat --> X:Y - Koordinaten).

                  ~58:212~118:211~178:212~238:212~298:213~358:211~418:209~478:209~538:209~598:208~658:202~718:201~778:199~838:198~898:197~958:196~1018:198~1078:200~1138:201~1198:203~1258:208~1318:209~1378:208~1438:209
                  

                  Erste Koordinate
                  ~58:212

                  X=58 (könntest also auch 58 Minute der letzten 24 Stunden sagen)
                  Y=212 = z.B. 21,2°C

                  EDIT: Habe gestern für die HA's erst eine Anleitung gebastelt (am Ende):
                  https://github.com/joBr99/nspanel-lovelace-ui/issues/794

                  Mein Hotel (Bin mal wieder unterwegs) hat Github geblockt :confounded:

                  EDIT: Im Zweifel einfach unsere JavaScripte aus der Wiki nutzen

                  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
                  • D danny_v1

                    @armilar Es ist jedes mal und es sind alle Lampen betroffen, also nicht nur farbige.
                    Datenpunkte der Aliasse schick ich heute abend.

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

                    @danny_v1

                    Dachte es wäre evtl. auf einen speziellen Alias Geräte-Typen zurückzuführen... brauchste daher nicht zu senden...

                    Die Frage die mich da ein wenig quält ist: "Was ist bei dir anders als bei allen anderen?"

                    Gibt es Warnungen im Log, wenn das passiert?

                    Könntest du mal das NSPanel-Verzeichnis in 0_userdate löschen und neu anlegen lassen?

                    Bei welcher Version des Scriptes bist du nun? Und mit welcher TFT?

                    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.

                    D 1 Antwort Letzte Antwort
                    0
                    • K Kuckuckmann

                      Hallo Community,

                      wir haben viel zeit und Getippsel investiert und unserer Wiki ein bissel Glanz und Struktur gegönnt.
                      Ja, wir wissen wir sind am Anfang und eine Wiki ist ja bekanntlich nie zu Ende, bzw. lebt von dem was wir alle noch hinzufügen werden.

                      --> ZUR WIKI <--

                      Neben dem alten klassischen Menü, welches man noch aufklappen kann, gibt es jetzt links ein neues hübsches Menü, welches Euch mit einem kurzen Blick&Klick in den richtigen Bereich führt.
                      Am unteren Ende einer Seite gibt es einen "nach oben Scroll Button".

                      Wir hoffen, die neue Struktur hilft Euch in der Zukunft euch noch besser zurecht zu finden.

                      Viel Spaß :-)

                      Euer NSPanel LUI Team :-)

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

                      @all

                      @kuckuckmann sagte in SONOFF NSPanel mit Lovelace UI:

                      Hallo Community,

                      wir haben viel zeit und Getippsel investiert und unserer Wiki ein bissel Glanz und Struktur gegönnt.
                      Ja, wir wissen wir sind am Anfang und eine Wiki ist ja bekanntlich nie zu Ende, bzw. lebt von dem was wir alle noch hinzufügen werden.

                      --> ZUR WIKI <--

                      Neben dem alten klassischen Menü, welches man noch aufklappen kann, gibt es jetzt links ein neues hübsches Menü, welches Euch mit einem kurzen Blick&Klick in den richtigen Bereich führt.
                      Am unteren Ende einer Seite gibt es einen "nach oben Scroll Button".

                      Wir hoffen, die neue Struktur hilft Euch in der Zukunft euch noch besser zurecht zu finden.

                      Viel Spaß :-)

                      Euer NSPanel LUI Team :-)

                      NSPanel Dokumentation im GitHub Wiki:

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

                      1 Antwort Letzte Antwort
                      3
                      • ArmilarA Armilar

                        @danny_v1

                        Dachte es wäre evtl. auf einen speziellen Alias Geräte-Typen zurückzuführen... brauchste daher nicht zu senden...

                        Die Frage die mich da ein wenig quält ist: "Was ist bei dir anders als bei allen anderen?"

                        Gibt es Warnungen im Log, wenn das passiert?

                        Könntest du mal das NSPanel-Verzeichnis in 0_userdate löschen und neu anlegen lassen?

                        Bei welcher Version des Scriptes bist du nun? Und mit welcher TFT?

                        D Offline
                        D Offline
                        danny_v1
                        schrieb am zuletzt editiert von
                        #4124

                        @armilar Ich versteh gerade die Welt nicht mehr, gestern Abend lief es auf einmal so wie es soll, ohne das ich noch was geändert habe.

                        Sobald es wieder auftreten sollte werde ich mal ins Log schauen (iobroker Log und Javaskript Log?)

                        1 Antwort Letzte Antwort
                        1
                        • J Offline
                          J Offline
                          JackONell
                          schrieb am zuletzt editiert von
                          #4125

                          Hallo Community,

                          ich habe eine "cardUnlock" Page erstellt und schaffe es einfach nicht, nach Pin Eingabe weitergeleitet zu werden auf die entsprechende "NSPanel_Service" Page.
                          Mach ich irgendetwas falsch oder hab ich etwas übersehen/vergessen ?

                          Wenn ich am Panel den Code eingebe, sehe ich auch bei den Objekten das sich nichts tut.

                          let Alarm_Seite = <PageUnlock>
                          {
                              'type': 'cardUnlock',
                              'heading': 'Alarmanlage',
                              'useColor': true,
                              'items': [<PageItem>{ id: 'alias.0.Unlock', targetPage: 'NSPanel_Service' }]
                          };
                          
                          let NSPanel_Service = <PageEntities>
                          {
                              'type': 'cardEntities',
                              'heading': 'NSPanel Service',
                              'useColor': true,
                              'items': [
                                  <PageItem>{ navigate: true, id: 'NSPanel_Infos', icon: 'information-outline', offColor: Menu, onColor: Menu, name: 'Infos', buttonText: 'mehr...'},
                                  <PageItem>{ navigate: true, id: 'NSPanel_Einstellungen', icon: 'monitor-edit', offColor: Menu, onColor: Menu, name: 'Einstellungen', buttonText: 'mehr...'},
                                  <PageItem>{ navigate: true, id: 'NSPanel_Firmware', icon: 'update', offColor: Menu, onColor: Menu, name: 'Firmware', buttonText: 'mehr...'},
                                  <PageItem>{ id: AliasPath + 'Config.rebootNSPanel', name: 'Reboot NSPanel' ,icon: 'refresh', offColor: MSRed, onColor: MSGreen, buttonText: 'Start'},
                              ]
                          

                          Unbenannt.JPG

                          Kann mir bitte jemand weiterhelfen ?
                          Bin in der Sache leider kein Profi :)
                          Vielen Dank im voraus.

                          1 Antwort Letzte Antwort
                          0
                          • T Offline
                            T Offline
                            TT-Tom
                            schrieb am zuletzt editiert von TT-Tom
                            #4126

                            @jackonell

                            Hast du Service Page zur Subpages verschoben?

                            pages:[ 
                                               NSPanel_Service    //Auto-Alias Service Page
                            ],
                                                subPages: [
                            

                            Muss bei pages raus und bei subPages rein.

                            In der config der Service Page muss der Parameter

                            'subPage': true,
                            

                            hinzugefügt werden.

                            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

                            J 1 Antwort Letzte Antwort
                            1
                            • André KoschnikA Offline
                              André KoschnikA Offline
                              André Koschnik
                              schrieb am zuletzt editiert von
                              #4127

                              Moin,

                              ich habe mein NSP Panel geupdatet und das neues Script eingespielt. Leide bekomme ich das Script nicht zum laufen und das Panel nicht mehr auf die alte FW. Ich weiß der Fehler sitzt meinesten vor dem Bildschirm aber könnt ihr mir einen Tipp geben.

                              Script Version TypeScript v4.3.2.2

                              17:10:32.978	info	javascript.0 (2342) Stop script script.js.house.panel.test
                              17:12:04.746	info	javascript.0 (26578) script.js.house.panel.test: compiling TypeScript source...
                              17:12:16.071	info	javascript.0 (26578) script.js.house.panel.test: TypeScript compilation successful
                              17:12:16.170	error	javascript.0 (26578) script.js.house.panel.test: Error: Cannot find module 'moment-parseformat'
                              17:12:16.171	error	javascript.0 (26578) at script.js.house.panel.test:1137:19
                              17:12:16.203	info	javascript.0 (26578) script.js.house.panel.test: setObjects enabled - create Alias Channels possible
                              17:12:16.213	info	javascript.0 (26578) script.js.house.panel.test: weather alias for accuweather.0. already exists
                              17:12:16.270	info	javascript.0 (26578) script.js.house.panel.test: registered 29 subscriptions, 7 schedules, 0 messages, 0 logs and 0 file subscriptions
                              17:12:17.209	info	javascript.0 (26578) script.js.house.panel.test: Debugmodus deaktiviert
                              17:12:17.212	info	javascript.0 (26578) script.js.house.panel.test: Desired TFT Firmware: 53 / v4.3.2
                              17:12:17.214	info	javascript.0 (26578) script.js.house.panel.test: Installed TFT Firmware: 50 / v4.0.5
                              17:12:17.536	info	javascript.0 (26578) script.js.house.panel.test: Debugmodus deaktiviert
                              17:12:21.423	info	javascript.0 (26578) script.js.house.panel.test: Start MQTT-Port-Check -------------------------------------
                              17:12:21.424	info	javascript.0 (26578) script.js.house.panel.test: -- admin.0 - 8081
                              17:12:21.424	info	javascript.0 (26578) script.js.house.panel.test: -- lovelace.0 - 8091
                              17:12:21.424	info	javascript.0 (26578) script.js.house.panel.test: -- mqtt.0 - 1883
                              17:12:21.424	info	javascript.0 (26578) script.js.house.panel.test: -- node-red.0 - 1880
                              17:12:21.425	info	javascript.0 (26578) script.js.house.panel.test: -- sql.0 - 5432
                              17:12:21.425	info	javascript.0 (26578) script.js.house.panel.test: -- terminal.0 - 8088
                              17:12:21.425	info	javascript.0 (26578) script.js.house.panel.test: -- zigbee.0 - /dev
                              17:12:21.425	info	javascript.0 (26578) script.js.house.panel.test: - MQTT-Port-Check OK: Instance of Adapter: mqtt.0 is running on Port:1883
                              17:12:21.425	info	javascript.0 (26578) script.js.house.panel.test: End MQTT-Port-Check ---------------------------------------
                              17:12:52.926	info	javascript.0 (26578) script.js.house.panel.test: Tasmota upgrade complete. New Version: 13.2.0(tasmota32)
                              17:19:07.004	info	javascript.0 (26578) Stop script script.js.house.panel.test
                              17:28:38.971	info	javascript.0 (26578) Stop script script.js.house.panel.test
                              
                              
                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                TT-Tom
                                schrieb am zuletzt editiert von
                                #4128

                                @andré-koschnik

                                Du hast die npm Module 'moment' , 'moment-parseformat' vergessen, bitte diesen Post genau lesen.

                                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

                                1 Antwort Letzte Antwort
                                1
                                • André KoschnikA Offline
                                  André KoschnikA Offline
                                  André Koschnik
                                  schrieb am zuletzt editiert von
                                  #4129

                                  das hab ich schon gesehen aber ich weiß nicht wie ich das impotieren kann.

                                  ArmilarA 1 Antwort Letzte Antwort
                                  0
                                  • André KoschnikA André Koschnik

                                    das hab ich schon gesehen aber ich weiß nicht wie ich das impotieren kann.

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

                                    @andré-koschnik

                                    steht doch da:
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#8--einstellungen-in-js-adapter-instanz

                                    In der Zeile der JS-Adapter-Instanz (siehe Bild im Link) die Modulnamen eintragen...

                                    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
                                    1
                                    • André KoschnikA Offline
                                      André KoschnikA Offline
                                      André Koschnik
                                      schrieb am zuletzt editiert von
                                      #4131

                                      Danke machmal sieht man den wald vor Bäumen nicht

                                      1 Antwort Letzte Antwort
                                      1
                                      • M Offline
                                        M Offline
                                        Mucky 0
                                        schrieb am zuletzt editiert von
                                        #4132

                                        Hallo,
                                        Ich bräuchte mal eure Hilfe da ich komplette Newbie in Sachen NSPanel+Lovelace bin.
                                        Ich möchte das NSPanel nur für die Anzeige der PV-Werte mit Hilfe der cardPower verwenden. Ich habe nun den Beispielcode in das Javascript bei "Anfang der Beispiele für Seitengetaltung" eingefügt und den "Demomodus" aktiviert.... aber auf dem Display tut sich nichts. Es werden nur NSPanelService Seiten und der Screensaver angezeigt.
                                        Wie muss ich weiter vorgehen um die Werte bzw. die Darstellung vom Beispiel auf mein Display zu bekommen? Gibt es irgendwo eine genauere Anleitung da ich aus den gefundenen bzw. Code-Schnipseln nicht schlau werde.

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • M Mucky 0

                                          Hallo,
                                          Ich bräuchte mal eure Hilfe da ich komplette Newbie in Sachen NSPanel+Lovelace bin.
                                          Ich möchte das NSPanel nur für die Anzeige der PV-Werte mit Hilfe der cardPower verwenden. Ich habe nun den Beispielcode in das Javascript bei "Anfang der Beispiele für Seitengetaltung" eingefügt und den "Demomodus" aktiviert.... aber auf dem Display tut sich nichts. Es werden nur NSPanelService Seiten und der Screensaver angezeigt.
                                          Wie muss ich weiter vorgehen um die Werte bzw. die Darstellung vom Beispiel auf mein Display zu bekommen? Gibt es irgendwo eine genauere Anleitung da ich aus den gefundenen bzw. Code-Schnipseln nicht schlau werde.

                                          T Offline
                                          T Offline
                                          TT-Tom
                                          schrieb am zuletzt editiert von
                                          #4133

                                          @mucky-0

                                          zeige mal bitte was du eingefügt hast.

                                          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

                                          M 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

                                          335

                                          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