Gaszähler Mqtt Bausatz

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Gaszähler Mqtt Bausatz

Beitrag von PeterA »

Hallo Zusammen.

Hier ein kleines Projekt welches ich euch vorstellen möchte:

Gaszähler mittels D1 Wemos Mini.
Das ganze gibt es als Bausatz inkl. ausführlicher Anleitung und Wiki hier:
https://wiki.gorjup.de/doku.php?id=public:gaszaehler

Hier die mqtt-gascounter.things:

Code: Alles auswählen

Bridge mqtt:broker:3448a27a [ host="localhost", secure=false ]
{
    // D1 Wemos Mini @ B4-G4-MT Gaszähler, IP: 192.168.2.113 
    Thing topic gascounter "D1 Wemos Mini" @ "Gaszähler" {
    Channels:

        Type number   : Gastotal         "Zählerstand"                      [ stateTopic="tele/tasmota_504CD2/main/gastotal" ]
        Type number   : value            "Zählung seit Nullung"             [ stateTopic="tele/tasmota_504CD2/main/value" ]
        Type number   : today_m3         "Verbrauch Volumen heute"          [ stateTopic="tele/tasmota_504CD2/main/td_m3" ]
        Type number   : today_kwh        "Verbrauch Energie heute"          [ stateTopic="tele/tasmota_504CD2/main/td_kwh" ]
        Type number   : yesterday_m3     "Verbrauch Volumen gestern"        [ stateTopic="tele/tasmota_504CD2/main/yd_m3" ]
        Type number   : yesterday_kwh    "Verbrauch Energie gestern"        [ stateTopic="tele/tasmota_504CD2/main/yd_kwh" ]
        Type number   : db_yesterday_m3  "Verbrauch Volumen vorgestern"     [ stateTopic="tele/tasmota_504CD2/main/dbyd_m3" ]
        Type number   : db_yesterday_kwh "Verbrauch Energie vorgestern"     [ stateTopic="tele/tasmota_504CD2/main/dbyd_kwh" ]
    }
}
Die entsprechenden Items dazu mqtt-gascounter.items:

Code: Alles auswählen

Group     gascounter
Group     gascounterStats
Number    Gastotal            "Zählerstand [%.2f m³]"                      <gas>     (gascounter)    {channel="mqtt:topic:3448a27a:gascounter:Gastotal"}
Number    value               "Zählung seit Nullung [%.2f m³]"             <gas>     (gascounter)    {channel="mqtt:topic:3448a27a:gascounter:value"}
Number    today_m3            "Verbrauch Volumen heute [%.2f m³]"          <gas>     (gascounter)    {channel="mqtt:topic:3448a27a:gascounter:today_m3"}
Number    today_kwh           "Verbrauch Energie heute [%.2f kWh]"         <fire>    (gascounter)    {channel="mqtt:topic:3448a27a:gascounter:today_kwh"}
Number    yesterday_m3        "Verbrauch Volumen gestern [%.2f m³]"        <gas>     (gascounter)    {channel="mqtt:topic:3448a27a:gascounter:yesterday_m3"}
Number    yesterday_kwh       "Verbrauch Energie gestern [%.2f kWh]"       <fire>    (gascounter)    {channel="mqtt:topic:3448a27a:gascounter:yesterday_kwh"}
Number    db_yesterday_m3     "Verbrauch Volumen vorgestern [%.2f m³]"     <gas>     (gascounter)    {channel="mqtt:topic:3448a27a:gascounter:db_yesterday_m3"}
Number    db_yesterday_kwh    "Verbrauch Energie vorgestern [%.2f kWh]"    <fire>    (gascounter)    {channel="mqtt:topic:3448a27a:gascounter:db_yesterday_kwh"}
Und hier noch der relevante Teil für die Sitemap:

Code: Alles auswählen

}
    Frame label="Gaszähler" icon="fire" {
        Text item=Gastotal   label="Aktueller Zählerstand:" icon="fire" {
            Frame label="Gaszähler" {           
            Default item=Gastotal
            Default item=value 
            Default item=today_m3 
            Default item=today_kwh 
            Default item=yesterday_m3
            Default item=yesterday_kwh
            Default item=db_yesterday_m3
            Default item=db_yesterday_kwh
            }
        }
    }
Hinweis:
Die textuelle Konfiguration erfolgte für OpenHab 2.4

Viele Grüße

Peter
- OpenHab 2.4
#PWRUP

Benutzeravatar
udo1toni
Beiträge: 14038
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Gaszähler Mqtt Bausatz

Beitrag von udo1toni »

Sehr schön.

Als Ergänzung für OH4 (aber auch in Textform...)
Thing (hier mit dem json Payload):

Code: Alles auswählen

