Neue App Local API

Im ersten Moment denkt man, was soll das denn ? Bei genaueren hin schauen, kann das Ding aber verdammt nützlich sein !
Die App mal kurz erklärt.
Es wird auf Homey ein localer API Server erstellt. Innerhalb eures Netzwerkes oder per VPN-Verbindung, kann ein Trigger angesprochen werden, der einen Flow auslöst.
Er lautet immer: http://homey-ip:3000/name eures triggers.

Hier ein Flow Beispiel:

Beim Aufruf der URL : http://192.168.1.168:3000/test, wird das Blinken der Lampe ausgelöst.

Was heißt das in der Praxis ? Im Prinzip habt ihr jetzt einen internen Webhook, der mit jedem Programm startbar ist, dass eine URL senden kann. Unter Android fällt mir zum Beispiel Automagic oder ähnliche Apps ein. Jeder Browser kann einen Homey Flow starten. Andere Bridges, z.B. HA, können Homey Flows starten. Kameras mit Alarmserver, können an Homey eine Bewegungsmeldung absetzen, usw.

Lasst euren Ideen freien Lauf, was ihr mit dem Ding alles anstellen könnt. Hier sind natürlich Anregungen und Ideen wilkommen, was ihr damit macht.

Was genau ist der Unterschied zum Webhook? Den kann man ja auch mit der lokalen IP aufrufen incl. Parameter.

Ah, lese gerade die Beschreibung bzw. die Optionen.
Das dient also weniger dem Aufruf Richtugn Homey (wie Webhook) sonder man kann in DANN-Karten einen JSON-String zurückliefern. Damit kann man also von außen beliebige Daten von Homey abfragen, die man im FLow sammelt und zu einem JSON zusammenbaut.

1 Like

Richtig, ich wollte es am Anfang nicht zu kompliziert machen.
Du kannst ja mal ein Beispiel posten, was du mit der Option anstellst und wer die Daten abfragt.

Ok, machen wir es kompliziert :crazy_face::joy::

Ich mach es mal wieder an einem Beispiel fest. Die App hat eine sehr einfache Möglichkeit, Werte von Homey per JSON an das anfragende Gerät zu senden. Ihr müsst dazu keine Programmierer sein. Im folgenden Flow, soll die momentane Aussentemperatur zurück gemeldet werden.

Wenn jetzt ein Gerät http://192.168.1.168:3000/test1 anfragt, wird ihm die aktuelle Aussentemperatur zurück gemeldet.


“data”: xx, entspricht dann der Temperatur.

Das ist eine sehr einfache Methode, um anderen Geräten, die Werte von Homey mitzuteilen.

Hier noch ein Beispiel, wie ihr von Home Assistant aus, Homey Flows auslösen könnt, ohne dass das Gerät oder der Flow HA bekannt sind:
Folgendes bei HA in die Configuration.yaml eintragen, speichern und HA neu starten:

rest_command:
  homey_local_api:
    url: "http://192.168.1.168:3000/{{text}}"

Die IP Adresse eures Homeys verwenden !

Jetzt könnt ihr eine Automatisierung bei HA erstellen:

Wenn ihr jetzt einen Homey Flow starten wollt, genügt es nur noch das Wort test mit eurer Bezeichnung zu ersetzen, die in Homey festgelegt wurde. In dem Beispiel oben ist der Trigger die Uhrzeit. Ihr könnt aber jeden beliebigen Trigger dafür verwenden.

1 Like

Ich geb einfach nochmal was zum Besten.

Angenommen ihr wollt den Wert eines Homey Sensors in HA haben, ohne den Weg über MQTT gehen zu müssen. Als Beispiel eine Temperatur.

Ihr legt folgenden Flow an und füllt ihn mit euren Daten. Als Tag verwendet ihr den gewünschten Sensor.

Jetzt legt ihr in HA folgenden virtuellen Sensor in der configuration.yaml an. Verwendet als resource: die IP eures Homeys:3000/Name der API. name und unit_of_measurement mit den gewünschten Werten füllen, speichern und HA neu starten.

sensor:

  - platform: rest
    resource: http://192.168.1.168:3000/test
    name: temperature
    unit_of_measurement: "°C"
    value_template: "{{ value_json.data }}"

Der neue Sensor ist in HA einsatzbereit