FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: moloko am 17 März 2013, 17:06:14

Titel: Presence Module fehlt?
Beitrag von: moloko am 17 März 2013, 17:06:14
Liebe Mitglieder,

irgendwie fehlt bei mir das Presence Modul.

Sorry sollte ich nicht alle notwendigen Schritte unternommen haben.

Habe folgende Schritte durchgeführt:
- die aktuelle 5.3 Version aus dem fhem Forum installiert (Fritz 7390)
- hatte ursprünglich die AVM Version (fhem Version drübergebügelt)
- fhem läuft nach Anpassung des Startscripts und ps unter root
 
Unter dem fhem-Menupunkt "Definition" ist weder unter "Other Modules" noch unter "Helpers" das Modul Presence zu finden.

Verwendung von "define moloko PRESENCE fritzbox moloko" in der fhem.cfg bringt folgerichtig die Meldung "Unknown module PRESENCE, choose one of ..."

Kann mir jemandeinen Tipp geben? Danke!
Titel: Aw: Presence Module fehlt?
Beitrag von: det. am 17 März 2013, 18:04:18
update in die Kommandozeile von FHEM eingeben und ENTER drücken, anschließend das Gleiche mit shutdown restart durchführen, dann sollte alles da sein.
Titel: Aw: Presence Module fehlt?
Beitrag von: moloko am 18 März 2013, 12:46:50
Super, danke, das hat geholfen.

Wo kann ich denn sowas lesen, hatte mir ja Mühe gegeben, selbst drauf zu kommen...

Das Presence Modul funzt jetzt, die WLan Geräte werden aber nicht erkannt, wenn Sie an einem separaten WLan Router eingeloggt sind.
Ich nutze die FritzBox nur für LAN und Telefon, ansonsten Airport für WLan.

Titel: Aw: Presence Module fehlt?
Beitrag von: Markus Bloch am 18 März 2013, 13:34:50
Wie genau ist denn dein Netzwerksetup bei dir und wie hast du deine Handys mit PRESENCE in FHEM definiert?


Viele Grüße

Markus
Titel: Aw: Presence Module fehlt?
Beitrag von: moloko am 19 März 2013, 11:45:52
Netzwerksetup: FritzBox als Router mit deaktiviertem WLan, daran kabelgebunden ein WLan Access Point (Arport Extreme), damit verbinden sich die iOS Geräte.
iPad3 ist present, da ich damit aktuell auf dem fhem WebFront End bin, iPhone absent, da möglicherweise mit gelocktem Screen entgegen der Anzeige in der FritzBox kein Ping möglich ist? Das müsste ich ggfls. heute Abend mal mit einem Ping vom Rechner testen.

meine Presence Konfiguration (Test)
define telnetPort telnet 7072 global
define ich PRESENCE lan-ping xxx.xxx.0.26
define iPhone5 PRESENCE fritzbox moloko
define iPad3 PRESENCE fritzbox iPad3

Aktive Verbindungen in der FritzBox
iPad3   xxx.xxx.0.42       LAN 1 mit 100 Mbit/s
moloko   xxx.xxx.0.26      LAN 1 mit 100 Mbit/s

PRESENCE Status
iPad3   present
iPhone5   absent
ich   absent


Titel: Aw: Presence Module fehlt?
Beitrag von: Markus Bloch am 19 März 2013, 16:11:15
Generell gibt es bei Apple-Devices folgendes zu beachten:



Wenn du also eine Anwesenheitserkennung via PING durchführen willst, musst du bei deinen Apple-Geräten die Synchronisation über WLAN aktivieren. Dann sind die Devices auch zuverlässig pingbar.

Viele Grüße

Markus
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 18 Juni 2013, 11:28:07
Hallo Leute,

ich habe 2 Fragen zum Presence-Modul mit einer Apple TimeCapsule und Iphone. Ich verwende FHEM  5.4-dev auf einem RPi. Ich habe SNMP installiert und kann es auch verwenden - mit der Konsole getestet.

Beim starten von FHEM bekomme ich nun aber folgende Fehlermeldungen:

2013.06.18 09:14:06 1: Timeout for PRESENCE_DoLocalFunctionScan reached, terminated process 20115
2013.06.18 09:14:06 2: PRESENCE: my_iPhone could not be checked (retrying in 10 seconds)


