Apple HomeKit über IP-Symcon WebHook

Hallo zusammen,

ich habe nun die erste Version des Plugins für die Homebridge fertiggestellt, also bei mir läuft es damit bis jetzt stabil.

Hier geht es weiter: Apple HomeKit über IP-Symcon WebHook - Modul

Folgende Devices sind zur Zeit verfügbar:

Temperatursensor
Switch
Luftfeuchtigkeitssensor
Lightbulb mit Dimmer
Thermostat

Was als nächstes geplant ist:

Fensterkontakte

Bekannte Fehler:

Ich würde mich über Rückmeldungen freuen. :slight_smile:

Grüße,
Kai

 ich habe eigentlich das Thema nicht mehr angerührt, weil es einfach nicht richtig funktioniert hat und bin mittlerweile auch bei Amazon echo gelandet.

Aber dein Ansatz gefällt mir sehr gut, und ich werde ihn die nächsten Tage mal testen und gebe dir umgehend eine Rückmeldung, vielen vielen Dank für deine tolle Arbeit und dass du es uns zur Verfügung stellst [emoji106]

Gesendet von iPhone mit Tapatalk

Vielen Dank, das freut mich.
Ich habe gerade noch den Luftfeuchtigkeitssensor eingebaut, ich denke morgen werde ich nochmal eine neue Version online stellen. :slight_smile:

Grüße,
Kai

Hallo,

so ich habe eine neue Version online gestellt, nun ist auch ein Luftfeuchtigkeitssensor und Lightbulb inkl. Dimmer verfügbar.

Für den Dimmer muss folgendes im Hook gesetzt werden:

if($_GET["action"] == "setBrightness")  { // nicht verändern
  if($_GET["device"] == "Flur Deckenlampe")  {  // Hier den Namen austauschen
  		 LCN_SetIntensity(23451, $_GET["Intensity"],0); // Funktion zum setzen der Dimmer Variable
  
  }
  }

Für den Luftfeuchtigkeitssensor muss im Hook folgendes gesetzt werden:


if($_GET["action"] == "get")  {
if($_GET["device"] == "Luftfeuchtigkeit Badezimmer")   { // Hier den Namen austauschen
		echo GetValue(23228);
}
}

Ich werde das auch bald noch in die Anleitung aufnehmen.
$_GET[„Intensity“] wird über das Homebridge Plugin gesetzt und enthält den Wert, der gesetzt werden soll.

Grüße,
Kai

Ich versuche das ganze gerade zu realisieren. Leider bin ich noch ziemlich unbeholfen da ich erst seit drei Tagen mit IPS rumspiele.
zum einen habe ich das Problem dass beim testen vom Webhook folgende Meldung erscheint

Notice: Undefined index: action in /var/lib/symcon/scripts/17877.ips.php on line 2
Notice: Undefined index: device in /var/lib/symcon/scripts/17877.ips.php on line 3

Das ist das Script im WebHook


<?
if($_GET["action"] == "get")  {
if($_GET["device"] == "TempWZ")   {
        echo GetValue(50894);
}
}  
?>

Das zweite Problem was ich habe ist, dass ich zwar Homebridge starten kann, aber ehe die Homebridge erreichbar ist versucht er immerwieder die Temperatur zu bekommen.

[2017-01-20 22:53:35] [TempWZ] Getting Temperature...
[2017-01-20 22:53:37] [TempWZ] Getting Temperature...
[2017-01-20 22:53:39] [TempWZ] Getting Temperature...
[2017-01-20 22:53:41] [TempWZ] Getting Temperature...
[2017-01-20 22:53:43] [TempWZ] Getting Temperature...
usw

Gruss

Sebastian

Ich denke das Problem mit dem WebHook konnte ich weitgehend selbst rausfinden.
wenn ich den Hook über

http://IP:PORT/hook/TempWZ?action=get,device=TempWZ

aufrufe erscheint keine Fehlermeldung, allerdings aber auch kein Wert.

Gruß Sebastian

Ganz vergessen zu schreiben, der Hook muss zur Zeit „siri“ heißen.

[2017-01-20 22:53:35] [TempWZ] Getting Temperature...
[2017-01-20 22:53:37] [TempWZ] Getting Temperature...
[2017-01-20 22:53:39] [TempWZ] Getting Temperature...
[2017-01-20 22:53:41] [TempWZ] Getting Temperature...
[2017-01-20 22:53:43] [TempWZ] Getting Temperature...

Das ist soweit richtig, er holt ca. alle 5 Sekunden die Temperatur, wenn du keinen Wert unter „pollingTime“ in der config.json eingetragen hast.

Dass der WebHook siri heißen muss habe ich eben aus der index.js herausgelesen.

Wenn ich jetzt im Browser

http://192.168.1.xxx:xxxx/hook/siri?action=get&device=wztemp

eingebe erscheint auch die Temperatur im Browser.

Jetzt funktioniert es auch in der Homebridge.
Der Fehler war dann die Natatmo API welche ich in IPS und Homebridge angebunden hatte keine zweite Verbindung zugelassen hat und deshlab die Hombridge nicht komplett gestartet ist. -.-

Danke

Hallo zusammen,

es ist eine neue Version online in der folgende Fehler gefixt wurden:

[ul]
[li]Zur Zeit ist es bei dem „Lightbulb mit Dimmer“ nicht möglich die Lampe über den Ein/Aus Schalter zu bedienen.
[/li][li]Der Temperatursensor zeigt zur Zeit keine Dezimalzahlen an.
[/li][/ul]

Grüße,
Kai

Hallo Kai,

tolles Plugin - vielen Dank. Läuft bei mir seit Tagen total stabil und ist echt ein toller Ersatz für die vielen anderen Plugins, die ich im Moment in Homebridge benutze.

Was bei mir noch nicht funktioniert ist SetOn und SetOff beim Typ „Licht“, das wird derzeit nie getriggert. Ich kann eine Lampe mit Dimmer nur ausschalten, wenn ich die „Brightness“ in EVE auf 0 schiebe. Der Aus-Schalter macht nix und springt sofort wieder auf Ein um. Es wäre toll, wenn Du das noch ändern könntest.

Die Typen „Temperatur“, „Luftfeuchtigkeit“ und „Switch“ funktioniern absolut perfekt :-))

Weihnachten ist zwar schon rum, aber wenn Du noch einen Typ zum setzen der Heizungs-Temperatur einbaust und vieleicht auch noch einen Typ für RGB, dann bräuchte ich nur noch Dein Plugin (und das Homematic-Plugin - das läuft bei mir aber superstabil) und die Homebridge wäre problemlos und vollständig mit Symcon zu koppeln, über nur einen Webhook. (Das ich die Geräte einzeln einrichten muß finde ich nicht so schlimm, ist ja schnell gemacht. )

Tolle Arbeit, weiter so. Vielen Dank, dass Du uns das zur Verfügung stellst

Liebe Grüße
Olly

Danke. :slight_smile:

Sollte in der aktuellen Version gefixt sein, teste es doch bitte mal. :slight_smile:

Der Thermostat wird noch kommen. :slight_smile:
RGB wäre zur Zeit auch schon mit dem Lightbulb + Dimmer möglich, wenn du nur einen Kanal zum mischen hast.
Ich werde mir das aber auch noch anschauen.

Grüße,
Kai

Hallo Kai,

so, gerade schnell installiert und geprüft. Bingo! Mit der neuen Version läuft auch SetOn/SetOff beim Dimmer.
Supi :slight_smile: Und es läuft richtig stabil bei mir. Danke schön fürs update!!

Für RGB wären 3 Kanäle mit einer Farbauswahl super. Ich habe bislang das homebridge-better-http-rgb modul genutzt und irgendwann frustriert aufgegeben, da Farben und Helligkeit mal so mal so übergeben wurden… vielleicht kannst Du aber was grundlegendes abgucken…

Liebe Grüße
Olly

Hallo zusammen,

ich habe nun den Thermostaten eingebaut, allerdings hat mein Thermostat keine Variable für TargetHeatingCoolingState, da habe ich einfach den aktuellen Wert wieder reingeschrieben, aber es scheint zu laufen.
Vielleicht hat dazu noch jemand einen Tipp für mich.

Im Hook habe ich allerdings vorgesehen, dass man diesen Wert auch anders füllen kann.
Ich werde da noch ein wenig drüber schauen, und davon eine Dev Version zur Verfügung stellen, da diese noch nicht richtig getestet werden konnte, wer Interesse an der Dev Version hat, kann sich hier gerne melden.

Mal ein kleiner Screenshot:

Grüße,
Kai

Hallo zusammen,

es ist nicht eingeschlafen, ich schreibe zur Zeit ein PHP-Modul, um den Hook, den man zur Zeit per Hand pflegen muss aus der Welt zu schaffen, dann sollte es bequem über ein Modul in IPS funktionieren. :slight_smile:

Grüße,
Kai

Das klingt ja super. Ich lese neugierig mit

Hallo,
evtl. kommt im Laufe des Abends eine neue Version des Plugins für die Homebridge und das Modul für Symcon.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

bin gespannt - läuft nach ein paar Anlaufschwierigkeiten meinerseits schon super.
Was für mich noch dringend fehlt ist die Möglichkeit Rollo- bzw. Jalousieaktoren in die Homebridge anzubinden.

Hallo Linus,

sobald ich mit dem PHP Modul durch bin, bzw. das erstmal vernünftig mit den aktuellen Services läuft, werde ich weitere einbauen, bei Rollo und co, bräuchte ich aber jemanden mit dem ich das testen kann, ich habe die Möglichkeit hier Zuhause leider nicht.

Grüße,
Kai

das ist kein Problem - stelle mich hierfür gerne zur Verfügung
Ich habe eine CCU2 mit einem Homematic Rolloaktor und 5 Eaton Jalousieaktoren.

Gruß Sebastian

Hallo Linus,

schreib mir doch mal zusammen, welche Variablen du für dein Rollo benötigst.

Folgendes ist durch die Homebridge möglich:


  // Required Characteristics
  this.addCharacteristic(Characteristic.CurrentPosition);
  this.addCharacteristic(Characteristic.TargetPosition);
  this.addCharacteristic(Characteristic.PositionState);

  // Optional Characteristics
  this.addOptionalCharacteristic(Characteristic.HoldPosition);
  this.addOptionalCharacteristic(Characteristic.TargetHorizontalTiltAngle);
  this.addOptionalCharacteristic(Characteristic.TargetVerticalTiltAngle);
  this.addOptionalCharacteristic(Characteristic.CurrentHorizontalTiltAngle);
  this.addOptionalCharacteristic(Characteristic.CurrentVerticalTiltAngle);
  this.addOptionalCharacteristic(Characteristic.ObstructionDetected);
  this.addOptionalCharacteristic(Characteristic.Name);

Grüße,
Kai