Hallöchen!
Ich spiele gerade mit RGBW-LEDs und der Ansteuerung durch einen ESP32 rum. Macht soweit Spaß und funktioniert ganz gut.
Aktuell steuere ich das ganze noch "manuell" über MQTT Nachrichten im WLAN.
Auf lange sicht würde ich die Lampe(n) gerne über eine möglichst standardisierte Schnittstelle ansprechen können, um sie dann auch einfach z.B. in Home Assistant einbinden zu können.
Was wäre da ratsam? An Wifi als Schnittstelle führt vermutlich kein Weg vorbei (da ich einen ESP32 verwende). Aber welches Protokoll? Gibts was geeigneteres als MQTT?
Was wäre zu beachten, damit sich das ganze möglichst einfach in Home Assistant integrieren lässt?
Was wäre da ratsam? An Wifi als Schnittstelle führt vermutlich kein Weg
vorbei
Viel Spass im D0nklen, wenn der Nachbar seine analoge 2.4 GHz
Ueberwachungskamera mal einschaltet, und der Accesspoint wegen
"belegtem" Kanal keine Pakete mehr verschickt. :)
Nicht standardisiert genug ;-)
Schön wäre, wenn HomeAssistant das Gerät gleich im netzwerk erkennen und mit passender GUI anzeigen könnte (ohne kilometerlange .yaml-Dateien schreiben zu müssen).
Gibt es an sonsten ggf. eine Möglichkeit, dass sich das Gerät selbst beschreibt (z.B. per passender MQTT-Antwort), und Home Assistant das dann entsprechend einbindet?
Hast Du Dir Esphome angeschaut? Ich habe 3 Projekte auf ESP-Basis (Gaszähler, Garagentor, Bewässerung) recht schnell mit gleicher Hardware auf Esphome umgestellt um sie komfortabel in HA einzubinden. Nicht für alle Use-cases geeignet aber gibt für viele Fälle einfache Lösungen.
Interessant. Das schaut bei der Einbindung eigener Lösungen allerdings
keinen Deut einfacher als HA aus.
ESPhome gib es auch als Integration für HA. Da mußt Du Dich nicht um ein Protokoll kümmern (es sei denn, Du möchtest unbedingt MQTT verwenden). Ich benutze das ebenfalls für diverse Sensoren/Aktoren/LED/ePaper-Displays. Einfacher geht es nicht, eigene ESP module in HA einzubinden. Selbst Software-Updates via OTA (over-the-air) funktioniert nach der Initial-Programmierung (USB) ziemlich stabil.
Man muß sich allerdings etwas in die ESPhome-eigene YAML Notation einarbeiten...kommt aber schnell zum Ziel.
Interessant. Das schaut bei der Einbindung eigener Lösungen allerdings
keinen Deut einfacher als HA aus.
Nein? Sobald ich ein neues Esphome Gerät boote poppt es in HA auf - einfacher geht es kaum wenn...
Magst Du das mal präzisieren?
Wo liegen die Schwierigkeiten genau?
...man auf die fertigen Komponenten zurückgreifen kann. Das deckt dann viele Einsatzzwecke ab mit Input, Outputs, Zählern, PWM und Co. Scroll mal hier durch was unterstützt wird, m.E. schon beeindruckend viel:
Wenn allerdings die vielen aber nicht unbegrenzen Möglichkeiten nicht reichen wird es halt komplexer. Da mag eine eigene Lösung durchaus einfacher sein als Esphome zu erweitern aber das kommt halt drauf an. Du sprachst über Lampen/Licht und da gibt es schon einiges.Wenn Deine RGBW-LEDs unterstüzt werden, hast Du mit einer Hand voll YAML Deine LED in HA und kannst sie ein/ausschalten, dimmen, Farbe ändern mit den bekannten Widgets in HA oder Effekte drauflegen.
Das schaut schon gut entwickelt aus.
Das Interessanteste ist aber immer die Umsetzung des generischen Falls.
Von der Festlegung auf ESP und WLAN abgesehen.
Was wäre da ratsam? An Wifi als Schnittstelle führt vermutlich kein Weg
vorbei (da ich einen ESP32 verwende). Aber welches Protokoll? Gibts was
geeigneteres als MQTT?
MQTT ist sowohl gut geeignet als auch Standard.
Du schriebst nicht ob du eine eigene Firmware für den ESP geschriebrn hast oder auf bestehende Lösungen zurückgreifst.
Die drei großen OpenSource-Projekte für Licht auf ESP-Basis (Tasmota, Wled, ESPhome) unterstützen alle gängigen RGB(W(W))-Streifen. Sie sprechen zwar ebenfalls MQTT, aber für HA und ioBroker gibt es Integrationen/Plugins. Funktioniert also alles out-of-the-box. Welche Nutzdaten konkret über MQTT ausgetauscht werden kann dir dabei egal sein.
Viel Spass im D0nklen, wenn der Nachbar seine analoge 2.4 GHz
Ueberwachungskamera mal einschaltet, und der Accesspoint wegen
"belegtem" Kanal keine Pakete mehr verschickt. :)
Wieso? Licht schaltet man auch im Selbstbau-Smarthome per Lichtschalter/Steckdose(nleiste). Wifi braucht man nur für verzichtbare Komfort-Funktionen oder alle heilige Zeit mal wenn man die Lichtfarbe nachjustieren möchte.
Wifi braucht man nur für verzichtbare Komfort-Funktionen
War hier (oder bei Heise) nicht neulich jemand, dessen gekaufte Lichtschalter zusammen mit der Internet Anbindung ausfielen? Mann, was war der Typ enttäuscht!
Aber so funktioniert die schöne neue Welt, wenn Gier das Hirn frisst.
Wenn man wichtige Funktionen vom Internet abhängig macht dann ist das so. Das ist aber nur dumm, was hat das mit Gier zu tun? Und es ist zum Glück auch nicht nötig, die Komponenten funktionieren solange das lokale WLAN läuft.
Robuster sind verkabelte Netze, die kann man aber nicht mal eben überall nachrüsten.
Tasmota kann man sowohl lokal als auch Remote bedienbar machen wie ich in meiner verlinkten Lösung beschrieb.
War hier (oder bei Heise) nicht neulich jemand, dessen gekaufte
Lichtschalter zusammen mit der Internet Anbindung ausfielen?
Weiß nicht, such doch mal den Thread.
Bis dahin ist es erst mal eine nette Geschichte.
Es gibt aber tatsächlich Schalter zum Nachrüsten die einfach auf die Wand geklebt werden und keine Zuleitung benötigen sondern mit Batterie und Funk auskommen.
Es liegt in der Natur solcher Lösungen dass sie zwingend eine Netzwerkverbindung brauchen.
Aber außer in konstruierten Lagerfeuergeschichten kenne ich niemanden der seine Hauptbeleuchtung von solchen Schaltern abhängig macht.
Sowas nimmt man für verzichtbare Ambient-Beleuchtung oder wenn ein zusätzlicher Schalter zu einer bestehenden, kabelbasierten Installation in einem entlegenen Winkel des Raumes gewünscht wird.
Außerhalb von Lagerfeuergeschichten benutzen Smarthome-Selbstbauer hauptsächlich Wifi-Relais, das bekannteste dürfte die Marke Shelly sein.
Das sind im wesentlichen Unterputz-Stromstoßschalter mit einer zusatzlichen, optional benutzbaren Wifi-Schnittstelle.
Auf lange sicht würde ich die Lampe(n) gerne über eine möglichst
standardisierte Schnittstelle ansprechen können, um sie dann auch
einfach z.B. in Home Assistant einbinden zu können.
Es gibt aber tatsächlich Schalter zum Nachrüsten die einfach auf die
Wand geklebt werden und keine Zuleitung benötigen sondern mit Batterie
und Funk auskommen.
Es liegt in der Natur solcher Lösungen dass sie zwingend eine
Netzwerkverbindung brauchen.
Alles was mit Batterie läuft kommuniziert sicher nicht per WLAN - viel zu viel Energie wenn was "sofort" passieren soll
Es gibt aber tatsächlich Schalter zum Nachrüsten die einfach auf die
Wand geklebt werden und keine Zuleitung benötigen sondern mit Batterie
und Funk auskommen.
Es liegt in der Natur solcher Lösungen dass sie zwingend eine
Netzwerkverbindung brauchen.
Diese Schalter gibt es auch ohne Batterie, mit Energy-Harvesting beim Drücken des Schalters. Die kommunizieren zB über zigbee direkt mit dem Aktor und brauchen eben keine Netzwerkverbindung.
Im angemieteten Neubau meines AG für rund 1000 Arbeitsplätze sind alle
Licht- und Jalousienschalter funkbedient.
ja, aber sicher über KNX und ganz sicher ohne einen Webserver dafür in der Cloud (im schlimmsten Fall beim Hersteller) betreiben zu müssen. Das ist eher mit Zigbee vergleichbar und arbeitet nur lokal.
Ja, ist bei uns in der Firma auch bei manchen Schaltern realisiert, die auf Glas-Raumtrennern angebracht sind. Wir haben somit eine Mischinstallation aus bedrahteten Wandtastern und den Funkdingern. Die haben dann eine Knopfzelle CR2032.
Gibt es an sonsten ggf. eine Möglichkeit, dass sich das Gerät selbst
beschreibt (z.B. per passender MQTT-Antwort), und Home Assistant das
dann entsprechend einbindet?
Homeassistent hat ein Autodiscover Feature für mqtt, dabei
Publisht dein
device in einem speziellen topic seine Fähigkeiten für Hass.
Ich würde ebenfalls diesen Weg empfehlen. Entsprechend umgesetzt benötigt das keine einzige Zeile YAML und lässt sich direkt nutzen.
Bei ESPhome stört mich persönlich, dass es häufige Updates gibt, die mir keinen Mehrwert bringen, aber dennoch angestoßen werden müssen und relativ lange dauern.
Bei ESPhome stört mich persönlich, dass es häufige Updates gibt, die mir
keinen Mehrwert bringen, aber dennoch angestoßen werden müssen und
relativ lange dauern.
Hhmm, müssen die Updates wirklich immer erfolgen?
Ich habe -- quasi als Vorbereitung für ein Custom-device und weil mich der generierte Quellcode interessiert hat -- esphome einfach mal lokal auf meinen Laptop installiert. Jetzt mache ich alles von dort, also Updaten, Compilieren und den Upload. Das geht viel schneller als auf dem HA-System. Auf HA ist esphome installiert aber die esphome YAML Input-Files halte ich auf meinem Laptop. Ich mache esphome Updates nur wenn es mir interessant erscheint. Bei zwei Devices verzichte ich bewusst auf Updates.
Vor kurzen hab ich alle Tasmota und "handgestrickten" Devices nach esphome portiert. Seit ich MQTT abgeschaltet hab, erscheint mir HA noch flüssiger zu laufen.
Nein, natürlich nicht. Die entsprechende Update-Meldung verschwindet dann aber auch nicht. Da ich mein HA versuche aktuell zu halten, "stört" mich das etwas.
Vor kurzen hab ich alle Tasmota und "handgestrickten" Devices nach
esphome portiert. Seit ich MQTT abgeschaltet hab, erscheint mir HA noch
flüssiger zu laufen.
Ich habe insgesamt eine (noch) eher kleine HA-Installation und bisher überhaupt keine Probleme mit MQTT. Es sind aber nur 4 MQTT-Geräte und 1 mit ESPhome. Ich tendiere momentan eher komplett zu MQTT. Wie haben sich bei dir die "Probleme" mit MQTT geäußert?
Die Anzahl meiner "smarten" Geräte ist auch, sagen wir mal übersichtlich.
Bei den HA Updates warte ich immer auf den eingeschwungenen Zustand und installiere also vielleicht jede 3.te oder 4.te Release, d.h. die xxx.0 Releases ignoriere ich meistens. Da ich esphome auf dem Labtop verwalte, poppt die Erinnerung für die esphome Komponente nur genau einmal auf und nicht für alle esphome-Devices. Wenn nix Interessantes dabei ist, wird die jeweilige Release eben übersprungen.
Wie haben sich bei dir die "Probleme" mit MQTT geäußert?
Ich hatte keine Probleme mit MQTT, aber ich habe schon den Eindruck, dass die esphome Devices schneller reagieren. Ich denke es liegt auch daran, dass esphome quasi direkt mit HA kommuniziert, also ohne JSON Datensätze einpacken, MQTT versenden, warten bis der Mosquitto Broker weitergeleitet hat und dann noch in HA die JSON Datensätze wieder ausgepackt sind.
Als ich die Spielerei mit HA angefangen hab, kannte ich das mit dem Autodiscover noch nicht, alles war neu. Den üblichen DIY Weg, finde ich im nachhinein etwas umständlich: JSON MQTT erzeugen, manchmal mit dem MQTT-Explorer debuggen, dann per YAML in HA alles wieder auseinander fummeln, bis man endlich an die Entitäten rangekommen ist. Und manchmal auch noch mit Jinja tricksen. Ehrlich gesagt gefällt mir esphome da wesentlich besser. Da passiert alles im Device, bei Bedarf füge ich halt noch einwenig lambda C++ Code ein und schon bekommt HA die Messwerte mundgerecht geliefert. Oder die Automatisierung soll direkt auf dem Device ablaufen usw. Dasselbe gilt natürlich für Entitäten/Zustände die das Device gerne hätte. Da benötigt es keine MQTT Message oder ähnliches, die kann man direkt über die API ansprechen.