In Bearbeitung/Erstellung
Einleitung
Sie cardThermo2 steht ab TFT/Skript 58/v4.9.5 zur Verfügung
Die cardThermo2 ist die Alternative zur cardThermo mit erweiterter Funktionalität und "echten" Entitäten. Die cardThermo2 ist eine Mischung aus einer vollwertigen cardGrid mit "9 Entitäten" und hat im Zentrum die Funktionalität zur Steuerung eines Thermostaten, einer Klimaanlage oder Wärmepumpe. Die Temperatursteuerung besteht aus:
- einem Circular Slider zur Einstellung der Zieltemperatur (Setpoint)
- lässt sich über den kompletten Screen per Touch steuern
- 2 Buttons (-/+)
- ShortPress: Einzelsteps zur Steuerung der Zieltemperatur (Setpoint). Jeder Klick inkrementiert (+) oder dekrementiert (-) den Zieltemperatur-Wert (Setpoint) um den definierten Temperatur-Step (z.B. 0,5°C)
- LongPress: Der Slider inkrementiert (+) oder dekrementiert (-) den Zieltemperatur-Wert (Setpoint) automatisch und erhöht dabei die Einstell-Geschwindigkeit
Des Weiteren sind 3 zusätzliche Entitäten vorhanden, die vorzugsweise für:
- Aktuelle Raumtemperatur. Es können folgende Eigenschaften verwendet werden:
- Icon
- Id via Alias (z.B. aktuelle Raumtemperatur)
- Unit (z.B. °C)
- Farbe
- Aktuelle Raum-Luftfeuchte
- Icon
- Id via Alias (z.B. aktuelle Raumtemperatur)
- Unit (z.B. °C)
- Farbe
- Aktueller Status/Betriebsmodus des Gerätes
- Id via Alias (z.B. aktuelle Raumtemperatur)
- Farbe
genutzt werden können.
Die 9 Entitäten (auf Icons oder Werte reduziert, d.h. keine Untertitel wie in der cardGrid) verhalten sich analog der cardGrid, cardGrid2 oder cardGrid3 und können z.B. folgende Eigenschaften darstellen
- Subpage Navigation
- Schalter oder Steckdose
- Press-Button
- Licht (alle Typen) mit Popup
- InSel (Auswahl)
- Ventilator mit Popup
- Schieberegler oder Volume -Regler mit Popup
- Info (Icon oder per useValue mit Suffix)
- Fenster
- Tür
- Gate
- Divider (id: "delete"): lässt den definierten Bereich für das Icon leer und blendet es aus.
- etc. (Also alle Entitäten, die in einer cardGrid oder cardEntities abbildbar sind.
Beispiel: Variablendefinition für die cardThermo2:
Achtung: im Beispiel wird die Konstante "Orange" verwendet. Falls nicht vorhanden, dann in das Script aufnehmen oder ersetzen!
const Orange: RGB = { red: 255, green: 130, blue: 0 };
Erläuterung der Base-Items:
-
type: 'cardThermo2' - Der Seitentyp für die cardThermo2
-
heading: die Überschrift zwischen den Navigationspfeilen
-
thermoItems: Steuerung der Steuerelemente im Zentrum der cardThermo2
- Set-Temp: numerisch, Format (NNN.N). Somit sind neben °C auch Werte im Temeperaturbereich Kelvin oder höhere Werte im Bereich °F (Fahrenheit) möglich.
- Actual Temp: numerisch, Format (NNN,N). kann auch anderweitig verwendet werden, sofern der Platz hierfür ausreicht. Somit sind auch Werte im Temeperaturbereich Kelvin oder höhere Werte im BEreich °F (Fahrenheit) möglich
- Actual Humidity: Kann auch anderweitig verwendet werden, sofern der Platz hierfür ausreicht (NN,N).
- Status Zeile. Wenn der übergebene Wert 0=Aus ist, wird der Slider deaktiviert dargestellt
-
items: Definition der 9 optionalen Entitäten
- Die Entitäten sind getriggert und ändern ihre Zustände auch wenn AOD true ist.
- In der Regel werden hier Zustände (Infos) und Schalter mit Zuständen in separaten Aliassen definiert. Denkbare Entitäten wären z.B. (Der Fantasie sind hier keine Grenzen gesetzt):
- Power On/Off
- Kühlen On/Off
- Heizen On/Off
- Ventilator On/Off (ggfs weitere Einstellmöglichkeiten über Popup
- Position der Lüftungsschlitze
- RSSI Bei WLAN oder Funk-Komponenten
- Batterie-Status
- Fenster geöffnet
- Party Modus On/Off
- etc.
Durch die unterstützte Subpage-Navigation, wäre auch Denkbar das komplette Device bis hin zu allen Eigenschaften oder Verbräuchen mit Charts abzubilden!
-
alwaysOnDisplay - AOD (optional):
- true: Die cardThermo2 schaltet bei true nicht in den Screensaver-Mode. Es muss manuell eine Seite aufgeschaltet werden.
- false: Die cardThermo2 schaltet regulär in den Dimm-Modus und somit den Screensaver nach erreichen der definierten Zeit auf.
Der Alias (Thermostat oder Klimaanlage)
- Beschreibung folgt
Seitenvariable
let CardThermo2Test: PageType =
{
type: 'cardThermo2',
heading: 'cardThermo2',
thermoItems: [
/* Center-Area of cardThermo2 */
/* SET-Temp */ { id: 'alias.0.NSPanel_EMU.TestKlimaVirtual', minValue: 5.0, maxValue:30.0, stepValue: 0.5, unit: "°C" },
/* Actual Temp */ { id: 'alias.0.NSPanel_EMU.TestKlimaVirtual.ACTUAL', icon: 'thermometer', onColor: Orange, unit: "°C" },
/* Actual Humidity */ { id: 'alias.0.NSPanel_EMU.TestKlimaVirtual.HUMIDITY', icon: 'water-percent', onColor: HMIOn, unit: "%" },
/* Text State */ { id: 'alias.0.NSPanel_EMU.TestKlimaVirtual.MODE', onColor: Orange }
],
items: [
/* Max 9 Entities in cardThermo2 */
{
id: 'alias.0.Haus.Obergeschoss.Bad.Licht.Emu_GU10_1',
name: 'HUE (CT=Kelvin)', // HUE Channel - Philips WiZ GU10 über matter.0 - Color-Temperature in Kelvin
icon: 'lightbulb-on',
icon2: 'lightbulb-outline',
offColor: Off,
minValueColorTemp: 2203, // Kelvin = Warmweiß
maxValueColorTemp: 6536, // Kelvin = Kaltweiß
interpolateColor: true,
modeList: ["Color", "Ocean", "Romantik", "Sonnenuntergang", "Party", "Kamin", "Gemütlich", "Wald", "Pastellfarben", "Aufwachen", "Schlafenszeit", "Warmweiß", "Tageslicht",
"Kaltweiß", "Nachtlicht", "Fokus", "Entspannen", "Echte Farben", "Fernsehzeit", "Pflanzenwachstum", "Frühling", "Sommer", "Herbst", "Tieftauchgang", "Dschungel",
"Mojito", "Club", "Weihnachten", "Halloween", "Kerzenlicht", "Goldenes Weiß", "Impuls", "Steampunk"],
inSel_ChoiceState: true,
popupVersion: 2
},
{ id: 'alias.0.Test.BuerofensterInfoAlias', name: 'Bürofenster', icon: 'window-open-variant', icon2: 'window-closed-variant', onColor: MSRed, offColor: MSGreen},
{ id: 'alias.0.NSPanel_1.TestLautstärke', name: 'Volume', onColor: HMIOn, offColor: HMIOff, minValue: 0, maxValue: 100},
{ navigate: true, id: null, targetPage: 'Abfall', onColor: White, name: 'Abfallkalender', icon: 'trash-can'},
//{ id: 'alias.0.Test.Gerät_1', offColor: MSRed, onColor: MSGreen, name: 'Gießdauer Minuten', minValue: 1, maxValue: 180, colorScale: {'val_min': 1, 'val_max': 180}},
//{ id: 'alias.0.NSPanel_1.Abfall.event1',icon: 'trash-can'},
{ id: 'alias.0.NSPanel_1.Ventilator.Fan_1',name: 'Ventilator', icon: 'fan', onColor: On, offColor: HMIOff, modeList: ['Low', 'Medium', 'High', 'Move', 'Sleep', 'Auto', 'Manual']},
{ id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemperatur', offColor: White , onColor: White, useValue: true, suffixName: ' °C', fontSize: 1, colorScale: { 'val_min': -20, 'val_max': 40, 'val_best': 20 } },
{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'radio', name: 'Radio BOB', onColor: colorRadio, offColor: colorRadio},
//{ id: 'alias.0.NSPanel_1.Haustuer', offColor: MSGreen, onColor: MSRed, name: 'Haustür'},
{ id: 'delete'},
{ id: 'alias.0.NSPanel_EMU.TestKlimaVirtualModeList', icon: 'dots-horizontal-circle-outline', onColor: White, offColor: White, name: 'Betriebsmodus', modeList: ['Aus','Kühlen auf', 'Heizen auf']}
],
alwaysOnDisplay: true
};
Step by Step Erstellung
Text folgt
Nur für Developer
HMI Definition cardThermo2