1. Die Definition für mein Iphone in der config sieht so aus:

define my_iPhone PRESENCE function {snmpCheck("192.168.1.2","0xf4f15ac28700")} 30 30


Im Wiki steht dazu:
Zitatwobei 10.0.1.1 durch die IP-Adresse der Basestation und 0x44d77429f35c durch die MAC adresse des Geräts als HEX-Zahl ersetzt werden muss.

Nun sieht die MAC-Adresse meines Telefons so aus: f4:f1:5a:c2:87:00 und im Wiki ist die MAC-Adresse mit einem "0x" vorangestellt. Ich habe aus Unwissenheit nun einfach die Doppelpunkte entfernt und ein "0x" davor geschrieben. Ist das korrekt so?

2. Der Code aus dem Wiki sieht ja so aus:

  my $community = "public";
  my $host = $airport;
  my $oid = ".1.3.6.1.2.1.3.1.1.2";
  #my $oid = ".1.3.6.1.2.1.3.1.1.2.25.1.10.0.1";


Muss ich jetzt hier noch die OID bei "my $oid" meiner Time Capsule eintragen? Wenn ja, was wäre ein korrekter Eintrag? Ein snmpwalk auf meine TC ergibt solche Ergebnisse:

iso.3.6.1.2.1.1.1.0 = STRING: "Apple AirPort - Apple Inc., 2006-2012.  All rights Reserved."
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.255
iso.3.6.1.2.1.1.3.0 = Timeticks: (153396) 0:25:33.96
iso.3.6.1.2.1.1.4.0 = STRING: "default_user@contact.domain"
iso.3.6.1.2.1.1.5.0 = STRING: "time-capsule"
iso.3.6.1.2.1.1.6.0 = STRING: "defaultlocation"
iso.3.6.1.2.1.1.7.0 = INTEGER: 12
iso.3.6.1.2.1.1.8.0 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.31
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The MIB module for SNMPv2 entities"


Ich habe mich Step by Step an die Anleitung im Wiki gehalten, aber diese beiden Punkte sind mir unklar. Kann jemand Licht in mein Dunkel bringen?

Vielen Dank und einen sommerlichen Tag.
Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 18 Juni 2013, 11:43:38
alle doppelpunkte entfernen und 0x davor ist richtig.

die oid musst du lassen. das ist die globale oid für die atPhysAddress mib.

das ganze geht nur wenn deine timecapsule auch die dhcp adressen vergibt. ist das bei dir so? ist die 192.168.1.2 wirklich deine timecapsule? oder hat die hinten doch eine .1 ?

mach mal ein snmpwalk -c public -v 1 192.168.1.2 .1.3.6.1.2.1.3.1.1.2was kommt da zurück?

ruf mal {snmpCheck("192.168.1.2","0xf4f15ac28700")}auf der telnet console von fhem auf.

gruss
  andre
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 18 Juni 2013, 12:36:34
Hallo Andre,

vielen Dank für Deine Rückmeldung!

ein snmpwalk -c public -v 1 192.168.1.2 .1.3.6.1.2.1.3.1.1.2

liefert Folgendes:

iso.3.6.1.2.1.3.1.1.2.10.1.192.168.1.1 = Hex-STRING: C0 25 06 4F DC B7
iso.3.6.1.2.1.3.1.1.2.10.1.192.168.1.10 = Hex-STRING: 58 55 CA 42 E0 16
iso.3.6.1.2.1.3.1.1.2.10.1.192.168.1.29 = Hex-STRING: B8 27 EB CD 52 AE
iso.3.6.1.2.1.3.1.1.2.10.1.192.168.1.31 = Hex-STRING: C4 2C 03 0C C3 2B


Ja, die TC macht DHCP und hat die IP: 192.168.1.2.

Rufe ich über die Telnet-Console den Befehl:

{snmpCheck("192.168.1.2","0xf4f15ac28700")}

auf, ist das Ergebnis = 0. Gut, das kann sein, da bei meinem Telefon das W-Lan gerade aus ist. Aber wenn ich es richtig sehe, müsste ich doch jetzt eines der oben zurückgelieferten Ergebnisse erfolgreich mit Ergebnis =1 auslesen können, oder?

