Apple Homekit: die Hoffnung stirbt zuletzt

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

Vorheriges Thema - Nächstes Thema

hive2015

@andre:

vielen dank für deine rückmeldung. entschuldige, ich hätte bei meinem "codeschnipsel" natürlich dazu sagen sollen, das dies nicht die komplette config ist.

anbei in der vollen "pracht": :)

{
    "description": "This is an example configuration file with all supported devices. You can use this as a template for creating your own configuration file containing devices you actually own.",

    "platforms": [
        {
            "platform": "PhilipsHue",
            "name": "Phillips Hue",
            "username": "dietollehueidwelchemirhomebridgesagtundichaucheineverbindungdamithinbekomme"
        }
    ],

    "accessories": [
        {
            "accessory": "Http",
            "name": "Flur Licht",
            "on_url": "http://localhost:8083/fhem?cmd.Corridor_Switch=set%20Corridor_Switch%20on",
            "off_url": "http://localhost:8083/fhem?cmd.Corridor_Switch=set%20Corridor_Switch%20off",
            "http_method": "GET"
        },
        {
            "accessory": "Http",
            "name": "Esszimmer Licht",
            "on_url": "http://localhost:8083/fhem?cmd.Kitchen_Dimmer_Sw=set%20Kitchen_Dimmer_Sw%20on",
            "off_url": "http://localhost:8083/fhem?cmd.Kitchen_Dimmer_Sw=set%20Kitchen_Dimmer_Sw%20off",
            "brightness_url": "http://localhost:8083/fhem?cmd.Kitchen_Dimmer_Sw=set%20Kitchen_Dimmer_Sw%20pct%20%b",
            "http_method": "GET"
        }
    ]
}


danke für den tip mit dem dim, aber ich habe bei mir von homematic schaltaktoren (können eh nur on / off) und dimmaktoren im einsatz und letztere kennen das kommando dim leider nicht.man kann hier mit "pct" entweder einen direkten %-wert angeben, also "set licht pct 50" für halb an usw ... aber ich sehe das deine url-syntax ein leicht anderer ist, das werde ich mal ausprobieren.

ansonsten ist es halt irgendwie ultra-schräg, ggf. liegts an der ios9 public beta 1, aber manchmal sieht er alle lampen, sei es welche mittels http oder per hue, manchmal nur eine ... manchmal kann ich mehrere bei homekit registrieren, manchmal nur eine. ich werde da auf jeden fall noch etwas rumfuddeln.

dui meintest das du das harmony modul zum fliegen gebracht hat? wenn ich das so aktiviere wie in der beispiel-datei fällt es sofort auf die nase, was auch irgendwie kein wunder ist, da es ja auch keine auth-infos hat, aber angeben kann ich die auch irgendwie nirgends und anders als bei dem hue modul, was ja wenigstens beim abschmieren gesagt hat, was es möchte (drücke pair knopf ... füge code wo ein) sagt das bei mir irgendwie nix

wegen der hap doku werde ich mal schauen ob ich da was finde.

hive2015

@andre: das mit der hap doku stellt sich doch etwas schwieriger dar als erwartet ohne dev zugang :/ das einzige was ich so gefunden hab war

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/HomeKitDeveloperGuide.pdf

aber das ist ja nur eine konzeptionelle beschreibung von homekit und keine genaue beschreibung des protokolls/der api. :/

justme1968

die offizielle doku gibt es nur unter nda. und registrieren reicht nicht. es ist auch eine begründung und beschreibung der geplanten hardware nötig. reine software zählt angeblich nicht.

die doku die ich meine war reverse engeneered.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

marcus42

#18
Vielleicht kann man die reversed Engineered Doku trotzdem noch von dem Ersteller per DM bekommen:

https://mobile.twitter.com/pieceofsummer

HolyMoly

@ Marcus42
Hab mal bei ihm angefragt  8)
@Andre
Auth problem ist so gut wie gelöst.
Du implementierst derzeit eine shim für FHEM als "platform", oder?
Magst du homebridge bei git forken und zusammenarbeiten?
FHEM auf Raspi2 & Radxa Rock

