FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: H.K. am 12 Dezember 2015, 14:50:05

Titel: PRESENCE: State "active"?
Beitrag von: H.K. am 12 Dezember 2015, 14:50:05
Hallo zusammen,

ich habe FHEM auf meinem Raspberry Pi laufen und nutze ihn für derzeit für einige kleinere Steuerungsaufgaben (Steckdosen schalten usw.).
Nun möchte ich gern mit Hilfe des PRESENCE-Moduls die Anwesenheit meines Handy im WLAN überwachen. Da der Raspberry via LAN an meiner Fritzbox hängt und das Handy ebenfalls via WLAN mit der FB verbunden ist, sollte das ja kein Problem sein. Es existieren ja schließlich diverse Anleitungen dazu im Internet.

Sowohl via Laptop (im WLAN) als auch direkt auf dem Raspberry (via LAN) kann ich das Handy manuell anpingen und erhalte (je nachdem ob aktiv oder nicht) eine entsprechende Antwort.

Nun habe ich ein entsprechendes Gerät definiert:

define Handy PRESENCE lan-ping 192.168.178.26

Damit erhalte ich folgendes Gerät:


ADDRESS                   192.168.178.26
DEF                            lan-ping 192.168.178.26
MODE                         lan-ping
NAME                         Handy
NR                             45
STATE                        active
TIMEOUT_NORMAL     30
TIMEOUT_PRESENT    30
TYPE                          PRESENCE


Der State ist und bleibt immer "active" - unabhängig davon ob die IP erreichbar ist oder nicht. Aus diversen Beiträgen und Screenshots anderer Nutzer kenne ich immer nur den Status "present" oder "absent", aber nie "active".

Ich habe daraufhin diverse andere Optionen probiert. U.a. über ein Shell- und Perl-Skript, aber nichts hat den gewünschten Erfolg gebracht.

So langsam glaube ich daher dass es sich um ein Problem bezüglich Rechten (die sudoers habe ich so editiert das FHEM Skripte ausführen darf) oder dem fehlenden Import von Modulen handelt.

Kann mir jemand einen Tip geben was ich falsch mache?

Danke und Gruß,
Horst
Titel: Antw:PRESENCE: State "active"?
Beitrag von: marvin78 am 12 Dezember 2015, 14:52:41
Ins Log schauen, wäre eine Idee. verbose hoch drehen und schauen, ob es Fehler gibt.
Titel: Antw:PRESENCE: State "active"?
Beitrag von: H.K. am 12 Dezember 2015, 15:09:26
Hallo!

Danke für die schnelle Antwort.

Ich habe ein FileLog für das Gerät erstellt, aber da kein Statuswechsel erfolgt finden sich dort auch keine Einträge:


define Handy PRESENCE lan-ping 192.168.178.26
attr Handy room Anwesenheit
define FileLog_Handy FileLog ./log/Handy_%Y.log Handy
attr FileLog_Handy logtype text
attr FileLog_Handy room Anwesenheit


Aber auch in dem globalen Logfile finden sich keine Einträge in Bezug auf das Gerät.

Gruß
Titel: Antw:PRESENCE: State "active"?
Beitrag von: marvin78 am 12 Dezember 2015, 15:34:27
Ich meine natürlich das Hauptlog (die angepinnten Beiträge hast du ja ganz sicher gelesen oder?). Dort sollten sich Einträge finden, wenn du verbose bei dem Presence Device auf 5 stellst. Darin werden sich sicher Hinweise auf das Problem finden. Bitte die Grundlagen von FHEM anschauen.
Titel: Antw:PRESENCE: State "active"?
Beitrag von: H.K. am 12 Dezember 2015, 19:07:03
Hallo,

ok, das habe ich gemacht. Ich habe folgenden Hinweis in der LOG gefunden (Handy nicht im WLAN eingeloggt):


2015.12.12 18:45:06 5: PRESENCE (Handy) - stopping timer
2015.12.12 18:45:06 5: PRESENCE (Handy) - starting blocking call for mode lan-ping
2015.12.12 18:45:06 4: BlockingCall created child (16372), uses telnetForBlockingFn to connect back
2015.12.12 18:45:06 5: PRESENCE (Handy) - starting ping scan: Handy|192.168.178.26|0|4

2015.12.12 18:45:19 5: PRESENCE (Handy) - ping command returned with output:
PING 192.168.178.26 (192.168.178.26) 56(84) bytes of data.

--- 192.168.178.26 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3006ms


Und wenn das Handy im WLAN eingeloggt ist:


2015.12.12 19:02:47 5: PRESENCE (Handy) - stopping timer
2015.12.12 19:02:47 5: PRESENCE (Handy) - starting blocking call for mode lan-ping
2015.12.12 19:02:47 4: BlockingCall created child (16432), uses telnetForBlockingFn to connect back
2015.12.12 19:02:47 5: PRESENCE (Handy) - starting ping scan: Handy|192.168.178.26|0|4

2015.12.12 19:02:50 5: PRESENCE (Handy) - ping command returned with output:
PING 192.168.178.26 (192.168.178.26) 56(84) bytes of data.
64 bytes from 192.168.178.26: icmp_req=1 ttl=69 time=41.0 ms
64 bytes from 192.168.178.26: icmp_req=2 ttl=69 time=59.5 ms
64 bytes from 192.168.178.26: icmp_req=3 ttl=69 time=78.9 ms
64 bytes from 192.168.178.26: icmp_req=4 ttl=69 time=102 ms

--- 192.168.178.26 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 41.085/70.440/102.143/22.681 ms


Ich sehe also dass der Ping nicht erfolgreich ist wenn das Handy nicht eingeloggt ist. Wenn es eingeloggt ist, ist auch der Ping erfolgreich.
Ich bekomme aber trotzdem keinen Statuswechsel :(

Danke für die Hilfe!
Titel: Antw:PRESENCE: State "active"?
Beitrag von: H.K. am 12 Dezember 2015, 19:42:28
Ich habe jetzt folgendes herausgefunden:

Wenn ich den Raspberry neu starte funktioniert auch der Presence-State wie erwartet (handy ist aktiv => present).
Wenn ich dann aber die fhem.cfg editiere und z.B. Attribute hinzufüge wechselt der State wieder wie gehabt auf "active" und bleibt dabei.

Gruß
Titel: Antw:PRESENCE: State "active"?
Beitrag von: H.K. am 17 Dezember 2015, 20:59:01
Hallo noch einmal,

gibt es keine Erkenntnisse über ähnliche Phänomene?

Es reicht übrigens auch wenn ich den FHEM-Server beende und neu starte, es muss nicht der komplette Raspi neu booten.

Gruß,
Horst
Titel: Antw:PRESENCE: State "active"?
Beitrag von: dev0 am 17 Dezember 2015, 21:11:21
Was passier wenn du die Änderungen über die gui durchführst?