Viele Grüße

Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 18 Juni 2013, 12:52:25
richtig. die geräte in der liste des manuellen snmpwalk solltest du mit status=1 abfragen können.

gruss
  andre
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 18 Juni 2013, 13:13:11
also über Telnet alles super, ich frage das Device ab und erhalte eine "1" bei angemeldetem Gerät.

fhem> {snmpCheck("192.168.1.2","0xc42c030cc32b")}
1


Nach einem "shutdown restart" immernoch folgende Meldung im fhem.log:

2013.06.18 13:08:55 1: Timeout for PRESENCE_DoLocalFunctionScan reached, terminated process 14914
2013.06.18 13:08:55 2: PRESENCE: my_IPhone could not be checked after 3 retries (resuming normal operation)


Das Presence-Modul in FHEM-Web "sagt" auch nur "active".

Hast Du noch 'ne Idee??
Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 18 Juni 2013, 13:20:55
setz mal den log level hoch und schau ob dann mehr im log file steht.

gruss
  andre
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 18 Juni 2013, 13:49:49
so, ich hab jetzt:


define myiPhone PRESENCE function {snmpCheck("192.168.1.2","0xc42c030cc300")} 30 30
attr myiPhone loglevel 6


gesetzt. Die Fehlermeldung bleibt gleich:

2013.06.18 13:46:12 2: PRESENCE: myiPhone could not be checked after 1 retry (retrying in 10 seconds)
2013.06.18 13:46:12 1: Timeout for PRESENCE_DoLocalFunctionScan reached, terminated process 2199


Irgendetwas haut da noch nicht hin, aber ich hab keine Ahnung was....


Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 18 Juni 2013, 13:52:36
die meldung mit dem timeout kommt nicht direkt aus presence sondern aus fhem funktionen die benutzt werden. setz mal attr global verbose 5 dann sollte deutlich mehr im log stehen.

gruss
  andre
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 18 Juni 2013, 14:14:21
ok, verstanden, jetzt sieht mein log so aus:

2013.06.18 14:04:49 5: PRESENCE_DoLocalFunctionScan: myiPhone|{snmpCheck("192.168.1.2","0xf4f15ac28700")}|0
2013.06.18 14:04:49 5: Cmd: >{snmpCheck("192.168.1.2","0xf4f15ac28700")}<
2013.06.18 14:04:51 5: CUL/RAW: /0
2013.06.18 14:04:56 1: CallBlockingFn: Can't connect to localhost:7072
2013.06.18 14:04:56 1: CallBlockingFn: Can't connect to localhost:7072


und dann später:

2013.06.18 14:05:49 1: Timeout for PRESENCE_DoLocalFunctionScan reached, terminated process 12612
2013.06.18 14:05:49 2: PRESENCE: myiPhone could not be checked (retrying in 10 seconds)


und noch später:

2013.06.18 14:06:02 5: PRESENCE_DoLocalFunctionScan: myiPhone|{snmpCheck("192.168.1.2","0xf4f15ac28700")}|0
2013.06.18 14:06:02 5: Cmd: >{snmpCheck("192.168.1.2","0xf4f15ac28700")}<


hilft das weiter?
Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 18 Juni 2013, 14:20:51
wie ist dein telnet device konfiguriert?

BlockingCall muss intern ein telnet ohne password nach localhost machen können und das telnet device muss glaube ich vor dem presence device definiert werden.

gruss
  andre
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 18 Juni 2013, 14:40:32
ok, wir nähern uns hoffentlich dem Problem :)

Mein telnet device ist wie folgt konfiguriert:

define telnetPort 7072 global

und das telenet-device ist gleich am Anfang (wie Standardauslieferung) definiert und dann erst die PRESENCE-devices.

mich wundert das mit dem Blocking.pm - nach dem Starten von fhem bekomme ich noch folgendes angezeigt:

Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 116

Ok, eine neue Erkenntnis habe ich durch Deine Hilfe, scheinbar funktioniert der Telnetzugriff wenn ich mit ssh auf dem RPi bin auf localhost nicht:

root@raspberrypi:~# telnet localhost 7072
Trying 127.0.0.1...
Trying ::1...
telnet: Unable to connect to remote host: Address family not supported by protocol
root@raspberrypi:~#


scheinbar auch nicht, wenn ich auf 127.0.0.1 oder auf die echte IP gehe. Komme ich von außen -also von einem anderen Rechner - kann ich per telnet befehle absetzen....

