DOIF_Readings auf dynamisches Device

Begonnen von abc2006, 09 November 2018, 00:51:10

Vorheriges Thema - Nächstes Thema

abc2006

Hi,
vielleicht liegts an der Uhrzeit, aber ich finde gerade keine befriedigende Lösung.
Ich versuch mal die Situation darzustellen:

Ich habe 10 Temperaturfühler, deren Name sich wie folgt aufbaut:

RE_TEMP_Speicher_01
RE_TEMP_Speicher_02
RE_TEMP_Speicher_03

usw ...
Diese haben ein Reading "temperature", welches die aktuell gemessene Temperatur beinhaltet.

Dann habe ich ein DOIF ("Vorhersage"), das mir vorhersagt, welcher Temperaturfühler beachtet werden soll.
In dem DOIF "Vorhersage" gibts dann ein Reading "grenzfuehler", welches den Inhalt "RE_TEMP_Speicher_01" haben kann, aber auch den Wert "RE_TEMP_Speicher_09", je nach Tag und Uhrzeit.

Mit einem zweiten DOIF ("Action") möchte ich auf den Inhalt des durch das Reading grenzfuehler definierten devices zugreifen.

Vielleicht wirds mit der (syntaktisch falschen) darstellung einfacher:
Ich möchte gerne diesen Wert prüfen:

...
DOELSEIF([[Vorhersage:grenzfuehler]:temperature:d] > 20)() usw...


Wird mit der Fehlermeldung
Zitattimer_01_c01
error: Wrong timespec RE_TEMP_Speicher_03: either HH:MM:SS or {perlcode}
beantwortet.
Auch Varianten wie

({ReadingsVal(ReadingsVal("Vorhersage","grenzfuehler",""),"temperature","")} > 20 )
## Triggert DOIF überhaupt generell bei durch "ReadingsVal()" geholten Werten?
## Meine mich erinnern zu können, dass nur auf [...] getriggert wird
({ReadingsVal([Vorhersage:grenzfuehler],""),"temperature","")} > 20 )
([{ReadingsVal("Vorhersage","grenzfuehler","")}:temperature] > 20 )


liefern nicht das gewünschte Ergebnis.
Wäre cool, wenn jemand ne Idee liefert, mit der ich weiterkomme...
Im Forum und Wiki hab ich bisher nix passendes gefunden... Weiss aber auch mal wieder nicht genau, nach was ich suchen soll ...

Danke,
Stephan

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

abc2006

So, mithilfe des Einsteiger-Wikis :) bin ich jetzt zu

(ReadingsVal([Vorhersage:grenzfuehler],"temperature","error") > 20 )

gekommen.
Das liefert mir zwar schon den richtigen Wert, triggert aber leider noch nicht (naja, schon, aber eben auf "Vorhersage" und leider nicht (wie ichs bräuchte) auf RE_TEMP_Speicher_03.
Mit [+60] kann ich mir erstmal behelfen. Aber schön isses glaubich so noch nicht...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX