Okay also das ist folgendermaßen.
Als erstes solltest du natürlich das Plugin homebridge-http-webhooks installieren.
Und kannst dann auch schon mal deine benötigten Schalter / Sensoren im Plugin definieren.
Das könnte dann in der ganz einfachen Basis ungefähr so aussehen.
Schalter
"name": "Mein Schalter" | Das ist der Name, der dir in der HomeApp, Alexa oder Google Home angezeigt wird. Den Namen kannst du später natürlich in deiner App selber nochmal anpassen. |
"id": "switch1" | Das ist die ID des Schalters. Die ID ist für das Plugin zuständig und interessiert hier eigentlich nicht. Die ID muss immer eindeutig sein und darf nicht doppelt vorkommen. |
"on_url" "off_url" |
Diese beiden Parameter zeigen an, welche Links aufgerufen werden sollen, wenn du den Schalter betätigst. Schaltest du ihn ein, ruft er den Link 192.168.0.1/turn_on auf. |
Für die Steuerung des Relais kannst du eigentlich 1:1 diese Quelle hier verwenden:
ESP8266 Relais über Webseite steuern - Tutorial deutsch
Einen Code den du 1:1 anwenden kannst, kannst du dir hier runterladen:
https://github.com/makesmartnet/esp8266-http-switch
Sensor
"id": "sensor1" | ID ist wieder für die einzigartige Zuordnung im Plugin zuständig. Hier bei den Sensoren spielt die ID aber eine Rolle. Gleich mehr dazu. |
"name": "Mein Sensor" | Der Name, der in den Apps angezeigt wird. Kann in der App natürlich auch geändert werden. |
"type": "contact" | Und "type" gibt an, welcher Sensor in der App repräsentiert werden soll. Es gibt verschiedene Arten von Sensoren, die man aus der Dokumentation vom Plugin entnehmen kann. |
Als Beispiel nehmen wir den Sensor von unserem Beispiel.
Den Wert eines Sensors kann man ändern, indem man (wie beim Relais) eine URL aufruft. Die URL für einen einfachen IO-Sensor sieh so aus:
http://homebridgeIP:webhook_port/?accessoryId=theAccessoryIdToTrigger&state=NEWSTATE
Das würde in meinem Beispiel dann so aussehen:
http://makesmart-server:51828/?accessoryId=sensor1&state=true
Das Accessoire mit der id=sensor1 bekommt den state=true
Als state bei IO-Sensoren ist true und false möglich.
True steht für betätigt. False steht für unbetätigt.
Immer wenn ich diese Links aufrufe, verändert sich der Status des Sensors solange, bis ich ihn wieder über die URL deaktiviere.
Das ist die Seite vom Plugin. Hier werden die Sensoren erstellt, die ID's vergeben und bestimmt, um welche Art von Sensor es sich handelt.
Das HTTP-Device, was die Zustände der Sensoren bestimmt muss dann die Links aufrufen, um den State zu ändern.
Wie man mit einem ESP8266 D1 Mini solche Requests ausführt, ist in dieser Quelle beschrieben:
ESP8266 Fernsteuerung, WLAN Kommunikation, GET Request - Tutorial deutsch
Hoffe das hilft dir weiter.
Pascal