Apple Homekit: die Hoffnung stirbt zuletzt

Begonnen von eldrik, 23 Januar 2015, 13:57:07

Vorheriges Thema - Nächstes Thema

wolfram

Hallo zusammen,

ich verfolge diesen Thread mit großer Begeisterung und habe Homebridge auf einem Raspi B2 laufen. Vielen Dank an alle die hier so fleißig mitmachen. Soweit habe ich auch alles nach langem lesen dieses Threads hinbekommen.
Allerdings stehe ich nun auch vor dem Problem, dass Eve permanent die Verbindung verliert.

Ich hatte Anfangs auch meinen Raum "Homekit" mit allen Devices gefüllt. Nach der Idee von Andre habe ich dann Stück für Stück ausgemistet und nun nur noch 4 Hue-Lampen in dem Raum.  Dann habe ich gestern Abend die Homebridge wieder mit den beschriebenen Änderungen gestartet und heute morgen war die Verbindung wieder unterbrochen.

Soll ich von den 4 Hue-Lampen jetzt noch 3 rausschmeißen und wieder testen, oder meint ihr ich soll ein ganz anderes Device testen um herauszufinden, an welchem Device es liegt?

Oder gibt es schon ganz andere Erkenntnisse zu der Verbindungsunterbrechung?

Schöne Grüße und einen schönen Sonntag.
wolf

justme1968

@bigdane: an den max thermostaten bin ich noch dran. ich verstehe nicht warum sie nicht gehen. das war schon mal anders.

@wolfram: bitte nimm mal die hue raus und statt dessen irgend ein anderes einfaches gerät.

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

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

DerDon

Zitat von: justme1968 am 24 Oktober 2015, 09:59:34
bitte zeig mal mehr vom log und ein jsonlist2 vom device das probleme macht.

gruss
  andre

Hallo, bekomme genau den gleichen Fehler wie Mitch:

/home/pi/homebridge/platforms/FHEM.js:1560
        characteristic.value = FHEM_cached[this.mappings.onOff.informId];
                             ^

TypeError: Cannot set property 'value' of undefined
    at Object.FHEMAccessory.getServices (/home/pi/homebridge/platforms/FHEM.js:1560:30)
    at createAccessory (/home/pi/homebridge/app.js:146:36)
    at /home/pi/homebridge/app.js:132:27
    at /home/pi/homebridge/node_modules/hap-nodejs/lib/util/once.js:15:19
    at Object.<anonymous> (/home/pi/homebridge/platforms/FHEM.js:623:22)
    at Request.self.callback (/home/pi/homebridge/node_modules/request/request.js:373:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/home/pi/homebridge/node_modules/request/request.js:1318:14)
    at emitOne (events.js:82:20)

Angeschlossen sind eine Fritzbox und eine FrtzDect 200 Steckdose.  Ohne die Steckdose geht alles einwandfrei.

Anscheinend wird die On Characteristic nicht richtig abgerufen. Hat jemand eine Idee?

Har das jsonlist2 der FBDECT 200:
{
  "Arg":"FBDECT_FB7430_16",
  "Results": [
  {
    "Name":"FBDECT_FB7430_16",
    "PossibleSets":"msgInterval off on off-for-timer toggle off-till on-till off-till-overnight blink on-for-timer on-till-overnight intervals",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings IODev do_not_notify:1,0 ignore:1,0 dummy:1,0 showtime:1,0 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat model:CometDECT,Dect200,Powerline546E cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "DEF": "FB7430:16 switch",
      "FB7430_MSGCNT": "209",
      "FB7430_RAWMSG": "0703001c0000003a001000000000000c000000160004000000000000",
      "FB7430_TIME": "2015-10-25 14:30:00",
      "LASTInputDev": "FB7430",
      "MSGCNT": "209",
      "NAME": "FBDECT_FB7430_16",
      "NR": "22",
      "STATE": "off",
      "TYPE": "FBDECT",
      "id": "16",
      "props": "switch"
    },
    "Readings": {
      "FBNAME": { "Value":"FRITZ!DECT 200 #1", "Time":"2015-10-23 12:48:33" },
      "FBPROP": { "Value":"powerMeter,switch", "Time":"2015-10-23 12:48:33" },
      "FBTYPE": { "Value":"AVM FRITZ!Dect 200", "Time":"2015-10-23 12:48:33" },
      "control": { "Value":"disabled,on fn=1 > 0.00 delay:0sec do:state off", "Time":"2015-10-23 12:48:33" },
      "current": { "Value":"0.0018 A", "Time":"2015-10-25 14:30:00" },
      "energy": { "Value":"66 Wh", "Time":"2015-10-25 14:30:00" },
      "options": { "Value":"powerOnState:last,lock:none", "Time":"2015-10-23 12:48:33" },
      "power": { "Value":"0.00 W", "Time":"2015-10-25 14:30:00" },
      "powerFactor": { "Value":"0.000", "Time":"2015-10-25 14:30:00" },
      "state": { "Value":"off", "Time":"2015-10-25 14:30:00" },
      "temperature": { "Value":"23.5 C (measured)", "Time":"2015-10-25 14:30:00" },
      "voltage": { "Value":"232.952 V", "Time":"2015-10-25 14:30:00" }
    },
    "Attributes": {
      "IODev": "FB7430",
      "event-min-interval": "power:120",
      "room": "FBDECT"
    }
  }  ],
  "totalResultsReturned":1
}


Vielen Dank und beste Grüße
Bernd

justme1968

#1143
@Mitch,DerDon: setzt mal bitte genericDeviceType auf switch. dann sollte es gehen. in der nächsten version geht es automatisch.

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

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

DerDon

#1144
Zitat von: justme1968 am 25 Oktober 2015, 15:44:58
@Mitch,DerDon: setzt mal bitte genericDeviceType auf switch. dann sollte es gehen. in der nächsten version geht es automatisch.

gruss
  andre

Hallo Andre,

das leider hat keine Veränderung/Verbesserung gebracht. M. E. nach wurde die Fritdect200 auch vorher schon richtig als Switch erkannt, da im Log die Eintrage vor dem Absturz lauten:

[FHEM] Initializing platform accessory 'FBDECT_FB7430_16'...
[FHEM] creating services for FBDECT_FB7430_16
[FHEM]   information service for FBDECT_FB7430_16
[FHEM]   temperature sensor service for FBDECT_FB7430_16
[FHEM]     on characteristic for FBDECT_FB7430_16


Gruß
Bernd

Torben

Hallo,
bekommt man mit der HomeBridge eigentlich in FHEM auf Zugriff auf reguläre HomeKit-devices wie den Elgato eve Sensor, sodass man die Temperatur, etc. in FHEM anzeigen und nutzen kann?
Gruß
Torben

justme1968

@DerDon: das problem ist das zwar erkannt wird das es on und off hat, aber durch die temperatur als thermometer angelegt wird. ein thermometer hat aber normalerweise keinen schalter.

bitte nimm mal die version von hier: https://github.com/justme-1968/homebridge/blob/master/platforms/FHEM.js damit sollte es jetzt auch automatisch gehen.

@Torben: nein. mit homebridge kann man nur nicht-homekit devices an homekit anbinden, nicht umgekehrt.
mit einem passenden modul könnte man zwar theoretisch homekit devices auch an fhem anbinden, das würde aber folgende probleme nicht lösen:

- ein homekit device kann nur mit einer gegenstelle gepairt werden. wenn du sie mit einem iOS device verbunden hast kannst du sie nicht zusätzlich mit fhem verbinden. über den freigeabe mechanismus zu gehen funktioniert vermutlich nicht weil das api nicht bekannt ist.

- die eve sensoren arbeiten mit bluetoth le, d.h. dein fhem müsste mit einem passenden empfänger ausgerüstet sein, die passenden low level treiber müssen vorhanden sein und du musst in empfangsreichweite sein.

- zumindest der eve tür und fenster sensor ist so schlecht das ich meinen wieder zurück geschickt habe. jeder homematic sensor der über fhem und homebridge an homekit angebunden wird funktioniert besser, schneller und zuverlässiger.  der einzige vorteil der eve sensoren ist das man in eve auch grafiken sehen kann. aber das bekommen wir für homebridge glaube ich auch noch hin.

