[FTUI3] Entwicklung Thermometer/Thermostat

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

Vorheriges Thema - Nächstes Thema

omnior

Die Fehlermeldung ist jetzt weg, allerdings klappt es mit dem Umschalten noch nicht so ganz. Die in der Mitte  eingestellte Temperatur vom Sollwert des Heizmodus oder des Energiesparmodus ändert sich nicht sofort nach dem Umschalten. Ich habe den Eindruck es erfolgt erst nachdem ich in fhem nochmal einen get device setpoint 1 oder 11 und danach zusätzlich einem Refresh der Seite anstoße.

Außerdem bekomme jetzt beim Refresh der Seite:
fhem.service.js:67
TypeError:readingID.replace is not a
function

Allerdings könnte sein dass dieser Fehler auch vorher schon bei der ersten Version auftrat mir nur nicht aufgefallen ist, weil er unter dem anderen Fehler verborgen war.
Die Meldung taucht offensichtlich immer nur beim Refresh auf, beim Drücken auf den Button zum Umschalten nicht mehr.

Ansonsten, ja im List wird steht es so, ich dachte vielleicht nur weil das Popup Fenster immer mit dem Readingausdruck: zurückgibt


mr_petz

#136
Ok, neuer Versuch.
Bitte auch ein FTUI3 Update machen! Ich teste meistens mit der aktuellsten Version!
[mode] geändert.
Jetzt wird beim setzen von heating oder energySaveHeating  auch noch ein get setpoint nach 3sec gesendet um die aktuelle SollTemp zu bekommen.
Und da hoffe ich auf ein Event seitens Fhem.
Ansonsten muss ich halt auf den setpointTemp-Wert gehen. (Arbeite ich nebenbei schon aus)
Teste bitte auch das setzen der Werte unter fhem und hier in ftui3
LG

omnior

Erste kurze Tests sehen gut aus, der Sollwert verändert sich jetzt nach den 3 Sekunden. Ich habe bei mir meistens den Get Befehl mit 1 Sekunde Verzögerung ausgelöst und auch keine schlechten Erfahrungen gemacht, aber das spielt keine wirkliche Rolle.
Super, ich gebe Bescheid wenn mir noch etwas auffällt.
Gruß Robert

omnior

#138
Eines ist mir bisher aufgefallen.
Um weniger Events zu loggen, hatte ich bei den Devices das event-on-change-reading genutzt und dort stehen jetzt folgende Eintrage drin:
thermostatMode, temperature, setpoint, setpointTemp, thermostatSetpointSet
trotzdem aktualisiert die Solltemperatur noch nicht, erst wenn ich das Attribut komplett lösche funktioniert es.
Gibt es noch irgendein Reading was ich vergessen habe und was mit aufgenommen werden muß?

Ein zweiter Punkt betrifft die Behandlung von Timouts. Ich habe einen Thermostaten der ist öfters nicht so richtig erreichbar (es sind 60cm dicke Steinwände) und somit sind auch die im FTUI angezeigten Werte vielleicht gar nicht richtig, denn es wurde gar nichts aktualisiert. Ich würde also gerne irgendwie sichtbar machen dass das Device gerade nicht erreichbar ist. Gibt es hierzu vielleicht eine gute Idee wie man das lösen kann?

mr_petz

#139
Zitat von: omnior am 18 Februar 2022, 15:33:55
...
Ein zweiter Punkt betrifft die Behandlung von Timouts. Ich habe einen Thermostaten der ist öfters nicht so richtig erreichbar (es sind 60cm dicke Steinwände) und somit sind auch die im FTUI angezeigten Werte vielleicht gar nicht richtig, denn es wurde gar nichts aktualisiert. Ich würde also gerne irgendwie sichtbar machen dass das Device gerade nicht erreichbar ist. Gibt es hierzu vielleicht eine gute Idee wie man das lösen kann?

In deinem List steht dieser Eintrag:

2022-02-11 14:22:25   transmit        NO_ACK

Das ist ein Zeichen für keine/schlechte Verbindung oder verlorene Daten oder keine Antwort. Hier sollte OK stehen.
Soweit habe ich das Verstanden. Darauf könntest du triggern um dein Empfang zu visualisieren.
Das könnte auch die Ursache für die nicht aktuellen Sollwerte sein...
Das event-on-change-reading ist denke schon richtig. So werden ja nur Events bei Änderungen erzeugt.

LG mr_petz

Stonemuc

So...nun auch noch eine Frage in diesem Thema:

Ich hab mir die beiden Datein

thermostat.component.css
thermostat.component.js

von mr_petz heruntergeladen und in meinen FTUI Ordner unter /components/thermostat/ kopiert und die Rechte gesetzt - so wie beim calview auch, welches übrigens funktioniert...aber das aufgerufene Thermostat bleibt in meinem FTUI3 dunkel. Woran kann das liegen?

Hier mal meine Konfiguration - die eigentlich der Beispielkonfiguartion entspricht:

