hallo
was einfaches.
Ich möchte in einem 'notify' einer Dummy Variablen (hier: testDummy) den Wert einer anderen Dummy Variablen (hier 'irrigationToday') zuweisen. Was super einfach ist bekomme ich nicht hin:
MaxTempToday:.* set testDummy ReadingsNum("irrigationToday","state", 0.7)
Bei Ausführung mit 'trigger' wird dem Dummy der ganze String ("ReadingsNum("irrigationToday","state", 0.7)") zugeordnet und nicht der Wert? Habe natürlich schon in CommandRef etc gesucht ....
/vielen Dank, andreas.
Zitat von: mcchina am 15 August 2025, 12:47:32hallo
was einfaches.
Ich möchte in einem 'notify' einer Dummy Variablen (hier: testDummy) den Wert einer anderen Dummy Variablen (hier 'irrigationToday') zuweisen. Was super einfach ist bekomme ich nicht hin:
MaxTempToday:.* set testDummy ReadingsNum("irrigationToday","state", 0.7)
Bei Ausführung mit 'trigger' wird dem Dummy der ganze String ("ReadingsNum("irrigationToday","state", 0.7)") zugeordnet und nicht der Wert? Habe natürlich schon in CommandRef etc gesucht ....
/vielen Dank, andreas.
a) dummy-Informations-Geschubse ist erfahrungsgemäß wenig zielführend. Würde das anders lösen, was auch immer es ist...
b) entweder du verwendest "richtiges Perl", oder "set magic" (=>commandref). Solche beliebigen Mischungen gehen jedenfalls nicht.
Zitat von: Beta-User am 15 August 2025, 13:00:37Zitat von: mcchina am 15 August 2025, 12:47:32hallo
was einfaches.
Ich möchte in einem 'notify' einer Dummy Variablen (hier: testDummy) den Wert einer anderen Dummy Variablen (hier 'irrigationToday') zuweisen. Was super einfach ist bekomme ich nicht hin:
MaxTempToday:.* set testDummy ReadingsNum("irrigationToday","state", 0.7)
Bei Ausführung mit 'trigger' wird dem Dummy der ganze String ("ReadingsNum("irrigationToday","state", 0.7)") zugeordnet und nicht der Wert? Habe natürlich schon in CommandRef etc gesucht ....
/vielen Dank, andreas.
a) dummy-Informations-Geschubse ist erfahrungsgemäß wenig zielführend. Würde das anders lösen, was auch immer es ist...
b) entweder du verwendest "richtiges Perl", oder "set magic" (=>commandref). Solche beliebigen Mischungen gehen jedenfalls nicht.
aha, danke. Was meinst Du mit "Mischungen", ReadingsNum() ist doch eine fhem Funktion, die ich anscheinend im dem 'set' command nicht ansprechen kann? Also, wie erhalte ich den 'Wert'(state) einer Dummy Variable?
Ich möchte die Dummy Umschreibung ("Geschubse") in einem 'at' nutzen, um eine Historie über einige Werte zu speichern (für gestern und vorgestern).
Zitat von: mcchina am 15 August 2025, 13:53:38ReadingsNum() ist doch eine fhem Funktion, die ich anscheinend im dem 'set' command nicht ansprechen kann? Also, wie erhalte ich den 'Wert'(state) einer Dummy Variable?
Ich möchte die Dummy Umschreibung ("Geschubse") in einem 'at' nutzen, um eine Historie über einige Werte zu speichern (für gestern und vorgestern).
Und damit ist es Perl.
Genau das meinte @Beta-User.
Richtig wäre:
MaxTempToday:.* {fhem ("set testdummy ".ReadingsNum("irrigationToday","state",0,7)}
Und warum die Historie nicht in Readings ablegen anstatt dummy?
Zitat von: Nobbynews am 15 August 2025, 14:35:13Zitat von: mcchina am 15 August 2025, 13:53:38ReadingsNum() ist doch eine fhem Funktion, die ich anscheinend im dem 'set' command nicht ansprechen kann? Also, wie erhalte ich den 'Wert'(state) einer Dummy Variable?
Ich möchte die Dummy Umschreibung ("Geschubse") in einem 'at' nutzen, um eine Historie über einige Werte zu speichern (für gestern und vorgestern).
Und damit ist es Perl.
Genau das meinte @Beta-User.
Richtig wäre:
MaxTempToday:.* {fhem ("set testdummy ".ReadingsNum("irrigationToday","state",0,7)}
Und warum die Historie nicht in Readings ablegen anstatt dummy?
Danke, das funktioniert.
Meine Überlegung war, das Verschieben der Daten (->Gestern->Vorgestern) einmal am Ende des Tages auszuführen, per 'at'. Als UserReading im liefernden Device würde das auch Code erfordern und macht die Sache für mich unübersichtlich.
Danke für die schnellen Tipps!
Naja, wenn es darum geht einen Wert in ein "neues" Reading zu schreiben kannst du dir einfach für das Device ein Reading ausdenken z.B. Gestern oder Vorgestern (oder sprechendere Namen).
Probier es einfach mal.
setreading <device> <eigener-readingname> <Wert>