NEWS
ESPHome mqtt Sonoff basic
-
Hallo zusammen,
puh. Habe gerade die ersten Gehversuche mit ESPhome gemacht und muss sagen das ist nicht ohne. Man wird erschlagen mit den ganzen Config-Möglichkeiten. Aber ich wollte mal was anderes als Tasmota und ESPEasy ausprobieren, infiziert durch @OpenSourceNomad (danke auch
)
Ich habe einen normalen Sonoff Basic und 3 DS18b20 Sensoren dran. Aktuell läuft schon einiges, aber noch nicht perfekt:
Er soll bei mir die Zirkulationspumpe schalten und nach 2 Minuten automatisch ausschalten. Schalten möchte ich ihn per mqtt via ioBroker. Wie stelle ich das an? Die Objekte sehen auch alle nicht zuende konfiguriert und durcheinander aus. Da bin ich von Tasmota anderes gewöhnt. An welcher Stelle muss ich schrauben?ESPHome:
Tasmota:
Meine aktuelle yaml Datei:
# Enable logging logger: level: VERBOSE web_server: port: 80 mqtt: broker: 192.168.1.11 port: 1883 topic_prefix: ESPHOME/zirkulationspumpe client_id: Zirkulationspumpe # username: livingroom # password: MyMQTTPassword ota: api: binary_sensor: - platform: gpio pin: number: GPIO0 mode: INPUT_PULLUP inverted: True name: "Sonoff Basic Button" on_press: - switch.toggle: relay switch: - platform: gpio name: "Sonoff Basic Relay" pin: GPIO12 id: relay status_led: pin: number: GPIO13 inverted: yes dallas: - pin: GPIO3 update_interval: 15s sensor: - platform: dallas address: 0x5C0300A279020828 name: "Temperature #1" resolution: 12 - platform: dallas address: 0x5D0300A279120428 name: "Temperature #2" resolution: 12 - platform: dallas address: 0xA40300A279128A28 name: "Temperature #3" resolution: 12 filters: - calibrate_linear: # Map 0.0 (from sensor) to 0.0 (true value) - 0.0 -> 0.0 - 21.8 -> 20.4
-
@watcherkb said in ESPHome mqtt Sonoff basic:
Er soll bei mir die Zirkulationspumpe schalten und nach 2 Minuten automatisch ausschalten. Schalten möchte ich ihn per mqtt via ioBroker. Wie stelle ich das an?
Hier kannst du natürlich viele Wege gehen. Ich würde hier jedoch genau einen der Vorteile von esphome ausspielen und und die Logik möglichst weit auf dem esp belassen. Sprich du gibst nur das initiale Kommando per mqtt und den Rest erledigt esphome.
Du könntest z.B. einfach einen template switch erstellen welcher dein relay anschaltet, 2 Minuten wartet und wieder ausschaltet.
Könnte in etwa so aussehen:
switch: - platform: template name: "2 Minuten zirkulieren" id: relay2min turn_on_action: - switch.turn_on: relay - delay: 120s - switch.turn_off: relay - switch.turn_off: relay2min
Diesen switch kannst du dann einfach per mqtt triggern und musst dich um nichts weiter kümmern. Wenn z.B. das wlan/mqtt/etc. ausfällt wird der esp trotzdem nach 120 Sekunden das relay ausschalten.
Natürlich auch alles beliebig automatisierbar wenn z.B. bestimmte Temperaturen erreicht werden usw.
-
@OpenSourceNomad Danke für deine Antwort. Das schaue ich mir an.
Diesen switch kannst du dann einfach per mqtt triggern
Dabei hapert es gerade. Ich kann den Datenpunkt per Objektbrowser nicht triggern. Das scheint als ob der DP ein Text ist, sollte aber ein true/false Checkbox sein. Muss ich noch dran arbeiten. Allgemein die Struktur von mqtt muss noch angepasst werden.
Natürlich auch alles beliebig automatisierbar wenn z.B. bestimmte Temperaturen erreicht werden usw.
Das ist die nächste Stufe. Habe schon DS18B20 dran hängen und beim Erreichen einer Temperatur soll automatisch abgeschaltet werden.
Ich habe in einem anderen Beitrag von dir gelesen dass du die Daten direkt an influxdb schickst. Hört sich interessant an. Klar...warum muss man auch den Umweg über ioBroker gehen.
-
@watcherkb ich wage mich gerade auch an esphome.
Würde mich über Updates freuen, wenn du es mit der Ordnerstruktur hinbekommen hast.
Laut ESPHome Doku muss man bei Nutzung von Mqtt aufjedenfall Api rausnehmen, ansonsten wird alle 5min neugestartet. (https://esphome.io/components/mqtt.html#Mqtt-defaults)
Und wird der Webserver benötigt? Laut Doku werden hier auch einige Bugs verursacht.
-
@FrenkyIO ich habe sehr lange rumgetüftelt und es am Ende aufgegeben. Eigentlich bin ich hartnäckig bei solchen Sachen aber irgendwann hatte ich keine Lust mehr. Das neu-flashen hat mit der Zeit nicht mehr funktioniert, also wieder ftdi dran und resetten, danach gehts wieder paar mal. Das war mir dann doch irgendwann zu mühsam.
Mqtt ist auch nicht so einfach einzurichten, die Struktur war mir nicht verständlich. Auch konnte ich anschließend nicht über ioBroker den Sonoff schalten. Vielleicht geb ich dem ganzen irgendwann mal eine Chance, aber momentan eher nicht.
Sicherlich ist das ESPHome mächtig, aber für mich waren das zu viele Hürden und ich habe wieder Tasmota geflasht. -
@watcherkb schade. Ich finds bislang auch noch sehr kompliziert, aber werde mein Glück mal versuchen.
@OpenSourceNomad hast du vielleicht noch Tipps/Seiten zum nachlesen speziell zum Thema esphome mit ioBroker.
-
@watcherkb Ich scheitere auch gerade daran und würde mich über Hilfe freuen.
-
@rushmed meine erste steckdose mit esphome läuft. An der Struktur lässt sich so einfach wohl nichts ändern. Muss meiner Meinung nach aber auch nicht. Ist übersichtlich und klar eingeteilt. Schalten kann ich das relay der steckdose über command mit "On", "Off". Hier wäre natürlich schöner wie beim sonoff Adapter mit tasmota direkt ein switch in ioBroker zu haben. Aber lässt sich ja alles bauen.
-
@frenkyio Mir ging es nicht um steckdosen, ich wollte Sensordaten per MQTT von einem ESP erhlaten und da war die Struktur echt ungünstig.
Ich habs jetzt mit Tasmota geläst, da ist alles schön. -
@opensourcenomad kannst du vielleicht mal sagen wie du deine Geräte mit esphome an den ioBroker anbindest? Mit REST API und dann über Javascript? Oder wie macht man das möglichst elegant?
Vielen Dank schon mal für deine Hilfe!
-
@frenkyio sagte in ESPHome mqtt Sonoff basic:
@opensourcenomad kannst du vielleicht mal sagen wie du deine Geräte mit esphome an den ioBroker anbindest? Mit REST API und dann über Javascript? Oder wie macht man das möglichst elegant?
Vielen Dank schon mal für deine Hilfe!
Geht jetzt einfacher
https://forum.iobroker.net/topic/42741/esphome-beta-release?_=1614497048346