Presence Module fehlt?

Begonnen von moloko, 17 März 2013, 17:06:14

Vorheriges Thema - Nächstes Thema

moloko

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!

det.

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.
LG
det.

moloko

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.


Markus Bloch

Wie genau ist denn dein Netzwerksetup bei dir und wie hast du deine Handys mit PRESENCE in FHEM definiert?


Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

moloko

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



Markus Bloch

Generell gibt es bei Apple-Devices folgendes zu beachten:


  • WLAN ist im Standby generell deaktiviert
  • Nur wenn die Option "Mit diesem iPad/iPhone über WLAN synchronisieren" aktiviert ist, ist das Gerät dauerhaft über WLAN pingbar (auch im Standby)

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
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

wolfram

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.

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolfram

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


justme1968

richtig. die geräte in der liste des manuellen snmpwalk solltest du mit status=1 abfragen können.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolfram

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??

justme1968

setz mal den log level hoch und schau ob dann mehr im log file steht.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolfram

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....



justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolfram

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?