[FTUI3] Entwicklung Thermometer/Thermostat

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

Vorheriges Thema - Nächstes Thema

tom2966

Zitat von: mr_petz am 09 Oktober 2021, 16:37:35
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...


Moin- noch mal danke für die geile Arbeit. Bin noch beim Testen- die Fehlermeldung kommt nur beim erstladen und refresh... soweit ich bisher gesehen habe ist das aber Abhängig von den Werten tick/ min/ max- bei max 30 und min 6 kommt bei tick 0 oder 12 die Meldung, bei tick 1 zum Beispiel nicht. Und wenn der Fehler auftritt, daa ist die Ist- Temperator als "0,0" angezeigt, am min- tick. Nach einiger Zeit wird das aber richtig dargestellt- ich bin noch nicht sicher ob das nicht auch was mit HM-IP zu tun hat...Ich teste weiter.

mr_petz

#31
Danke fürs testen. Schau mal bitte welche Werte (Temp) bei dem Fehler gerade am Thermostat sind, damit ich das nachstellen kann.
Kann mir gut vorstellen, dass da vielleicht falsche oder minuswerte gesendet werden???
Zum nachstellen brauche ich dann deine Definitionen/Settings und Tempwerte.

Edit:
Ich habe mal noch die Bedingungen angepasst. Anhang dort wie beim letzten mal.
https://forum.fhem.de/index.php/topic,123084.msg1178702.html#msg1178702

tom2966

Hi,

hier noch mal meine Definition:

<ftui-thermostat
[(value)]="OG_Flur_Heizung:control"
[temp]="OG_Flur_Heizung:1.ACTUAL_TEMPERATURE"
[valve]="OG_Flur_Heizung:1.LEVEL"
max="30"
min="6"
tick="12"
size="70">
</ftui-thermostat>


Wenn ich nun auf Reload gehe, kommt noch die Fehlermeldung. Settings wie oben, Am Regler eingestellt/ angezeigt:
Soll: 20,5
Ist: 23,0
Das wird auch an der Skale angezigt. Nur die kleine Bschriftung mit dem Istwert steht auf 0,0 beim Min der Skale- siehe Screenshot. Nach einer gewissen Zeit- ich denke wenn vom Heizregler aktuelle Werte kommen- ist dann an der richtigen Stelle...

VG
Thomas


mr_petz

#33
Ah ok. da muss ich erst einen fiktiven Wert annehmen bis er sich die Daten geholt hat.
Ich habe es mal nachgestellt.
Ich konnte keinen Fehler beobachten, selbst wenn die Tempwerte später kommen steht 0.0 da und dann setzt er alles auf normal.
Auch dann nicht wenn die tempwerte eine Minuszahl sind.
???

edit:
Ich konnte aber feststellen wenn der Soll nicht eingelesen ist und/oder kleiner min ist, dann kommt ein Fehler.
Ich hänge mal eine neue Version an:
https://forum.fhem.de/index.php/topic,123084.msg1178702.html#msg1178702

ps. Cache leeren nicht vergessen...
Und Update von FTUI3 machen. Ich musste das Set neu gestalten...

tom2966

Hi,

Danke Dir- ich schaue mir das mal an, werde aber beruflich bedingt wahrscheinlich erst am Freitag dazu kommen. Ich melde mich auf jeden Fall!

Vg
Thomas

tom2966

#35
So, jetzt getestet. Beim ersten Aufruf kommt halt der Fehler noch.
thermostat.component.js: 335
TypeError:tickActive[i) is undefined
Einzige Konsequenz- die Ist Temp ist "0.0" und wird auch da angezeigt. Sobald die erste Datenübertragung (z.B. neue Einstellung oder einfach eine neue Wertübertragung) erfolgt ist der Wert dann da und alles wie es sein soll. Denke mal das hat mit HMIP zu tun. Ist erst mal ok so, ich starte ja mein Tablet nicht alle 5 Minuten neu..... Danke Dir für die Unterstützung...

VG
Thomas

Edit meint noch- das komische ist, das die Isttemperatur auf der Skala von Anfang an richtig angezeigt wird. Es ist tatsächlich nur die numerische Anzeige die nicht gleich stimmt...

mr_petz

#36
Ok. Zur Erklärung zu Zeile 335:
Im Code wird wenn die aktuelle Temperatur > aktueller Ist-Soll ist = soll er Rückwärts die Ticks auf aktiv stellen.
Sprich wenn Soll<Ist werden die Ticks dazwischen dann Farbig.
Entweder verrent der sich da oder ich habe da noch einen Fehler drin.
Die Ticks werden zu erst geladen und sollten auch nur bei einer Länge von größer 0 verarbeitet werden.
Mal sehen ob ich einen Denkfehler habe oder ich muss die Ticks oder Werte noch anders behandeln.

Danke fürs testen. Ich probiere weiter.
Schön das auch das neue set funktioniert...

Edit:
Ach jetzt verstehe ich das von dir geschriebene.
Er setzt die farbigen Ticks Richtig, aber die Temp steht auf 0.0.
Das bedeutet ja, dass er die aktuelle Temp ja schon bekommen hat...????
Ich glaube ich muss noch das setzen der aktuellen Temp beim Start zu erst laden...

