Die Zisterne lernt MQTT

Update vom 14.06.2020 hier

Mit der Version 1.017 bekommt der NodeMCU mit dem Sensor für die Füllstandsmessung der Zisterne (siehe auch die beiden anderen Artikel hier und hier) das MQTT-Protokoll beigebracht. Was MQTT ist, erfahrt ihr ausführlich hier in der Wikipedia oder hier mit weiterführenden Erklärungen wie das ganze z.B. in FHEM genutzt werden kann. Im Heise-Artikel wird MQTT auch sehr anschaulich erklärt.

Benötigt wird ein MQTT-Server (z.B. Mosquitto) dessen IP in die Konfiguration eingetragen werden muss. Optional kann ein Benutzername und ein Passwort genutzt werden. Dann noch das Topic unter dem der Sensor seinen Wert (Füllstand in %) an den MQTT-Broker veröffentlichen soll. Unter „Intervall“ dann noch die Zeit in Sekunden zwischen den Veröffentlichungen angeben.

http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin

Gruß Chris

16 Gedanken zu „Die Zisterne lernt MQTT

  • 23. Oktober 2019 um 09:15 Uhr
    Permalink

    super arbeit
    könntest du auch einen Output des Liters ausgeben?
    ich versuche damit meinen Heizölvorrat zu berechnen..
    wäre es möglich auch 3-4 dezmalstellen bei den prozenten auszugeben?

    danke

    Antwort
    • 29. Oktober 2019 um 19:32 Uhr
      Permalink

      Hallo Alexander,

      das mit den Dezimalstellen kann ich konfigurierbar machen.
      Allerdings denke ich, dass die Messung mit dem Ultraschalsensor für Kommawerte zu ungenau ist, bzw. zuviel springt. Aber ich baue das mal ein.

      Eine Ausgabe in Litern sollte kein Problem sein. Allerdings muss man die Abmaße und Form des Tanks/Zisterne irgendwie mit einfliessen lassen.
      Wenn´s am kommenden WE regnet schaue ich danach auch mal.

      Gruß
      Chris

      Antwort
  • 28. April 2020 um 22:24 Uhr
    Permalink

    Wenn bei Zisternenform auch andere Formen, wie z.B. Quader hinterlegt wären, wäre saucool.

    Danke

    Antwort
    • 29. April 2020 um 17:23 Uhr
      Permalink

      Hi Pete,

      da bin ich aktuell tatsächlich dran. Dauert aber noch ein paar Tage…

      Gruß
      Chris

      Antwort
  • 7. Mai 2020 um 19:07 Uhr
    Permalink

    Hallo,
    kann man auch ein Port irgendwo angeben wenn man mehrer MQTT-Server laufen hat?
    Oder welches ist der Standardport?

    Antwort
    • 7. Mai 2020 um 19:26 Uhr
      Permalink

      Hallo Micha,

      gute Frage da ich es nirgends angegeben habe…
      Ich nutze den für MQTT definierten Standardport 1883 (kein SSL). Ich werde auf der Webseite des ESP in den Einstellungen in der kommenden Version einen Hinweis einbauen.

      Gruß Chris

      Antwort
      • 7. Mai 2020 um 22:31 Uhr
        Permalink

        Hallo,
        kannst du das vielleicht zum selber konfigurieren machen? Bei mir ist der 1883 schon belegt und ich kann den jetzt auch schlecht wechseln.

        Gruß

        Antwort
        • 9. Mai 2020 um 08:22 Uhr
          Permalink

          Hi Micha,

          ja, sollte gehen. Kommt in der nächsten Version. Geb mir aber etwas Zeit…

          Gruß
          Chris

          Antwort
  • 7. Mai 2020 um 20:03 Uhr
    Permalink

    Hallo,

    gibt es auch eine Anleitung wie ich die Daten nun in FHEM bekomme? Also da bin ich wohl zu blöd zu….

    Antwort
    • 9. Mai 2020 um 08:27 Uhr
      Permalink

      Hallo Tim,

      eine mögliche Lösung habe ich hier Füllstandsmessung der Zisterne mittels ESP8266 (NodeMCU) und Ultraschallsensor unter „Daten an eigene API übergeben“ beschrieben. Das funktioniert dort mit einem kleinen PHP-Script welches die Daten vom Sensor über den URL entegen nimmt und dann per Telnet an FHEM sendet. In dem Beispiel wird es parallel noch in eine mySQL-Datenbank eingetragen.
      Ich mache mir aber mal Gedanken über eine direkte Übermittlung der Daten an FHEM…

      Gruß
      Chris

      Antwort
  • 26. Dezember 2020 um 14:18 Uhr
    Permalink

    Moin
    Bei mir schaut es so aus in FHEM :

    define MQTT2_esp8266_CC_50_E3_D_15_2D MQTT2_DEVICE esp8266_CC_50_E3_D_15_2D
    setuuid MQTT2_esp8266_CC_50_E3_D_15_2D 5fa8eb1b-f33f-8d4e-75f2-c7d3913c9a580492
    attr MQTT2_esp8266_CC_50_E3_D_15_2D IODev mqtt2
    attr MQTT2_esp8266_CC_50_E3_D_15_2D alias Heitzöltank
    attr MQTT2_esp8266_CC_50_E3_D_15_2D group Oelheizung
    attr MQTT2_esp8266_CC_50_E3_D_15_2D icon humidity
    attr MQTT2_esp8266_CC_50_E3_D_15_2D readingList esp8266_CC_50_E3_D_15_2D:Abstand:.* Abstand
    attr MQTT2_esp8266_CC_50_E3_D_15_2D room Heizung
    attr MQTT2_esp8266_CC_50_E3_D_15_2D stateFormat Fuellstand %

    Leider bekomme ich keine Liter angabe im mqtt mitgesendet. Vieleicht könnte man es da noch mit einpflegen !?

    MfG
    Dennis

    Schöne Weihnachten und einen guten Rutsch

    Antwort
    • 26. Dezember 2020 um 15:27 Uhr
      Permalink

      Hi Dennis,

      kann ich noch einbauen. Bin eh gerade an einer neuen Version dran die auch liegende Zylinder und einen DHT22 unterstützt. Kommt die Tage…

      Gruß
      Chris

      Antwort
  • 19. April 2022 um 22:40 Uhr
    Permalink

    Hallo,
    danke für die super Arbeit, läuft bei mit sauber und stabil. Ich habe leider ein Problem, ich bekommen die Daten nicht an meinen Homeassistant per MQTT gesendet. Die Verbindungzum Server ist da. Was muss ich in den 3 freien Feldern bzw wie müssen die Einträge in den freien Feldern aussehen?
    Topic Füllstand
    Topic Abstand
    Topic Liter
    Danke
    Gruß Ralf

    Antwort
    • 23. April 2022 um 08:43 Uhr
      Permalink

      Hallo Ralf,

      da musst Du die MQTT-Topics eingeben wie Du sie auf dem MQTT-Server konfiguriert hast (inkl. Hierarchie). Also sowas wie /heimautomatisierung/garten/zisterne/fuellstand.
      Das ist nur ein Beispiel! Was genau Du eintragen must, hängt von Deiner Konfig ab.

      Gruß
      Chris

      Antwort
      • 23. April 2022 um 18:16 Uhr
        Permalink

        Hallo Chris,
        danke für die Antwort….läuft
        Gruß Ralf

        Antwort
  • 26. April 2022 um 21:03 Uhr
    Permalink

    Hallo Chris,
    super Projekt, vielen Dank fürs Teilen. Ultraschallsensor habe ich direkt bestellt und ein nodemcu hab ich hier auch noch rum fliegen.
    Bietet deine Firmware auch die Möglichkeit ein Ethernet-Modul (z.B. ENC28J60) anzuschließen? Mein WLAN-Empfang an der Stelle ist leider sehr dünn und ist nicht dauerhaft verfügbar. Ich bin ohnehin ein Fan von fester Verkabelung im Gegensatz zu Funk.

    Ich würde es auch in den sourcen selbst nachrüsten, sofern verfügbar.

    Grüße
    Johannes

    Antwort

Schreibe einen Kommentar

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