hive2015

es ist mir ja nahezu unangenehm euch mit meinen "ersten schritten" diesbezüglich zu belästigen während ihr da schon (ggf. gemeinsam HURRA) am entwickeln seid, aber vielleicht haben ja andere auch damit probleme und es hilft auch der allgemeinheit, wenn ich hier meine problemlich kund tue.

einmal danke an andre, mit deinem geänderten url-schema geht auch das dimmen nun über pct wunderbar.

ich habe homebridge nun aus der ubuntu vm direkt auf den mac mini mit 10.10.5 (mittlerweile) gezogen und das funktioniert weeeeeitaus besser, aber ich habe immernoch das problem, das ich von den homematic fhem devices, die ich über http urls eingebunden habe, immer nur einen bei homekit registrieren kann, beim rest tut sich nüschts und es bleibt beim pairing hängen.

mein log sieht da wie folgt aus:

Starting HomeBridge server...
Loading 0 platforms...
Loading 5 accessories...
[Esszimmer Licht] Initializing Http accessory...
TCP server accepting connection on port: 51826
HAP Server is listening
[Schlafzimmer Licht] Initializing Http accessory...
Cannot find secret key, creating One...
TCP server accepting connection on port: 51828
HAP Server is listening
[Wohnzimmer Licht] Initializing Http accessory...
Cannot find secret key, creating One...
TCP server accepting connection on port: 51832
HAP Server is listening
[Badezimmer Licht] Initializing Http accessory...
Cannot find secret key, creating One...
TCP server accepting connection on port: 51838
HAP Server is listening
[Flur Licht] Initializing Http accessory...
Cannot find secret key, creating One...
TCP server accepting connection on port: 51846
HAP Server is listening
New Session 49467
Server Connection Established 49593
Start Verify M1
Verify M1 Finished
Start Verify M3
M3: Verify Success
{ characteristics: [ { aid: 1, iid: 9, ev: true }, { aid: 1, iid: 10, ev: true } ] }
Characteristics.js:updateCharacteristicEvent(): Enable Event: true
Characteristics.js:updateCharacteristicEvent(): Enable Event: true
Characteristics.js:valueForUpdate(): called, Siri has asked for the accessory's status
Characteristics.js:valueForUpdate(): called, Siri has asked for the accessory's status
New Session 49473
Server Connection Established 49595
Start Pair M1


danach ist schicht im schacht

meine config hingegen sieht wie folgt aus:

{
    "description": "This is an example configuration file with all supported devices. You can use this as a template for creating your own configuration file containing devices you actually own.",

    "platforms": [
    ],

    "accessories": [
        {
            "accessory": "Http",
            "name": "Esszimmer Licht",
            "on_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Kitchen_Dimmer_Sw%20on&XHR=1",
            "off_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Kitchen_Dimmer_Sw%20off&XHR=1",
            "brightness_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Kitchen_Dimmer_Sw%20pct%20%b&XHR=1/%b&XHR=1",
            "http_method": "GET"
        },
        {
            "accessory": "Http",
            "name": "Schlafzimmer Licht",
            "on_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Bedroom_Dimmer_Sw%20on&XHR=1",
            "off_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Bedroom_Dimmer_Sw%20off&XHR=1",
            "brightness_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Bedroom_Dimmer_Sw%20pct%20%b&XHR=1/%b&XHR=1",
            "http_method": "GET"
        },
        {
            "accessory": "Http",
            "name": "Wohnzimmer Licht",
            "on_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Livingroom_Dimmer_Sw%20on&XHR=1",
            "off_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Livingroom_Dimmer_Sw%20off&XHR=1",
            "brightness_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Livingroom_Dimmer_Sw%20pct%20%b&XHR=1/%b&XHR=1",
            "http_method": "GET"
        },
        {
            "accessory": "Http",
            "name": "Badezimmer Licht",
            "on_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Bathroom_Dimmer_Sw%20on&XHR=1",
            "off_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Bathroom_Dimmer_Sw%20off&XHR=1",
            "brightness_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Bathroom_Dimmer_Sw%20pct%20%b&XHR=1/%b&XHR=1",
            "http_method": "GET"
        },
        {
            "accessory": "Http",
            "name": "Flur Licht",
            "on_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Corridor_Switch%20on&XHR=1",
            "off_url": "http://fhem.fritz.box:8083/fhem?cmd=set%20Corridor_Switch%20off&XHR=1",
            "http_method": "GET"
        }
    ]
}


