ESPHome - API ohne HomeAssistant und ohne MQTT

Begonnen von bartman121, 31 Oktober 2021, 06:22:26

Vorheriges Thema - Nächstes Thema

bartman121

Guten Morgen,

vorab:
ich weiß nicht ob dieses Forum hier das richtige ist, evtl. passt es auch in Anfänger-Fragen.

Ausgangssituation:
Ich besitze eine Xiaomi Bedside Lamp 2, leider hat XIAOMI irgendwann beschlossen "LAN-Control" auszubauen, damit konnte ich die Lampe nicht mehr über FHEM steuern. Es gibt aus meiner Sicht keine brauchbare Lösung LAN-Control wiederzubekommen, die Bettelei im YeeLight-Forum werde ich nicht mitmachen.

Ich bin auf ein interessantes Projekt gestoßen:
https://github.com/mmakaay/esphome-xiaomi_bslamp2

Dabei wird ESP-Home auf die Lampe geflashed. Das Flashen hat wunderbart gepklappt. Leider ist es mir nicht gelungen MQTT zusätzlich reinzubauen, er sagt immer, dass das nur für plattform arduino geht.

Aktuelle funktionierende Integration in FHEM:
ich habe mir eine virtuelle Maschine erstellt und lasse dort HomeAssistant laufen. HomeAssistant bietet Out-OF-The-Box-Integration für ESPHome an. Die Steuerung über HomeAssistant funktioniert. Ich habe dann beschlossene HomeAssistant via API per HTTPMOD zu bedienen. Das funktioniert auch locker flockig.

Hier die API-Dokumentation:
https://developers.home-assistant.io/docs/api/rest/

Aber:
Die POST-Aufrufe liefern leider keinen Content zurück, das ist Mist, weil man nach dem Einschalten der Lampe quasi immer die aktuellen Parameter per GET abfragen müsste. Das geht natürlich, ist aber totaler Unfug.

Mein Problem:
Ich finde den zusätzlichen HomeAssistant-Server völlig überzogen und unnötig. Eigentlich will ich ja nur die Lampe/ESPHome steuern. Mein Ziel wäre es die ESPHome-Api der Lampe direkt zu nutzen, statt über HomeAssistant zu gehen.

Die ESPHome-Api ist aus meiner Sicht aber eher schlecht dokumentiert und man findet auch im Netz nicht sonderlich viel Hilfe dazu. Alle Welt verweist auf HomeAssistant.
Gefunden habe ich das hier:
https://esphome.io/web-api/index.html

Ich schaffe es ums Verrecken nicht mich mit der API per Insomnia zu verbinden. Ich erhalte immer eine Fehlermeldung:

* Preparing request to http://bedside-lamp:6053/light/light.bedside_lamp_rgbww_light
* Current time is 2021-10-31T06:16:06.555Z
* Using libcurl/7.73.0-DEV OpenSSL/1.1.1g zlib/1.2.11 brotli/1.0.9 WinIDN libssh2/1.9.0_DEV nghttp2/1.41.0
* Using default HTTP version
* Disable timeout
* Enable automatic URL encoding
* Enable SSL validation
* Enable cookie sending with jar of 0 cookies
* Hostname in DNS cache was stale, zapped
*   Trying 192.168.2.155:6053...
* Connected to bedside-lamp (192.168.2.155) port 6053 (#1)

> GET /light/light.bedside_lamp_rgbww_light HTTP/1.1
> Host: bedside-lamp:6053
> User-Agent: insomnia/2021.6.0
> Content-Type                : application/json
> Accept: */*

* Recv failure: Connection was reset
* Closing connection 1


Ja, ich verwende eigentlich ein Passwort, aber nirgends steht wie man das Passwort mitgeben muss. Header/Body/URL-Parameter?

Kann mir hier Jemand weiterhelfen?
Ich sehe folgende Lösungsansätze:
1) Integration von MQTT-in ESPHome und erneutes flashen der Lampe .... aber dazu finde ich keine Hilfe
2) Versuchen die API von ESPHome zum Laufen zu bekommen

Vielleicht gibt es ja Leute hier, die ESPHome und dessen API nutzen.

Liebe Grüße

Andreas

Ice81

Moin Andreas,

Ich habe auch das gleiche Problem.

Hast Du evtl. schon eine Lösung gefunden ?

Ich hatte es noch über Fhempy versucht, aber leider bekomme Ich es darüber auch nicht zum laufen


LG
Ralf

FhemPiUser

#2
Gibt es hier inzwischen eine Lösung direkt ESPHome in fhem zu integrieren z.b. über httpmod requests auf die esphome rest api des eingebauten webservers (https://esphome.io/web-api/index.html)?

Ice81

Hallo zusammen,

mittlerweile habe ich meine Lampe per MQTT anbinden können. Ein und aus klappt schonmal ganz gut. Einige Farben kann ich auch schon einstellen. Beim einstellen der Helligkeit habe Ich noch meine leichten probleme.

VG
Ralf

Heiner

Hi,

schaut mal hier: https://github.com/fhempy/fhempy

damit wird auch esphome integration auf fhem realisiert.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2