Update auf Github für cardThermo2 freigegeben
Beschreibung wurde angepasst an die jetzigen Gegebenheiten!
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:
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 (automatisch erzeugt werden bei mehreren Heizkreisen immer einem zugewiesen)
- Überschriften sind per Heizkreis
- Die Zeilen ober und unterhalb der Einstelltemperatur sind frei definierbar mit icon, wert, unit
Bekannte Probleme
- leichtes Flackern auf Grund der hübschen Optik - das wird bleiben
- Mode und Modeset könnten noch inkonsequent sein - in arbeit
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
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 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
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)
iconHeatCycleOffColor: Überschreibt die Farbe für deaktiviert in den PageItems (außen herum)
minValue: minimale Einstellbare Temperatur (Default: 15) im Admin einstellbar ob 10 = 1 °C oder 10 = 10 °C
maxValue: maximal einstellbare Temperatur (Default: 28) im Admin einstellbar
stepValue: Schritte für +/-. Eine eingetragene 0.1 bedeutet Schritte von 0.1 (Default: 0.5) im Admin einstellbar
power: Das ist wohl noch nicht im TFT, daher keine Beschreibung
im Admin einstellbar: Da gibts auf der 2ten Seite ganz unten eine Option ob man es kompatible zum Skript haben möchte oder natürlich.
modeList: Das denke ich ist noch nicht final und braucht deutlich mehr Text
modeId
bzw. MODESET
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"],
Ergänzend wurde TargetMode und CurrentMode aufgeteilt - siehe Alias Tabelle - das ist noch nicht final - Da muß am nächsten WE noch etwas rumdiskutiert werden - ich würde gerne den CurrentMode unterhalb der Temperatur anzeigen mit inaktiv, idle, heizen, kühlen
wenn nicht vorhanden wirds ersetzt durch TargetMode - aber das ist so noch nicht eingebaut
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.
Der Adapter unterstützt jetzt auch Platzhalter PageItems - durch id:'delete'
oder id:'empty'
werden diese definiert.
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.