Apple HomeKit (Siri) mit IP-Symcon verbinden

ich hänge mit einem Raspberry an der gleichen Stelle

symcon koppeln

im Meldungsfenster


11.08.2017 19:33:21*| FlowHandler*| Kann Daten nicht zur Instanz #18349 weiterleiten: <br />
<b>Warning</b>:  pack(): 64-bit format codes are not available for 32-bit versions of PHP in <b>/var/lib/symcon/modules/HomeKit/HomeKitBridge/session.php</b> on line <b>126</b><br />
<br />
<b>Fatal error</b>:  Uncaught SodiumException: public nonce size should be CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES bytes in /var/lib/symcon/modules/HomeKit/HomeKitBridge/session.php:128
Stack trace:
#0 /var/lib/symcon/modules/HomeKit/HomeKitBridge/session.php(128): sodium_crypto_aead_chacha20poly1305_ietf_decrypt()
#1 /var/lib/symcon/modules/HomeKit/HomeKitBridge/module.php(169): HomeKitSession->processData()
#2 /-(3): HomeKitBridge->ReceiveData()
#3 {main}
  thrown in <b>/var/lib/symcon/modules/HomeKit/HomeKitBridge/session.php</b> on line <b>128</b><br />

Mögt ihr das Repo mal aktualisieren und es noch mal probieren?

paresy

Nun hat es funktioniert.
Dann teste ich das mal mit Siri.

Danke Michael für den schnellen Fix.

Edit: Cool. Funktioniert bestens mit Siri.

Gesendet von iPhone mit Tapatalk

Das erst was ich jetzt gerade mal festgestellt habe das der generierte Code zu kurz ist

bei mir zeigt er
511-86-4
an

der verlangte Code besteht aber aus

xxx-xx-xxx

Gibt es denn irgendeine Möglichkeit das zu debuggen? Im Debug Fenster steht nix und im Meldungsfenster steht jetzt zumindest auch nichts mehr ein koppeln geht bei mir trotzdem noch nicht. Muss ich da eigentlich eine Instanz anlegen oder recht das zum Test einfach auf eine Bool Variable zu setzten?

Ich kann aber keine neuen Sachen mehr hinzufügen. Weder bei Switch, noch bei Dimmer.

Bildschirmfoto 2017-08-11 um 21.38.08.png

Ich bin aus HomeKit Bridge raus und wieder rein, da war das hinzugefügte Licht (Dimmer) plötzlich doch da.
Es hat aber die gleiche ID (3), wie ein Licht bei Switch.

Nachtrag: Das mit der ID scheint wirklich das Problem zu sein. Er zählt die nicht hoch und nimmt anstatt dessen immer die 3.
Wenn das Licht mit der falschen ID vorhanden ist, lässt sich nichts mehr schalten. Nehme ich das wieder raus, ist alles wieder OK.

Gesendet von iPhone mit Tapatalk

@Fonzo: Das Problem mit den Codes im jetzt gelöst. Debug findest du nur in der Bridge Instanz
@Boui: Das Problem sollte nun auch gelöst sein.

paresy

Fast gelöst. Füge ich ein Licht hinzu, funktioniert es. Füge ich mehr hinzu und drücke dann erst übernehmen, kommt der Fehler und die IDs sind beide bei erneutem Aufruf des Konfigurators 0

Gesendet von iPhone mit Tapatalk

Habe 2 Schalter und einen LCN Dimmer drin, das geht schon mal. :smiley:

@Boui: Fix für das Problem ist jetzt online :slight_smile:

paresy

Hey, Du bist ja fix. Das passt nun.
Die freigewordenen IDs vom vorherigen Löschen hat er übersprungen aber das ist für den User ja egal.

Was mich noch irritiert: Symcon ist selbst als Gerät einem Raum zugewiesen und wird angezeigt.
Ist das auch beim AppleTV im Original so?

Ich habe ein ATV4 hier und könnte es testen aber ich nutze den in der Regel nur für andere Dinge.

Da hast Du ein nettes Spielzeug geschaffen. Ich freue mich schon auf den Fortgang.

Gesendet von iPhone mit Tapatalk

Ich habe mal eine Frage am Rande, bei Homekit wird ja Bonjour genutzt, das ist ja auch Device Discovery, genutzt wird ja in dem Modul ein Multicast Socket I/O.

Ich würde an anderer Stelle auch ein Device Discovery benötigen nur UPNP nicht Bonjour, gibt es da auch eventuell Klassen die man nutzen kann ohne das Rad neu zu erfinden?

Kann man mit IP-Symcon Gupnp nutzten?

@Fonzo: Schau dir mal SSDP an. Das ist der Dicovery Part vom UPNP Protokoll und eigentlich recht einfach aufgebaut. Ich vermute fertige PHP Libs helfen dir da nicht wirklich, sondern du müsstest eine Kombination von Multicast-Socket + WebHook zusammenstecken. Bonjour ist komplett anders und ich habe auch nur das minimal erforderliche Subset für HomeKit eingebaut.

@Boui: Ich verstehe nicht ganz was der AppleTV damit zu tun hat? Normalerweise brauchst du einen ATV nur, damit HomeKit auch von extern funktioniert. Das ganze passiert für dich aber komplett transparent. Symcon wird als „Bridge“ angezeigt. Das ist so auch korrekt. Übrigens kannst du in eine Bridge-Instanz maximal 100 Geräte hinzufügen.

Da hast Du ein nettes Spielzeug geschaffen. Ich freue mich schon auf den Fortgang.

Richtig spanned wird es erst, wenn die HomePods endlich mal verfügbar sind :slight_smile:

paresy

Bei den HomePods werde ich evtl auch schwach.

Das mit dem ATV kannst Du vergessen. Warum die Bridge einem Raum zugeordnet sein muss, verstehe ich nur nicht. Oder ich mache was falsch.

Gesendet von iPhone mit Tapatalk

Ich hab auch keine Ahnung, warum die Bridge in einem Raum sein muss. Das gibt Apple irgendwie so vor. Zumindest habe ich noch nicht gesehen, dass ich das beeinflussen könnte.

paresy

So, auch mal eben installiert und läuft soweit. Der Status wird aber noch nicht übertragen oder?
Also wenn ich per Webfront das Licht schalte, zeigt mir die HomeKit App nicht den aktuellen Status an.
Gruß,
Peter

Doch, der wird angezeigt.
Aber das Ganze ist nicht immer synchron zur Aktion.
Also das Aktualisieren der Home App ist eher verzögert (bis nicht vorhanden), wenn man z.B. im WebFront schaltet und bei bereits offener Home App zuschaut.
App schließen und wieder öffnen und der Status stimmt.

Ok. Beim schließen der App und erneuten öffnen stimmt der Status.
Das ist bei Hue die ich direkt verknüpft habe anders. Schalte ich die Lampen ein stimmt der Status.

Gesendet von iPhone mit Tapatalk

Hallo Paresy,

ich habe es nun endlich auch mal getestet. Läuft supper!

Grüße,
Kai