Bridge mqtt:broker:broker "Mosquitto" [ 
    host="localhost", 
    secure=false 
] {
    Thing topic gascounter "D1 Wemos Mini" {     // D1 Wemos Mini am Gaszähler
    Channels:
        Type number   : total            "Zählerstand"                      [ stateTopic="tele/tasmota_504CD2/json", unit="m³",  transformationPattern="JSONPATH:$.gastotal" ]
        Type number   : value            "Zählung seit Nullung"             [ stateTopic="tele/tasmota_504CD2/json", unit="m³",  transformationPattern="JSONPATH:$.value" ]
        Type number   : today_m3         "Verbrauch Volumen heute"          [ stateTopic="tele/tasmota_504CD2/json", unit="m³",  transformationPattern="JSONPATH:$.today_m3" ]
        Type number   : yesterday_m3     "Verbrauch Volumen gestern"        [ stateTopic="tele/tasmota_504CD2/json", unit="m³",  transformationPattern="JSONPATH:$.yesterday_m3" ]
        Type number   : db_yesterday_m3  "Verbrauch Volumen vorgestern"     [ stateTopic="tele/tasmota_504CD2/json", unit="m³",  transformationPattern="JSONPATH:$.db_yesterday_m3" ]
        Type number   : today_kwh        "Verbrauch Energie heute"          [ stateTopic="tele/tasmota_504CD2/json", unit="kWh", transformationPattern="JSONPATH:$.today_kwh" ]
        Type number   : yesterday_kwh    "Verbrauch Energie gestern"        [ stateTopic="tele/tasmota_504CD2/json", unit="kWh", transformationPattern="JSONPATH:$.yesterday_kwh" ]
        Type number   : db_yesterday_kwh "Verbrauch Energie vorgestern"     [ stateTopic="tele/tasmota_504CD2/json", unit="kWh", transformationPattern="JSONPATH:$.db_yesterday_kwh" ]
    }
}
Items:

Code: Alles auswählen

Group         gascounter
Number:Volume gastotal            "Zählerstand"                  <gas>  (gascounter) {channel="mqtt:topic:broker:gascounter:total",           unit="m³",  stateDescription=""[pattern="%.2f m³"]}
Number:Volume gasvalue            "Zählung seit Nullung"         <gas>  (gascounter) {channel="mqtt:topic:broker:gascounter:value",           unit="m³",  stateDescription=""[pattern="%.2f m³"]}
Number:Volume gastoday            "Verbrauch Volumen heute"      <gas>  (gascounter) {channel="mqtt:topic:broker:gascounter:today_m3",        unit="m³",  stateDescription=""[pattern="%.2f m³"]}
Number:Volume gasyesterday        "Verbrauch Volumen gestern"    <gas>  (gascounter) {channel="mqtt:topic:broker:gascounter:yesterday_m3",    unit="m³",  stateDescription=""[pattern="%.2f m³"]}
Number:Volume gasdb_yesterday     "Verbrauch Volumen vorgestern" <gas>  (gascounter) {channel="mqtt:topic:broker:gascounter:db_yesterday_m3", unit="m³",  stateDescription=""[pattern="%.2f m³"]}
Number:Energy gastoday_kwh        "Verbrauch Energie heute"      <fire> (gascounter) {channel="mqtt:topic:broker:gascounter:today_kwh",       unit="kWh", stateDescription=""[pattern="%.2f kWh"]}
Number:Energy gasyesterday_kwh    "Verbrauch Energie gestern"    <fire> (gascounter) {channel="mqtt:topic:broker:gascounter:yesterday_kwh",   unit="kWh", stateDescription=""[pattern="%.2f kWh"]}
Number:Energy gasdb_yesterday_kwh "Verbrauch Energie vorgestern" <fire> (gascounter) {channel="mqtt:topic:broker:gascounter:db_yesterday_kwh",unit="kWh", stateDescription=""[pattern="%.2f kWh"]}
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Gaszähler Mqtt Bausatz

Beitrag von PeterA »

Cool!

Aber müsste das nicht "stateDescription" lauten ?
- OpenHab 2.4
#PWRUP

Benutzeravatar
udo1toni
Beiträge: 14038
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Gaszähler Mqtt Bausatz

Beitrag von udo1toni »

Ja, Tippfehler :) schon korrigiert...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

RoooNY
Beiträge: 2
Registriert: 13. Nov 2023 21:15
Answers: 0

Re: Gaszähler Mqtt Bausatz

Beitrag von RoooNY »

Hallo!
Vielen Dank für den Link und die Einbindung.
Jetzt wäre ja das Logging in Datenbank und entsprechend verschiedene generierte Diagramme noch interessant.

Benutzeravatar
udo1toni
Beiträge: 14038
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Gaszähler Mqtt Bausatz

Beitrag von udo1toni »

Unter openHAB3 ff. ist default rrd4j installiert und auf allen Items aktiv, mit den Strategies everyUpdate (evtl. stattdessen everyChange?), everyMinute.
Ob und wie man sich dann eigene Charts dazu baut, ist dann ja hochgradig Geschmacksache.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Gaszähler Mqtt Bausatz

Beitrag von PeterA »

Ja richtig.
Das Charting kann so Individuell sein weshalb ich hier keinen Code davon gepostet habe.
- OpenHab 2.4
#PWRUP

RoooNY
Beiträge: 2
Registriert: 13. Nov 2023 21:15
Answers: 0

Re: Gaszähler Mqtt Bausatz

Beitrag von RoooNY »

Aber man muss ja dafür eine Art Momentenverbrauch ermitteln um bspw stündlichen oder feineren Verbrauch zu ermitteln.

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Gaszähler Mqtt Bausatz

Beitrag von PeterA »

Das kann man dann halt alles mit den entsprechenden Abfragen aus der Persistenz ermitteln.

Siehe auch diesen Post in einem anderen Thread der gerade läuft: viewtopic.php?p=58107#p58107

Da ist das sehr schön vom Udo erklärt.
- OpenHab 2.4
#PWRUP

Antworten