[FTUI3] Entwicklung Thermometer/Thermostat

Begonnen von mr_petz, 23 September 2021, 18:17:49

Vorheriges Thema - Nächstes Thema

mr_petz

Hi@all.
Ich glaube es hat sich hier vielleicht erledigt.
setstate hat es im Knob mit drin. siehe Demo ganz unten:
https://knowthelist.github.io/ftui/www/ftui/examples/knob.html
Testet es einfach mal.

setstate

das war nur ein erster Versuch, das zu testen. Bei HM Thermostat gibt es das Problem, dass nach Änderung der desired-temp, das Minuten braucht, eh sich das in den Readings ändert. Es bleibt erst der state auf "set_desired-temp <wert>" stehen, bis das verarbeitet wurde.

mr_petz

Ok. Ich hätte ja auch schon eine Test-Version, aber leider keine Thermostate...
Ich teste immer mit meinem ebusd an der Heizung. Da werden die Readings sofort aktualisiert..
Mal sehen...

mr_petz

#18
Ok. ich bin schon weiter gekommen unabhängig vom Stand von setstate.
Man könnte die Optik wie im Anhang mit Icons gestalten.
Icons und Werte sind hier fiktiv nur zur Veranschaulichung.
1.Wert === Battery
2.Wert === Valve-Position
3.Wert === Humidity
Eine Testversion werde ich in kürze hochladen.

lg mr_petz

mr_petz

#19
Hi@all.
Erste Testversion!

Settings:
[(value)]="Device:Reading" --> kann auch set get auseinander sein
[temp]="Device:Reading" --> temperatur
[battery]="Device:Reading" -> battery
[valve]="Device:Reading" --> valve-position
[humidity]="Device:Reading" --> humidity
size="110" --> Standard (muss nicht angegeben werden)
min="15" --> Standard (muss nicht angegeben werden)
max="35" --> Standard (muss nicht angegeben werden)
tick="0" --> Standard (muss nicht angegeben werden und wird aus min,max,step errechnet)
step="0.5" --> Standard (muss nicht angegeben werden)
degrees="240" --> Standard (muss nicht angegeben werden)
rotation="-120" --> bei bedarf Drehung
unit=" °C" --> Einheit
is-thermometer --> Thermometeransicht
is-humidity --> Luftfeuchteansicht
value-in-rgb -> Soll Temperatur in RGB wie Ticks
temp-in-rgb -> Ist Temperatur in RGB wie Ticks
lowcolor="68, 119, 255"
mediumcolor="255,0,255"
highcolor="255,0,0"
movegradient="6" --> zum verschieben der Farbscala
readonly --> bei Thermometer automatisch
no-min-max  --> wenn gesetzt, werden die min und max Werte nicht mehr angezeigt
has-zoom -> Zoom aktivieren

Bsp:

<ftui-thermostat
[(value)]="Heizung:Soll"
[temp]="Heizung:Temp"
[battery]="Heizung:Batt"
[valve]="Heizung:Valve"
[humidity]="Heizung:Humi"
>
</ftui-thermostat>



Ich hoffe das sollte fürs erste reichen. Testet es und sagt einfach was geht oder nicht geht.
Wie gesagt ist eine Testversion. Bei meinen Tests hat alles soweit funktioniert...
Ich konnte mit meinen Mitteln erstmal nichts anders machen...
Mir geht es auch erstmal rein um die Funktion. Optik kann man noch anpassen...

ps. Zoom geht auch schon zum testen.

Edit:
set-Verfahren geändert nach Update vom masterGit

Shadow3561

läuft super.

Kann man es so gestalten, dass man einige readings ausblenden kann (z.b. battery)?
Bei mir sieht es sehr gedrungen aus.

Mit freundlichen Grüßen

Shadow3561

Noch etwas.
Es sind 24°C erreicht aber die Ist-Temperatur (farblicht) steht bei 23,5

Anbei ein Bild zur Verdeutlichung

mr_petz

