NEWS
Betatest NSPanel-lovelace-ui v0.2.x
-
@armilar jou das hab ich überlesen. ja dann weiß ich auch nicht.
-
-
@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 startBin aber jetzt erstmal unterwegs,
-
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...
-
@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 -
@teletapi
Der erste benutzt immer die maximale Flash geschwindigkeit -
@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...
-
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. -
@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 -
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 -
@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. -
@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...?
-
So nicht:
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 werdenDenke 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.
-
@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. -
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
-
-
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 ichSkript
schreibe meine ich immer das Adapter-Skript - nicht das andereKonfiguration 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:
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
Alias
Wie gewohnt kann man Aliase (siehe Tabelle) verwenden, aktuell werden nur die Datenpunkte für
thermostat
unterstützt. 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)name
ist die Überschrift die angezeigt wird. (Zeichenkette)id
ist der Channel. (Zeichenkette)
- 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/writethermoId1
Aktuelle Raumtemperatur (oberer Wert in der Anzeige)thermoid2
Aktuelle Luftfeuchtigkeit (unterer Wert in der Anzeige)modeId
Siehe beschreibung unten zumodeList
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: Ü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) - wird nur in Verbindung mit dem setzen von iconHeatCycle verwendet.
iconHeatCycleOffColor: Überschreibt die Farbe für deaktiviert in den PageItems (außen herum) - wird nur in Verbindung mit dem setzen von iconHeatCycle verwendet.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 BeschreibungmodeList: Das denke ich ist noch nicht final und braucht deutlich mehr Text
modeId
bzw.MODE
arbeiten auf die dieselbe Weise. Der Datenpunkt sollte vom Typenumber
sein und kann im Object common.states verwenden - dann arbeiten das common.states fürmodeList
.
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 wirdHEAT
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)Das ist noch nicht in der aktuellen Branch. Wenn ihr trotzdem testen wollt der Installationslink wäre dieser Alpha-Test
-
@ticaki
Also ich habe es verstandenWerde 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.