fhem.fritz.box ist die ubuntu-vm wo mein fhem drauf läuft

habe ich was in der config.json falsch gemacht bei der accessory-konfiguration?

justme1968

@hive2015: schau mal in die ausgaben von homebridge. wenn etwas schief geht ist dort meist etwas zu sehen. es ist z.b. wichtig das eve komplett gekillt wird wenn du homebridge neu startest. sonst gibt es probleme.

@HolyMoly: im prinzip gerne aber ich mag git nicht besonders und es ist ja eigentlich auch nur ein file um das es geht. ist ein fork wirklich sinnvoll? vielleicht finden wir etwas einfacheres um zusammen an dem file zu arbeiten.

inzwischen habe ich auch ein (prinzipiell) funktionierendes onRead. d.h. homebridge kann live bei fhem nachfragen wie wie der aktuelle status eines gerätes ist. damit kann man dann z.b. auch per siri fragen 'ist xy an' und die frage wird direkt an fhem durchgereicht.

prinzipiell weil ich zur zeit nur auf on/off prüfe und noch nicht dim werte oder farben und weil es glaube ich sinnvoll sich (zusätzlich) per longpoll an fhem zu hängen und die werte zu cachen. zumindest per eve wird auch beim wechseln von raum auf device oder at a glance auf device und zurück pro device zwei mal nach dem status gefragt. die immer neuen anfragen an fhem kann man sich sparen wenn man die werte per lonrpoll bekommt und cached.

hat schon jemand irgendwo eine deutsche doku zu den möglichen homekit siri kommandos gesehen? ich habe es immer noch nicht geschafft die farben von lampen zu ändern.

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

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

HolyMoly

Hier die möglichen Kommandos laut Apple https://support.apple.com/de-de/HT204893:

"Schalte das Licht ein." oder "Schalte das Licht aus."
"Dimme das Licht." oder "Dimme das Licht auf 50 %."
"Stelle die Temperatur auf 20 °C ein."
"Schalte die Kaffeemaschine ein."

Mit Befehlen wie den folgenden können Sie Einstellungen für Wohnbereiche, Zimmer oder Umgebungen zusammenfassen:

"Schalte alle Lampen im Obergeschoss ein."
"Schalte Chloes Licht aus."
"Dimme das Licht in der Küche."
"Dimme das Licht im Esszimmer auf 50 %."
"Stelle das Licht in der Küche am hellsten ein."
"Stelle die Temperatur im Tahoe-Haus auf 22 °C ein."
"Stelle das Thermostat im Erdgeschoss auf 21 °C ein.
"Schalte den Drucker im Büro ein."
"Siri, bereite alles für eine Party vor."
"Bereite das Ambiente fürs Abendessen vor."
"Aktiviere den Nachtruhemodus."

Schaut so aus als könnte man Farben noch gar nicht direkt schalten, vielleicht nur in Szenen...
FHEM auf Raspi2 & Radxa Rock

MartinMuc

#23
So ich habe jetzt auch installiert und kann 2 Steckdosen über Fhem und Licht direkt über Hue steuern.

Bin also zum testen und ausprobieren mit IOS9 mit an Bord ;)

2 ungelöste Fragen hätte ich aber noch

1. Habt ihr ne Idee bezüglich dem Logon an fhem, bzw. wie kann ich euch beim erstellen der hem platform unterstützen. Programmierkenntnisse vorhanden Bart in js eingerostet ;)
2. Wie startet ihr die Homebridge dann sie zuverlässig im Hintergrund läuft bei mir klappt nämlich nur wenn ich sie in der Shell starte aktuell mit forever über ein init..d Skript  reagiert der Server nicht korrekt scheinbar
Cubietruck mit CUL und HM USB

justme1968

1. wie gesagt mache ich zur zeit noch alles ohne auth. ab morgen gibt es einen fhem patch mit dem der zukünftige fhem shim auch https und basic auth verwenden wird. ob der aktuelle http shim das kann weiss ich nicht.

2. ich starte zur zeit noch alles von hand bzw. mit nohup im hintergrund.

für einen airsonos server auf dem gleichen rechner verwenden ich die daemontols. das werde ich für die homebridge auch machen.

eine beschreibung findest du z.b. hier: http://blog.widdi.eu/airsonos-ubuntu-14.04.html.

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

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

HolyMoly

Homebridge im Hintergrund starten geht ganz easy so:


sudo npm install forever -g
cd homebridge
forever start app.js
FHEM auf Raspi2 & Radxa Rock

MartinMuc

Ja so klappt es manuell schon mal.  Danke :)


Gesendet von iPhone mit Tapatalk
Cubietruck mit CUL und HM USB

justme1968

ich denke ich habe über das wochenende eine erste version so weit das ich sie hier rein stelle. man kann damit generisch alle schaltbaren fhem devices und lampen/dimmer/rgb lampen sowie rollläden an homebridge/homekit (und siri) anbinden und auch den aktuellen status abfragen. die version von HolyMoly und meine sollen dann zusammen fliessen und so bald wie möglich auch im homebridge repository landen.

es empfiehlt sich auch geräte für die es schon einen shim gibt (hue und harmony) über fhem anzubinden weil die rückmeldung in den anderen modulen meist nicht implementiert ist und bei hue fhem dann immer den aktuellen stand hat ohne pollen zu müssen.

der http shim ist dann für fhem nicht mehr nötig.

ich habe hier: http://forum.fhem.de/index.php/topic,39236.0.html einen thread auf gemacht mit ein paar ideen die eine solche anbindung (auch für andere systeme) einfacher machen wird.

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

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

justme1968

ein kurzer status update:

ich habe inzwischen neben lampen und schaltern auch temperatur und feuchte eingebaut, rolläden laufen noch als lampen/dimmer da es mit ios8 nicht anders geht. ich grabe später noch ein altes iphone aus um ios9 zu probieren. dann sollten rollladen auch als rolläden gehen.

ich habe leider noch kein siri kommando zur abfrage von temperatur und feuchte gefunden.

longpoll läuft im prinzip und die werte werden von fhem über homebridge an homekit gepushed. d.h. wenn sich ein reading ändert dann ändert sich live die ansicht in eve. d.h. z.b. die temperatur oder der on/off zustand der in eve angezeigt wird.


wo es noch probleme gibt:

- für sonos und andere av geräte habe ich volume eingebaut aber es ist aus eve nicht zu sehen. das kann aber auch an eve liegen.

- ich weiss aber noch nicht ob die longpoll daten noch irgendwo im request.get gepuffert werden. wenn ja muss das noch irgendwie gelöscht werden. sonst läuft der speicher über. weiss hier jemand mehr zu request und streaming?

- die per longpoll empfangenen werte müssen noch gecached werden damit die get abfragen an fhem überflüssig werden.


ich möchte noch die geschichte mit dem genericDeviceType einbauen damit es die möglichkeit gibt das devices die nur on/off können auch als lampen erkannt werden. dann poste ich die aktuelle version.

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

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

andiw

Ich kann zwar nichts zum Thema beitragen, finde es aber klasse, dass ihr an Siri-fhem arbeitet und die Ergebnisse hier zur Verfüfung stellt!

Danke!