READINGS in Abgängigkeit von Bedingung anzeigen.

Begonnen von Spartacus, 29 November 2016, 20:44:46

Vorheriges Thema - Nächstes Thema

Spartacus

Hallo,
ich habe folgendes Problem- In einer RG möchte ich die Readings von zwei Devices in Abhängigkeit von einer Bedingung anzeigen lassen.
Die Readings haben folgendes Format:

Reading 1: 29.11.2016 16:30:00
Reading 2: 16:34:20

mit <{substr(ReadingsVal($DEVICE,"timer_1_c1",""),11,5)}> formatiere ich Reading 1 auf 16:30
mit <{substr(ReadingsVal($DEVICE,"SU",""),0,5)}> formatiere ich Reading 2 auf 16:34
Damit müsste ich beide Formate vergleichen können.

Jetzt möchte ich aber je nach Bedingung entweder das eine oder das andere Reading anzeigen:
wenn Reading1 > Reading2 ist, soll Reading1 angezeigt werden
wenn Reading1 < Reading2 ist, soll Reading2 angezeigt werden.

Wo vergleiche ich die Readings jetzt? Findet der Vergleich im DEF-Bereich der RG statt? Ich habe im Wiki nichts Vergleichbares gefunden.

Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

justme1968

also...

ganz grundsätzlich:
- ganz allgemein: statt der (alten) <{...}> variante ist es besser die (neue) variante mit 'künstlichen' readings zu verwenden.

- aber bei dir sind es ja sowieso echte readings um die es geht. die schreibst du am besten ganz normal als readingsNamen in der DEF der readingsGroup und formatierst sie über valueFormat

- jede zelle einer readingsGroup kann aber nur von einem reading abhängen. bzw. wird nur aktualisiert wenn das event für ein bestimmtes reading kommt. da du aber eigentlich eine zelle abhängig von zwei readings aktualisieren musst geht keines der beiden vorschläge oben wirklich gut.

da die beiden readings bei dir aus dem selben device kommen würde ich vorschlagen in diesem device ein user reading zu verwenden um zu vergleichen (und zu formatieren). das user reading kannst nämlich du von beiden readings abhängig machen. und dann zeigt du dieses user reading in der readingsGroup an.

dann hast du keine longpoll probleme.

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

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