FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mcchina am 15 August 2025, 12:47:32

Titel: Zuweisung des Wertes einer Dummy Variable in einem 'notify' oder 'at'
Beitrag von: mcchina am 15 August 2025, 12:47:32
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.

Titel: Aw: Zuweisung des Wertes einer Dummy Variable in einem 'notify' oder 'at'
Beitrag von: Beta-User am 15 August 2025, 13:00:37
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.
Titel: Aw: Zuweisung des Wertes einer Dummy Variable in einem 'notify' oder 'at'
Beitrag von: mcchina am 15 August 2025, 13:53:38
Zitat von: Beta-User am 15 August 2025, 13:00:37
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.


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).
Titel: Aw: Zuweisung des Wertes einer Dummy Variable in einem 'notify' oder 'at'
Beitrag von: Nobbynews am 15 August 2025, 14:35:13
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?
Titel: Aw: Zuweisung des Wertes einer Dummy Variable in einem 'notify' oder 'at'
Beitrag von: mcchina am 15 August 2025, 17:11:17
Zitat von: Nobbynews am 15 August 2025, 14:35:13
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?



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!
Titel: Aw: Zuweisung des Wertes einer Dummy Variable in einem 'notify' oder 'at'
Beitrag von: RalfRog am 15 August 2025, 18:09:41
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>