Hallo Fhemianer
ich habe einen Schalter (enocean), der die Leistung ermittelt und als power meldet. das zeige ich auch bei mir an.
Es kommt vor, dass der Strom vom Schalter (vor dem Schalter) weg ist und somit ist klar, er meldet nichts mehr.
Angezeigt wird aber noch der alte Wert.
Wie kann ich ermitteln, dass nach einer bestimmten Zeit z.B. 10 Minuten, keine Werte mehr reinkommen?
Ich würde mich über einen TIP sehr freuen.
Gruß Thomas.
watchdog?
readingsWatcher?
at mit regelmäßiger Abfrage von ReadingsAge()?
Brauchst du noch mehr Stichworte?
Hallo Beta-User
Danke für die Stichworte - :o
ein Readuíng "ReadingAge" habe ich nicht gesehen
Ev. weiß ich aber auch nicht so genau, was Du meinst.
Hast Du ev. ein Beispiel?
Thomas
Ahh - watchdog ja.
Spätzünder...
ich check das mal.
Danke
Hallo Schmitzkatze,
ich nutze u.a. zur Übersicht das Modul Monitoring:
define mymonitoring monitoring .*:Zeitstempel.*
Bitte im Wiki/commandref nachlesen, wie es einzustellen ist.
In den einzelnen Devices, die ich gerne überwacht und in einer Liste sehen möchte, definiere ich ein userReadings Zeitstempel, z.B. so:
attr Lichtstaerke.West userReadings Zeitstempel {substr(ReadingsTimestamp($name,'BH1750_Illuminance',''),0,16)}
In einem DOIF kann man das Readingsalter so abfragen:
[device:reading:sec]
Und wie bereits ausgeführt viele andere Methoden.
Viele Grüße Gisbert
Hallo Giesbert
JA - das isses - da kann ich gleich andere auch überwachen.
Das teste ich gleich.
Gruß Thomas
Zitat von: Schmitzkatze am 02 August 2020, 12:50:58
Hallo Beta-User
Danke für die Stichworte - :o
ein Readuíng "ReadingAge" habe ich nicht gesehen
Ev. weiß ich aber auch nicht so genau, was Du meinst.
Hast Du ev. ein Beispiel?
Thomas
ReadingsAge ist KEIN Reading sondern ein Befehl zur Abfrage (wer würde es vermuten ;) ) des Alters eines Readings...
Also: ReadingsAge("DeviceName","ReadingName",0) liefert eben die Sekunden seit der letzten Änderung des Readingswertes...
Gruß, Joachim
P.S.: weitere Funktionen (nicht "Fregenrelevant"!) ReadingsVal, ReadingsNum, OldReadingsVal, AttrVal, InternalVal, ...
Zitat von: Schmitzkatze am 02 August 2020, 13:06:06
JA - das isses - da kann ich gleich andere auch überwachen.
ACHTUNG Eigenwerbung :
dann schau dir gleich noch readingsWatcher an , da sparst noch mehr an Tipparbeit und bekommst gratis eine Zusammenstellungen deiner überwachen Geräte :)
EHHH
Wollt Ihr mich fertig machen?
Krass - da brauche ich ja ´ne Woche Urlaub, bis ich alles durch habe.
;D ;D ;D
Danke Euch allen.
Gruß Thomas
Du wolltest ja nur einen Tipp, und readingsWatcher stand btw. auch schon in meinem ersten Beitrag ;) ...
BTW: Wer Tipps haben will, sollte dann erst mal LESEN und nicht gleich, offenkundig, ohne irgendwas von den Stichworten in der Commandref/im Wiki gesucht zu haben, (sonst wäre dir dein Typo bei "ReadingAge" statt ReadingsAge() aufgefallen!) "komische" Rückfragen stellen!
(OT@Gisbert: Was für eine tieferen Sinn hat es, den Zeitstempel auch noch in ein Reading zu schreiben? Man kann den doch direkt abfragen... Tipps, die auf mMn. unnötige Informationsverdoppelung rauslaufen, würde ich insbesondere für Einsteiger vermeiden wollen, das verwirrt mehr, als es hilft. Just my2ct.)
Zitat von: Beta-User am 02 August 2020, 13:45:20
BTW: Wer Tipps haben will, sollte dann erst mal LESEN und nicht gleich, offenkundig, ohne irgendwas von den Stichworten in der Commandref/im Wiki gesucht zu haben, (sonst wäre dir dein Typo bei "ReadingAge" statt ReadingsAge() aufgefallen!) "komische" Rückfragen stellen!
Ja - wie man es macht ist verkehrt.
Danke trotzdem.
Thomas
Zitat von: Beta-User am 02 August 2020, 13:45:20
OT@Gisbert: Was für eine tieferen Sinn hat es, den Zeitstempel auch noch in ein Reading zu schreiben? Man kann den doch direkt abfragen... Tipps, die auf mMn. unnötige Informationsverdoppelung rauslaufen, würde ich insbesondere für Einsteiger vermeiden wollen, das verwirrt mehr, als es hilft. Just my2ct.
Hallo Beta-User,
gute Frage. Mein Ansatz war, dass ich in allen Devices das gleiche Reading habe, das ich dann im Modul monitoring überwachen kann.
Ich weiß aber nicht, wie ich das sonst übersichtlich gestalten kann. Ich bin für Vorschläge offen.
Anfänger, da hast du Recht, sollte ich nicht mit meinen Eigenkonstrukten (selbst, wenn sie für mich funktionieren) verwirren.
Viele Grüße Gisbert
Zitat von: Gisbert am 02 August 2020, 23:02:41
Mein Ansatz war, dass ich in allen Devices das gleiche Reading habe, das ich dann im Modul monitoring überwachen kann.
Ah, so verstehe ich das jetzt wenigstens.
Bin grade am Sammeln, was man Einsteigern ggf. empfehlen kann, habe allerdings zumidnest gefühlt "zu wenig Erfahrung" mit den diversen Tools, die man so einsetzen könnte.
Tendenziell halte ich _diese konkrete_ Lösung mit monitoring (das ggf. anders konfiguriert werden könnte) an mindestens einer Stelle für ineffizient:
dem userReading fehlt ein sauberer Trigger. Das solltest du mMn. auf den update des Readings begrenzen, dessen Alter du dann auch abfragst.
Die devspec in monitoring ist auch sehr weit. Bildet das dann das Internal NOTIFYDEV? (Siehe z.B. die Erläuterungen von Rudi zu notifyRegexpCheck hier (https://forum.fhem.de/index.php/topic,111938.msg1074222.html#msg1074222))
Für solche Aufgaben sind dem Bauchgefühl nach zyklisch arbeitende Routinen mit wenigen Zyklen/Tag oder Woche besser/effizienter als Event-basierte Lösungen, aber wie eingangs erwähnt: meine persönliche Erfahrung mit den diversen Tools, die man nutzen könnte, ist nicht übermäßig groß...
Zitat von: Beta-User am 03 August 2020, 10:20:57
Für solche Aufgaben sind dem Bauchgefühl nach zyklisch arbeitende Routinen mit wenigen Zyklen/Tag oder Woche besser/effizienter als Event-basierte Lösungen
so ist denn auch der Ansatz bei readingsWatcher, man kann schlecht auf nicht kommende Events triggern. Der User bestimmt selbst den Überwachungsintervall, denn er kann nunmal am Besten beurteilen ab wann etwas nicht stimmt. Vergleichbar mit dem HM ActionDetector und den jeweiligen Attribut actCycle
Also ich habe durch den Tipp von Wzut nun seinen readingsWatcher bei mir in Betrieb genommen.
Noch nicht vollständig durchkonfiguriert, aber ich bin begeistert. Danke.
Habe jetzt auch readingsWatcher eingebaut. Xiaomi's schicken einen heartbeat (< 1 Std) den ich überwachen möchte. Die Ap sagt berets bei battery_level 2.8 und battery ok Bitte Batterie wechseln. Warte auf battery low bzw. actifity dead.
zu readings-Namen: bei readingsWatcher actifity (kleines a) HM-devices Actifity (grosses A)
Trotzdem: tolles Modul
Zitat von: jkriegl am 03 August 2020, 21:02:07
bei readingsWatcher actifity (kleines a) HM-devices Actifity (grosses A)
Bitte command.ref lesen, das bestimmt der User selbst, die Kleinschreibung ist lediglich default
attr <name> readingActifity Lebt_er_noch mausetot:quicklebendig
Sollte das alle nicht activity heißen?
In der CommandRef ist es auch nicht ganz korrekt.
Im Modul aber scheinbar wohl.