NEWS
Betatest NSPanel-lovelace-ui v0.2.x
-
@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. Die Role airCondition erzeugt 2 Heizkreise. Die wird eingestellt durch
name2
,iconHeatCycle2
,iconHeatCycleOnColor2
undiconHeatCycleOffColor2
. 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 airConditioniconHeatCycleOnColor2
: Überschreibt die Farbe für aktiviert in den PageItems (außen herum) ausschließlich für airConditioniconHeatCycleOffColor2
: Ü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
lesenDirekt ü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)
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 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).
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.
-
@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.
-
Hab meine Beschreibung editiert zusammengefasst:
airCondition ist eingebaut, erzeugt automatisch einen 2. Heizkreis dieser ist dann durch die
heatCycleIcon...2
undname2
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.