<ftui-column>
<ftui-thermostat class="size-1"
          [value]="TK_Flur_EG:temperature"
        unit=" °C"
          min="10"
          max="40"
          tick="50"
          rotation="-120"
          movegradient="1.7"
          is-thermometer>
</ftui-thermostat>         
                    <ftui-label align-items="top" margin="1">Flur EG</ftui-label>
                      </ftui-column>
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

mr_petz

Zitat von: Stonemuc am 22 März 2022, 13:43:40
So...nun auch noch eine Frage in diesem Thema:

Ich hab mir die beiden Datein

thermostat.component.css
thermostat.component.js

von mr_petz heruntergeladen und in meinen FTUI Ordner unter /components/thermostat/ kopiert und die Rechte gesetzt - so wie beim calview auch, welches übrigens funktioniert...aber das aufgerufene Thermostat bleibt in meinem FTUI3 dunkel. Woran kann das liegen?
....

Wird denn garnichts garnichts angezeigt? Hast du mal in die BrowserKonsole nachgeschaut ob es geladen wurde? Probiere es mal mit einer Standardconfig:

        <ftui-thermostat
         [value]="TK_Flur_EG:temperature" 
         is-thermometer
        >
        </ftui-thermostat>


LG

Stonemuc

Stimmt...du sagst es, ich bekomme diverse Fehlermeldungen von unterwegs aus mal draufgeschaut:


[codeUncaught TypeError: window.ftuiApp is undefined
    onerror http://xxx/fhem/ftui3/ftui.js:46

Uncaught TypeError: window.ftuiApp is undefined
    onerror http:/xxx/fhem/ftui3/ftui.js:39


Laden des Moduls von "http://xxx/fhem/ftui3/components/thermostat/thermostat.component.js" wurde auf Grund eines nicht freigegebenen MIME-Typs ("text/plain") blockiert.

Failed to load ../../components/thermostat/thermostat.component.js TypeError: error loading dynamically imported module ftui.helper.js:154:17
    error http://xxx/fhem/ftui3/modules/ftui/ftui.helper.js:154
    loadModule http://xxx/fhem/ftui3/modules/ftui/ftui.app.js:110
]
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

mr_petz

Da scheint irgendwas bei dir nicht zu funzen.
Ich habe gerade nochmal den aktuellen Stand vom master geholt und die Online-Demo geht immer noch.
Hast du auch die aktuelle FTUI3 Version?
Oder Bockt dein Browser rum? Cache nochmal leeren..

Stonemuc

Vielleicht hat es beim Kopieren was zerschossen...ich zieh sie mir heute Abend nochmal neu...
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Stonemuc

Zitat von: Stonemuc am 22 März 2022, 16:00:11
Vielleicht hat es beim Kopieren was zerschossen...ich zieh sie mir heute Abend nochmal neu...ich hatte es als als Rechtsklich speichern und dann mit Kopieren auf meinen FHEM Server gelöst.
Dann amch ich es direkt auf dem FHEM Server mit wget
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Stonemuc

Auch hier kurze Rückmeldung - es hat tatsächlich was beim Kopieren zerschossen. neu gezogen per wgte und es läuft....
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

mr_petz

Habe mal einen svg-arc hinzugefügt (siehe Demo).
has-arc ist ohne ticks und
has-arc-tick mit ticks.
Dann noch den mode für ZWave wie oben beschrieben.
Einfach mal testen...

LG mr_petz

originalhardy

Hallo Zusammen,
entweder ist ein Bug im Thermometer oder ich blick's nur nicht und habe bei der Definition etwas vergeigt.
Sobald die Einstellung über die Mitte meines Thermometers hinausgeht stimmt der Farbverlauf nicht mit meiner Definition überein.
Das passiert aber nur wenn ich has-old-style und has-ark-tick kombiniere.

        <ftui-grid-tile row="5" col="1" height="1" width="1">
        <header>Test</header>
        <ftui-thermostat min="16" max="28" size="65" unit="°C"
        lowcolor="0,0,255"
        highcolor="255,0,0"
        mediumcolor="0,255,0"
        battery-icon-color="step('-99:danger, 25:warning, 50:success, 75:primary')"
        battery-icon="step('-99:battery-0, 25:battery-1, 50:battery-2, 75:battery-3, 100: battery')"
        value-in-rgb
        class="size-3 bold"
        [value]="HT_Frieder_soll:desired-temp"
        [temp]="HT_Frieder_soll:measured-temp"
        [battery]="HT_Frieder:batteryLevel | scale(2.1, 3.2, 0, 100) | round(0)"
        [valve]="HT_Frieder_soll:ValvePosition"
        has-old-style
        has-arc-tick>
        </ftui-thermostat>
        </ftui-grid-tile>

Ein Tipp für mich?
LG Hardy

mr_petz

Danke fürs testen.
Ja die 2. "grüne" Hälfte wird nicht mit übergeben.
Ich werde das fixen.

LG