NEWS
hygrometer (luftfeuchte) - hilfe bei integration
-
@FuXXz2 said in hygrometer (luftfeuchte) - hilfe bei integration:
Das könnte sein, dass wir aneinander vorbei reden.
Um das zu überprüfen ich bin gegen die Mini-Breadboard Variante und für kleine Zigbee SensorenAha, und ich habe immer von den Xiaomi BLE Sensoren gesprochen Und ich bin natürlich gegen Zigbee weil überteuert
Die kleinen selbstgebauten ESP's sind halt immer perfekt angepasst und können beliebig erweitert werden.
An der Klotze habe ich z.B. dieses nette Teilchen hier stehen:So bekomme ich neben Temperatur, Luftfeuchte und Druck (BME280) auch einen IR Sender um Empfänger (ich kann u.a. mit der Fernbedienung die Steckdose schalten oder auch mit dem Handy den Fernseher usw.) sowie einen Touch Button mit dem ich auch verschiedene Sachen anstellen kann (kurz gedrückt schaltet die Steckdose mit TV, Amp, etc., lang gedrückt schaltet nur den TV über IR).
-
Um mal wieder auf das eigentliche Thema zurück zu kommen...
Die Mijia BLEs wären wohl schon die beste Lösung, denn BT braucht kaum Batterie, halten also ziemlich lang. ESPs müssten immer mit Akku versorgt werden und werden wohl kein Jahr durchhalten wie die Mijias (nicht vergessen: kein guter Zugang zum Keller, no 230V).@liv-in-sky Du hast doch am Carport WLAN. Heißt das du hast dort Empfang oder einen AP hängen? Oder genauer gefragt, würde denn ev. BT vom Keller bis dorthin reichen und hättest du dort deine eigenen 230V? Dann könnte man in den Keller einen Mijia (ev. sogar mit einer 18650 versorgt, das dürfte auch länger als ein Jahr funktionieren) hängen und in den Carport einen ESP mit BT-Empfänger.
-
mir gefallen die Xiaomi BLE Sensoren am besten - vorallem wegen des displays und dem akku betrieb - ich habe die gestern auch bestellt, weil günstig
über die anbindung habe ich noch keine entscheidung getroffen - der vorschlag von @OpenSourceNomad mit dem esphome habe ich kurz angeschaut (weiß noch nicht, ob ich das alles kapiert habe) , dabei scheint es sehr kompliziert zu sein, da man wohl mit wireshark irgendwas auslesen muss. die andere lösung mit der costumsoftware muss ich noch näher ansehen.
im carport hängt ein unifi accesspoint, der sollte in einem kelleraum (die seite am carport) hoffentlich genug wlan in den kellerraum bringen. bluetooth wird wohl nicht bis zum carport reichen, aber der bt-empfänger ist dann im kellerraum - da ist auch strom.
im moment habe ich 4 umsetzungsmöglichkeiten:
- openMqtt gateway (https://compatible.openmqttgateway.com/)
- custom software im device
- esphome mit esp32
- alter raspi3 als slave mit ble adapter (einfachste lösung für nicht-bastler - nachteil: viel "hardware" für das auslesen von 3 sensoren)
-
@liv-in-sky Die "Custom-Software" macht nichts weiter als das Mijia wieder umzustellen (ok, Cloud wird auch abgestellt). Die "alten" Geräte schicken einfach alle x Sekunden/Minuten ihre Messwerte per BT. Die "neuen" (oder eben die eckigen Mijias) schicken nur auf Anfrage ihre Daten. Dieses verhalten stellt die Customized-Version wieder um. So kann man die Daten direkt mit dem BLE-Adapter empfangen und auswerten.
ESPHome mit einem ESP32 ist nicht so schwierig, nur muss man halt den "bindkey"/token auslesen. Der wird erst mit dem ersten Kontakt zum Cloud-Server in China erstellt und im Mijia abgelegt. Vorher kannst du keine Daten per BT empfangen.
Ist aber auch in ein paar Minuten erledigt und nicht wahnsinnig kompliziert. Den ESP und BT-Empänger kannst du dann wieder auf einem Steckboard "zusammen zimmern" -
@SBorg und diesen bindkey brauche ich, weil esphome eine anfrage an den sensor stellen muss, damit der sensor seine daten sendet - ist das richtig ?
-
überlege gerade ob ich die anbindung nicht über den nachbarn lösen sollte - ich sende ihm automatisch jeden tag eine mail, er soll in den keller gehen und das display checken - danach soll er mir eine mail senden, was da steht und ich werte die mail aus und sende ihm dann zurück , dass er jetzt lüften soll - das würde einfach sein und hardware sparen
wäre mir am liebsten , ob es dem nachbarn gefällt, weiß ich noch nicht
-
@liv-in-sky Jein. Mit der Customzied schickt er im eingestellten Intervall immer seine Daten (ich nutze bspw. 5 Minuten-Takt). Wenn du das Thermometer aus China bekommst kannst du keinerlei BT-Daten empfangen. Du musst einmalig mit der Cloud verbinden (dann wird der Key erzeugt und im Mijia abgelegt), dann kannst du per BT Daten empfangen, aber nur wenn du am Handy die App öffnest und darüber eine Anfrage an das Mijia schickst. Dann spielt man die Customized auf. Damit schickt es eben im x-Takt die Daten "freiwillig" und schaltet auch den Cloud-Zwang ab.
ROFL er soll dir ein Bild schicken, oder du nimmst es per ESP32-CAM auf, speicherst es auf die SD-Karte und die soll er dir täglich bringen
-
Lösung ohne Hardware-Basteln: Mobile Alerts - verschiedene Hygrometer, z.B. MA10230. Es wird das Mobile Alerts Gateway benötigt. Daten stehen dann per App und auf einer Webseite zur Verfügung. Mit https://github.com/bluerai/ioBroker.mobile-alerts können die Daten von der Webseite ausgelesen und in ioBroker übertragen werden.
-
etwas zu teuer aber sicher auch eine lösung, die zu gebauchen ist - bei 2 häusern, 2 gateways (wahrscheinlich mehr bei mehreren stockwerken) und die sensoren - da kommen ein paar euro zusammen
aber danke für den tipp
das bedeutet doch, ich muss auf jeden fall das costimized installieren muss
kann man eigentlich alarme (benachrichtigungen) über die app empfangen, dann könnte ich über tasker die daten weiter an iobroker senden - wobei die sensoren im keller werden ja nicht ans handy connectiert werden, weil das handy im dachgeschoss ist.
-
@liv-in-sky sagte in hygrometer (luftfeuchte) - hilfe bei integration:
wobei die sensoren im keller werden ja nicht ans handy connectiert werden, weil das handy im dachgeschoss ist.
Si senior, dass ist dabei dein Problem, sonst könntest du ja auch direkt die BT-Signale per NUC empfangen
@liv-in-sky sagte in hygrometer (luftfeuchte) - hilfe bei integration:
das bedeutet doch, ich muss auf jeden fall das costimized installieren muss
Jepp, sonst kannst du so eigentlich recht wenig damit anfangen, außer halt direkt am Display/App ablesen und wissend, dass Chinaman FengShuWauZePing dank Cloud weiß, wie warm oder feucht es in deinem Keller ist...
Aber das flashen dauert 2-3 Minuten. Du musst nur eine Website per Handy aufrufen (ging mit meinem Android problemlos; der Apfel soll gelegentlich zicken), dort klickst du auf "connect", erlaubst der Site dass sie per BT pairen darf, wählst noch die zuvor geladene neue Firmwaredatei aus und klickst flashen und wartest bis er fertig ist. Keine Kabel, Brücken nötig oder irgendwas für Zeitraum x drücken oder was auch immer.btw: weil sie gerade bei Banggood im Angebot waren habe ich auch gleich noch mal ein 3er Set für 6,79 € geordert (zzgl. 2,- € eppes Versand)
-
erstmal danke - ich werde mich dann sicher nochmal wegen dem thema melden, wenn die da sind und von theorie zur praxis geschwenkt wird
-
@SBorg said in hygrometer (luftfeuchte) - hilfe bei integration:
ESPHome mit einem ESP32 ist nicht so schwierig, nur muss man halt den "bindkey"/token auslesen. Der wird erst mit dem ersten Kontakt zum Cloud-Server in China erstellt und im Mijia abgelegt. Vorher kannst du keine Daten per BT empfangen.
Das ist nicht nötig, einfach einmal mit der custom firmware bespielt wird der bindkey direkt im browser angezeigt. Empfangen werden können die broadcasts übrigens auch ohne binkey, allerdings können Sie nicht dekodiert werden und sind deswegen ziemlich nutzlos.
Den ESP und BT-Empänger kannst du dann wieder auf einem Steckboard "zusammen zimmern"
Und das wäre mir auch neu. Ich kenne keinen einzigen BT-Empfänger der mit einem ESP(82xx) kompatibel ist. Deswegen nimmt man einen ESP32 welcher bluetooth bereits an board hat.
-
@liv-in-sky said in hygrometer (luftfeuchte) - hilfe bei integration:
im moment habe ich 4 umsetzungsmöglichkeiten:
- openMqtt gateway (https://compatible.openmqttgateway.com/)
- custom software im device
- esphome mit esp32
- alter raspi3 als slave mit ble adapter (einfachste lösung für nicht-bastler - nachteil: viel "hardware" für das auslesen von 3 sensoren)
Also um diese Xiaomi LYWSD03MMC:
auszulesen benötigst du als erstes mal eine hardware die bluetooth spricht. Ein raspi könnte sich anbieten ist aber eigentlich ein totaler overkill - und zwar nicht nur hardwareseitig sondern auch softwareseitig (Zeitaufwand, Komplexität, Fehleranfälligkeit, etc.).
Besser also safe & simple: ein ESP32 bietet sich hier an. Wichtig ist aber das dieser permanent bestromt werden muss weil, anders wie von @SBorg beschrieben, die Xiaomi LYWSD03MMC nur von selbst die Messwerte sendet und diese nicht extra abgefragt werden. Dies ist mit auch der Grund wieso diese kleinen Dinger 1 Jahr (bei 10-minütigen Sendeintervall) mit einer Knopfzelle laufen, und das sogar mit LCD !
Der "TelinkFlasher" (läuft direkt im Browser) ist mit Abstand der einfachste Weg an den Bindkey (=Key zur Entschlüsselung der Broadcasts) zu kommen. Außerdem ersparst du dir damit ein China Cloud Account und packet sniffing mit Wireshark .
Mit dem gleichen Flasher kannst du wahlweise auch eine custom firmware aufspielen, ein korrekter Bindkey wird dann nicht mehr benötigt.Bleibt die Frage welche software auf dem ESP32 laufen soll um die Xiaomi Broadcasts einzufangen. Ich hatte tatsächlich mal vor über 2 Jahren mit OMG (OpenMQTTGateway) hantiert, durch esphome ist dies aber komplett obsolet geworden. Der Fakt das esphome alle (und noch viel viel mehr) Funktionalitäten von OMG abbildet sowie auch eine wirkliche praktische Modularisierung und Skalierungsmöglichkeiten bietet ist der Zug für mich hier abgefahren.
Eine schöne Eigenschaft bei esphome ist, dass man nicht nur stumpf die Daten vom Xiaomi Dinges ((Temperatur, Luftfeuchte und Batterie Level) bekommen muss, sondern diese wahlweise auch noch gleich erweitern kann, z.B. um Taupunkt oder Absolute Feuchtigkeit:
Außerdem hat man natürlich esphome style auch Zugriffs auf's ganze Sortiment und kann sich z.B. Feldstärke, Uptime, Status usw. anzeigen lassen wie auch direkt den ESP steuern und z.B. neu starten.
Außerdem kann man seinen ESP natürlich auch noch um beliebige Hardware aufmotzen und z.B. ein Display anhängen auf dem auch die Sensordaten der Xiaomis anzeigt werden könnten:
-
Sehr schöne Entwicklung in diesem Thread! Ich spitze hier mal die Ohren. Hatte vor Jahren von solchen Bluetooth/WLAN-Gateways geträumt. Als dann die ESP32 rauskamen, hatte ich aber nicht die Muße, mich in FreeRTos und die Espressif Entwicklungsumgebung einzuarbeiten.
Aber wenn ESPHome das alles schon kann, ist das ein Blick wert. Und vielleicht könnte ich dann auch meinenAutomower 440 einbinden?
@OpenSourceNomad : Es wird wirklich Zeit für ein Einführung in ESPHome und Deine Projekte, Gateways etc.
Habe zwar schon die meisten Anwendungen mit HM, WLAN und 433MHz realisiert. Und 433MHz Sensoren sind billig und mit den Reichweiten komme ich durchs ganze Haus und in den Garten. Aber die Technik ist alt, generell unidirektional und einige Geräte (T-H-Sensoren) legen sich beim Batteriewechsel lästigerweise neue Adressen zu. -
vielen dank - super ausführlich - ich habe eh gleich 2 esp32 mitbestellt und werde wohl deine beschriebene methode mal versuchen. wäre es möglich mal ein solches yaml file von dir zu posten ?
habe schon mal versucht esphome näher anzuschauen - aber irgendwie finde ich den zugang nicht - werd also nochmals die beschreibungen lesen .
falls jmd ein gutes video kennt, bitte posten - ich finde nur videos mit home-assistant. über die command oberfläche geht es wohl auch - aber das muss ich erst sehen und machen, um zu entscheiden, ob ich das positiv bewerten kann. evtl ist das hier eine lösung: ESPHome dashboard
da ich viele tasmota devices habe, wäre das hier auch interessant für mich: https://tasmota.github.io/docs/Bluetooth/#ble-sensors-on-esp32-using-built-in-bluetooth auch der LYWSD03MMC wird unterstützt - leider scheint die battery nicht übertragen zu werden - was ein großer nachteil ist
-
muss noch eine sache fragen:
um das dahsboard ohne homeassistant zu nutzen .
ich habe im büro direkt am schreibtisch einen raspi4, der eigentlich nur mit chrome (kiosk) eine visseite mit meinen cams anzeigt.
ich könnte doch diesen mit python bespielen und als admin tool für esphome nutzen. somit kann ich die erstinstallation über usb machen und habe dann auch noch das dashboard.wie machst du das ? nutzt du home assistant oder nur über command und python auf deinem pc ?
-
@liv-in-sky said in hygrometer (luftfeuchte) - hilfe bei integration:
falls jmd ein gutes video kennt, bitte posten - ich finde nur videos mit home-assistant. über die command oberfläche geht es wohl auch - aber das muss ich erst sehen und machen, um zu entscheiden, ob ich das positiv bewerten kann. evtl ist das hier eine lösung: ESPHome dashboard
ESPHome ist zwar sehr eng mit home assistant verbandelt (und ist aktuell auch die einzige Plattform die mit der native api und one click configuration das gute, 20 Jahre alte, mqtt komplett überflüssig macht) ist aber natürlich auch trotzdem noch 100% kompatibel zu mqtt. Wahlweise können esphome nodes natürlich auch komplett autark arbeiten oder Kommunikation über SMS (das kompatible Modul kostet schlappe 2€ und läuft bei mir mit 10-jahres Simkarte), 433, IR und zig anderen Möglichkeiten kommunizieren.
Ohne home assistant kannst du esphome entweder als pip oder per docker installieren. Es werden soweit alle verbreiteten Plattformen unterstützt, einzig bei Windows muss man auf das Dashboard verzichten.
falls jmd ein gutes video kennt, bitte posten - ich finde nur videos mit home-assistant
Die werden dir genau so helfen sobald esphome bei dir läuft da es überall gleich funktioniert und auch das Dashboard das gleiche ist. Du musst einzig auf den Komfort der 1-klick-Installation (hassio addon ist im Endeffekt das gepackte Docker Image) und auf die api verzichten und diese z.B. durch mqtt ersetzen in deiner Konfiguration.
@liv-in-sky said in hygrometer (luftfeuchte) - hilfe bei integration:
ich habe im büro direkt am schreibtisch einen raspi4, der eigentlich nur mit chrome (kiosk) eine visseite mit meinen cams anzeigt.
ich könnte doch diesen mit python bespielen und als admin tool für esphome nutzen. somit kann ich die erstinstallation über usb machen und habe dann auch noch das dashboard.Genau das kannst du machen. Du musst ja nur einmal initial über usb flashen, danach ist ota angesagt.
Außerdem kannst du dir wahlweise auch die binary aus dem Dashboard von esphome ziehen (oder bei command line aus dem zugehörigen Ordner) und diese wie jede andere auch (z.B. vom PC) flashen. Hier sei auch noch einmal auf den esphomeflasher verwiesen - speziell sinnvoll bei esp32 (da der esphomeflasher automatisch das korrekte Partitionslayout wiederherstellt),.wie machst du das ? nutzt du home assistant oder nur über command und python auf deinem pc ?
Hauptsächlich über die Kommandozeile (habe eine lokale Installation mittels pip3/python), so kann ich meine yaml-Dateien ganz elegant mit den Editoren meines Vertrauens bearbeiten. Zu 99,9% benutze ich folgende zwei Kommandos:
esphome nodename.yaml run
undesphome nodename.yaml logs
, ersteres macht quasi alles (yaml syntax prüfen, kompilieren und auch gleich den upload über ota, oder wahlweise ubs wenn angeschlossen ist, sowie das öffnen des loggings). Zweites Kommando öffnet das logging, ebenfalls über ota oder wenn usb dann klassisch als serial log. In Farbe -
@liv-in-sky said in hygrometer (luftfeuchte) - hilfe bei integration:
wäre es möglich mal ein solches yaml file von dir zu posten ?
Also eigentlich genau wie es in der Dokumentation schon beschrieben ist:
Natürlich mit Anpassungen (mac, bindkey) für den eigenen Gebrauch
sensor: - platform: xiaomi_lywsd03mmc mac_address: "A4:B1:32:C3:78:33" # No 1 bindkey: "ceb77045cf87732b045f4af4df823de0" # No 1 temperature: name: "${upper_devicename} Xiaomi No 1 Temperature" id: no1temperature humidity: name: "${upper_devicename} Xiaomi No 1 Humidity" id: no1humidity battery_level: name: "${upper_devicename} Xiaomi No 1 Battery Level"
Der Taupunkt und die Absolute Feuchtigkeit, hier im Bild, ist ebenfalls nur ein copy & paste, von hier:
sieht bei mir dann so aus:
- platform: template name: "${upper_devicename} Xiaomi No 1 Absolute Humidity" lambda: |- const float mw = 18.01534; // molar mass of water g/mol const float r = 8.31447215; // Universal gas constant J/mol/K return (6.112 * powf(2.718281828, (17.67 * id(no1temperature).state) / (id(no1temperature).state + 243.5)) * id(no1humidity).state * mw) / ((273.15 + id(no1temperature).state) * r); // in grams/m^3 unit_of_measurement: g/m³ icon: 'mdi:water' - platform: template name: "${upper_devicename} Xiaomi No 1 Dew Point" lambda: return (243.5*(log(id(no1humidity).state/100)+((17.67*id(no1temperature).state)/(243.5+id(no1temperature).state)))/(17.67-log(id(no1humidity).state/100)-((17.67*id(no1temperature).state)/(243.5+id(no1temperature).state)))); unit_of_measurement: °C icon: 'mdi:thermometer-alert'
bleiben noch:
Wifi Feldstärke, Uptime, Version, Status und der Restart switch. Alles copy & paste wie in der Dokumentation.Zusätzlich natürlich noch die core Einstellungen sowie wie wifi, ota, logger, web server und dann eben noch wahlweise api oder mqtt für die Kommunikation zur Zentrale. Alles copy & paste aus der Doku.
Für Einstellungen die sich wiederholen sei auf die substitions und vor allem die packages verwiesen. Wifi, ota, logger, web server usw. muss man dann nicht für jeden node einzeln definieren sondern kann diese in einer yaml für alle nodes vorhalten.
Um das wlan Passwort dann z.B. für (sagen wir mal 100 oder 1000 esphome nodes ) zu ändern muss genau eine Datei angefasst werden und ein Kommando (
update-all
) in die Kommandozeile (oder eben ein klick im Dashboard)...und es gibt Leute die können ihr (kompromittiertes, im Internet einsehbares) WLAN Passwort nicht ändern weil Sie alle Ihre Geräte einzelnen aktualisieren müssten und Ihnen das zu großer Aufwand ist Wahrscheinlich aber egal weil die Leute ja genau sowenig updates einspielen um bekannte Sicherheitslücken zu fixen...
-
@OpenSourceNomad sagte in hygrometer (luftfeuchte) - hilfe bei integration:
@SBorg said in hygrometer (luftfeuchte) - hilfe bei integration:
Den ESP und BT-Empänger kannst du dann wieder auf einem Steckboard "zusammen zimmern"
Und das wäre mir auch neu. Ich kenne keinen einzigen BT-Empfänger der mit einem ESP(82xx) kompatibel ist. Deswegen nimmt man einen ESP32 welcher bluetooth bereits an board hat.
Ich kenne zumindest den HM-10
Banggood
Hat sogar schon einen Level-Shifter für 5V<-> 3.3V extra für die ESP82xx onboard.
(Habe ich selbst aber noch nie benutzt. Der BT-Empfänger vom NUC deckt das gesamte Grundstück [und mehr ] ab )@OpenSourceNomad sagte in hygrometer (luftfeuchte) - hilfe bei integration:
Wichtig ist aber das dieser permanent bestromt werden muss weil, anders wie von @SBorg beschrieben, die Xiaomi LYWSD03MMC nur von selbst die Messwerte sendet...
Finde ich zwar nirgends, dann hätte ich mich aber verschrieben
Mit der Original-Firmware musst du per Handy/Cloud die Daten abfragen, denn von der APP werden die Daten erst auf Anforderung gesendet. Das war auch das Problem beim BLE Adapter, dass es freiwillig von sich aus nichts sendet. Mit der Customized-FW sendet es die Daten im eingestellten Intervall, auch ist das Daten-Format wesentlich einfacher (und zumindest dokumentiert bei Einstellung "Customized"). Aber ev. reden wir auch einfach von verschiedenen Firmwares. -
@SBorg said in hygrometer (luftfeuchte) - hilfe bei integration:
Ich kenne zumindest den HM-10
Habe ich mich falsch ausgedrückt: Ich kenne keinen BT-Empfänger für einen ESP82XX der mit esphome kompatibel ist Alles andere ist für mich nicht von Bedeutung
Hat sogar schon einen Level-Shifter für 5V<-> 3.3V extra für die ESP82xx onboard.
Ist übrigens für esp82xx's nicht nötig. Die können 5V auf den GPIO's ohne Einschränkungen handhaben.
Allerdings ist das Ding ja sowieso preislich uninteressant. Habe gerade zwei esp32 für 6€ (ergo 3€/Stk) geschossen und die haben BT bereits on board und werden voll von esphome unterstützt