nun habe ich in der Config noch Folgendes eingefügt:

attr global port 7072 global

darauf hin folgende Meldung im Log:

2013.06.18 14:44:51 1: CallBlockingFn: Can't connect to localhost:7072
2013.06.18 14:44:51 1: CallBlockingFn: Can't connect to localhost:7072




Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 18 Juni 2013, 14:50:19
dein telnet device ist falsch konfiguriert. oder das ist ein tippfehler. es muss so aussehen:define telnetPort telnet 7072 global

aber telnet ist ziemlich sicher das problem. du scheinst ipv6 aktiv zu haben. ich weiss nicht ob das eventuell probleme macht.

gruss
  andre
Titel: Aw: Presence Module fehlt?
Beitrag von: Puschel74 am 18 Juni 2013, 14:51:54
Hallo,

ich weiß ja nicht ob das was mit euch zu tun hat aber Rudi hat heute morgen BlockingCall.pm modifiziert.

Siehe hier:
http://forum.fhem.de/index.php?t=msg&th=13224&start=40&rid=12 (//forum.fhem.de/index.php?t=msg&th=13224&start=40&rid=12)

Grüße
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 18 Juni 2013, 15:27:24
Vielen lieben Dank für die Unterstützung - ich habs herausgefunden. Das Problem war wirklich, wie André auch schrieb, dass ich kein telnet auf localhost machen konnte - sorry - aber mir war das nicht klar, dass das erst einmal funktionieren muss...

Folgendes hat dann auf meinem RPi nun endlich geklappt:

   
auto lo
      iface lo inet loopback


 in die   /etc/network/interfaces aufgenommen - und schon klappt's mit dem Nachbarn, Raspi und TC.

Danke für die Hilfe
Titel: Aw: Presence Module fehlt?
Beitrag von: Puschel74 am 18 Juni 2013, 16:13:07
Hallo,

na da muss man aber erstmal drauf kommen.

