Hallo Zusammen,
was macht die Funktion readingsVal() genau?
Wird hier ein gespeicherter Wert aus FHEM ausgelesen oder ein Befehl generiert der den Wert vom Endgerät abfragt?
Oder anders gefragt: Kostet ein readingsVal Credits weil es einen Funkbefehl generiert?
Ich habe das Gefühl das ich immer weniger Credits habe, um so mehr ich versuche mit readingsVal zu arbeiten.
Zb versuche ich am Thermostat nur den Modus auf Auto zu setzen, wenn er ungleich Auto ist - Abfrage über readingsVal.
Grüße,
Kharim
Die Funktion heißt ReadingsVal (großes R). Und sie kostet keine Credits. Wie der Name der Funktion sagt, fragt es nur ein Reading eines Devices ab. Zu Readings (was ist das?, wie entstehen sie? etc.) gibt es in der Doku eine Menge Info. Filter kann man im Übrigen auch anders verwenden. Dazu ist ReadinsVal gar nicht zwingend notwendig.
Beispiel:
set DEVICE:FILTER=controlMode!=auto controlMode auto
Siehe dazu auch ie Doku zu FHEM.
Alles klar, dann muss ich an anderer Stelle weiter forschen.
Dank dir
Zitat von: Kharim am 13 Dezember 2015, 15:46:09
Zb versuche ich am Thermostat nur den Modus auf Auto zu setzen, wenn er ungleich Auto ist - Abfrage über readingsVal.
Grüße,
Kharim
Tja, hier wäre es vermutlich besser gewesen du hättest den Code gepostet mit dem du das
versuchstWenn du aber selbst weiter forschen willst kannst du nur dadurch lernen.
Moin,
ich löse es durch ein notify, welches auf Änderungen der Raum-Thermostate anspricht, u.a. einen Wechsel von manual auf auto abfängt und korrigiert (wieder auf manual).
define <device>_notify notify <device>.* {\
my ($param,$wert) = split(": ", "$EVENT");;\
if ("$param" eq "mode" && ("$wert" eq "auto"){\
fhem "set <device> mode manual"\
}\
}
bitte beachten, dass obiger Code direkt in der fhem.cfg editiert wurde, also biite bei direkter Eingabe enstsprechend anpassen.
Gruss
Andreas