LG mr_petz

tom2966

Zitat von: mr_petz am 15 Oktober 2021, 19:41:27


Edit:
Ach jetzt verstehe ich das von dir geschriebene.
Er setzt die farbigen Ticks Richtig, aber die Temp steht auf 0.0.
Das bedeutet ja, dass er die aktuelle Temp ja schon bekommen hat...????
Ich glaube ich muss noch das setzen der aktuellen Temp beim Start zu erst laden...

LG mr_petz

Ja genau so ist es... Sorry, wenn ich etwas unklar geschrieben hatte.
VG
Thomas

Bort76

Hallo,

gibt es für den "tickActive"-Fehler eine Lösung oder einen Workaround? Ich möchte in eine View insgesamt 18 Thermostat-Anzeigen bauen... da käme dann bei jeder Aktualisierung einiges an roten Meldungen zusammen.

Der Fehler ist mit der letzten Version hier aus dem Thread:

thermostat.component.js:335
TypeError: tickActive[i] is undefined (Firefox)
TypeError: Cannot read properties of undefined (reading 'classList') (Chrome, Opera)


Vielen Dank schon mal :-)

P.S.: Wäre es möglich die Anzeige bei vorhandenem Thermometer nicht mehr automatisch auf readonly zu setzen? Ich fände eine Ansicht nur mit der Solltemperatur + Unit wesentlich "hübscher" als das "Soll: " ohne Einheit.

mr_petz

#39
Sorry, darum muss ich mich noch kümmern...
lg

Edit:
Ist zur Zeit "nur" beim ersten Laden. Beim aktualisieren der Werte dann nicht mehr....

Zitat von: Bort76 am 11 November 2021, 08:59:39
...
P.S.: Wäre es möglich die Anzeige bei vorhandenem Thermometer nicht mehr automatisch auf readonly zu setzen? Ich fände eine Ansicht nur mit der Solltemperatur + Unit wesentlich "hübscher" als das "Soll: " ohne Einheit.
Warum willst du das Thermometer bedienen? Ist doch "nur" eine Anzeige.
Soll mit unit kann ich noch machen...

Bort76

Zitat von: mr_petz am 11 November 2021, 09:54:04
Ist zur Zeit "nur" beim ersten Laden. Beim aktualisieren der Werte dann nicht mehr....
Wollte mich die Woche eigentlich mal in Ruhe hinsetzen und schauen, ob ich Dir da helfen kann und das gefixt bekomme. Klappt aber irgendwie nicht so ganz (das mit Ruhe und der Zeit) - daher habe ich es jetzt für mich schmutzig gelöst, indem ich die betroffenen Codestellen mit try...catch "ruhig" gestellt habe. Denn wie Du richtig schreibst: Es betrifft nur die Initialisierung und beeinträchtigt die Funktion nicht.

Zitat von: mr_petz am 11 November 2021, 09:54:04
Warum willst du das Thermometer bedienen? Ist doch "nur" eine Anzeige.
Soll mit unit kann ich noch machen...
Ich hätte es gerne bedienbar wie das Thermostat mit der Optik eines Thermometers - ist aber nichts, was unbedingt Priorität hätte  :)

mr_petz

#41
Hi.
Ich habe hier eine neue Version zum testen für Euch. ;)
Der Code wurde verändert und gekürzt.
Hinzugekommen ist:
- Das BatteryIcon wird jetzt mit step() inkl Farben (siehe animierter Anhang (ist hier nur zur Darstellung über einen dummy gesteuert!)) gemappt. Stepwerte sind <25, <50, <75, <100
- Das Value hat jetzt unit die man selber definieren kann, ansonsten bleibt es ohne unit (Bsp.: unit=" °C")
- Der Zoom wurde angepasst und muss mit has-zoom aktiviert werden
Restliche Definitionen sind wie hier beschrieben:
https://forum.fhem.de/index.php/topic,123084.msg1178702.html#msg1178702

Testet einfach mal und sagt wie und was geht/nicht geht usw...
!Ich habe mit der aktuellen Version von setstate getestet!

Ich hänge hier mal temporär an!
Danke und LG mr_petz

ps. Browsercache leeren, weil auch die css angepasst wurde!

Edit: nochmal code angepasst... (2 Schleifen weniger)

wieral

Hallo,
ich finde das Modul hervorragend und möchte es gerne bei mir einsetzen. Ich verwende als Template die Mobile Version von FTUI3 mir hellem Hintergrund. Vielleicht habe ich es übersehen, aber ich finde keine Einstellung wie ich die weiße Schrift verändern kann.
Vielen Dank

mr_petz

Hi wieral.
Es befindet sich noch in der Entwicklung wie es in der Threadüberschrift steht...
Schriftfarbe und allgemeines Layout sind zur Zeit nicht einstellbar.
Es geht mir erstmal rein um die Funktion(en) ob das soweit läuft!
Dann kann man immer noch in die Feinheiten gehen...
LG mr_petz

setstate

Zur Info: Es sollte nicht Ziel sein, alle möglichen Element-Farben per HTML-Attribute festlegen zu können.
Gerade Text-Farbe sollte als CSS-Variable verfügbar sein und im Theme-File überschrieben/festgelegt werden können.
Siehe knob.component.css