DriveWithTheDog

Der Community-Sensor MQTT für IOBroker

Inhaltsverzeichnis:

  • Einleitung
  • Quellen
  • Anleitung:
    • Einstellungen am MQTT-Server (z.B. ioBroker)

Einleitung:

Geht es euch Smarthomer zum Teil auch auf den Nerven, dass man für ein paar Produkte so unendlich viel Geld ausgeben muss und dann zum Teil Funktionen fehlen?
Das z.B. bei den Z-Wave Multisensoren keine Luftfeuchtigkeit gemessen werden kann und dass es dann auch 50-60€ pro Sensor abgerufen werden?

Ich hatte mir mal Gedanken gemacht – was ICH für mich in jeden Raum erstmal wichtig fände:
– [Sensor] Temperatur
– [Sensor] Luftfeuchtigkeit
– [Sensor] Umgebungslicht
– [Sensor] Bewegungserkennung

Bei rum gekommen ist die folgende Schaltung auf Arduino-Basis. Jetzt steht für mich aber die Frage in den Raum, wie kann ich das ganze Smart bekommen?
Gedanklich war ich schon beim ESP32 angekommen.
Ebenfalls frag ich mich, welches die sinnige Stromversorgung wäre – eigentlich fände ich Batterie als sehr sinnvoll. Nur wie ermittle ich damit den Batteriezustand?

=> Ziel des ganzen:
Eine fertige Anleitung – was wo auf welchen PIN angeschlossen wird.
Ein fertiges Sketch – für Copy&Paste + gut Kenntlichgemachte Variablen die man selber ändern muss.
Ein komplettes Communityprojekt


Quellen:

  1. Ein paar Codeschnipsel und Infos für Hilfestellungen
    https://1technophile.github.io/OpenMQTTGateway/
  2. Ein paar Codeschnipsel und Infos für Hilfestellungen
    https://1technophile.blogspot.de/2016/09/433tomqttto433-bidirectional-esp8266.html
  3. Ein paar Codeschnipsel und Infos für Hilfestellungen
    https://github.com/1technophile/OpenMQTTGateway
  4. Ein paar Codeschnipsel und Infos für Hilfestellungen
    https://github.com/1technophile/OpenMQTTGateway/wiki
  5. Das GIT-Verzeichnis von tzapu, welcher den Wifimanager geschrieben hat
    https://gist.github.com/tzapu/
  6. Das GIT-Verzeichnis von tzapu, welcher den Wifimanager geschrieben hat
    https://gist.github.com/tzapu/ecc0759829d30d5a6152
  7. Ein paar Codeschnipsel und Infos für Hilfestellungen
    https://hackaday.com/2017/03/18/configure-esp8266-wifi-with-wifimanager/
  8. Ein paar Codeschnipsel und Infos für Hilfestellungen
    https://github.com/dagrende/cheaperstick
  9. Meine Notizen V1 Pastebin
    https://pastebin.com/hyK1HJ4h
  10. Ein paar Codeschnipsel und Infos für Hilfestellungen
    http://esp8266.github.io/Arduino/versions/2.0.0/doc/libraries.html
  11. Facebooklink zum Projekt.
    https://www.facebook.com/groups/440499112958264/permalink/588515274823313/
  12. Infos bezüglich des Webservers
    https://circuits4you.com/2016/12/16/esp8266-web-server-html/
  13. Ein paar Codeschnipsel und Infos für Hilfestellungen
    https://diyprojects.io/esp8266-dht22-mqtt-make-iot-include-home-assistant/#.WpMhc6jiaUk 
  14. Ein paar Codeschnipsel und Infos für Hilfestellungen
    https://www.generationrobots.com/blog/de/2017/08/homeautomation-mit-raspberry-pi-und-esp8266/
  15. PubSub Client MQTT Client für ESP8266
    https://gist.github.com/igrr/7f7e7973366fc01d6393
  16. Wie in EEPROM schreiben und lesen
    https://github.com/esp8266/Arduino/blob/342c4ae6fb847bfc787f80b89a2bb888d942dc32/libraries/DNSServer/examples/CaptivePortalAdvanced/credentials.ino
  17. Das IO.Broker Forum und der link zum Projekt:
    http://www.forum.iobroker.net/viewtopic.php?f=34&t=12419&p=131582#p131582
  18. Der NPT-Client:
    https://github.com/arduino-libraries/NTPClient
  19. BMP-LCP-to-HEX Converter
    http://www.hobbytronics.co.uk/bmp-lcd-converter

Anleitungen:

Einstellungen am MQTT-Server:

I.d.R. erstellt der Sensor seine Pfade passend zu den Werten, die man vorher durch Anpassung der Config-Datei festlegt. Jedoch sind zwei Pfade beim Broker von extern mit Inhalt zu befüllen und vorher zu erstellen.

– info/SystemZeit

– info/SystemDatum

=> Da der Sensor kein RTC Modul vorgesehen hat, soll die Zeit z.B. über MQTT mitgeteilt werden. Das erspart u.A. das Einbinden von der passenden Header für NTP.
Wenn man diese Funktion nicht nutzen will, ist das nicht schlimm, dann erstellt man die Pfade und gibt NULL-Werte an (z.B. 00:00) – andernfalls kann man über ein Script die aktuelle Uhrzeit eintragen lassen. Ich erledige das über IOBROKER mit einem kleinen Blockly, der jede Minute einmal läuft.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.