FHEM Forum

FHEM => Automatisierung => Thema gestartet von: traxanos am 04 August 2015, 21:45:07

Titel: Problem bei BT basierter Anwesenheitserkennung
Beitrag von: traxanos am 04 August 2015, 21:45:07
Hi,

ich habe das Problem, dass nach einem Neustart vom FHEM die Anwesenheitserkennung per BT nicht funktioniert.

Internals:
   ADDRESS    XXXXXXXX
   CHANGED
   DEF        local-bluetooth XXXXXXXX 10 60
   MODE       local-bluetooth
   NAME       MarcosHandy
   NR         151
   STATE      absent
   TIMEOUT_NORMAL 10
   TIMEOUT_PRESENT 60
   TYPE       PRESENCE
   Readings:
     2015-08-04 20:55:16   device_name     Marcos iPhone
     2015-08-04 21:01:46   presence        absent
     2015-08-04 21:01:46   state           absent
   Helper:
Attributes:
   Anwesenheit Bewohner
   alias      Marco (Handy)
   cmdIcon    requestStatus:im_feed
   devStateIcon present:status_available@green absent:status_available@red
   event-on-change-reading state
   group      Anwesenheit
   icon       it_smartphone
   room       Status
   userattr   Anwesenheit Anwesenheit_map structexclude
   webCmd     requestStatus



Aktuell muss ich requestStatus mehrfach aufrufen, bis er alle erkennt. Sobald es dann einmal alle erkannt hat, läuft alles problemlos bis der nächste Neustart kommt. Haben andere das Problem auch und gibt es hierfür eine Lösung?
Titel: Antw:Problem bei BT basierter Anwesenheitserkennung
Beitrag von: Hollo am 05 August 2015, 08:00:23
Kann ich nicht bestätigen; das läuft bei mir einwandfrei.

Hast Du mal ins syslog geguckt, ob evtl. Dein Bluetooth-Adapter beim Start nicht richtig erkannt /initialisiert wird?
Titel: Antw:Problem bei BT basierter Anwesenheitserkennung
Beitrag von: traxanos am 05 August 2015, 08:18:07
Mit Neustart meinte ich den FHEM selber, nachdem der Stick schon mal lief. Es tritt zwar auch beim neustarten des Pi auf, aber da der Fehler auch bei einem neustart des FHEM selber auftritt muss der Stick je bereit sein.Im Logfile vom FHEM selber habe ich keine Fehlermeldung entdeckt.

Mein Workaround sieht nun so aus:
define Programm.Presence.Init DOIF ([global:?INITIALIZED]) (set Bewohner statusRequest)
attr Programm.Presence.Init wait 30
attr Programm.Presence.Init initialize init


Dabei ist "Bewohner" ein structure aller Handys.