Homekit-Anbindung von Raumfeld

+A -A
Autor
Beitrag
dennis-hh
Schaut ab und zu mal vorbei
#1 erstellt: 23. Mrz 2016, 01:38
Moin!
Nach einiger Zeit des Tüftelns möchte ich euch meine (noch sehr rohe) Anbindung von Raumfeld an Homekit von Apple vorstellen. Das Ganze ist noch nicht "Production-Ready", sondern sollte eher als Preview/Alpha gesehen werden. Gerade deswegen bin ich für jegliches konstruktives Feedback dankbar!

Was ist Homekit?
- Apple Homekit

Was ist damit möglich?
- Sprachsteuerung von Start und Stop via Siri: "Hey Siri, starte Raumfeld im Badezimmer!"
- Steuerung der Lautstärke in Homekit-kompatiblen Apps wie "Elgato Eve" oder "Home - Einfache Hausautomatisierung". Sprachsteuerung wird hier aufgrund von Limitierungen durch Apple (noch) nicht unterstützt

Was funktioniert nicht?
- Eine dynamische Geräte-Erkennung ist noch nicht vorhanden, wird aber als nächstes angegangen
- Mute/ Unmute ist noch in Entwicklung
- Aktuell werden nur "virtuelle" Geräte unterstützt - dies sind Raumfeld-Geräte, die einem Raum zugeordnet sind
- eine dynamische Zonenerstellung über Siri/Homekit könnte eine Herausforderung werden
- Unterstützung unter Windows habe ich nicht ausprobiert - unter OSX und Linux funktioniert es

Was muss ich dafür tun?
Das Ganze basiert auf Homebridge, einer Applikation, die als "Brücke" zwischen Homekit und Third-Party-Geräten fungiert, für die es noch keine Homekit-Anbindung gibt. Eine Installation von node und npm wird vorausgesetzt.
Die Einrichtung ist recht einfach. Zuerst muss Homebridge installiert werden (siehe Homebridge). Ein Raspberry Pi oder ähnliches reicht dafür vollkommen aus:
sudo npm install -g homebridge
Als nächstes wird das Raumfeld-Plugin installiert:
sudo npm install -g homebridge-raumfeld
Jetzt muss eine homebridge-config angelegt werden. Diese sollte im home-Verzeichnis des Users unter ".homebridge" (genaue Schreibweise beachten) liegen und "config.json" genannt werden. Der Inhalt kann aus Github kopiert werden.
Zuletzt kann homebridge gestartet werden:
homebridge
Jetzt noch mit einer homekit-kompatiblen App (siehe "Was ist möglich?") Homebridge registrieren und die Raumfeld-Geräte sollten auftauchen.
Credits
Großen Dank an nfarina für homebridge, ohne das diese Anbindung so nicht möglich wäre.

Zu guter Letzt möchte ich sagen, dass das Ganze ein reines Hobby-Projekt ist; ich stehe in keiner Verbindung zu Raumfeld/Teufel. Ich versuche, so gut es geht hier und auf Github Support zu leisten. Wenn es irgendwo mit dem Setup hapert, schreibt einfach in diesen Thread.
dennis-hh
Schaut ab und zu mal vorbei
#2 erstellt: 03. Apr 2016, 21:50
Moin,
mittlerweile habe ich eine erste stabile Version 0.1.0 released. die Raumfeld-Geräte in Homekit überleben nun einen Homebridge-Restart, und das Auto-Discover wurde hinzugefügt. Aus mir noch unbekannten Gründen dauert das Updaten der Geräte-Liste in Homekit einige Zeit (~20 - 30 Sekunden), falls Geräte zu einer virtuellen Zone zusammengeführt werden.
Getestet habe ich das ganze mit einem One S, Connector 2 und Stereo S Setup.
mza287
Stammgast
#3 erstellt: 25. Sep 2016, 07:19
Hallo Dennis. Du scheinst dich mit dem Thema Home Kit und Homebridge aus zu kennen. Ich habe Das Projekts gewagt, nicht unbedingt raumfeld aber ich wollte allgemein alles was nicht offiziell HomeKit unterstützt integrieren. Erste Erfolge habe ich mit hue, den dresden und meinen wemo Switch erzielen können.

Das ganze läuft jetzt automatisch beim Start des Pi. Soweit so gut. Meine Frage ist du eigentlich ziemlich allgemein. Und zwar würde ich gerne wissen wie ich nun weitere Plugins einfüge während Homebridge läuft. Dazu sei gesagt das ich von meinem Mac per ssh auf den pi zugreife.

Nun folgendes Szenarien was ich habe. Homebridge läuft und ich schalte mich per ssh auf den pi.
wenn ich jetzt wieder Homebridge eingebe zum starten kommt folgende Meldung da es ja bereits läuft vermutlich:

[9/24/2016, 3:13:45 PM] Homebridge is running on port 51826.
events.js:141
throw er; // Unhandled 'error' event
^

Error: listen EADDRINUSE :::51826
at Object.exports._errnoException (util.js:837:11)
at exports._exceptionWithHostPort (util.js:860:20)
at Server._listen2 (net.js:1231:14)
at listen (net.js:1267:10)
at Server.listen (net.js:1363:5)
at EventedHTTPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/eventedhttp.js:58:19)
at HAPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:155:20)
at Bridge.Accessory.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:480:16)
at Server._publish (/usr/local/lib/node_modules/homebridge/lib/server.js:92:16)
at Server.<anonymous> (/usr/local/lib/node_modules/homebridge/lib/server.js:351:14)

ich vermute man muss irgendwie zur laufenden Anwendung wechseln. denn laufen tut HB ja.

Oder ist das so gedacht das ich den Befehl
Sudo service homebridge stop eingebe dann den pi reboote und dann wieder selber manuell alles mache.
Wenn ich dann fertig bin gebe ich
Sudo service homebridge Start ein reboote und alles läuft wieder automatisch?

Kann ich mir eigentlich nicht vorstellen da es mir etwas umständlich erschient.

Hoffe du kannst mir helfen:) als nächstes würde ich gerne das sonyremotetv plugin nutzen um meinen TV mit Siri zu steuern. Das wäre ein Traum
dennis-hh
Schaut ab und zu mal vorbei
#4 erstellt: 25. Sep 2016, 07:34
Moin,
Generell ist es meines Wissens nicht möglich, neue Geräte hinzuzufügen, während Homebridge läuft. Also einfach kurz Homebridge stoppen, die config.json um neue Geräte erweitern und wieder starten. Sofern du homebridge automatisch beim booten des PIs startest, sollten die Änderungen auch einen Neustart überleben. Homekit macht es nichts aus, wenn eine Bridge wie Homebridge (oder auch Philips Hue) kurzzeitig nicht verfügbar ist - sobald Homekit erkennt, dass das Gerät wieder online ist, kann man es einfach weiterbenutzen.
mza287
Stammgast
#5 erstellt: 25. Sep 2016, 13:19
danke dir für die fixe Antwort. wie ich neue Sachen einfüge und später die homebridge laufen lasse weiss ich jetzt

ich verzweifle nur gerade am einbinden meines Sony tv würde den so gerne mit SIRI einschalten.

habe das plugin installiert und alles eingetragen was ich weiss. ich habe aber keine Ahnung was mit der remote pin gemeint ist.

kannst du dir das vielleicht hier mal ansehen? vielleicht weisst du ja mehr damit anzufangen. Du wärst mein Held !:)

https://www.npmjs.com/package/homebridge-sonytvremote#installing

Hier nochmal ein Auszug aus meiner json.config:


{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},

"accessories": [{
"accessory": "Sonos",
"name": "Badezimmer Sonos",
"room": "Bad"
}, {
"accessory": "SonyTV",
"name": "Fernseher",
"mac": "00:A0:96:F3:DC:DC",
"ip": "192.168.178.62",
"tvsource": "tv:dvbs",
"maxchannels": 500,
"soundoutput": "speaker",
"onscript": "/home/pi/scripts/dolbyon.sh",
"offscript": "/home/pi/scripts/dolbyoff.sh",
"savefilenameprefix": "/home/pi/sonycookie"

}],

"platforms": [{
"platform": "BelkinWeMo",
"name": "WeMo Platform",
"expected_accessories": "0",
"timeout": "10",
"no_motion_timer": "60",
"homekit_safe": "1"
}, {
"platform": "PhilipsHue",
"name": "Philips Hue",
"ip_address": "192.168.178.44",
"username": "WR79ZbXcRpOjsJWWxRhODUfQoUMiL-81XNd0q5IA",
"excludephilips": false
}, {
"platform": "YamahaAVR",
"play_volume": -48,
"setMainInputTo": "Airplay",
"manual_addresses": {
"Yamaha": "192.168.178.64"
}

}]
}


versucht habe ich auch dieses plugin:
https://github.com/saxophonedev/homebridge-sonytvpower

dort bin ich etwas weiter gekommen. dort ist allerdings eine Kuriosität, dass homekit den TV findet, aber als OFF bezeichnet obwohl er AN ist, und wenn ich dann drauf drücke geht er aus und die ganze Homebridge verabschiedet sich mit folgender Meldung:

[9/25/2016, 3:46:05 PM] [Fernseher] Packets sent
/usr/local/lib/node_modules/homebridge-sonytvpower/index.js:67
this._service.setCharacteristic(Characteristic.On, false);
^

TypeError: Cannot read property 'setCharacteristic' of undefined
at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/homebridge-sonytvpower/index.js:67:24)
at emitOne (events.js:77:13)
at IncomingMessage.emit (events.js:169:7)
at IncomingMessage.Readable.read (_stream_readable.js:360:10)
at flow (_stream_readable.js:733:26)
at resume_ (_stream_readable.js:713:3)
at doNTCallback2 (node.js:429:9)
at process._tickCallback (node.js:343:17)


eine Idee?


[Beitrag von mza287 am 25. Sep 2016, 13:48 bearbeitet]
Suche:
Das könnte Dich auch interessieren:
AVR mit zwei Zonen HomeKit kompatibel machen
greenflashyhat am 11.02.2021  –  Letzte Antwort am 13.02.2021  –  2 Beiträge
Raumfeld mit Siri steuern - Anleitung
davie2000 am 17.12.2018  –  Letzte Antwort am 27.12.2018  –  12 Beiträge
Raumfeld: Steuerung über PC
egmu am 14.12.2012  –  Letzte Antwort am 19.11.2017  –  30 Beiträge
Raumfeld Connector² Erfahrungsbericht
FestusHaggen am 22.04.2014  –  Letzte Antwort am 30.04.2014  –  3 Beiträge
Raumfeld vs. Sonos
johannes1984 am 31.08.2014  –  Letzte Antwort am 07.10.2014  –  3 Beiträge
Raumfeld - Verständnisfrage
GrafGleni am 19.01.2014  –  Letzte Antwort am 19.01.2014  –  4 Beiträge
Raumfeld: Wiederabe-Stop nach Titel
Sifl am 27.01.2017  –  Letzte Antwort am 30.01.2017  –  7 Beiträge
Raumfeld mit Apple Time Capsule als Netzwerkresource
Larss am 12.01.2015  –  Letzte Antwort am 21.03.2016  –  7 Beiträge
Tune In und Raumfeld.
ToDi-Bonn am 14.04.2015  –  Letzte Antwort am 19.04.2015  –  4 Beiträge
Teufel Raumfeld Connector 2
WaschtelSZ am 12.09.2013  –  Letzte Antwort am 12.09.2013  –  2 Beiträge
Foren Archiv

Anzeige

Produkte in diesem Thread Widget schließen

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder927.648 ( Heute: 2 )
  • Neuestes MitgliedTomye66
  • Gesamtzahl an Themen1.556.101
  • Gesamtzahl an Beiträgen21.652.224

Hersteller in diesem Thread Widget schließen