Autor Thema: readingsGroup und valueStyle und automatische Aktualisierung  (Gelesen 5458 mal)

Offline al_ro

  • New Member
  • *
  • Beiträge: 19
Guten Abend,

ich dachte gelesen zu haben, dass valueStyle automatisch bei aktivem longpoll aktualisiert wird. Bei folgendem valueStyle funktioniert das nicht:
attr Heizungswerte valueStyle {if ($READING eq "measured-temp" && (ReadingsVal($DEVICE,"desired-temp",-1) - ReadingsVal($DEVICE,"measured-temp",-1) > 0.5)){'style="color:red;;font-weight:bold"'} elsif ($READING eq "measured-temp") {'style="color:green;;font-weight:bold"'} else {'style="color:white;;font-weight:normal"'}}Die ReadingGroup ist folgendermaßen definiert:
define Heizungswerte readingsGroup Heizungspumpe:state,<Stell>,<Soll>,<Ist>,<Tag>,<Nacht>,<Fenster>,<Batterie> TYPE=FHT:<{AttrVal($DEVICE,"alias",$DEVICE)}>,actuator,desired-temp,measured-temp,day-temp,night-temp,window,batteryBei Änderung des "desired-temp"-Wertes ändert sich die Farbe nicht automatisch, es ist ein HTML-Reload notwendig.
Übersehe ich etwas und wenn ja, was?  ;)

Danke & Gruß Alex
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21283
Antw:readingsGroup und valueStyle und automatische Aktualisierung
« Antwort #1 am: 26 Dezember 2014, 22:36:01 »
per longpoll wird der teil der anzeige geändert der zum betreffenden reading gehört. d.h. wenn sich measured ändert wird die measured anzeige aktualisiert, wenn sich desired ändert die desired anzeige. die readingsGroup 'weiss' nicht das eine desired änderung auf den style und die anzeige von measured auswirken soll. deshalb wird nichts aktualisiert.

es gibt mehrere möglichkeiten das zu beheben:

- du erzeugst im device ein userReading das die differenz beider werte enthält und von beiden readings abhängt. in der readings group zeigst du diesen wert an und verwendest ihn um den valueStyle zu bestimmen. als valueFormat verwendest du dann ReadingsVal($DEVICE,"measured-temp","") bzw.

- du trägst im define der readingGroup nicht measured-temp sondern <{ReadingsVal($DEVICE,"measured-temp","")}@(measured-temp|desired-temp}> ein und verwendest cellStyle um die farbe für diese spalte zu setzen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, …

https://github.com/sponsors/justme-1968

Offline al_ro

  • New Member
  • *
  • Beiträge: 19
Antw:readingsGroup und valueStyle und automatische Aktualisierung
« Antwort #2 am: 26 Dezember 2014, 23:04:26 »
Hallo Andre,

wie gebe ich beim userReading die Abhängigkeiten an, so?
attr RR_Arbeitszimmer userReadings desired_measured_diff {sprintf("%f",ReadingsVal("RR_Arbeitszimmer","desired-temp","")-ReadingsVal("RR_Arbeitszimmer","measured-temp",""))}@(measured-temp|desired-temp)
Danke Alex

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21283
Antw:readingsGroup und valueStyle und automatische Aktualisierung
« Antwort #3 am: 27 Dezember 2014, 11:47:25 »
die trigger werden mit : an den namen des user readings angehängt. also etwas in dieser art: attr RR_Arbeitszimmer userReadings desired_measured_diff:(measured-temp|desired-temp) {ReadingsVal("RR_Arbeitszimmer","desired-temp",0)-ReadingsVal("RR_Arbeitszimmer","measured-temp",0)}
ich würde mir für dieses reading nicht die mühe machen es mit sprintf zu formatieren. es wird ja später nirgendwo im Klartext verwendet.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, …

https://github.com/sponsors/justme-1968

Offline al_ro

  • New Member
  • *
  • Beiträge: 19
Antw:readingsGroup und valueStyle und automatische Aktualisierung
« Antwort #4 am: 27 Dezember 2014, 16:29:47 »
Hallo Andre,

ich habe es jetzt mal so umgesetzt, wie du oben (Variante 1) vorgeschlagen hast:
attr RR_Arbeitszimmer userReadings desired_measured_diff:(measured-temp|desired-temp) {ReadingsVal("RR_Arbeitszimmer","desired-temp",0)-ReadingsVal("RR_Arbeitszimmer","measured-temp",0)}Leider wird auch jetzt die Differenz erst bei einem HTML-Refresh neu berechnet und nicht, wenn sich einer der Werte ändert. :(
Das Einbinden in die ReadingsGroup per valueStyle und valueFormat funktioniert, wie du es beschrieben hast.

Hast du eine Idee?

Danke Alex

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21283
Antw:readingsGroup und valueStyle und automatische Aktualisierung
« Antwort #5 am: 27 Dezember 2014, 17:40:40 »
zeig mal bitte die komplette definition.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, …

https://github.com/sponsors/justme-1968

Offline al_ro

  • New Member
  • *
  • Beiträge: 19
Antw:readingsGroup und valueStyle und automatische Aktualisierung
« Antwort #6 am: 27 Dezember 2014, 17:45:28 »
Dies ist der FHT-Raumregler:
define RR_Arbeitszimmer FHT 5f1d
attr RR_Arbeitszimmer IODev FHZ_0
attr RR_Arbeitszimmer alias Arbeitszimmer
attr RR_Arbeitszimmer event-on-change-reading actuator,battery,desired-temp,measured-temp,warnings,window,windowsensor
attr RR_Arbeitszimmer group Heizung
attr RR_Arbeitszimmer model fht80b
attr RR_Arbeitszimmer retrycount 3
attr RR_Arbeitszimmer room Arbeitszimmer
attr RR_Arbeitszimmer userReadings desired_measured_diff:(measured-temp|desired-temp) {ReadingsVal("RR_Arbeitszimmer","desired-temp",0)-ReadingsVal("RR_Arbeitszimmer","measured-temp",0)}

Gruß Alex

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21283
Antw:readingsGroup und valueStyle und automatische Aktualisierung
« Antwort #7 am: 28 Dezember 2014, 13:04:16 »
du musst desired_measured_diff auch in event-on-change-reading berücksichtigen. sonst erzeugt es kein event.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, …

https://github.com/sponsors/justme-1968

Offline al_ro

  • New Member
  • *
  • Beiträge: 19
Antw:readingsGroup und valueStyle und automatische Aktualisierung
« Antwort #8 am: 28 Dezember 2014, 13:11:53 »
Hallo Andre,

.... Hand vor die Stirn klatsch ....

Das war's.

Vielen Dank und schönen Sonntag
Alex

 

decade-submarginal