#22
Zitat von: Shadow3561 am 09 Oktober 2021, 15:46:35
Noch etwas.
Es sind 24°C erreicht aber die Ist-Temperatur (farblicht) steht bei 23,5

Anbei ein Bild zur Verdeutlichung

Ok.
Schön dass es ansich funktioniert. Ich habe kein Thermostat.
Sind deine TempWerte die kommen genau 23.5 und 24.0? Wenn ja ist da ein bug drinn. Wenn nein, muss ich das Runden anders gestalten...

Edit:
Habe es mal nachgestellt mit genauen Werten, da ist kein Fehlverhalten.
Kannst du deine Settings und das Reading mal bitte zeigen?

Shadow3561

desired ist 24 und measured ist 23.99

Mit freundlichen Grüßen

mr_petz

#24
Zitat von: Shadow3561 am 09 Oktober 2021, 16:06:53
desired ist 24 und measured ist 23.99

Mit freundlichen Grüßen

Ok. da wird abgerundet in den Ticks setzen auf die x.5...
mal schauen ob das auch anders geht...

tom2966

Auch bei mir (mit HM-IP Thermostat) läuft das super! Danke für die Arbeit! Der Bitte mit dem Ausblenden bezüglich Batt/ Feuchte/ Ventilöffnung schliesse ich mich an, zumal ja auch nicht alle Regler die Feuchte melden.
Ein Thema noch- immer beim Aktualisierung der Seite im Browser (Firefox) bekomme ich diese Meldung:
thermostat.component.js:330
TypeError:TickActive is undefined.
Meine Definition:
<ftui-thermostat
[(value)]="EG_Flur_Heizung:control"
[temp]="EG_Flur_Heizung:1.ACTUAL_TEMPERATURE"
[valve]="EG_Flur_Heizung:1.LEVEL"
max="30"
min="6"
tick="0"
size="70">
</ftui-thermostat>


mr_petz

Zitat von: tom2966 am 09 Oktober 2021, 16:28:48
Auch bei mir (mit HM-IP Thermostat) läuft das super! Danke für die Arbeit! Der Bitte mit dem Ausblenden bezüglich Batt/ Feuchte/ Ventilöffnung schliesse ich mich an, zumal ja auch nicht alle Regler die Feuchte melden.
Ein Thema noch- immer beim Aktualisierung der Seite im Browser (Firefox) bekomme ich diese Meldung:
thermostat.component.js:330
TypeError:TickActive is undefined.
Meine Definition:
<ftui-thermostat
[(value)]="EG_Flur_Heizung:control"
[temp]="EG_Flur_Heizung:1.ACTUAL_TEMPERATURE"
[valve]="EG_Flur_Heizung:1.LEVEL"
max="30"
min="6"
tick="0"
size="70">
</ftui-thermostat>


Ok. Wie gesagt, es geht erstmal um die Funktion.
Luftfeuchte etc. kann ich noch rausnehmen wenn es nicht definiert ist.
Der Tickfehler kommt nur beim refresh oder erstladen oder?
Das merze ich noch aus...

Shadow3561

ZitatOk. Wie gesagt, es geht erstmal um die Funktion.

Bei mir, Safari unter macOS BigSur, läuft alles bestens. Firefox ebenfalls ohne Fehler.

mr_petz

#28
ok. zum testen. jetzt sollte er richtig Runden und den Tick an der richtigen Stelle setzen..

Tempwerte werden jetzt wenn Bsp.: größer 22.25 auf 22.5 und wenn größer 22.75 auf 23.0 gerundet. Umgekehrt halt abgerundet.

Edit: wenn keine battery etc. angegeben, dann ist das Icon nicht mehr zu sehen...

Shadow3561

Zitat von: mr_petz am 09 Oktober 2021, 17:27:36
ok. zum testen. jetzt sollte er richtig Runden und den Tick an der richtigen Stelle setzen..

Tempwerte werden jetzt wenn Bsp.: größer 22.25 auf 22.5 und wenn größer 22.75 auf 23.0 gerundet. Umgekehrt halt abgerundet.

lauft