NEWS
Landis+Gyr ULTRAHEAT T550 mit Wemos D1 mini
-
Hallo zusammen,
ich benötige mal wieder Schwarmwissen. Ich habe den Landis+Gyr ULTRAHEAT T550 Zähler an meiner Fernwärme. Diesen würde ich gerne mit einem IR Lesekopf an einem Wemos D1 mini auslesen und dann per MQTT im Iobroker weiter verarbeiten. hat schon jemand Erfahrung damit? Alles was ich gefunden habe ist leider direkt mit einem Raspberry in Iobroker gelöst aber ich würde nur ungerne einen zusätzlichen Raspberry da unten verbauen.
Gruß
Christian
-
@nftvirus Ich habe auch diesen Zähler an der Fernwärme.
Ich habe mir jetzt mal den WIFI lesekopf lese-schreib-Kopf EHZ Volkszähler Hichi Smartmeter bestellt.Dann schauen wir mal weiter
-
@holgerwolf Hallo hast du ihn mittlerweile auslesen können?
-
@nftvirus Nein. Ich hatte auch Rücksprache mit nem Kollegen des Fernwärme-Anbieters (Stadt Mainz). In den hier verbauten Zählern wurde das IR Modul eingespart
-
@holgerwolf ach blöd. Ist das bei dem T550 generell so oder nur in dem speziellen?
-
@nftvirus Wohl nur in den hier Verbauten...
-
@holgerwolf ah ok, dann werde ich mich mal bei mir hier erkundigen und es dann ggf. mal ausprobieren
-
@nftvirus Endlich:
-
@holgerwolf Oh das Sieht ja echt gut aus. Bei mir liegt das Projekt seit ein paar Wochen auf Eis. Wie hast du es gelöst ohne das IR Modul?
-
@nftvirus Nachdem ich in einem anderen Forum gelesen habe, dass das IR Modul wohl immer verbaut ist und nur mit der richtigen Initialisierungssequenz aufgeweckt werden muss, habe ich nochmal "rumgespielt". Ich weiß nicht, was ich letztendlich geändert habe, aber man muss dem Sensor auch Zeit geben. Auch ist der Sensor eigentlich falschrum zu positionieren. Das Kabel muss nach oben weg gehen.
-
Kannst du das Script aus Tasmota mal posten. Würde mich sehr freuen. Danke
-
@tt-tom Bitteschön:
>D scnt=0 res=0 ;Variablen zum Zwischenspeichern der Werte v1=0 v2=0 v3=0 v4=0 v5=0 v6=0 v7=0 v8=0 v9=0 ;Stundenvariable für Tageswert hr=0 ;persistenter Speicher des letzten Werts um 0 Uhr p:sm1=0 p:sm2=0 ;persistenter Speicher des letztens Tagesverbrauchs p:sd1=0 p:sd2=0 >T ;Bei jeder Teleperiode werden die letzten Werte in die Temp Var geschrieben v1=LGUH50#kwh_count v2=LGUH50#kwh_count_year v3=LGUH50#heizleistung_max v4=LGUH50#m3_count v5=LGUH50#m3_count_year v6=LGUH50#unknown v7=LGUH50#durchlauf_max v8=LGUH50#lauf_max v9=LGUH50#flow_count >R >B =>sensor53 r >F ; Fernwrämezähler läuft mit Batterie und wird daher nur stündlich abgefragt ; count 100ms scnt+=1 switch scnt case 600 ;set sml driver to 300 baud and send /?! as HEX to trigger the Meter res=sml(1 0 300) print "Anfrage wird gesendet" res=sml(1 1 "0000000000000000000000000000000000000000") res=sml(1 1 "0000000000000000000000000000000000000000") res=sml(1 1 "2F3F210D0A") res=sml(1 0 2400) case 3000 ;Schicke Werte, falls sie nicht Null sind if v1!=0 then =>publish stat/Fernwaerme/RESULT {"kwh_count":%v1%} endif if v2!=0 then =>publish stat/Fernwaerme/RESULT {"kwh_count_year":%v2%} endif if v3!=0 then =>publish stat/Fernwaerme/RESULT {"heizleistung_max":%v3%} endif if v4!=0 then =>publish stat/Fernwaerme/RESULT {"m3_count":%v4%} endif if v5!=0 then =>publish stat/Fernwaerme/RESULT {"m3_count_year":%v5%} endif if v6!=0 then =>publish stat/Fernwaerme/RESULT {"unknown":%v6%} endif if v7!=0 then =>publish stat/Fernwaerme/RESULT {"durchlauf_max":%v7%} endif if v8!=0 then =>publish stat/Fernwaerme/RESULT {"lauf_max":%v8%} endif if v8!=0 then =>publish stat/Fernwaerme/RESULT {"flow_count":%v9%} endif if sd1!=0 then =>publish stat/Fernwaerme/RESULT {"Tagesverbrauch_kWh":%sd1%} endif if sd2!=0 then =>publish stat/Fernwaerme/RESULT {"Tagesverbrauch_m3":%sd2%} endif ;Neue Runde alle 60 Minuten case 36000 scnt=0 ends >S ;Tagesverbrauch hr=hours if chg[hr]>0 and hr==1 and v2>0 then sd1=v2-sm1 sd2=v5-sm2 sm1=v2 sm2=v5 svars endif >M 1 +1,3,o,16,2400,LGUH50,1 1,6.8(@1,Zählerstand,MWh,kwh_count,3 1,6.8*01(@1,Zählerstand_year,MWh,kwh_count_year,3 1,6.6(@1,maximale Heizleistung,kWh,heizleistung_max,1 1,6.26(@1,Durchlauf,m³,m3_count,2 1,6.26*01(@1,Durchlauf_year,m³,m3_count_year,2 1,9.24(@1,unknown,m³h,unknown,1 1,6.33(@1,maximaler Durchlauf,m³h,durchlauf_max,3 1,9.4(@1,maximale VR Temp,C,lauf_max,1 1,9.31(@1,Fließdauer,h,flow_count,0 #
Ich habe nur die Ausgabewerte auf MWh geändert. Die Variablennamen aber auf kWh belassen. Muss man nur wissen damit man nicht durcheinander kommt.
-
Dankeschön, werde es heute Abend mal testen.
-
Hi ich bekomme keine Daten. In der Konsole von Tasmota bekomme ich nur
23:16:43.907 "Abfrage wird gesendet" 23:16:46.629 : /LUGCUH50
Danach kommt alle 5 Minuten der Publish vom MQTT mit alles Null. Wenn ich das Script richtig verstehe kommt 4 Minuten nach der Anfrage, die Auswertung der Daten. Heißt Tasmota erwartet eine Antwort. Habe auch sensor53 d1 probiert, keine Ausgabe.
Hast du noch ein Tipp?
PS: du hast zweimal if v8!=0 im Script. Richtig oder falsch?
-
@tt-tom Stehen denn die Sensor-Werte im Tastmota Interface?
Das script hat zwei Schleifen. Eine alle 5 Minuten zum Senden der MQTT Werte und eine alle 60 Minuten zum Auslesen des Sensors.
Wenn der Sensor nicht richtig ausgelesen wird (Positionierung mit Kabel nach oben) kommen alle 5 Minuten die Null Werte.Das mit dem "if v8!=0" ist mir nicht aufgefallen. Ich habe das Script übernommen und nur die Einheiten angepasst. Läuft so bei mir.
-
@holgerwolf habe jetzt Werte bekommen, aber irgendwie fehlen welche. das ist die Ausgabe die jetzt erhalte. Komisch ist das erste Steuerzeichen, kannst du es mal mit deinem vergleichen. Danke
16:44:13.231 "Abfrage wird gesendet" 16:44:16.675 : j 16:44:16.872 : 6.26*01(03025.38*m3)6.8*01(0094.258*GJ) 16:44:17.013 : F(0)9.20(69434970)6.35(60*m) 16:44:17.363 : 6.6(0007.4*kW)6.6*01(0007.4*kW)6.33(000.444*m3ph)9.4(085.8*C&081.0*C) 16:44:17.719 : 6.31(0044156*h)6.32(0000000*h)9.22(R)9.6(000&69434970&0&000&69434970&0) 16:44:18.060 : 9.7(20000)6.32*01(0000000*h)6.36(01-01&00:00)6.33*01(000.444*m3ph) 16:44:18.244 : 6.8.1()6.8.2()6.8.3()6.8.4()6.8.5() 16:44:18.403 : 6.8.1*01()6.8.2*01()6.8.3*01() 16:44:18.522 : 6.8.4*01()6.8.5*01() 16:44:18.647 : 9.4*01(085.8*C&081.0*C) 16:44:18.850 : 6.36.1(2022-12-14)6.36.1*01(2022-12-14) 16:44:19.057 : 6.36.2(2021-12-26)6.36.2*01(2021-12-26) 16:44:19.255 : 6.36.3(2022-02-04)6.36.3*01(2022-02-04) 16:44:19.460 : 6.36.4(2021-12-10)6.36.4*01(2021-12-10) 16:44:19.780 : 6.36.5()6.36*02(01&00:00)9.36(2023-02-08&16:18:10)9.24(1.5*m3ph) 16:44:19.909 : 9.17(0)9.18()9.19()9.25() 16:44:20.259 : 9.1(0&1&0&0010&CECV&CECV&1&5.23&5.23&F&101008&1>1>04&08&0&00&:5&00&20) 16:44:20.402 : 9.2(&&)9.29()9.31(0035858*h) 16:44:20.752 : 9.0.1(00000000)9.0.2(00000000)9.34.1(000.00000*m3)9.34.2(000.00000*m3) 16:44:20.952 : 8.26.1(00000000*m3)8.26.2(00000000*m3) 16:44:21.179 : 8.26.1*01(00000000*m3)8.26.2*01(00000000*m3) 16:44:21.308 : 6.26.1()6.26.4()6.26.5() 16:44:21.546 : 6.26.1*01()6.26.4*01()6.26.5*01()0.0(69434970) 16:44:21.563 : !
-
@tt-tom Was die Werte alle bedeuten weiß ich auch nicht. Du hast auch viel mehr. Diese 6.36.X hab ich nicht. Irgendwo hab ich mal ne Auflistung gesehen.
Ich brauche eigentlich nur den 6.8 Wert in der ersten Zeile. Das ist der Zähler. -
das ist ja das komische, es ist nicht 6.8 sondern 6.8*01 das ist der Zählerstand vom 1.1.
es werden auch keine Werte in der Tasmota-Hauptseite angezeigt. Per MQTT kommt auch nur Null.
Kein Problem, per Adapter Smartmeter kann ich ihn komplett auslesen. Danke nochmal für die Hilfe.
-
Hallo zusammen,
die Scripte oben haben bei mir alle nicht richtig funktioniert. 6.8 wurde nie angezeigt. Ich habe dann aber folgendes Script für den T550 bzw. Siemens UH50 erfolgreich zum laufen bekommen:
>D scnt=0 res=0 >R >B =>sensor53 r TelePeriod 300 >F ; Fernwrämezähler läuft mit Batterie und wird daher nur stündlich abgefragt ; count 100ms scnt+=1 switch scnt case 10 ;set sml driver to 300 baud and send /?! as HEX to trigger the Meter res=sml(1 0 300:7E1) print "Anfrage wird gesendet" res=sml(1 1 "0000000000000000000000000000000000000000") res=sml(1 1 "0000000000000000000000000000000000000000") res=sml(1 1 "2F3F210D0A") case 24 res=sml(1 0 2400:7E1) ;Neue Runde alle 60 Minuten case 36000 scnt=0 ends >M 1 +1,3,o,0,2400,LGUH50,1 1,=so2,1 1,6.8(@1,Zählerstand,MWh,kwh_count,3 1,6.8*01(@1,Zählerstand_year,MWh,kwh_count_year,3 1,6.6(@1,maximale Heizleistung,kWh,heizleistung_max,1 1,6.26(@1,Durchlauf,m³,m3_count,2 1,6.26*01(@1,Durchlauf_year,m³,m3_count_year,2 1,9.24(@1,unknown,m³h,unknown,1 1,6.33(@1,maximaler Durchlauf,m³h,durchlauf_max,3 1,9.4(@1,maximale VR Temp,C,lauf_max,1 1,9.31(@1,Fließdauer,h,flow_count,0 #