Hallo,
ich habe geglaubt mit
attr handy_xxx event-on-change-reading state
erfolgreich erreicht zu haben, das ein Statuswechsel ins log geschrieben wird.
Tut es aber nicht. Vermutlich weil ich auch noch sagen muss, was eigentlich gemacht werden muss.
Nun meine Anfängerfrage ... was fehlt?
8)
Danke
Römi
Zitat von: roemi am 25 November 2022, 23:26:18
Nun meine Anfängerfrage ... was fehlt?
8)
Danke
Römi
Grundwissen!
Wo soll man da anfangen.
Welches Log-File?
Hilfe gelesen?
ZitatGrundwissen!
Wo soll man da anfangen.
Jepp, Du hast Recht ... warum frage ich überhaupt.
Römi
Das Grundwissen bezieht darauf wie ich eine Frage stellen so das der Helfende alle nötigen Informationen zur adäquaten Lösung des Problems hat.
Zitat von: roemi am 26 November 2022, 09:18:31
Jepp, Du hast Recht ... warum frage ich überhaupt.
Die Frage ist so allgemein gestellt, da fallen mir ganz viele Antworten zu ein. Ich glaube aber zielführender ist du lieferst ein paar Details.
1. list handy_xxx
2. in welchem Log suchst du die Informationen?
Gruss
Enno
Wobei der Hinweis sich mit den Grundlagen zu beschäftigen und "Doku" zu lesen schon auch stimmig ist...
event-on-change-reading schränkt ja eher Events ein, als dass es zusätzlich was erzeugt oder (wie hier gewünscht) wo einträgt.
Wie kommt der TE auf die Idee, dass das für Logeinträge sorgt? ;)
Wenn du Logeinträge in einem Device-spezifischen Log willst, dann:
Eventmonitor öffnen, auf Events des Devices (von dem du Einträge willst) warten oder "provozieren", Zeile markieren und FileLog anlegen lassen: voila damit sollten die Einträge in DIESEM Logfile landen...
https://wiki.fhem.de/wiki/Event_monitor
EDIT: https://wiki.fhem.de/wiki/FileLog
Wenn du sie im "globalen" fhem-Log willst, dann musst du sie selbst da reinschreiben...
Wieder Eventmonitor, diesmal ein notify erzeugen lassen und dort dann (in die vorgegebenen geschweiften Klammern) sowas eintragen:
Log3(undef, 1, "$EVENT")
EDIT: oder auch
Log3($NAME, 1, "$EVENT")
EDIT: https://wiki.fhem.de/wiki/Notify
fhem ist "Event-basiert", also es muss einen Event geben und dann gibt es Mittel (FileLog, notify, DOIF, ...) darauf zu reagieren.
Wenn du zeitgesteuerte "Events" brauchst/willst: at
Damit kannst du zu bestimmten Zeiten (die du dort einstellst) eben etwas abarbeiten lassen...
Das sind aber Grundlagen fhem...
EDIT: https://wiki.fhem.de/wiki/First_steps_in_FHEM
Und: ich würde das event-on-change erst mal wieder löschen. Erst mal mit allen Events arbeiten und schauen, dass die Aufgabe tut. Dann erst Events einschränken usw. (-> Performance). Weil, wenn dann "plötzlich" etwas nicht mehr tut, war es wohl "zu viel des Guten" ;)
Gruß, Joachim
Ja,
die Frage war falsch gestellt.
ZitatInternals:
ADDRESS 192.168.178.20
DEF lan-ping 192.168.178.20
FUUID 6077495c-f33f-8e37-3013-d6a3decd62d8b2fd
INTERVAL_NORMAL 30
INTERVAL_PRESENT 30
MODE lan-ping
NAME test_handy
NOTIFYDEV global
NR 69
NTFY_ORDER 50-test_handy
STATE absent
TYPE PRESENCE
eventCount 25611
READINGS:
2022-11-15 12:01:00 model lan-ping
2022-11-26 11:06:32 presence absent
2022-11-26 11:06:32 state absent
helper:
CURRENT_STATE present
Attributes:
pingCount 4
room Training
Ich steuere zwei Vorgänge abhängig davon ob ein Handy anwesend ist oder nicht.
Dabei habe ich im Log (welches täglich von fhem erzeugt wird und wo ich relevante Infos reinschreibe (das "globalen" fhem-Log ;) )) festgestellt, dass die Zirkulationspumpe zwischendurch für wenige Minuten abgeschaltet wird.
Vermutlich weil das Handy ausserhalb des WLANs war.
Das will ich nun zur Kontrolle auch loggen und dann den Intervall für die Abwesenheitmeldung verlängern um so solche Lücken zu überbrücken.
Ich hatte verstanden das der pingCount für die Anzahl der notwendigen Pings zuständig ist bevor der Status sich ändert. Dem ist aber scheinbar nicht so.
Aber ich werde wieder lesen und es irgendwann hinbekommen und als erstes den Tipp von MadMax-FHEM umsetzten (der geantwortet hat während ich geschrieben habe).
Danke
Römi
PingCount: wieviele Pings sollen abgesetzt werden (wenn einer davon klappt, so meine ich, dann: anwesend, sonst nicht)
Was du evtl. suchst ist das Attribut absenceThreshold
https://wiki.fhem.de/wiki/PRESENCE
https://fhem.de/commandref_DE.html#PRESENCE
Zitat von: commandref
absenceThreshold
(Nicht im Modus "event" anwendbar)
Die Anzahl an Checks, welche in "absent" resultieren müssen, bevor der Status der PRESENCE-Definition auf "absent" wechselt. Mit dieser Funktion kann man die Abwesenheit eines Gerätes verifizieren bevor der Status final auf "absent" geändert wird. Wenn dieses Attribut auf einen Wert >1 gesetzt ist, werden die Readings "state" und "presence" auf den Wert "maybe absent" gesetzt, bis der Status final auf "absent" wechselt.
Standardwert ist 1 (keine Abwesenheitsverifizierung)
Allerdings bin ich weg von Handy-WLAN bzw. LAN-ping beim Handy, da mir das zu unzuverlässig war (WLAN am Handy aus wegen Stromsparen usw.).
Hatte dann mal eine Zeitlang hping3 im Einsatz aber auch das hat nicht zuverlässig getan...
EDIT: https://forum.fhem.de/index.php/topic,76342.msg682218.html#msg682218
Dann gTag. Hat prima funktioniert (gut zwischendrin mal Probleme wegen PI und internem BT ;) ) aber halt ein zusätzliches Dingens...
Dann mal Unifi, also Handy "eingebucht" ins Netz. War mir aber zu "träge", hat teilweise 5-10 Minuten gedauert, bis eine Abwesenheit kam.
Aktuell nutze ich npresence: BT des Handys (parallel, weil ich ihn hatte gTag: Übergang bis ich bei npresence gelandet bin):
https://forum.fhem.de/index.php/topic,118917.msg1133609.html#msg1133609
Das funktioniert super.
Einen PI ZeroW in "Wohnungsmitte"...
Es gibt auch was mit ESP32 (hat ja BT) aber dazu muss wohl eine App auf dem Handy laufen, das mag ich nicht.
Gruß, Joachim
Hallo,
"absenceThreshold" ist genau das was ich gesucht habe und den habe ich auf 30 (ca. 15 min) gesetzt.
Das mit dem notify hat auch geklappt, ist aber nicht das was ich wollte.
So schreibt er ca. alle 30 Sek. ins Log.
Ich möchte aber nur einen Eintrag wenn sich tatsächlich etwas am Status ändert oder den aktuellen Status wenn die Zirkulationspumpe im laufe des Tages abgeschaltet wird.
Aber das schaffe ich auch noch. ;)
Die Tipps haben sehr geholfen.
Römi
Wald ... Bäume ... alles kann so einfach sein.
Alle meine Fragen sind beantwortet.
Ich danke Euch.
Römi