Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Betatest NSPanel-lovelace-ui v0.2.x

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Betatest NSPanel-lovelace-ui v0.2.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • teletapi
      teletapi @Armilar last edited by teletapi

      @armilar Kann evtl. jemand den Fehler im Log nachvollziehen. Der kommt sofort nach dem flashen wid dann geflasht bis ein paar Byte vor schluss zeigt 100% an aber macht nicht fertig hab das gerade wieder an dem US und auch am EU panel gehabt mit der Meldung System Data error. EU Panel kein Problem beim US kommt der Fehler kurz nach dem anstoßenm der Flashdatei

      FlashNextionAdv0 http://nspanel.de/nspanel-us-l-v4.9.5.tft
      15:26:34.582 MQT: SmartHome/NSPanel_US/stat/RESULT = {"FlashNextionAdv":"Done"}
      15:26:34.604 FLH: host: nspanel.de, port: 80, get: /nspanel-us-l-v4.9.5.tft
      15:26:34.960 MQT: SmartHome/NSPanel_US/stat/RESULT = {"T1":0,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}
      15:26:34.966 MQT: SmartHome/NSPanel_US/stat/RESULT = {"Rule3":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":291,"Free":220,"Rules":"ON CustomSend DO RuleTimer3 120 ENDON ON Rules#Timer=3 DO CustomSend pageType~pageStartup ENDON ON Button1#state do Publish SmartHome/NSPanel_US/tele/RESULT {"CustomRecv":"event,button1"} ENDON ON Button2#state do Publish SmartHome/NSPanel_US/tele/RESULT {"CustomRecv":"event,button2"} ENDON"}}
      15:26:35.009 FLH: Something has gone wrong flashing display firmware [bytes('1AFFFFFF')]
      15:26:35.135 FLH: Send (High Speed) flash start

      Bin aber jetzt erstmal unterwegs,

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

        @teletapi

        Ja, versuche jetzt mal die Kurzfassung, da sehr technisch...

        Der Berry holt sich mit dem flash_block_size 4096 Byte große Blöcke und schiebt diese an das TFT, Der Berry kann dabei keine Checksummen prüfen...

        Wenn die Kommunikation dabei minimalistisch unterbrochen wird (in der Regel Netzwerkproblemchen) oder der Buffer beim Schreibvorgang nicht mehr ausreicht (Prüfung vorher war okay und ausreichend), dann wird der Block nicht vollständig geschrieben...

        Dieser Vorgang wird solange wiederholt, bis die komplette Firmware auf dem TFT gelandet ist.

        Irgendwann kommt das Panel bei 99% oder fast 100% an und beendet den Vorgang... Das TFT (Nextion intern) übernimmt und prüft die Checksumme... Das ist der Moment nach dem Flash wo die Seite weiß wird... Entweder hat es funktioniert oder der Screen zeigt mit einer Fehlermeldung an, dass es nicht funktioniert hat... In seltenen Fällen kann bei 100% auch diese Übergabe zwischen Berry und TFT fehlschlagen und der Flashvorgang bleibt bei 100% stehen...

        Sollte das der Fall sein, dann Tasmota neu starten und das Flashen neu beginnen, bis es komplett funktioniert hat... Oder aber die Problemchen im Netzwerk lösen und beseitigen... und die können vielschichtig sein...

        Bei mir laufen die Flash's ohne zu mucken zu 100% durch...

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

          @armilar said in Betatest NSPanel-lovelace-ui v0.2.x:

          Bei mir laufen die Flash's ohne zu mucken zu 100% durch...

          Ich könnte später mal testen ob die US Firmware bei meinen EU panelen auch Probleme macht oder ob das funktioniert. Mir ist schon unklar warum die TFT und zwar jetzt schon 2 Panele 1x EU und einmal das US Panel sich selbstständig machen. Die Firmware ist drauf und läuft und plötzlich kommt der Bildschirm System data Error.
          Allein das ist schon recht seltsam.
          Was mir aber eben mal aufgefallen ist das ich 2 verschiedene Links zum flashen habe 1x diesen: FlashNextionAdv0 http://nspanel.de/nspanel-us-l-v4.9.5.tft und 1x diesen: FlashNextion http://nspanel.pky.eu/lui-us-l-release.tft.
          Ich meine aber ich hätte immer den ersten Link benutzt

          T Armilar 2 Replies Last reply Reply Quote 0
          • T
            ticaki Developer @teletapi last edited by

            @teletapi
            Der erste benutzt immer die maximale Flash geschwindigkeit

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

              @teletapi sagte in Betatest NSPanel-lovelace-ui v0.2.x:

              FlashNextion http://nspanel.pky.eu/lui-us-l-release.tft.

              Mit dem Link bekommt ihr maximal die v4.7.4

              Da wird schon seit Ewigkeiten nur Bug Fix in der HA-Welt gemacht...

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

                Hallo ich stelle hier mal eine Feststellung rein, die eventuell auch von euch schon beobachtet wurde.
                Ich nutze einen externen MQTT-Sever (Mosquitto), wenn ich diesen neu starte werden auch meine Panels mit der TFT Firmware neu geflasht.
                Habe schon mit @ticaki Rücksprache gehalten, wir versuchen das zu verifizieren und eine Lösung zu finden.

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

                  @tt-tom
                  Ja jetzt wird ein schuh draus, deswegen flashen sich meine Panels weil ich natürlich den Mqtt adapter als Client bzw den Mosquitto server ab und an neu starte. bzw der wird ja auch neu gestartet wenn ich den raspi per "sudo reboot" neu starte

                  teletapi T 2 Replies Last reply Reply Quote 1
                  • teletapi
                    teletapi @teletapi last edited by teletapi

                    Ich hab das im übrigen gerademal getestet und hab eins der EU panele per Flash Nextion Befehl auf das US-L geflasht auch das hat nicht funktioniert. Zurück auf die EU version wieder auf Anhieb.
                    Daher muss ich wohl davon ausgehen das irgendwo bei mir ein "Kleiner Hund" (Redensart) begraben sein muss 🙂

                    1 Reply Last reply Reply Quote 0
                    • T
                      ticaki Developer @teletapi last edited by ticaki

                      @teletapi
                      Man könnte natürlich auch die Einstellung im iobroker mqtt client auf brauchbar umstellen. Mit dem Adapter als solches hat das Problem soweit ich sehe nichts zu tun.

                      @all

                      Wenn man einen externen MQTT-Server benutzt, wird erwartet das man diesen auch wie ein fortgeschrittener Amateur betreibt - sonst internen benutzen und keinen anderen Client mit diesem internen verbinden.

                      EDIT:
                      Habs im Adapter jetzt soweit entschärft das der Topic cmd/Backlog nach einem Flashbefehl mit '' überschrieben wird, so das ein falsch konfigurierter Client/Server nicht einen weiteres Update starten kann.

                      teletapi 1 Reply Last reply Reply Quote 1
                      • teletapi
                        teletapi @ticaki last edited by

                        @ticaki said in Betatest NSPanel-lovelace-ui v0.2.x:

                        Wenn man einen externen MQTT-Server benutzt, wird erwartet das man diesen auch wie ein fortgeschrittener Amateur betreibt

                        könntest du das evtl. mal etwas genauer ausführen...?

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ticaki Developer @teletapi last edited by ticaki

                          @teletapi

                          So nicht:

                          Bildschirmfoto 2025-08-22 um 10.04.21.png

                          Die Maske die man für das NSPanel benutzt, sorgt dafür das alle States in mqtt.1.* als Eigene States zu verstehen sind
                          Die Option die im Bild einen Hacken hat, sorgt dafür das beim Verbinden alle eigenen States gesendet werden.

                          Wenn ich nun auf den Topic .../cmd/Backlog immer mal wieder den gleichen Befehl sende - steht der ebenfalls unter mqtt.1. und wird beim Restart von mqtt.1, iobroker, iobroker-server oder mqtt-server an das Panel gesendet. Da ja Eigene States beim Verbinden publiziert werden

                          Denke nicht das man dafür ein mqtt-pro-user sein muß - bin selbst nämlich bei weitem keiner.

                          EDIT: Adapter schickt jetzt einen leeren String auf den Topic, kann für ein "kein Plan" Warnung von Tasmota sorgen, hab nicht in die console geschaut. Auf jeden Fall entfernt es den Flashbefehl aus cmd/Backlog und beim restart sendet er dann höchstes einen leeren String.

                          teletapi 1 Reply Last reply Reply Quote 0
                          • teletapi
                            teletapi @ticaki last edited by teletapi

                            @ticaki Interessant und ist genau die Einstellung die ich bereits nutze und die Panele versuchen sich trotzdem zu flashen bei 1 funktioniert das , das 2te macht garnichts und das US Panel bleibt wie gesagt nach dem flashen hängen und zeigt System Data Error. (Lösung hab ich noch nicht gefunden)
                            ist aber nicht weiter schlimm wenn man weiß woran es liegt dann kann man die panele abschalten bevor man neu startet geht natürlich nur bei mobilen Panelen mit Schalter.
                            Das mit dem internen Mqtt Adapter hab ich zwar mal kurzfristig versucht lief aber nicht auf Anhieb und hab daher den Mqquitto genutzt weil er jka eh läuft und das auch sehr zuverlässig bisher.

                            T Armilar 2 Replies Last reply Reply Quote 0
                            • T
                              ticaki Developer @teletapi last edited by ticaki

                              @teletapi

                              Der interne lief bis dato überall auf anhieb - mußt halt initialisieren. Benutzt du die einstellen wie im Bild? Die sind falsch! - hab ein so nicht oben ergänzt

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

                                @teletapi

                                Die Option die im Bild einen Hacken hat, sorgt dafür das beim Verbinden alle eigenen States gesendet werden.

                                ich denke @ticaki will damit ausdrücken, dass wenn der Haken vor Eigene States beim Verbinden publizieren gesetzt ist, dann hast du das Problem mit dem Reflash...

                                1 Reply Last reply Reply Quote 1
                                • T
                                  ticaki Developer last edited by ticaki

                                  kein Update - Ist aktuell im Alpha Test - wird wohl heute freigeschaltet

                                  da für das Testen jedoch auch ne Beschreibung nötig ist mach ich die hier hin, kann @TT-Tom ja vielleicht für die Wiki nutzen oder halt einfach für den Anfang verlinken. Ich hab kein aktuelles schönes Bild. 🙂
                                  Wenn ich Skript schreibe meine ich immer das Adapter-Skript - nicht das andere 😄

                                  Konfiguration der cardThermo2 im Adapter

                                  Diese unterscheitet sich von der Skriptkonfiguration, daher eine komplette Beschreibung.
                                  Struktur:

                                  • Aussehen
                                  • Feature
                                  • Probleme
                                  • Konfiguration
                                    • Alias
                                    • Direkt über Datenpunkte
                                    • Gemeinsame Optionen
                                  • PageItemerweiterung

                                  Aussehen:

                                  image.jpg

                                  Feature:

                                  • bis zu 8 Heizkreise möglich (z.B. Heizung/Klimaanlage oder Küche/Wohnzimmer/...)
                                  • unendliche Anzahl an Pageitems (mit Blätterfunktion), das sind die 8 aussen rum und Nr. 9 zwischen dem + und -
                                  • Pageitems können einem Heizkreis zu geordnet werden
                                  • Überschriften sind per Heizkreis
                                  • Die Zeilen ober und unterhalb der Einstelltemperatur sind frei definierbar mit icon, wert, unit

                                  Bekannte Probleme

                                  • airCondition und thermostat werden wie ein thermostat behandelt
                                  • leichtes Flackern auf Grund der hübschen Optik - das wird bleiben

                                  Konfiguration

                                  Eine komplette Seite sieht im Skript z.B. so aus

                                      const ThermoNew: PageType = {
                                          type: 'cardThermo2',
                                          uniqueName:'main',
                                          heading: 'egal wird eh nicht angezeigt',
                                          thermoItems:[
                                              {name: 'test1', id:'0_userdata.0.Einzelne_Geräte.Thermostat'},
                                              {name: 'test2', modeList:['aus','kaputt', 'falsch'], modeId:'0_userdata.0.Einzelne_Geräte.Thermostat.MODE' ,iconHeatCycle:'home', iconHeatCycleOffColor:Red, thermoId1:'0_userdata.0.Einzelne_Geräte.Thermostat.ACTUAL', set:'0_userdata.0.Einzelne_Geräte.Thermostat.SET', thermoId2:'0_userdata.0.Einzelne_Geräte.Thermostat.HUMIDITY'}],
                                          items:[
                                              {id: 'alias.0.Licht.lights.Gerät_1', filter: 0},
                                              {id: 'alias.0.Licht.lights.Gerät_2', filter: 0},
                                              {id: '0_userdata.0.Einzelne_Geräte.dimmer'},
                                              {id: 'alias.0.NSPanel.allgemein.hue', },
                                              {navigate: true, targetPage: 'fahrplanrouten'},
                                              {id: 'alias.0.NSPanel.allgemein.shutter', filter: 1},
                                              {id: 'alias.0.NSPanel.allgemein.shutter', filter: 1},
                                              {id: 'alias.0.NSPanel.allgemein.shutter', filter: 1}
                                              ],
                                      }
                                  

                                  Alias

                                  Wie gewohnt kann man Aliase (siehe Tabelle) verwenden. Die Role airCondition erzeugt 2 Heizkreise. Die wird eingestellt durch name2, iconHeatCycle2, iconHeatCycleOnColor2 und iconHeatCycleOffColor2. Viele der optionalen Datenpunkte sind drin und werden Heizkreis bezogen als Pageitems hinzugefügt. Fehlende bitte reklamieren.

                                      const Thermo2New: PageType = {
                                          type: 'cardThermo2',
                                          uniqueName:'Seitenname für interne Verwendung - Pflicht',
                                          heading: 'egal wird eh nicht angezeigt',
                                          thermoItems:[
                                              {
                                                  name: 'Das hier ist die Überschrift', 
                                                  id:'0_userdata.0.Einzelne_Geräte.Thermostat', // das hier ist der Channel, Device oder Folder
                                              },
                                          ],
                                          items:[],
                                      }
                                  
                                  • thermoItems enthält Objekte ('{}') die die Heizkreise beschreiben minimum 1 (Liste bzw. Array)
                                    • id ist der Channel. (Zeichenkette)
                                    • name ist die Überschrift die angezeigt wird. (Zeichenkette) Ohne dieses wird geschaut ob was im common.name des Channel steht.
                                    • name2 ist die Überschrift die für eine airCondition verwendet wird.
                                    • iconHeatCycle2: Überschreibt das Zahlenicon in den PageItems (außen herum) ausschließlich für airCondition
                                    • iconHeatCycleOnColor2: Überschreibt die Farbe für aktiviert in den PageItems (außen herum) ausschließlich für airCondition
                                    • iconHeatCycleOffColor2: Überschreibt die Farbe für deaktiviert in den PageItems (außen herum) ausschließlich für airCondition

                                  Der Datenpunkt MODE hat sich verändert, daher bitte unten bei modeList lesen

                                  Direkt über Datenpunkte

                                  Das ist mit Alias nicht mischbar, darf aber natürlich auf die Datenpunkte eines angelegten Channels verweisen.

                                  const Thermo2New: PageType = {
                                          type: 'cardThermo2',
                                          uniqueName:'Seitenname für interne Verwendung - Pflicht',
                                          heading: 'egal wird eh nicht angezeigt',
                                          thermoItems:[
                                              {
                                                  name: 'Das hier ist die Überschrift', 
                                                  set:'0_userdata.0.Einzelne_Geräte.Thermostat.SET', // Der Einstellwert der Heizung
                                                  thermoId1:'0_userdata.0.Einzelne_Geräte.Thermostat.ACTUAL', // Aktuelle Raumtemperatur (oberer Wert in der Anzeige)
                                                  thermoId2:'0_userdata.0.Einzelne_Geräte.Thermostat.HUMIDITY', // Aktuelle Luftfeuchtigkeit (unterer Wert in der Anzeige)
                                                  modeId:'0_userdata.0.Einzelne_Geräte.Thermostat.MODE', // Textfeld unterhalb der Wert - kein Zeichenkettendatenpunkt 
                                              }
                                          ],
                                          items:[],
                                      }
                                  
                                  • thermoItems enthält Objekte ('{}') die die Heizkreise beschreiben minimum 1 (Liste bzw. Array)
                                    • name ist die Überschrift die angezeigt wird. (Zeichenkette)
                                    • set ist der Einstellwert der Heizung - aktuell keine Unterteilung in read/write
                                    • thermoId1 Aktuelle Raumtemperatur (oberer Wert in der Anzeige)
                                    • thermoid2 Aktuelle Luftfeuchtigkeit (unterer Wert in der Anzeige)
                                    • modeId Siehe beschreibung unten zu modeList

                                  Gemeinsame Eigenschaften

                                  Hier sind die Eigenschaften beschrieben die zusätzlich zu name, id bzw. name, set angegeben werden können und was sie bedeuten:

                                          icon?: AllIcons | '';
                                          icon2?: AllIcons | '';
                                          iconHeatCycle?: AllIcons | ''; 
                                          iconHeatCycleOnColor?: RGB;
                                          iconHeatCycleOffColor?: RGB;     
                                          name?: string;
                                          minValue?: number;
                                          maxValue?: number;
                                          stepValue?: number;
                                          power?: string;
                                          unit?: string;
                                          unit2?: string;
                                          onColor?: RGB;
                                          onColor2?: RGB;
                                          modeList?: string[];
                                  

                                  icon: Überschreibt das Standardicon in der 1. Textzeile (Temperatur)
                                  onColor: Überschreibt die Farbe der 1. Textzeile (Temperatur)
                                  unit: Überschreibt die Einheit der 1. Textzeile unnd 2. Textzeile (Temperatur)

                                  icon2: wie oben für Zeile 3 (Luftfeuchtigkeit)
                                  onColor2: wie oben für Zeile 3 (Luftfeuchtigkeit)
                                  unit2: Überschreibt die Einheit der 3. Textzeile (Luftfeuchtigkeit)

                                  iconHeatCycle: Überschreibt das Zahlenicon in den PageItems (außen herum)
                                  iconHeatCycleOnColor: Überschreibt die Farbe für aktiviert in den PageItems (außen herum)
                                  iconHeatCycleOffColor: Überschreibt die Farbe für deaktiviert in den PageItems (außen herum)

                                  minValue: minimale Einstellbare Temperatur (Default: 15)
                                  maxValue: maximal einstellbare Temperatur (Default: 28)
                                  stepValue: Schritte für +/-. Eine eingetragene 1 bedeutet Schritte von 0.1 (Default: 5)

                                  power: Das ist wohl noch nicht im TFT, daher keine Beschreibung

                                  modeList: Das denke ich ist noch nicht final und braucht deutlich mehr Text 🙂
                                  modeId bzw. MODE arbeiten auf die dieselbe Weise. Der Datenpunkt sollte vom Type number sein und kann im Object common.states verwenden - dann arbeiten das common.states für modeList.
                                  modeList überschreibt common.states und diese überschreibt die Standardmodelist, die im Adapter hinterlegt ist:
                                  Standard Modelist

                                  ['OFF', 'AUTO', 'COOL', 'HEAT', 'ECO', 'FAN', 'DRY']
                                  

                                  Im Datenpunkt steht z.B. eine 0 dann wird OFF angezeigt, steht dort eine 3 wird HEAT angezeigt (die werden übersetzt).
                                  Wenn das in den common.states des Datenpunktes genauso steht gilt dort das gleich. Ebenso in der modeList.
                                  Im Skript sieht dass dann etwas regional angepasst so aus:

                                  modeList: ["Aus'm", "Automat", "Kühl'n", "Heiz'n", "Sparn", "Puste", "Trockn"],
                                  

                                  PageItemerweiterung

                                  Für die Pageitems gibt es eine neue Eigenschaft die aktuell aber nur für die cardThermo2 von belang ist:

                                  items:[
                                      {id: 'alias.0.Licht.lights.Gerät_1', filter: 0},
                                  ],
                                  

                                  filter: Ist es definiert wird das Pageitem nur angezeigt, wenn der entsprechende Heizkreis aktiv ist. Zählung beginnt bei 0 (number).
                                  Wenn eine airCondition per 'id' hinzugefügt wird erhöht sich der index nach der airCondition um 1.

                                  Das ist noch nicht in der aktuellen Branch. Wenn ihr trotzdem testen wollt der Installationslink wäre dieser Alpha-Test

                                  Schlußanmerkung - die rollen für aircondition können sich noch ändern - die scheinen sich von thermostat zu unterscheiden also besser da nachgucken.

                                  Dank an @Armilar, @TT-Tom

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

                                    @ticaki
                                    Also ich habe es verstanden 😉

                                    Werde es so ins Wiki übernehmen und noch ein paar Bilder mit dazu machen.

                                    @all wenn ihr noch Ergänzungen habt, die mit in die Wiki sollen, hier posten und mich mit erwähnen.

                                    Von meiner Seite auch nochmal großes Kompliment und Dankeschön an @ticaki und @Armilar für Ihren Einsatz, dieses Projekt so nach vorne zu bringen.

                                    1 Reply Last reply Reply Quote 0
                                    • T
                                      ticaki Developer last edited by ticaki

                                      Hab meine Beschreibung editiert zusammengefasst:

                                      airCondition ist eingebaut, erzeugt automatisch einen 2. Heizkreis dieser ist dann durch die heatCycleIcon...2 und name2 Eigenschaft zu konfigurieren. Gilt nur für automatisches Konfigurieren per Channel-ID. filter im Pageitem müssen dann um 1 erhöht werden hinter der Klimanlage, das geht nur automatisch für die, die auch vom Adapter erstellt werden.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      579
                                      Online

                                      32.0k
                                      Users

                                      80.5k
                                      Topics

                                      1.3m
                                      Posts

                                      17
                                      436
                                      20799
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo