Apple HomeKit über IP-Symcon WebHook - Modul

Hallo zusammen,

dieses Modul basiert auf der Homebridge von nfarina(GitHub - nfarina/homebridge: HomeKit support for the impatient).
Es ist möglicht anhand dieses Moduls IP-Symcon mit Siri zu verbinden, dadurch ist es möglich die Geräte per Sprachsteuerung zu bedienen. :slight_smile:

Beispiel: „Siri, schalte das Deckenlicht im Wohnzimmer ein!“

Zur Zeit sind folgende Geräte bedienbar:

[ul]
[li]Temperatursensoren[/li][li]Lightbulbs + Dimmer[/li][li]Thermostate[/li][li]Switche[/li][/ul]
Weitere werden nach und nach folgen. :slight_smile:

Voraussetzungen:

[ul]
[li]IP-Symcon 4.1[/li][li]Homebridge von nfarina[/li][li]Homebridge Plugin von mir (homebridge-ip-symcon)[/li][/ul]

Dies ist eine Beta Version!

Installation für IP-Symcon:

https://github.com/Schnittcher/IPS-Homebridge.git

Installation für die Homebridge:

npm install https://github.com/Schnittcher/homebridge-ip-symcon.git#development

Das Homebridge Plugin wird zur Zeit aus dem development Branch installiert, sobald ich positive Rückmeldungen habe wird es auch hier für ein NPM Package geben.

Einrichtung in IP-Symcon:

Beispiel anhand eines Switch:

Wir legen als erstes eine Instanz an:

Instanz anlegen.png

Innerhalb dieser Instanz wählen wir das Gerät aus welches wir bedienen möchten:

switch.png

gerät auswahl.png

In dem Feld darunter wählen wir die Variable aus, welche bei dem Switch für den Status zuständig ist.
Das war auch schon die Konfirguration innerhalb von IP-Symcon.

Einrichtung des Homberidge Plugins:

In der Homebridge muss lediglich die config.json angepasst werden, dort muss zur Zeit per Hand jedes Gerät ein Mal eingepflegt werden.

Beispiel für den Switch:

  {
     "accessory": "IP-Symcon",
     "name": "Stecker Büro (031)",
     "SymconHost": "http://IP:Port",
     "SymconService": "Switch",
     "debug": true,
     "pollingTime": 5
   },

Der Parameter

[ul]
[li]accessory darf nicht verändert werden, das ist der Name des Homebridge Plugins.[/li][li]name steht für den Namen, den das Gerät in IP-Symcon besitzt.[/li][li]SymconHost steht für die URL inkl. Port von IP-Symcon.[/li][li]SymconService steht für den Typ des Gerätes.[/li][li]debug zeigt in den Logs der Homebridge weitere Informationen (ist eher für mich gedacht)[/li][li]pollingTime gibt in Sekunden an, wie oft das Gerät aktualisiert werden soll.[/li][/ul]

Zur Zeit sind folgende Symcon Services nutzbar:

[ul]
[li]Licht[/li][li]Switch[/li][li]Thermostat[/li][li]Temperatur[/li][/ul]
Bei den Services Licht und Thermostat gibt es zur Zeit noch extra Parameter:

Licht:

  {
     "accessory": "IP-Symcon",
     "name": "Deckenlampe",
     "SymconHost": "http://IP:Port",
     "SymconService": "Licht",
     "Brightness": true,
     "debug": true,
     "pollingTime": 5
   },

Der Parameter „Brightness“: true besagt, dass dieses Gerät gedimmt werden kann. Wird der Parameter weggelassen, wird dieses Wert automatisch auf false gestellt.

Thermostat:

   {
   	"accessory": "IP-Symcon",
   	"name": "Z-Wave Thermostat Wohn (NodeID 051)",
   	"SymconHost": "http://IP:Port",
	"SymconService": "Thermostat",
	"pollingTime": 5,
	"ThermostatValueOff": 0,
	"ThermostatValueHeat": 1,
	"ThermostatValueCool": 31
      }

Der Parameter

[ul]
[li]ThermostatValueOff gibt an, welche Zahl bei eurem Gerät für Aus steht.[/li][li]ThermostatValueHeat gibt an, welche Zahl bei eurem Gerät für Heizen steht.[/li][li]ThermostatValueCool gibt an, welche Zahl bei eurem Gerät für Kühlen steht.[/li][/ul]

Ich hoffe ich habe nichts vergessen und es ist einigermaßen zu verstehen, wie dieses Modul zu benutzen ist. Sonst fragt einfach. :slight_smile:

Grüße,
Kai

Hallo,

wollte natürlich sofort testen :smiley:

Auf meinem Rasp3 kommt nach

npm install https://github.com/Schnittcher/homebridge-ip-symcon.git/#development

leider

npm ERR! fetch failed with Status Code 406

Was mache ich falsch?

Danke und Gruß
Adam

Hallo Adam,

kannst du es mal so probieren:

npm install git://github.com/Schnittcher/homebridge-ip-symcon.git#development

Anscheinend ist es ein Problem von npm beim installieren über Github.

Edit: Ich sehe gerade da hat sich ein „/“ eingestrichen versuch es bitte auch nochmal so:

npm install https://github.com/Schnittcher/homebridge-ip-symcon.git#development

Grüße,
Kai

hi,

Bingo, das wars:

Edit: Ich sehe gerade da hat sich ein „/“ eingestrichen versuch es bitte auch nochmal so:

also

npm install https://github.com/Schnittcher/homebridge-ip-symcon.git#development

funktioniert.

thx

Hallo,

ja, ich hab es mir gedacht. :smiley:
Ich habe es oben angepasst!

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Super Sache!!! :eek:;):smiley:

Ich häng hier grade: :confused:

Die Bridge rennt - aber ich kann nichts schalten - Port falsch ?

Hallo,

sieht aus als hättest du mein altes Homebridge Plugin.

Wie hast du das installiert?

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Na mit…


sudo npm install -g homebridge-ip-symcon

…wie die anderen Plugins der Homebridge auch. Hast du es umbenannt? =)

Schau mal oben im ersten Beitrag.
Das Paket habe ich noch nicht angepasst, weil dies eine Beta Version ist.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Ich habe deine Anleitung befolgt finde aber in der iOS Home App keine Geräte. Ich hatte schon mal die Homebridge in der früheren Variante installiert, kann sein dass da irgendwas durcheinander läuft. Oder muss ich nachdem ich mit Npm das git installiert habe, noch irgendwas starten? Oder müsste es dann funktionieren?

Gesendet von iPhone mit Tapatalk

Will immer noch nicht, sieht aber etwas anders aus…:slight_smile:

@Mastershort, wie sieht deine config.json aus? Was sagen die Logs der Homebridge?

@qwik du bekommst zumindest den richtigen Status. In dem Log, siehst du URLs wenn du den Status des Switch geändert hast, kannst du die set URL, mal im Browser ausführen und mir die Ausgabe zeigen?

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Der State stimmt leider nicht, der stand nur zufällig so.
Das im Browser - ergibt eine leere Seite:


[2017-01-27 20:31:25] [Stecker Büro] http://192.168.178.37:3777/hook/siri?service=Switch&device=Stecker%20B%C3%BCro&get=State

Und das im Browser:


Set Switch State...
[2017-01-27 20:30:22] [Stecker Büro] testhttp://192.168.178.37:3777/hook/siri?service=Switch&device=Stecker%20B%C3%BCro&set=State&value=1

Funktioniert nicht… ^^

Ich sehe gerade irgendwas stimmt da schon nicht bei der Installation wird angezeigt Version 0.0.0

Gesendet von iPhone mit Tapatalk

Du hast das alte Plugin von Andre erwischt mit 0.0.0
Das hier sollte so heißen:


pi@HomeBridge-RasPi:~ $ npm list -g | grep 'homebridge'
├─┬ homebridge@0.4.16
├─┬ homebridge-homematic@0.0.66
├─┬ homebridge-hyperion@0.1.2
├─┬ homebridge-ip-symcon-beta@0.1.5
├─┬ homebridge-pilight@1.3.0
├─┬ homebridge-server@1.0.22
│ └─┬ homebridge@0.4.16
├─┬ homebridge-squeezebox@0.0.5

Wie bekomme ich das weg ? Es kommt auch beim deinstallieren npm warn wie im Screenshot zu sehen

Gesendet von iPhone mit Tapatalk

Hallo,

kurze Rückmeldung von mir:
Bei mir wollte es trotz

npm install https://github.com/Schnittcher/homebridge-ip-symcon.git#development

dein Plugin nicht laden und damit konnte homebridge auch das „accessory“: „IP-Symcon“ nicht laden.

Dann habe ich gefummelt ohne Ende und erst der Befehl

sudo npm install -g https://github.com/Schnittcher/homebridge-ip-symcon.git#development

führte zur richtigen Installation und dem laden des Plugins.
Jetzt geht weiter, den bei mir bekommt er zwar den Status meines „test“ Switch, aber schalten ist nicht :frowning:

Gruß

@ Mastershort


sudo npm remove -g homebridge-symcon

Ja das - g war es damit klappt auch die Installation der Homebridge-ip-symcon-beta@0.1.5

Danke für deine Hilfe

Gesendet von iPhone mit Tapatalk

Ich hab mal bei


das test weggenommen und in den Browser gesteckt, jetzt hab ich das hier:


Notice: Undefined index: get in /var/lib/symcon/modules/IPS-Homebridge/IPS-HomebridgeSplitter/module.php on line 38
Notice: Undefined index: get in /var/lib/symcon/modules/IPS-Homebridge/IPS-HomebridgeSplitter/module.php on line 39
Notice: Undefined index: get in /var/lib/symcon/modules/IPS-Homebridge/IPS-HomebridgeSplitter/module.php on line 40