Hallo,
Ich würde gerne bei einem Reading ermitteln ob dieses für eine setzbare Zeitdauer ein oder ausgeschaltet ist. Das Reading wird zyklisch ausgelesen.
Hättet Ihr da eine Idee?
Danke
Hab ich jetzt nicht wirklich verstanden. Was genau willst Du?
ZitatReadingsAge(<devicename>,<reading>,<defaultvalue>)
gibt das Alter des Readings in Sekunden zurück.
???
Zitat von: Otto123 am 10 März 2018, 17:04:49
???
Bitte sag mir nicht das Du den Wunsch verstanden hast. ;D
Manchmal bist Du unglaublich Otto.
Nö, war so nicht zu verstehen. War nur die spontane Idee zu Eigenschaften eines Readings ;D
Hallo
sorry,
Ich würde gerne eine Meldung absetzen wenn ich sicher weiß dass ein Gerät zBsp aus ist.
Ich habe einen Wallplug an zBsp meiner Spülmaschine. Diese geht währen des Spülvorgangs ab und zu auf 0 Watt und dann wieder hoch. Der Spülvorgangs ist noch nicht zuende.
Daher würde ich gerne Abfragen ob 0 Watt für eine gewisse Zeit gemessen wurden um dann sicher zu sein dass der Spülvorgangs abgeschlossen ist.
Das wäre meine Aufgabe
Danke Andreas
Zitat von: Otto123 am 10 März 2018, 17:22:13
Nö, war so nicht zu verstehen. War nur die spontane Idee zu Eigenschaften eines Readings ;D
Gottseidank, bin doch nicht so verpennt wie ich dachte ;D
Mal so nebenbei, hast schon die neuen Funktionen mitbekommen?
OldReadingsVal, OldReadingsNum und so. Klasse Funktionen.
Zitat von: Hackstall am 10 März 2018, 17:23:04
Hallo
sorry,
Ich würde gerne eine Meldung absetzen wenn ich sicher weiß dass ein Gerät zBsp aus ist.
Ich habe einen Wallplug an zBsp meiner Spülmaschine. Diese geht währen des Spülvorgangs ab und zu auf 0 Watt und dann wieder hoch. Der Spülvorgangs ist noch nicht zuende.
Daher würde ich gerne Abfragen ob 0 Watt für eine gewisse Zeit gemessen wurden um dann sicher zu sein dass der Spülvorgangs abgeschlossen ist.
Das wäre meine Aufgabe
Danke Andreas
Na da bietet sich ja nun wirklich bestens DOIF an.
Internals:
CFGFN
DEF ([WaschmaschineVerbrauchsanzeige:power] > 25) (set WaschmaschineBetriebDummy on)
DOELSEIF
([WaschmaschineVerbrauchsanzeige:power] < 5) (set WaschmaschineBetriebDummy off)
NAME doifWaschmaschineBetrieb
NR 47
NTFY_ORDER 50-doifWaschmaschineBetrieb
STATE cmd_2
TYPE DOIF
READINGS:
2018-03-10 11:03:49 Device WaschmaschineVerbrauchsanzeige
2018-03-10 10:49:37 cmd 2
2018-03-10 10:49:37 cmd_event WaschmaschineVerbrauchsanzeige
2018-03-10 10:49:37 cmd_nr 2
2018-03-10 11:03:49 e_WaschmaschineVerbrauchsanzeige_power 0
2018-03-10 10:49:37 state cmd_2
2018-03-10 13:38:03 wait_timer no timer
Regex:
condition:
0 ReadingValDoIf($hash,'WaschmaschineVerbrauchsanzeige','power') > 25
1 ReadingValDoIf($hash,'WaschmaschineVerbrauchsanzeige','power') < 5
devices:
0 WaschmaschineVerbrauchsanzeige
1 WaschmaschineVerbrauchsanzeige
all WaschmaschineVerbrauchsanzeige
do:
0:
0 set WaschmaschineBetriebDummy on
1:
0 set WaschmaschineBetriebDummy off
2:
helper:
DOIF_Readings_events
DOIF_eventas
globalinit 1
last_timer 0
sleeptimer -1
itimer:
readings:
0 WaschmaschineVerbrauchsanzeige:power
1 WaschmaschineVerbrauchsanzeige:power
all WaschmaschineVerbrauchsanzeige:power
uiState:
uiTable:
Attributes:
wait 0:120
Immerhin haben wir Andreas dazu bewegt zu sagen was er will und Leon hat ein gute Lösung ;D
Auch wenn die für die Waschmaschine ist. ;D ;D ;D
Gruß Otto
Zitat von: Otto123 am 10 März 2018, 17:45:36
Immerhin haben wir Andreas dazu bewegt zu sagen was er will und Leon hat ein gute Lösung ;D
Auch wenn die für die Waschmaschine ist. ;D ;D ;D
Gruß Otto
Sind wir heute bisschen pingelig ;D ;D
Internals:
CFGFN
DEF ([GeschirrspuelerVerbrauchsanzeige:power] > 25 ) (set GeschirrspuelerBetriebDummy:FILTER=STATE!=on on)
DOELSEIF
([GeschirrspuelerVerbrauchsanzeige:power] < 1.5 ) (set GeschirrspuelerBetriebDummy:FILTER=STATE!=off off)
DOELSEIF
([GeschirrspuelerVerbrauchsanzeige:power] < 2.5 ) (set GeschirrspuelerBetriebDummy:FILTER=STATE!=dry dry)
NAME doifGeschirrspuelerBetrieb
NR 231
NTFY_ORDER 50-doifGeschirrspuelerBetrieb
STATE cmd_1
TYPE DOIF
READINGS:
2018-03-10 17:47:36 Device GeschirrspuelerVerbrauchsanzeige
2018-03-10 16:48:50 cmd 1
2018-03-10 16:48:50 cmd_event GeschirrspuelerVerbrauchsanzeige
2018-03-10 16:48:50 cmd_nr 1
2018-03-10 17:47:36 e_GeschirrspuelerVerbrauchsanzeige_power 58.76
2018-03-10 16:48:50 state cmd_1
2018-03-10 13:38:08 wait_timer no timer
Regex:
condition:
0 ReadingValDoIf($hash,'GeschirrspuelerVerbrauchsanzeige','power') > 25
1 ReadingValDoIf($hash,'GeschirrspuelerVerbrauchsanzeige','power') < 1.5
2 ReadingValDoIf($hash,'GeschirrspuelerVerbrauchsanzeige','power') < 2.5
devices:
0 GeschirrspuelerVerbrauchsanzeige
1 GeschirrspuelerVerbrauchsanzeige
2 GeschirrspuelerVerbrauchsanzeige
all GeschirrspuelerVerbrauchsanzeige
do:
0:
0 set GeschirrspuelerBetriebDummy:FILTER=STATE!=on on
1:
0 set GeschirrspuelerBetriebDummy:FILTER=STATE!=off off
2:
0 set GeschirrspuelerBetriebDummy:FILTER=STATE!=dry dry
3:
helper:
DOIF_Readings_events
DOIF_eventas
event energy: 674981.6,power: 58.76,statEnergy: Hour: 470.3 Day: 1719.5 Month: 9416.4 Year: 58506.7
globalinit 1
last_timer 0
sleeptimer -1
timerdev GeschirrspuelerVerbrauchsanzeige
timerevent energy: 674981.6,power: 58.76,statEnergy: Hour: 470.3 Day: 1719.5 Month: 9416.4 Year: 58506.7
triggerDev GeschirrspuelerVerbrauchsanzeige
timerevents:
energy: 674981.6
power: 58.76
statEnergy: Hour: 470.3 Day: 1719.5 Month: 9416.4 Year: 58506.7
timereventsState:
energy: 674981.6
power: 58.76
statEnergy: Hour: 470.3 Day: 1719.5 Month: 9416.4 Year: 58506.7
triggerEvents:
energy: 674981.6
power: 58.76
statEnergy: Hour: 470.3 Day: 1719.5 Month: 9416.4 Year: 58506.7
triggerEventsState:
energy: 674981.6
power: 58.76
statEnergy: Hour: 470.3 Day: 1719.5 Month: 9416.4 Year: 58506.7
internals:
itimer:
readings:
0 GeschirrspuelerVerbrauchsanzeige:power
1 GeschirrspuelerVerbrauchsanzeige:power
2 GeschirrspuelerVerbrauchsanzeige:power
all GeschirrspuelerVerbrauchsanzeige:power
trigger:
uiState:
uiTable:
Attributes:
wait 0:120:300
Nein so war das nicht gemeint! Überhaupt nicht!
Mir fiel dabei ein, dass es wahrscheinlich 100 Lösungen für Waschmaschine im Forum (und mindestens eine im Wiki) gibt, aber wenn man nach Spülmaschine sucht gibt es das vielleicht wirklich nicht. ;)
Ob Du es glaubst oder nicht. Ich habe nach maschine gesucht
Und da habe ich beide Threads gefunden. Schlau nicht.
Vielleicht versuchst Du aber erst mal mein Problem zu verstehen bevor
Solche super schlauen Kommentare kommen.
Helfen wirklich keinem vor allem nicht hier im
Anfaengerforum. Koenn ja nicht allr so schlau sein wie Du.
Kommischerweise sind genau diese neuen Features die
mit weiterhelfen. Betonung liegt auf ,Neuen Features'.
Meinst du das was ich Otto erzählt habe. Das ist aber nicht für dieses Zweck gedacht. Und Otto hat ja wohl eindeutig positiv geschrieben, das es zwar für die Waschmaschine etwas gibt aber nicht für den Geschirrspühler.
Du solltest also Mal lieber ein Gang zurück schalten und noch mal die Ausgangslage lesen wie Du Dein Anliegen dargestellt hast, das war mehr wie gar nichts für Helfende.
Also noch mal, OldReadingsVal ist nichts für Dein Vorhaben sondern das was ich als Code gepostet habe.
Ok sorry war etwas uebertrieben aber solche Antworten helfen einfach keinem und sind total ueberfluessig.
Ich bin auch vom Fach und kann Dir sagen dass Dein Code mir nicht hilft.
Die Hinweise von Otto sind genau was ich fuer meinen Plug brauche.
Glaub mir.
Ich denke Du hast einfach eine andere Maschine die zwuschendurch wahrscheinlich
nicht auf 0 watt geht.
Bestimmt hast Du Recht. Das wird das Problem sein ::)
Ach Mist. Ich wollte ja bei den Anfängern versuchen mehr Geduld zu haben.
Also noch mal.
DOIF ist genau was du brauchst. Wenn Deine Maschine zwischenzeitlich auf 0 geht wird nicht gleich der Schaltbefehl durchgeführt sondern gewartet, bei mir 2 min, und nur wenn sich bis dahin nichts ändert wird geschalten. Attribut wait!
Lese bitte die Commandref zu DOIF und schaue dir meinen Code genau an. Und ja auch meine Maschine schaltet zwischenzeitlich auf 0 gerade beim Trockenvorgang.