Ich dachte diese Einträge in der interfaces sind Standart??
Zumindest habe ich die bei meinen PasPi`s so drinnen stehen - von Anfang an.

Dafür meckern meine aber wenn ich DHCP aus schalte und die IP mit allem drum und dran fix vergeben will :-(
Na egal.
Bei dir klappt es jetzt und ich hab meinem Router gesagt er soll den MAC-Adressen immer die selbe IP geben (läuft also auch).

Grüße
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 19 Juni 2013, 10:24:33
Guten Morgen,

ich muss noch einmal eine blöde Frage stellen. Nachdem mein Presence-Modul jetzt läuft und nach dem Upate heut morgen auch wieder die Funkverbindung zu FS20 habe ich mir die Frage gestellt, wie genau das mit der TimeCapsule und dem Presence des Telefons genau funktioniert. Ich habe beobachtet, dass auch nach dieser Methode mein Telefon nach einer Zeit wieder "absent" in FHE ist, obwohl ich zu Hause bin, bzw. mein Telefon zu Hause liegt.
In der Beschreibung im Wiki ist zu lesen:

Die hier vorgestellte Überwachung der DHCP Lease auf Airport Basestations per SNMP ist absolut robust gegenüber dem Ruhezustand von iOS und setzt keine weitere Konfiguration auf dem iPhone voraus.. Das abmelden beim verlassen des Empfangsbereiches der Basestation geschieht mit etwa 5-10 Minuten Verzögerung und ist somit auch vor kurzzeitigen Empfangsproblemen sicher.

Nun kann man ja an der TC auch das DHCP-Lease beliebig einstellen. Bei mir ist das momentan 1 Tag. Ist das abhängig davon was ich dort einstelle, oder warum zeigt sich mein Telefon als abwesend trotz dieser Methode?

Kann mir das jemand erklären?

Viele Grüße
wolf

Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 19 Juni 2013, 10:41:19
ich habe einen airport extreme und ein bzw zwei airport express. die dhcp lease ist 1 tag. ich habe die letzten monate keinen einzigen aussetzer wenn ich mit dem telefon zuhause bin. ein typischer tag schaut etwa so aus:

(siehe Anhang / see attachement)


oben per snmp und unten per ping.

eine idee kommt mir gerade noch: mein iphone holt zwei e-mail postfächer ab. eventuell ist das der schubs den die airport basestation braucht um zu wissen das dsa device noch da ist. vielleicht ist garnicht dhcp der trigger sondern einfach nur netzwerkverkehr zu dieser mac adresse. ich kann am wochenende mal versuchen die email abzustellen. mal sehen ob sich dann etwas ändert.

gruss
  andre
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 19 Juni 2013, 11:17:03
Hallo Andre,

danke für die Info. Auch mein Telefon holt Mails von 2 Accounts ab trotzdem hatte ich den beschriebenen Effekt, aber gut, ich werde das auch einmal beobachten und ein bisschen experimentieren.

Wie hast Du denn den Plot bei dir definiert  - das ist doch ein ganz guter Überblick über An- und Abwesenheit.

Grüße
wolf
Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 19 Juni 2013, 11:49:08
ich hab unten mal ein anderes plot file rein kopiert. da sind zwei filelog zeilen für meine alte version ohne presence (eventuell musst ud Anwesend entsprechend in presence ändern und eine dblog Zeile für presence.

gruss
  andre

############################
# Display the Anwesend and Abwesend values
# Corresponding FileLog definition:
# define anwesendlog FileLog /var/log/fhem/fs20dev-%Y-%U.log device
 
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
 
set ytics ("Weg" 0, "Da" 1)
set y2tics ("Weg" 0, "Da" 1)
set yrange [0:1]
set y2range [0:1]
set ylabel "Status"
set y2label "Status"
 
#FileLog 3:<SPEC1>I:0:$fld[2]=~"Anwesend"?1:0
#FileLog 3:<SPEC1>M:0:$fld[2]=~"Anwesend"?1:0
#FileLog 3:iPhoneAndre\s:0:$fld[2]=~"present"?1:0
 
plot
     using 1:2 ls l0 axes x1y2 title 'IP' with steps
     using 1:2 ls l0fill axes x1y1 title 'MAC' with steps
     using 1:2 ls l4 axes x1y2 title 'Andre' with steps
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 31 Juli 2013, 11:54:19
Hallo Andre,

habe heut ein fhem-update druchgeführt und beim start von fhem erhalte ich folgende Fehlermeldungen- für das Telefon meiner Frau (Mon) für mein Telefon (Wolf):

2013.07.31 11:08:24 2: PRESENCE: error while processing device iPhone_Mon - unexpected function output (expected 0 or 1): Undefined subroutine &main::snmpCheck called at (eval 57) line 1.
2013.07.31 11:08:24 2: PRESENCE: error while processing device iPhone_Wolf - unexpected function output (expected 0 or 1): Undefined subroutine &main::snmpCheck called at (eval 57) line 1.
2013.07.31 11:08:54 2: PRESENCE: error while processing device iPhone_Mon - unexpected function output (expected 0 or 1): Undefined subroutine &main::snmpCheck called at (eval 72) line 1.
2013.07.31 11:08:54 2: PRESENCE: error while processing device iPhone_Wolf - unexpected function output (expected 0 or 1): Undefined subroutine &main::snmpCheck called at (eval 72) line 1.
2013.07.31 11:09:24 2: PRESENCE: error while processing device iPhone_Mon - unexpected function output (expected 0 or 1): Undefined subroutine &main::snmpCheck called at (eval 74) line 1.
2013.07.31 11:09:24 2: PRESENCE: error while processing device iPhone_Wolf - unexpected function output (expected 0 or 1): Undefined subroutine &main::snmpCheck called at (eval 74) line 1.


das Modul und die Abfragen liefen seit meinem letzten Post zu diesem Thema wunderbar. Hat sich da irgendetwas geändert? Das letzte korrekte Reading hatte ich, wie gesagt vor dem letztem Update.

Hat jemand eine Idee?

Danke und Grüße
wolf
Titel: Aw: Presence Module fehlt?
Beitrag von: justme1968 am 31 Juli 2013, 12:02:13
in welchem file hattest du denn snmpCheck angelegt ?

es muss in 99_myUtils.pm nicht! 99_Utils.pm. letzteres wird bei updates überschrieben.

gruss
  andre
Titel: Aw: Presence Module fehlt?
Beitrag von: wolfram am 31 Juli 2013, 16:01:56
Andre, DANKE!!!
das war's

Grüße
wolf