Hallo zusammen
zur Diagnose meiner Heizung (THZ) lese ich zwei Readings, berechne damit die "Spreizung" und übergebe das an einen Dummy.
define Spreizung_anDummy at +*00:05:00 {my $VORLAUF = ReadingsNum("LWZ403","VorlaufTemp","0");; my $RUECKLAUF = ReadingsNum("LWZ403","RuecklaufTemp","0");; my $delta = $VORLAUF-$RUECKLAUF;; {fhem ("set Spreizung $delta");;}}
define Spreizung dummy
Die Werte werden im Event Monitor und im Log/Plot geschrieben
Läuft soweit...
Dann habe ich ein Dummy angelegt mit dem ich gerne die eingestellte Stufe der Umwälzpumpe im Log/Plot dokumentieren möchte.
define Stufe_UWP dummy
attr Stufe_UWP readingList state
attr Stufe_UWP setList 1 2 3 4 5 6 7 8 9 10
attr Stufe_UWP webCmd 1:2:3:4:5:6:7:8:9:10
Alle Dummywert werden an ein Log übergeben, das ein Plot erzeugt.
Problem:
So wie ich das verstanden habe löst der Dummy kein Event aus oder?
Wenn ich per webcmd die Stufe"10" anwähle, wird das auch im Event Monitor und Log/Plot geschrieben
Stufe_UWP 10
aber danach halt nie wieder.
Ich hab schon versucht über den Event Monitor ein notify auf Spreizung_anDummy anzulegen, aber ich bekomm das notify nicht zum Laufen :-[
define ntfy_Stufe_UWP Spreizung_anDummy.* setstate Stufe_UWP $EVENT
Ich weiß es gibt zu diesem Thema gefühlte 100 Posts, aber ich seh langsam den Wald vor lauter Bäumen nicht mehr...
Gleiches Thema hierzu https://forum.fhem.de/index.php?topic=23173.0 (https://forum.fhem.de/index.php?topic=23173.0) versiegt auch ...
Könnt ihr unterstützen?
Grüße
Versuch mal das Attribute addStateEvent für den FileLog auf 1 zu setzen.
Da ich erst vor Kurzem ein ähnliches Thema hatte der Querverweis: https://forum.fhem.de/index.php/topic,84114.msg763826.html#msg763826
Vielleicht hilft das irgendwie.
Gruß Otto
Spreizung_anDummy
ist bei dir ein at
siehe
define Spreizung_anDummy at +*00:05:00 .....
welche events erwartest du dort?
bzw. was wills du in deinem notify tun??
btw.
ich glaube dein zyklisches at alle 5 minuten kannst du durch ein userReading ersetzen, wenn deine Rück- und Vorlauf-Readings aktualisiert werden ( -> Events im Eventmonitor! )
ZitatVersuch mal das Attribute addStateEvent für den FileLog auf 1 zu setzen.
Hab ich gemacht. Die Werte von
Spreizung haben jetzt das "state", aber die
Stufe_UWP ist immer noch nicht drin
Spreizung state:1
Zitatwelche events erwartest du dort?
bzw. was wills du in deinem notify tun??
Da nach meinen Recherchen ein Dummy kein Event (?) auslösen kann, brauche ich ja etwas das das für den Dummy macht.
Und anscheinend ist ein notify das Mittel dafür?
Zitatich glaube dein zyklisches at alle 5 minuten kannst du durch ein userReading ersetzen, wenn deine Rück- und Vorlauf-Readings aktualisiert werden ( -> Events im Eventmonitor! )
Das at
Spreizung_anDummy berechnet mir ja die Spreizung. Ich möchte nur das Delta zwischen Vorlauf und Rücklauf.
Da Link lesen offenbar schwer ist: Kurzform aus meinem Link oben : userreadings und dieses reading loggen. Wie nils auch schon sagt
Oder wir verstehen einfach nicht was Du für ein Problem hast. Ich denke aber mit Deinen Gedanken zum Dummy und Events bist Du auf dem Holzweg.
Meinst Du das dein Dummy Stufe_UWP nur einmalig beim setzen einer Stufe einen Event auslöst und dann nie wieder? Wie sollte er auch, einmal setzen macht einen Event, danach ändert sich nichts. Mach dafür einfach eine andere Plot Darstellung?
Gruß Otto
Zitat von: Mazz78 am 08 März 2018, 13:23:02
Da nach meinen Recherchen ein Dummy kein Event (?) auslösen kann, brauche ich ja etwas das das für den Dummy macht.
Und anscheinend ist ein notify das Mittel dafür?
notify verarbeitet events (du kannst da auch welche auslösen, aber erstmal ist es für die verarbeitung zuständig)
http://commandref.fhem.de/commandref_DE.html#notify
https://wiki.fhem.de/wiki/Notify
was meinst du damit dummy kann keine events auslösen??
mach doch einfach mal den Eventmonitor in einem anderen Browsertab auf, und änder die Werte des dummys :)
Zitat von: Mazz78 am 08 März 2018, 13:23:02
Das at Spreizung_anDummy berechnet mir ja die Spreizung. Ich möchte nur das Delta zwischen Vorlauf und Rücklauf.
ja das ist mir bewusst, nur du machst es momentan zyklisch (mittels at).
könntest das aber mMn - wie schon erwähnt - mit einem userReading lösen.
Das spart dir den Dummy Spreizung. (keine Ahnung ob der wichtig für dich ist :) )
http://commandref.fhem.de/commandref_DE.html#userReadings
attr LWZ403 userReadings Spreizung:(VorlaufTemp|RuechklaufTemp) { ReadingsNum("LWZ403","VorlaufTemp","0") - ReadingsNum("LWZ403","RuecklaufTemp","0") }
ZitatDa Link lesen offenbar schwer ist:
Nein. Nicht schwer, aber zeitintensiv. Vor allem wenn man nebenbei beim Arbeiten ist. Aber ich hab die 3 Seiten mittlerweile gelesen ;)
ZitatMeinst Du das dein Dummy Stufe_UWP nur einmalig beim setzen einer Stufe einen Event auslöst und dann nie wieder? Wie sollte er auch, einmal setzen macht einen Event, danach ändert sich nichts.
Genau das ist mein Problem und ich meine gelesen zu haben dass man dieses mit einem notify lösen kann.
ZitatMach dafür einfach eine andere Plot Darstellung?
Wie kann dieser aussehen?
Zitat
attr LWZ403 userReadings Spreizung:(VorlaufTemp|RuechklaufTemp) { ReadingsNum("LWZ403","VorlaufTemp","0") - ReadingsNum("LWZ403","RuecklaufTemp","0") }
Ich komm zwar mit dem Dummy klar, aber danke für das userreading. Werd ich umsetzen
ZitatIch denke aber mit Deinen Gedanken zum Dummy und Events bist Du auf dem Holzweg.
Das befürchte ich leider auch :-\
Gut von mir aus mach das mit dem notify - aber warum kommst Du da auf setstate (https://fhem.de/commandref_DE.html#setstate)?
Ein normales set würde ein Event machen (wenn kein event-on-change-reading gesetzt ist)- nur um das zu klären. Ein setstate macht keinen event. ;D
Gruß Otto