Hallo :-) erstmal vielen Dank für all die Informationen in diesem Thread und die ganze Arbeit, die hier schon geleistet wurde! Seit einiger Zeit versuche ich (bisher erfolglos) meinen Minol C5-M60 Wärmezähler über die optische ZVEI-Schnittstelle auszulesen. Entweder habe ich hier noch ein grundlegendes Verständnisproblem, auf jeden Fall gibt der Zähler bisher keinen Mucks von sich. Ich gehe davon aus, dass er tatsächlich mbus über die optische Schnittstelle spricht, obwohl ich auch hierbei nicht 100%ig sicher bin. Da meine Versuche mit der Tasmota-Firmware bisher keine Ergebnisse hatten, bin ich auf das mbus-test Tool von Stefan B. umgestiegen. Aber auch nach zahlreichen Versuchen mit den unterschiedlichsten Parametern (Länge der Aufwachsequenz 0 - 3300 ms, Pause 300 - 400 ms) habe ich es nicht geschafft, dem Zähler auch nur eine einzige Antwort zu entlocken. Als Hardware nutze ich zum testen einen Raspi 5, an dem ein Volkszähler-kompatibler IR-Lesekopf von Ueding an den Ports 14 + 15 hängt. Mit mbus-test -t leuchtet die LED schwach rot, d.h. ich denke die Hardware sollte soweit funktionieren. Auch die Positionierung über der Schnittstelle habe ich nach bestem Wissen und Gewissen perfektioniert (Blick durch das leere Gehäuse, Markierung der Position). Eine Restunsicherheit gibt es bei der Ausrichtung, also welche die sendende und welche die empfangende LED des Zählers ist (die dunkler aussehende ist Rx, oder?). Hat irgend jemand noch einen guten Tipp für mich, wie ich die Sache weiter eingrenzen kann? Am besten, wenn irgend jemand schon direkte Erfahrungen mit Minol-Wärmezählern hätte... Mit welchen Parametern von mbus-test zu spielen ist am aussichtsreichsten? Was kann ich noch tun? Bin für jede Hilfe dankbar!
:
Bearbeitet durch User
Ich kann mich nur meinem Vorredner anschließen --> großer Respekt, was hier schon geschrieben wurde. Aber genau darin besteht für mich als Laien auch das Problem; soviele Skripte (oder was auch immer), soviele Seiten - das schaffe ich nicht zu lesen und noch weniger zu verstehen. Deshalb bitte ich die Gemeinschaft hier um Hilfe, damit ich meinen Wärmezähler Metrona Ultraheat XS2 auslesen und die Daten speichern kann. Folgende Konfiguration habe ich: an dem WZ ist ein optische Lesekopf von "Wattwächter" mit Tasmota, der eigentlich für Strommessung ist. Der Verkäufer sagte mir aber, dass das Auslesen schon einmal bei einem Engelmann WZ funktioniert hat - bei meinem funktioniert das mitgeschickte Skript leider nicht. Der IR-Kopf ist ins Netzwerk eingebunden und ich erreiche den auch über den Browser nach Eingabe der IP. Soweit bin ich schon mal. Aaaaber ich kann ihn nicht ansprechen, weil ich keine Ahnung, was ich da eingeben müsste. Ihr würdet mich megaglücklich machen, wenn ihr mir helfen könntet, weil ich verzweifle. Für mich ist das deshalb wichtig, weil ich die Daten dringend brauche, um meine tatsächliche Heizlast zu kennen, weil ich meine Heizung ändern will. ....und der Winter ist fast vorbei. Falls das gar nicht geht, wäre ich auch froh, wenn man mir einen WZ empfehlen oder verschaffen könnte, der einfacher zu handhaben ist. Kann was Gebrauchtes sein, Batteriepaket oder Netzteil würde ich dranbasteln. Alle 15 Minuten abrufen zu können wäre optimal. Vielen, vielen Dank schon mal im voraus.
:
Bearbeitet durch User
Hi Erwin, Der Wattwächter funktioniert sicher ähnlich oder gleich wie der Hitchi Lesekopf, zumal beide Tasmota verwenden. Du brauchst auf jeden Fall ein Tasmota Script, das auf deinen Wärmezähler angepasst ist. Ich hab mal auf https://tasmota.github.io/docs/Smart-Meter-Interface/ geschaut, da ist dein Wärmezähler leider nicht zu finden. Vielleicht findet sich hier jemand, der/die weiterhelfen kann...
Walter schrieb: > Vielleicht findet sich hier jemand, der/die weiterhelfen kann... Ja, das hoffe ich auch. Ich glaube auch fast, dass es die identischen Zähler unter verschiedenen Namen gibt. Auf meinem steht Metrona Ultraheat XS2 drauf, gibt es aber auch mit der Aufschrift ISTA, Landis+Gyr, Qundis etc. Ich habe leider überhaupt keine Ahnung, wie die anzusprechen sind. Habe mich bei Landis+Gyr gemeldet - sehr unkooperetiv... der Mitarbeiter hatte entweder keine Ahnung oder wollte nicht helfen. Angeblich könnte man über die optische Schnittstelle nichts auslesen.... naja, frage mich dann natürlich, wozu die da ist. Vielleicht hatte von euch ja jemand schon mal so ein Teil geöffnet und könnte mir sagen, ob die eingekreisten Stellen im Bild irgendwelche Schnittstellen sein könnten? VG
Guten Tag Nick, ich bin gerade dabei meinen Wärmezähler auszulesen. Auf welcher Tasmotaversion basiert die tasmota_V3.bin.gz (467 KB)? Gibt es auch schon eine auf die aktuelle Version von Tasmota kompilierte Version? Danke und Grüße. Nick K. schrieb: > Nick K. schrieb: >> hier mal die angepasste Tasmota Firmware mit: >> - Möglichkeit den hardware serial port. neu zu starten ("-" vor der >> nummer des Ports), z.B. sml(-1 1 "9600:8E1") >> >> - größerer Serial Buffer (#define SML_BSIZ 200) >> >> wie hier besprochen https://github.com/arendst/Tasmota/discussions/17388 > > Ich habe in "Version 2" vergessen die Option "USE_SML_SCRIPT_CMD" mit zu > aktivieren. Kann also nicht funktionieren
Guten Tag Andreas, ich versuche mein script mit der Version 14.6.0 zum laufen zu bringen. Leider klappt das nicht :-( nach jedem reboot fehlt der Hacke "script aktiv" was mache ich falsch? Danke Andreas schrieb: > Andreas schrieb: >> Lösung war nicht ein anderes Netzteil >> => habe seit gestern den "Hichi IR Wifi v2" verbaut und der sendet alle >> ca. 110 min die Daten > > Hallo :-) > > ich habe leider "wieder" ein Problem und finde keine Lösung > > der "Hichi IR Wifi v2" verabschiedet sich alle 2/3 Tage > - also die WebUI ist dann nicht mehr erreichbar und sendet natürlich > dann auch keine Daten mehr an Mqtt > > Stromlos machen => dann geht es wieder für 2/3 Tage > > Bisher habe ich: > - mehrere Netzteile versucht > - andere USB Kabel > - neuen Lesekopf "Hichi IR Wifi v2" mit Tasmota 14.4.1 > - (Position Lesekopf dann natürlich auch, kenne sie jetzt sehr gut)
Paul T. schrieb: > Guten Tag Andreas, > > ich versuche mein script mit der Version 14.6.0 zum laufen zu bringen. Hallo Paul, meiner läuft auf Version 14.4.1 Habe dieses Problem nicht (auch mit einer älteren Version) Vielleicht, verwende mal einen anderen Browser zum aktivieren des Hakens „Script enable“ Und natürlich nicht das „Save“ vergessen
:
Bearbeitet durch User
Hallo Andreas, danke :-) das habe ich schon probiert. Besteht die Möglichkeit, das ich Dein bin-File bekomme? Ich nutze einen ESP Chip Id 5071304 ESP32-D0WD-V3 v3.0. Danke
Paul T. schrieb: > Besteht die Möglichkeit, das ich Dein bin-File bekomme? Habe diese Version verwendet: https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/#4 und von dort die tasmota32c3_ottelo.bin Dort gibt es natürlich schon eine neuere Version :-)
👍🏻 Danke Nur noch eine Frage, welches der Scripte verenden Sie? Grüße
Bei meinen Beiträgen, der letzte ist auch aktiv Mein Lesekopf wird übrigens 1x am Tag rebootet, so läuft er jetzt auch super und zuverlässig
Hi miteinander - da ich gerne MQTT über TLS hätte hab ich selbst Tasmota kompiliert - allerdings ist der RAM dann ziemlich ausgelastet (Abstürze) wenn man nicht weitere Funktionen aus Tasmota entfernt. Habe daher via PlatformIO kompiliert und viel aus der my_user_config entfernt. (z. B. Domoticz, Home Assistant Discovery, etc. pp.). Rausgekommen ist angehängtes Binary, Tasmota Version 14.6.0, wie gewohnt mit Webinterface und mit MQTT TLS. Die nötigen Features für das Auslesen des Zähler sind natürlich enthalten:
1 | #define USE_SCRIPT
|
2 | #define USE_SML_M
|
3 | #define SML_BSIZ 200
|
4 | #define USE_SML_SCRIPT_CMD
|
5 | #define USE_SCRIPT_JSON_EXPORT
|
6 | #define USE_SCRIPT_WEB_DISPLAY
|
Läuft bei mir jetzt sehr stabil, bin happy.
Hallo zusammen, anbei mal meine stabile Variante für den Wärmemengenzähler CF Echo II von Itron bzw. Allmess. Danke an die Vorarbeit von Carsten, Nick und Frank. Vielleicht hilft es noch anderen. Ich lese den Zähler immer zur halben Stunde aus, um die Batterie zu schonen, aber pro Stunde einen Zählerstand in Home Assistant zu haben. Wenn "Total energy" oder "Operating time days" nicht ausgelesen werden konnten, deaktiviere ich die Übertragung via MQTT und schalte sie erst mit Werten größer 0 wieder ein. Außerdem habe ich die CRC-Überprüfung aktiviert. Viele Grüße Marc
Und hier noch ein passendes Home Assistant Template zur Konvertierung der meter_time in einen lesbaren Zeitstempel:
1 | {% set value = int(states('sensor.warmemengenzahler_waerme_meter_time')) %}
|
2 | {% set b3 = (value // 16777216) % 256 %}
|
3 | {% set b2 = (value // 65536) % 256 %}
|
4 | {% set b1 = (value // 256) % 256 %}
|
5 | {% set b0 = (value // 1) % 256 %}
|
6 | |
7 | {% set minute = b0 % 64 %}
|
8 | {% set hour = b1 % 32 %}
|
9 | {% set day = b2 % 32 %}
|
10 | {% set year1 = (b2 // 32) %}
|
11 | {% set month = b3 % 16 %}
|
12 | {% set year2 = ((b3 // 16) * 8) %}
|
13 | {% set year = 2000 + year1 + year2 %}
|
14 | |
15 | {{ ("%04d-%02d-%02dT%02d:%02d:00+0100" % (year, month, day, hour, minute)) }}
|
Hallo zusammen! Lese hier auch schon tatsächlich seit über zwei Jahren sporadisch mit und habe immer wieder mal das Projekt in Angriff nehmen wollen. Zwischenzeitlich hatte ich es auch mal mit einem Hichi Lesekopf versucht, bin da aber nicht weitergekommen. Nun soll es aber klappen und ich habe mir einen Hichi Wifi V2 bestellt. Meter ist ein "Diehl Ultramess H", oben steht noch "Molline" drauf und rechts "775" (sieht für mich nach Sharky 775 aus...). Als Tasmota Firmware habe ich aktuell die 14.4.1 von https://github.com/ottelo9/tasmota-sml-images/releases - da ich gesehen habe, dass die bei Andreas funktioniert. Als Skript habe ich nun schon mehrere hier aus dem Forum verwendet, aktuell versuche ich es mit dem Skript weiter unten. Die Aufwachsequenz ist noch drin. Ich bekomme aber schlichtweg kein Feedback aus dem Meter. Selbst mit "sensor53 d1" sehe ich nichts in der Console. Ich vermute mal, es ist die Positionierung, da der Meter ja nur eine Diode hat. Habe da aber auch schon einiges durch - nach rechts, nach links, nach oben, nach unten und auch mal um 180° gedreht. Hat jemand noch eine Idee?
1 | >D |
2 | ;start, define variables |
3 | cnt=0 |
4 | >B |
5 | ;setup sensor |
6 | ->sensor53 r |
7 | >S |
8 | if upsecs%300==0 { |
9 | print read meter |
10 | =#readmeter |
11 | }
|
12 | #
|
13 | #readmeter
|
14 | print wakeup start |
15 | ;set serial protocol |
16 | sml(-1 1 "2400:8N1") |
17 | ;send 520 times 0x55 with 8N1, 2400 baud (wakeup sequence) |
18 | for cnt 1 72 1 |
19 | sml(1 1 "55555555555555555555") |
20 | next
|
21 | print wakeup end |
22 | print wait for the meter |
23 | ;wait for the meter to wake up |
24 | delay(350) |
25 | ;switch serial protocol |
26 | sml(-1 1 "2400:8E1") |
27 | print request data |
28 | ;reset application code |
29 | sml(1 1 "6804046853FE5000A116") |
30 | ;set string to send to "105BFE5916" (REQ_UD2) |
31 | delay(100) |
32 | sml(1 1 "105BFE5916") |
33 | print ----- END CYCLE ----- |
34 | ;delay(10000) |
35 | >M 1 |
36 | +1,3,rE1,0,2400,WAERME,1 |
37 | 1,0C06bcd8@1,Total Energy,kWh,w_total,0 |
38 | 1,0C13bcd8@1000,Total volume,m³,v_total,2 |
39 | 1,0C2Bbcd8@1,Current power,W,p_act,0 |
40 | 1,0B3Bbcd6@1000,Current flow,m³/h,F_akt,3 |
41 | 1,0A5Abcd4@10,Flow temp,°C,t_flow,1 |
42 | 1,0A5Ebcd4@10,Return temp,°C,t_return,1 |
43 | 1,0A62bcd4@10,Temp diff,°C,t_diff,2 |
44 | #
|
Hi zusammen. Vielen dank für die ganzen Scripts und die Hilfe! Was ich aber allen, bei denen nichts ankommt noch sagen kann: --> Das Problem ist der Abstand. Ich habe einen Hichi V2 und da fehlen einfach einige mm. Ich habe dafür einen Magneten gekauft den ich da noch dazwischen geklebt habe (somit habe ich auch direkt die Möglichkeit den Sensor zu entfernen ohne ihn danach wieder Stundenlang positionieren zu müssen). Folgende Maße hat das Teil: Ø27/21x3mm + Klebeband mit ca. 1mm. Diesen durfte ich auch nicht exakt mittig zum IR Interface kleben, sondern musste ihn etwas nach unten versetzt anbringen. Ab da gab es keine Reflektionen mehr und alle Daten kommen wie erwartet. Eine Beschränkung der Auslesezeiten gibt es bei meinem Gerät auch nicht. Zum testen hatte ich einen Karton dazwischen und die Scriptzeit auf 5 Sekunden im Debug Modus eingestellt. Und so kam ich nach 3 Tagen zum Ziel. Mein Wärmemesser ist ein Allmess Integral-V UltraLite sollte aber keinen Unterschied zu den anderen machen. Falls sich jemand einen passenden Adapter für das Gerät druckt, der dann zu den Positionserhebungen passt und schon einen Magneten beinhaltet, wäre ich daran auch interessiert. :) Zum Auslesen aller Daten verwende ich folgende Datenpunkte:
1 | >M 1 |
2 | +1,5,rE1,0,2400,WAERME,4 |
3 | 1,=so3,16 |
4 | 1,=soC,1024,3 |
5 | |
6 | +1,3,rE1,0,2400,WAERME,1 |
7 | 1,0C78bcd8@1,Fabrication number,no,fabrication_no,0 |
8 | 1,0C78xxxxxxxx0406uuUUuuUUs@1000,Total energy,MWh,total_energy,19 |
9 | 1,0406xxxxxxxx0C14bcd8@100,Total volume,m³,total_volume,2 |
10 | 1,0C14xxxxxxxx0B2Dbcd6@10,Current power,kW,current_power,18 |
11 | 1,0B2Dxxxxxx0B3Bbcd6@1000,Current volume flow,m³/h,current_volume_flow,19 |
12 | 1,0B3Bxxxxxx0A5Abcd4@10,Flow temperature,°C,temp_flow,17 |
13 | 1,0A5Axxxx0A5Ebcd4@10,Return temperature,°C,temp_return,17 |
14 | 1,0A5Exxxx0B61bcd6@100,Temperature difference,°C,temp_diff,18 |
15 | 1,0B61xxxxxx046DuuUUuuUUs@1,Date and time,t,meter_time,0 |
16 | 1,046Dxxxxxxxx0227uuUU@1,Operating time days,d,meter_days,0 |
17 | 1,0227xxxx09FD0Ebcd2@1,Firmware version,v,firmware_version,0 |
18 | 1,0227xxxx09FD0Exx09FD0Fbcd2@1,Software version,v,software_version,0 |
19 | # |
:
Bearbeitet durch User
Hallo @ps_pascal, kannst du eventuell dein ganzes Skript posten? :) Gruß
1 | D
|
2 | done=0 |
3 | wkup=1 |
4 | |
5 | B
|
6 | smlj=0 |
7 | ->sensor53 r |
8 | |
9 | BS
|
10 | =#readmeter |
11 | |
12 | S
|
13 | if upsecs%7200==0 { |
14 | |
15 | print read meter |
16 | |
17 | =#readmeter |
18 | |
19 | }
|
20 | |
21 | if (sml[2]>0 |
22 | and sml[10]>0) |
23 | and smlj==0 |
24 | then
|
25 | smlj=1 |
26 | print enabled MQTT |
27 | endif
|
28 | if (sml[2]==0 |
29 | or sml[10]==0) |
30 | and smlj==1 |
31 | then
|
32 | smlj=0 |
33 | print disabled MQTT |
34 | endif
|
35 | |
36 | #readmeter
|
37 | print wakeup start |
38 | =>publish tele/tasmota_AE4B78/upsecs %upsecs% |
39 | delay(1000) |
40 | =>publish tele/tasmota_AE4B78/tstamp %tstamp% |
41 | ;set serial protocol |
42 | sml(-1 1 "2400:8N1") |
43 | ;send 0x55 for 2,2 seconds with 8N1 (53x), 2400 baud (wakeup sequence) |
44 | for wkup 1 53 1 |
45 | sml(1 1 "55555555555555555555") |
46 | next
|
47 | print wakeup end |
48 | wkup=1 |
49 | print wait for the meter |
50 | delay(350) |
51 | ;switch serial protocol |
52 | sml(-1 1 "2400:8E1") |
53 | print request data |
54 | ;request data with "105B005B16" |
55 | sml(1 1 "105BFE5916") |
56 | |
57 | M 1 |
58 | +1,5,rE1,0,2400,WAERME,4 |
59 | 1,=so3,16 |
60 | 1,=soC,1024,3 |
61 | |
62 | +1,3,rE1,0,2400,WAERME,1 |
63 | 1,0C78bcd8@1,Fabrication number,no,fabrication_no,0 |
64 | 1,0C78xxxxxxxx0406uuUUuuUUs@1000,Total energy,MWh,total_energy,19 |
65 | 1,0406xxxxxxxx0C14bcd8@100,Total volume,m³,total_volume,2 |
66 | 1,0C14xxxxxxxx0B2Dbcd6@10,Current power,kW,current_power,18 |
67 | 1,0B2Dxxxxxx0B3Bbcd6@1000,Current volume |
68 | flow,m³/h,current_volume_flow,19 |
69 | 1,0B3Bxxxxxx0A5Abcd4@10,Flow temperature,°C,temp_flow,17 |
70 | 1,0A5Axxxx0A5Ebcd4@10,Return temperature,°C,temp_return,17 |
71 | 1,0A5Exxxx0B61bcd6@100,Temperature difference,°C,temp_diff,18 |
72 | 1,0B61xxxxxx046DuuUUuuUUs@1,Date and time,t,meter_time,0 |
73 | 1,046Dxxxxxxxx0227uuUU@1,Operating time days,d,meter_days,0 |
74 | 1,0227xxxx09FD0Ebcd2@1,Firmware version,v,firmware_version,0 |
75 | 1,0227xxxx09FD0Exx09FD0Fbcd2@1,Software version,v,software_version,0 |
76 | |
77 | #
|
Vielen Dank! Ich habe meinen Hichi Wifi v2 direkt auf dem Allmess Integral-V UltraLite PRO (ohen Abstand). Mit dem Script von dir (ps_pascal) hat es auf Anhieb funktioniert. Das USB Kabel geht bei mir nach unten weg. Ich habe mir zum testen eine runde Schablone aus einem Aufkleber gefertigt, damit ich sehe, wann der Hichie mittig sitzt. Den Diodenbereich entsprechend ausgeschnitten. Den Aufkleber auf den Allmess geklebt und den Hichi positioniert. Bei mir läuft Tasmota 14.6.0.2.
Freut mich! Die Teile: =>publish tele/tasmota_AE4B78/Xxx Könnte man ausklammern oder mit eigenen passenden topics verwenden Da kann man sich dann tracken wann das letzte Update war.
Hallo zusammen! Ich bin neu hier und durch google auf dieses Forum gelangen. Ich habe folgendes Problem: Ich habe zwei Allmess Integral-V UltraLite Pro Wärmemengenzähler und würde diese gerne in Home Assistant einbinden. Ich habe hier bereits gelesen, dass ich den Hichi wifi v2 benötige. Kann ich diesen direkt über wifi in HA einbinden? Wird der script auf dem Hichi oder HA ausgeführt? Entschuldigt meine Unwissenheit, bin noch neu hier...
Script wird auf dem Hichi ausgeführt FW wäre Tasmota Dann über MQTT an HomeAssistant
Und das Tasmota Gerät wird üblicherweise auch automatisch in Home Assistant gefunden.
Danke euch für die schnellen Antworten. Sobald der Hichi eingetroffen ist, werde ich es testen.
Hallo zusammen, vielen Dank für die vielen Beiträge und Infos! Wir haben aktuell ein Hochschulprojekt, in dem wir 2 verschiedene Typen an WMZ auslesen wollen. (Einmal Sharky 775 und 3mal das Modell Allmess Integral-V Ultra Lite PRO) Hierzu haben wir uns wie viele andere im Forum den Hichi V2 (mit ESP32 C2) bestellt und erste Auslese-Versuche über Tasmota mit Hilfe der Beispiel-Skripte aus dem Forum hier gemacht. Anbei das Ergebnis, das wir erhalten. Leider hilf Chat-GPT hier gar nicht weiter und wir verstehen noch nicht, was das jetzt bedeutet. Sorry, falls das eine dumme Frage ist - wir haben uns vorher noch nie mit solchen Themen beschäftigt. Vielen lieben Dank schon mal an alle, die uns weiterhelfen können!! :)
sieht schon nicht schlecht aus. hier mal prüfen: [[Beitrag "Re: Wärmezähler über optische M-Bus-Schnittstelle auslesen"]]
Ralf schrieb: > sieht schon nicht schlecht aus. > hier mal prüfen: > > [[Beitrag "Re: Wärmezähler über optische M-Bus-Schnittstelle auslesen"]] Hallo Ralf! Vielen Dank für deine schnelle Antwort. Leider gibt der Decoder die folgende Antwort: Parsing Error: Wrong length, pos 2 Liegt das an unserem Skript? Oder an "falsch empfangenen" Daten vom WMZ? Danke und Gruß Malou
Hallo Ralf, das ist der Code: 68 e4 e4 68 08 00 72 16 33 41 51 a5 11 40 04 d2 00 00 00 0f 04 02 20 47 00 00 73 02 71 02 3b 17 36 36 18 01 00 00 00 00 00 00 97 40 00 00 80 00 0c 00 46 83 00 00 00 00 00 00 68 02 69 02 3b 17 37 36 18 01 00 00 00 00 00 00 97 40 00 00 80 00 0c 00 46 83 00 00 00 00 00 00 63 02 63 02 3b 17 38 36 18 01 00 00 00 00 00 00 97 40 00 00 80 00 0c 00 46 83 00 00 00 00 00 00 76 02 74 02 3b 17 39 36 18 01 00 00 00 00 00 00 97 40 00 00 80 00 0c 00 46 83 00 00 00 00 00 00 74 02 75 02 3b 17 3a 36 18 01 00 00 00 00 00 00 97 40 00 80 00 00 0c 00 46 83 00 00 00 00 00 00 59 02 59 02 3b 17 3b 36 18 01 00 00 00 00 00 00 97 40 00 00 80 00 0c 00 46 83 00 00 00 00 00 00 77 02 76 02 3b 17 3c 36 18 01 00 00 00 00 a4 16 Ich habe es gerade nochmal versucht und jetzt kommt was raus - hatte wohl bei copy paste einen Fehler gemacht. Gibt es eine gute Anleitung, wie man die Daten dann automatisiert "lesbar" macht? Weiter oben wurde ja schon mal die folgende Seite verlinkt: https://ottelo.jimdofree.com/stromz%C3%A4hler-auslesen-tasmota/#4 Kann man das hier anwenden? Oder geht das nur für Stromzähler? Danke & Gruß Malou
Es gibt viele Möglichkeiten, das anzugehen. Das Protokoll was Du ja jetzt dekodiert hast, ist sehr universell, aber auch ziemlich komplex. Wenn Du das selbst machen willst, in einer Progammiersprache Deiner Wahl, kannst Du einzelne Sequenzen ausfiltern und anzeigen. Du benötigst keinen vollständigen Parser. Es gibt aber immer Dinge zu beachten, wie z.B. negative Zahlen oder Fehlerzustände, wird Dir aber dann auffallen. In den Beiträgen sind Hinweise auf die nötigen Dokumente, die man zur Hand haben sollte. Und in Programme anderer Leute gucken, schadet auch nicht.
Hi, bin neu hier und habe die letzten Wochen in diesem Thread viel gelernt. Einige Fehlversuche mit und ohne KI Support und ich habe das Ergebnis: Mein Wärmemengenzähler sendet mir Daten und ich werte diese aus inkl. MQTT an Home Assistant. Mein Setting: - Diehl Sharky 775 Wärmemengenzähler. - HICHI IR wifi V2 Lesekopf. Wer es nicht weis: Da ist der ESP32C3 bereits drin und Tasmota mit SML Parser drauf. Hier meine Erkenntnisse: (A) Tasmota (fail): Alle Tasmota Versuche scheiterten beim Auswerten der Daten. Ich bekam nur Frames in dieser Form: 68 16 16 68 08 4F 72 79 56 80 68 A5 11 40 04 6B 00 00 00 0F 04 03 C5 4E 01 06 15 16 68 16 16 68 08 4F 72 79 56 80 68 A5 11 40 04 6E 00 00 00 0F 04 03 C7 4E 00 37 4A 16 68 16 16 68 08 4F 72 79 56 80 68 A5 11 40 04 70 00 00 00 0F 04 03 C9 4E 96 49 F6 16 Keine Tasmota M-Definition hat das interpretiert. Aussage KI: Der Sharky sendet reine saubere M-Bus (EN 13757-3) Long Frames. Das ist kein Long Frame. Damit kann man nichts anfangen. Tasmota kann nur SML und für wenige Zähler gibt es M-Bus, nicht aber für Sharky775. (B) ESPHome (fail): Gleiches Problem: Die Daten waren die gleichen aber auch hier, nur SML Parser verfügbar. Die Daten im Frame waren nicht entschlüsselbar. (C) Arduino (läuft): Ich hab mir dann ein Arduino Sketch in CPP gebaut, welches konform dem M-Bus Protokoll arbeitet (siehe Anlage Kommunikationsbeschreibung Sharky775). Ergebnis: Ich bekomme valide Long Frames: 68 46 46 68 08 4F 72 79 56 80 68 A5 11 40 04 B1 00 00 00 0C 06 05 44 06 00 8C 10 06 00 00 00 00 8C 20 13 09 53 00 00 0C 13 72 45 79 03 0C 2B 49 31 00 00 0B 3B 37 01 00 0A 5A 51 07 0A 5E 51 05 0B 26 52 55 04 0A A6 18 65 57 A4 16 Funktion: - send Wakeup (wie in Tasmota mit 2,2 sek die 55) - nur bei erste Abfrage : sendSND_UD 68 04 04 68 53 FE 50 50 CS 16 Wichtig: mit 68 04 04 68 53 FE 50 00 CS 16 hat es nicht funktioniert. Da kam nur ein E5 aber keine Daten! - bei jeder Abfrage nach Wakeup send REQ_UD2: 10 5B FE 59 16 Hier exemplarisch:
1 | if (now - lastWake >= WAKEUP_INTERVAL) { |
2 | lastWake = now; |
3 | |
4 | sendWakeup(); |
5 | delay(WAKEUP_DELAY); |
6 | |
7 | setupUART_8E1(); |
8 | |
9 | // SND_UD nur beim ersten Durchlauf, sonst UD2
|
10 | if (count == 0) { |
11 | sendSND_UD(); |
12 | |
13 | } else sendREQ_UD2(); |
14 | |
15 | delay(200); |
16 | count++; |
17 | |
18 | readResponse(); |
19 | }
|
Ihr könnt den HICHI über die USB Schnittstelle direkt flashen. Da die Sensoren wie die Serial Schnittstelle die gleichen USB Pins für den Flash belegen (hart verdrahtet), kann der HICHI nicht gleichzeitig am Rechner hängen und Serial Output senden. Ich habe für Debug-Logging im Sketch die Ausgabe in ein Webserver gegeben. Damit kam ich zum Ziel. Ich habe meine Frames mit dem Online-Tool getestet: https://www.miller-alex.de/Mbus Erst wenn dort was interpretierbares rauskommt ist es ein valider Long Frame. Wer Interesse an dem eigentlichen Parser hat, kann sich ja hier melden. Vielleicht hilft es jemandem, der wie ich bisher es vergeblich mit Tasmota probiert hat und keine Angst hat neues zu versuchen. Und wenn es jemanden mit dem BRAIN gibt, der mit Tasmota erfolgreich ein Wärmemengenzähler Sharky755 den MBUS auslesen und auswerten konnte, dann wäre ein reply super. Der Sketch ist schon sehr mächtig und mit Tasmota wäre man eher im Standard.
Volker N. schrieb: > (A) Tasmota (fail): Bei mir läuft die Decodierung ohne jedes Problem, die Lösung steht hier im Thread irgendwo und z.B. auch hier: https://thomasheinz.net/warmezahler-techem-ultra-s3-baugleich-sharky-775-uber-optische-schnittstelle-auslesen-tasmota/
Volker N. schrieb: > (A) Tasmota (fail): Ich habe das auch umgesetzt und läuft stabil seit nunmehr 1 Jahr Allerdings lasse ich den Lesekopf alle 24 std neu starten
Klaus schrieb: > Volker N. schrieb: >> (A) Tasmota (fail): > > Bei mir läuft die Decodierung ohne jedes Problem, die Lösung steht hier > im Thread irgendwo und z.B. auch hier: > https://thomasheinz.net/warmezahler-techem-ultra-s3-baugleich-sharky-775-uber-optische-schnittstelle-auslesen-tasmota/ Ja, das hab ich auch gelesen und probiert (und noch viel mehr). Mit dem SND_UD aus dem Tasmota Skript (sml(1 1 “6804046853FE5000A116”) kamen bei mir nur die kurzen Frames: 68 16 16 68 08 4F 72 79 56 80 68 A5 11 40 04 6B 00 00 00 0F 04 03 C5 4E 01 06 15 16 Damit konnte ich in Tasmota keine passsende M Sektion definieren, die auch nur irgend etwas sinnvolles extrahierte. Wenn jemand versteht warum und was das sein soll, was ich hier bekommen hab, dann hilft es ja auch. Was ich aber probieren kann ist der Versuch mit dem SND_UD der in meinem Arduino Sketch funktioniert. 68 04 04 68 53 FE 50 50 F1 16 (man beachte die 50 50 und nicht 50 00). Also neu sml(1 1 “6804046853FE5050F116”). Der 0x50 Subcode besagt „Instant values“ (siehe Anhang der Beschreibung). Genau die dort beschriebenen Daten stehen jetzt im empfangenen Long Frame. Es scheint so, als ob der Subcode "All" = 0x00 in meinem Sharky nicht richtig funktioniert. Wenn mit Subcode 0x50 der Sharky über Tasmota meinen bekannten Long Frame sendet (beginnt mit 68 46 46), das wäre klasse. Dann wäre sicher die M-Sektion definierbar. Mal sehen wann ich dazu Zeit hab. Dann hier update. Aktuell läuft es ja.
Andreas schrieb: > Volker N. schrieb: > >> (A) Tasmota (fail): > > Ich habe das auch umgesetzt und läuft stabil seit nunmehr 1 Jahr > > Allerdings lasse ich den Lesekopf alle 24 std neu starten Hi Andreas, deine Erfolge waren meine Motivation für meine vielen Versuche. Ich war frustriert weil ich zwar Daten bekam, nur immer zu kurze Frames. Aber wie eben schon in meiner Antwort an Klaus ausführlicher erklärt, ich habe dabei die SND_UD Sequenz genommen wie du (sml(1 1 “6804046853FE5000A116”), mal im Skript mal nur einmal. Aber ich schau mal wann ich mit den neuen Erkenntnisse einen Versuch in Tasmota mit sml(1 1 “6804046853FE5050F116”) starte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