- entsprechende homematik sensoren sind günstiger und haben eine größere reichweite

- die auswahl an sensoren für andere systeme ist (zumindest zur zeit) deutlich größer.

ich hatte übrigens schon mal mit einem versuch für ein solches modul angefangen. aber ich denke es ist den aufwand nicht wert.

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

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

Torben

Danke, justme. Es müsste doch auch möglich sein, auf Homekit-Daten in der iCloud zuzugreifen, auch wenn ich bisher dazu nichts gefunden habe. Andere Sensorenn sind natürlich eine gute Alternative, es interessiert mich lediglich.

justme1968

an die daten kommst du nicht direkt ran. die daten liegen auch nicht auf irgendeinem server bei apple sondern nur lokal in deinem iOS device. d.h. du kannst eine app für ein iOS device scheiben die da ran kommt.

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

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

DerDon

Zitat von: justme1968 am 25 Oktober 2015, 17:52:44
@DerDon: das problem ist das zwar erkannt wird das es on und off hat, aber durch die temperatur als thermometer angelegt wird. ein thermometer hat aber normalerweise keinen schalter.

bitte nimm mal die version von hier: https://github.com/justme-1968/homebridge/blob/master/platforms/FHEM.js damit sollte es jetzt auch automatisch gehen.


Hallo Andre,

jetzt kommt ein neuer Fehler:

> homebridge@0.1.1 start /home/pi/homebridge
> DEBUG=* node app.js || true

*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
Starting HomeBridge server...
_____________________________________________________________________
IMPORTANT: Homebridge is in the middle of some big changes.
           Read more about it here:
           https://github.com/nfarina/homebridge/wiki/Migration-Guide
_____________________________________________________________________

Loading 1 platforms...
/home/pi/homebridge/platforms/FHEM.js:81
    }
    ^

SyntaxError: missing ) after argument list
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:414:25)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at loadPlatforms (/home/pi/homebridge/app.js:107:30)
    at startup (/home/pi/homebridge/app.js:59:27)
    at Object.<anonymous> (/home/pi/homebridge/app.js:223:1)


Gruß
Bernd

justme1968

in zeile 81 gibt es keine geschweifte klammer.

kann es sein das beim kopieren etwas schief gegangen ist?

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

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

DerDon

Sorry,

hatte etwas editiert, daher waren 2 Zeilen weniger. Hier der Output mit der neuen Original FHEM.JS

> homebridge@0.1.1 start /home/pi/homebridge
> DEBUG=* node app.js || true

*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
Starting HomeBridge server...
_____________________________________________________________________
IMPORTANT: Homebridge is in the middle of some big changes.
           Read more about it here:
           https://github.com/nfarina/homebridge/wiki/Migration-Guide
_____________________________________________________________________

Loading 1 platforms...
/home/pi/homebridge/platforms/FHEM.js:83
    }
    ^

SyntaxError: missing ) after argument list
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:414:25)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at loadPlatforms (/home/pi/homebridge/app.js:107:30)
    at startup (/home/pi/homebridge/app.js:59:27)
    at Object.<anonymous> (/home/pi/homebridge/app.js:223:1)

justme1968

ich habe keine ahnung was da beim commit schief gegangen ist. ich habe jetzt die richtige version eingecheckt.

bitte versuch es noch mal.

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

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

DerDon

Jetzt geht es.  ;D ;D ;D

Viiiiiiiiielen Dank für deine Geduld mit mir.
Gruß
Bernd

knueppler

Hallo Andre,

das ist echt eine Supersache, die Du da gebaut hast!!!
Ich bin eher zufällig vorgestern darüber gestolpert und heute Abend läuft schon so ziemlich alles nebst Sharing an meinen Großen, Hut ab!!!!
Ich hätte da jetzt eine ganz spezielle Bitte:
Du hast ja auch das iTunes-Modul für FHEM geschrieben, welches ich ebenso begeistert nutze. Es wäre absolute Oberklasse, wenn Du das ebenfalls integrieren könntest.

Vielen lieben Dank, Christian