@matthew_f Hab mir Deine Infos bei Github durchgelesen, weicht die verlinkte mbus-test Variante immer noch vom Original ab? D.h. "init-size 536" ist im Original ein anderer? Bei Dir funktioniert es mit dem SensoStar E, dann muss es eigentlich auch mit meinem SensoStar U gehen. Läuft der run.sh Skript auch mit einem USB-IR Lesekopf? VG Daniel
Hallo Daniel, irgendwie habe ich dein Post vorher nicht richtig gelesen, und sehe erst jetzt, dass du Einträge für Energy und Volume hast aber sie sitzen auf 0. Ich hatte am Anfang das gleiche Problem (Beitrag "Re: Wärmezähler über optische M-Bus-Schnittstelle auslesen") und die Lösung war einfach zurück in der Ausgabe zu schauen, weil mehrere Ausgaben/MBus Dekodierungen stattgefunden haben. Das Eintragen-finden macht bei mir das Python Skript automatisch. Ansonsten, wenn das immer noch nicht funktioniert könntest du mein Version von damals as-is ausprobieren. Das habe ich scheinbar angefangen aber nicht zu Ende gemacht (https://github.com/mattfullerton/mbus-test-fork/) - aber ich kann das ergänzen und dann könntest du das run.sh usw. ausprobieren. Aber eigentlich wenn du schon Daten rausbekommst, denke ich nicht, dass du irgendetwas an mbus-test ändern müsstest. Eigentlich sollte ich eher schauen, dass mein Setup noch mit der aktuellster Version läuft. Aber... "never touch a running system", und keine Zeit, usw. Ich bin auch der Meinung, dass es funktionieren musste, solang bei dir im Display die Daten in MW/kW ausgegeben werden (und auch wenn nicht, habe ich keine Ahnung, ob die Daten nicht dann doch noch vollständig über MBus zu erwarten wären). Ich bin zuversichtlich... weil wie gesagt, das gleiche Problem hatte ich auch am Anfang. VG, Matt
:
Bearbeitet durch User
Wenn ich den SenoStar mit "verbose level 2" und "COMMANDS 2" abfrage, erhalte ich tatsächlich u.a. die erzeugte Wärmemenge angezeigt: DIF 04 VIF 06 function_field: 00 data_length: 4 data_field: 04 unit: 06 data bytes: 3C 11 00 00 Instantaneous value Energy (kWh) mbus_parse_data_field: DIF 0x04 was decoded using 4 byte integer result: 4412 factor 1.000000 n: 3 neg 0 In diesem Fall sind es tatsächlich 4412 kWh. Weiter unten erscheint es dann 4x hintereinander mit Null Werten: DIF 84 DIFE 20 VIF 06 function_field: 00 data_length: 4 data_field: 04 unit: 06 data bytes: 00 00 00 00 Instantaneous value Energy (kWh) mbus_parse_data_field: DIF 0x84 was decoded using 4 byte integer result: 0 factor 1.000000 n: 3 neg 0 Wie komme ich jetzt an den ersten Output mit der tatsächlichen Wärmemenge?
Super, das freut mich! Das aussuchen der Werte mache ich mit Python. Das sind die Zeile hier: https://github.com/mattfullerton/volkszaehler_scripts/blob/main/readHeat/readHeat.py#L10-L28 Das Output von `mbus-test` wird in eine Datei geschickt (redirected von stdout). `run.sh` schaut, dass es genüg Zeit gibt für die Ausgabe gibt. Python geht die Datei durch. Nach einem Zeil mit Energy gefunden wird, wird geprüft ob die Wert > 0 ist. Ich habe da auch Werte für Power genommen, inzwischen habe ich aber festgestellt, dass die Werte nicht so nützlich sind (was gerade passiert nur einmal alle 4 Stunden ist uninteressant). Volkszähler ermittelt den Durchschnittsverbrauch aus den Gesamtverbrauchswerte.
Danke Dir Matt! Kannst Du mir bitte noch verraten, was ich eingeben muss, damit es auf meinem Raspberry mit mbus-test funktioniert? Bin froh, dass ich mbus-test zum laufen bekommen habe, bin leider kein Experte. Von Python hab ich null Ahnung. Gibt es eine Möglichkeit die Daten per MQTT weiterzugeben? VG Daniel
Matt und @all, ich benötige bitte Eure Unterstützung. Meinen SensoStar U konnte ich optisch (USB IR Lesekopf von Hichi) mit LORUSFREE direkt und fehlerfrei auslesen. Sämtliche Daten werden richtig angezeigt. Für mich als Laien stellt sich jetzt die Frage, wie ich diese Infos nutzen kann, um meinen WMZ 4x am Tag ohne Programmierkenntnisse auszulesen. Ich nutze iobroker und habe hier mehrere Raspberry´s. Gibt es einen Adapter für iobroker, der im Grunde wie Lorusfree ohne besondere Einstellungen funktioniert? Danke Euch!
Ich kann dir gerne helfen, die Daten automatisch 4x am Tag auszulesen. Steht eigentlich alles hier: https://github.com/mattfullerton/volkszaehler_scripts/blob/main/readHeat/README.md Aber wir können gern über Zoom oder so reden. Nur ich schicke meine Daten an Volkszähler, was sehr einfach ist (ein URL mit der Wert drin). Mit ioBroker würde ich mich schlau lesen müssen.
Hey ho, erstmal vielen Dank für diesen Thread - das ist super hilfreich. Ich habe auch einen Engelmann Sensor hier - konkret eigentlich einen Metrona Heat C - allerdings scheinbar (?) baugleich zum Engelmann. Mit der Firmware von naseweis bekomme ich auch eine wunderbare Antwort. Nur jetzt habe ich das gleiche Problem, das Thomas auch hatte - wie komme ich von der Binär-Antwort zur Tasmota Definition?
1 | sml(1 1 "105BFE5916") |
2 | |
3 | >M 1 |
4 | +1,3,rE1,0,2400,Waerme,1 |
liefert mir den Binär-Blob. Als Definition habe ich aktuell folgendes eingetragen (alles geklaut):
1 | 1,68b3b368x23uuUUUUUU@1,Energie total,,total,0 ; Total Wärmemenge |
2 | 1,68b3b368x47uuUUUUUU@60,Flow F_akt,,F_akt,0 ; aktueller Flow in m^3 |
3 | 1,68b3b368x35uuUUUU@1,Power P_akt,,P_akt,0 ; aktuelle Wärme-Leistung |
4 | 1,68b3b368x59uuUU@1,Temp Vorlauf,,Vorlauf,0 ; aktuelle Vorlauftemperatur |
5 | 1,68b3b368x63uuUU@1,Temp Rückl,,Rückl,0 ; aktuelle Rücklauftemperatur |
6 | 1,68b3b368x67uuUU@1,Temp Diff,,Diff,0 ; aktuelle Differenz Vorlauf/Rücklauftemperatur |
Damit tut Tasmota leider überhaupt nichts, es werden keine Werte ausgewertet. Mit sensor53 d1 sehe ich aber eine Antwort:
1 | 10:01:21.893 : 68 04 04 68 53 fe 50 00 a1 16 10 5b 3e 04 20 05 00 68 08 00 72 |
2 | 10:01:21.937 : 37 41 25 10 c5 14 00 04 a0 00 |
3 | 10:01:21.979 : 00 00 04 78 39 77 9c 00 04 |
4 | 10:01:22.021 : 6d 01 2a e4 22 04 13 25 0d 08 |
5 | 10:01:22.066 : 00 44 13 25 e7 06 00 84 01 |
6 | 10:01:22.107 : 13 bf ef 07 00 04 06 d8 0e |
7 | 10:01:22.149 : 00 00 44 06 a3 0c 00 00 84 01 |
8 | 10:01:22.195 : 06 9d 0e 00 00 84 10 06 00 00 |
9 | 10:01:22.240 : 00 00 c4 10 06 00 00 00 00 |
10 | 10:01:22.281 : 84 11 06 00 00 00 00 42 6c |
11 | 10:01:22.324 : df 2c 02 6c ff 2c 84 20 06 00 |
12 | 10:01:22.367 : 00 00 00 84 30 06 00 00 00 |
13 | 10:01:22.408 : 00 04 3b 00 00 00 00 14 3b |
14 | 10:01:22.451 : 9e 03 00 00 04 2b 00 00 00 00 |
15 | 10:01:22.495 : 14 2b a8 39 00 00 02 5b 1b |
16 | 10:01:22.537 : 00 02 5f 1b 00 04 61 0d 00 |
17 | 10:01:22.578 : 00 00 02 23 f4 02 01 fd 17 |
18 | 10:01:22.620 : 10 04 90 28 18 00 00 00 f1 |
19 | 10:01:22.662 : 16 |
Nur was mache ich jetzt mit der Antwort? Ich habe schon versucht im Hex-Editor die aktuellen Zähler-Werte zu finden - nur diese Zahlen finde ich nirgends. Hat jemand eine Idee? Vielen Dank Matthias
Hi Matthias, Bei deinem dump kommen die Daten d8 0e 00 00 nach dem Register 04 06. Dann müsste dein Zählerstand 3800 kWh zeigen. Falls ja, solltest du 1,0406uuUUuuUu@1, Ausprobieren. Mit dem tasmota Decoder bin ich aber nicht so vertraut. LGD
Hi, erstmal vielen Dank! Ich habe die Definition einfach mal ausprobiert - damit bekomme ich aber leider auch nur eine 0 zurück :-( Wie bist du denn auf die 3800 gekommen? Der Wert würde exakt stimmen. Wenn ich in der Doku lese, dann bedeutet uuUUuuUu ein unsigned long word. Ich hätte jetzt little-endian vermutet, aber irgendwie sehe ich nur fürs Ende "uu" oder "UU", nie den Mix aus "Uu". d8 0e 00 00 würden 4 Byte entsprechen, also 32 Bit. Im Hex Editor bekomme ich für 32 Bit an dieser Stelle aber 807417956 (big endian 1681399856) angezeigt - das passt auch nicht. Und zur 0 in Tasmota passt es auch nicht. Ich bin verwirrt, irgendwo habe ich einen Denkfehler -.- Ich habe es jetzt auch ein paar Minuten laufen lassen, es hat sich nicht eingefangen, irgendwie bleibt die 0 -.- Viele Grüße Matthias
Hi, Hex 0e d8 = dec 3800 06 04 low high low high LGD
Matthias schrieb: > 10:01:21.893 : "68 04 04 68" 53 fe 50 00 a1 16 10 5b 3e 04 20 05 00 68 08 > 00 72 > 10:01:21.937 : 37 41 25 10 c5 14 00 04 a0 00 > 10:01:21.979 : 00 00 04 78 39 77 9c 00 04 Hallo wenn Du Dir mal die ersten 4 Bytes anschaust, wirst du sehen, daß die anders sind als bei dem in meinem Skript verwendeten Sensostar U. Schau Dir mal dieses Dokument an, darin ist - wenn auch für einen anderen Zähler - die Struktur der Daten erklärt. https://docs.google.com/viewer?url=http%3A%2F%2Fwww.mikrocontroller.net%2Fattachment%2F577509%2FCF_Serie.pdf Nimm mal 1,68040468x23uuUUUUUU@1,Energy total,,total,0 ; Total Wärmemenge Das mit den abgezählten Bytes usw. musst du u.U. anpassen. Cheerio
:
Bearbeitet durch User
Man sieht die Startsequenz (gelb) und danach die 23 zu überspringenden Bytes (blau). Dann kommen die relevanten Daten (rot) Das muss dann mit dem eigenen Dump in Übereinstimmung gebracht werden.
:
Bearbeitet durch User
Vielen Dank für die vielen Infos :-). Dann probiere ich mal weiter! Matthias
Marcus schrieb: > > Mittlerweile denke ich, ist die Batterie am WMZ (3,25 Jahre alt) zu > schwach (?) und die optische Schnittstelle lässt sich nicht mehr > aktivieren. > > Kann man das testen? Wenn ich die Taste am WMZ drücke kann ich über das > Handy keine IR Aktivität erkennen, aber ich denke da müsste auch erst > die Aufweck-Sequenz ankommen, bevor der WMZ sich meldet? > > Hat noch jemand andere Ideen an was es liegen könnte? Ich habe einen Allmess Integral-MK UltraMaXX mit dem ich mich wochenlang beschäftigt habe (leider lange ohne Erfolg). Der Volkszähler- ähnliche Lesekopf (UART-Ausgang) hat auf Anhieb an einem Stromzähler funktioniert. Am WMZ leider keine Antwort. Die batteriebetriebenen WMZ müssen mit Energie sparsam umgehen. Das brachte mich auf die Idee die Sendeleistung des Lesekopfes zu reduzieren und den Empfang empfindlicher zu machen. Also den Serienwiderstand der Sendediode von 180 auf 680 Ohm verändert, den Serienwiderstand des Fototransistors von 12k auf 39k. Und nun kann ich mich endlich mit der Antwort beschäftigen... LG
Marcus schrieb: > Der Sensus reagiert leider überhaupt nicht... Hallo in die Runde. Selbes Problem hier. Ich habe einen PolluCom E mit Hichi TTL Kopf an einem NodeMCU mit Nicks tasmota_v3 und dem PolluCom Script von Christoph. Auch andere hier gepostete Scripts habe ich getestet - keine Chance. Eventuell habe ich es überlesen: Kann jemand sagen, welche Linse am PolluCom E RX und welche TX ist? Ich habe es natürlich in beide Richtungen versucht, es wäre aber hilfreich hier schonmal Sicherheit zu haben. Anschluss am NodeMCU passt, der Handy-Test funktioniert. Vielen dank für die super Arbeit, die hier bisher geleistet wurde!
:
Bearbeitet durch User
Hmm, ganz schön fix:
1 | 08:20:51.435 read meter |
2 | 08:20:51.437 wakeup start |
3 | 08:20:51.467 wakeup end |
4 | 08:20:51.469 wait for the meter |
5 | 08:20:51.821 request data |
Das bisher erwähnte Auskommentieren von SND_UD 0 (Carsten)
1 | sml(1 1 "6804046853FE5000A116") |
hat hier keine Besserung gebracht.
:
Bearbeitet durch User
Ich denke, die Wakeup Seequenz wird nicht gesendet. Das siehst Du am Timecode. Probier mal meine Firmware. GrC
Mit deiner Firmware vom 09.01. sehe ich keine Aktivität des Kopfes mehr in der Kamera des Handys. Das Script läuft weiterhin zu flott:
1 | 09:17:33.394 wakeup start |
2 | 09:17:33.430 wakeup end |
VG -T
Wegen der Nachfragen zu den PolluCom Zählern hier eine kurze Zusammenfassung meiner Erfahrungen. Auch wenn das nichts neues ist, aber die optische Schnittstelle ist bei den Geräten fürs dauerhafte Auslesen ungeeignet. Der Zähler, mit dem ich viel getestet habe, antwortet beim zyklischen Abfragen nur noch 1-4x dann fällt er wieder in den Tiefschlaf, er lässt sich dann auch nicht mehr mit der MiniCom Software oder Python script auslesen. Nach ca. 24h kann er durch Drücken der Taste wieder für weitere 1-4 Auslesungen aktiviert werden. Ein anderer Zähler dessen Batterie noch „frischer“ ist lässt sich nach wie vor ohne Probleme zyklisch abfragen. (Ist nur die Frage wie lange noch) Es ist nicht unwahrscheinlich, dass wegen geringer Spannung der Batterie das Auslesen irgendwann überhaupt nicht mehr geht. Ein Servomotor oder ähnliches der immer wieder die Taste drückt könnte zumindest beim Auslesen 1x pro Tag helfen den Zähler immer wieder zu aktivieren. Damit würde man bei funktionieren Zählern die Anzahl der Auslesungen geringhalten. Das in der Zwischenzeit etwas abgewandelte scrip für den Sensus Pollucom F, welches bei Zählern mit voller Batterie sehr gut funktioniert habe ich nochmal angehangen.
Vielen Dank dafür. Auch mit diesem Script ist die Wake Up Sequence, so sie denn gesendet wird, enorm kurz.
1 | 10:49:02.753 ===== ctr: 10.00 wakeup start ===== |
2 | 10:49:02.793 ===== wakeup end, wait for the meter ===== |
Ich beobachte das hier mal weiter, vielleicht hat ja doch noch jemand eine Idee.
Sie mag kurz sein aber sie funktioniert hier bei mir, wenn ich den Teil aus dem Script lösche geht nix mehr.
Kopf und PolluCom funktionieren, hiermit konnte ich dem Zähler gerade Daten entlocken: https://forum-raspberrypi.de/forum/thread/57389-sensus-pollucom-e-ueber-pymeterbus-auslesen/?postID=543096#post543096 RX am PolluCom E ist die linke Linse, falls sich das nach mir nochmal jemand fragt.
Ich habe jetzt eine Lösung, die für mich funktioniert. Im Heizkreisverteiler hängt ein NodeMCU mit esp-link. Auf einem Linux, das anderswo ohnehin ganztägig läuft, baue ich mit socat eine virtuelle serielle Schnittstelle mit esp-link als Gegenseite. Oben genanntes Python-Script nutzt dann den virtuellen Port um über esp-link mit dem PolluCom E zu kommunizieren. Die Weitergabe der Daten erfolgt dann per MQTT.
:
Bearbeitet durch User
Hallo zusammen, ich finde den Forom echt toll und habe viel gelernt daraus. Ich kann nun mein WMZ Ultramess C3 von Molline die Verbrauchte Märmemenge mit dem Script abfragen. Doch was überhaupt nicht klappt ist die Auslesung nach einer Periode. Ich habe das Script angepasst das er den WMZ aller drei Stunden mal abfragen soll, doch es passiert einfach nichts. Ich erhalte nur noch im der Console diese Zeichenketten: 16:49:41.548 MQT: tele/tasmota_E3757E/STATE = {"Time":"2023-04-03T16:49:41","Uptime":"0T18:20:25","UptimeSec":66025,"H eap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POW ER":"OFF","Wifi":{"AP":1,"SSId":"FRITZ!Box 6490 2-4","BSSId":"3C:37:12:C7:8A:77","Channel":6,"Mode":"11n","RSSI":56,"Sig nal":-72,"LinkCount":1,"Downtime":"0T00:00:05"}} 16:49:41.554 MQT: tele/tasmota_E3757E/SENSOR = {"Time":"2023-04-03T16:49:41","WAERME":{"w_total":4711}} Nun meine Frage wie kann ich das Script so einstellen das es, sagen wir mal aller 4 Stunden den Zähler ausliesst? Es muss auch nicht ab Mitternacht passieren. In der Scriptsprache bin ich nicht so vertrraut. Vielen Dank aktuelles Script: >D ;start, define variables wkup=1 period=180 ;read meter every n minutes after midnight (60 --> 01:00, 02:00...) blk=0 >B ;setup sensor ->sensor53 r >S if time%period==0 and blk==0 ;minutes since midnight divided by period have a remainder of "0" then =#readmeter blk=1 ;set a flag to execute the readout only once every period endif if time%period-1==0 and blk==1 ;one minute after we entered the first loop then blk=0 ; reset the flag endif #readmeter print wakeup start ;set serial protocol ret=sml(-1 1 "2400:8N1") ;send 0x55 for 3 seconds with 8N1 (72x), 2400 baud (wakeup sequence) for wkup 1 72 1 sml(1 1 "55555555555555555555") next print wakeup end wkup=1 print wait for the meter ;wait for the meter to wake up delay(350) ;switch serial protocol sml(-1 1 "2400:8E1") print request data ;set string to send to "105BFE5916" (request data) ;sml(1 1 "6804046853FE5000A116" sml(1 1 "105BFE5916") >M 1 +1,3,rE1,0,2400,WAERME,1 1,0406uuUUUUUU@1,Total energy,kWh,w_total,0 #
Hi, ich versuche auch gerade einen Techem Ultra S3 (sollte auch ein Sharky 775 sein) auszulesen - jedoch ohne Erfolg. 1. Hab direkt mit Tasmota gestartet, der Lesekopf funktioniert an einem Stromzähler. 2. Hab die V3 von Nick installiert -> Beitrag "Re: Wärmezähler über optische M-Bus-Schnittstelle auslesen" 3. Und es direkt mit dem Script von Carsten probiert. Beitrag "Re: Wärmezähler über optische M-Bus-Schnittstelle auslesen" Wird mir nichts angezeigt in Tasmota ;-( Hat noch jemand einen Tipp für mich? Wird doch nicht etwa bei dem Techem Zähler anders sein?
Kann meinen Post leider nicht mehr bearbeiten - nutzt der Sharky 775 einen kombinierte IR Diode für Send / Receive? Die Leseköpfe (die ich habe) haben zwei getrennte Dioden - da wird das alignment schon schwierig?
Ich verwende den Kopf von Hichi, der hat zwei getrennte Dioden. Das Gehäuse positioniere ich mit dem Kabel nach unten und dann muss ich es bündig an die beiden Erhebungen drücken damit es funktioniert. Dann liegen die beiden Dioden des Lesekopfes links und rechts neben der einen im Zähler. Weil es mir und anderen passiert ist: schaue im Log ob die Aufwachsequenz wirklich so lang ist, wie sie sein sollte (je nach Script im Bereich einiger Sekunden). GrC
Hi Carsten und danke für die Tipps! Ist in der Tat ein Problem mit der Positionierung des Lesekopfes! Habe jetzt eine Position leicht versetzt zu einer Seite gefunden, die funktioniert. (Lesekopf ist ein ein Bausatz gewesen, 2 getrennte Dioden, Gehäuse selbst gedruckt, ähnlich wie Hichi) Habe auch nur mal das Plastikgehäuse des Lesekopfes aufgesetzt um mir durch die Löcher der LEDs eine gute Position auszuloten. Gar nicht so einfach! :-/
:
Bearbeitet durch User
Frank schrieb: > Ich habe einen Allmess Echo II WMZ und einen Hitchi IR wifi. > Nutze die tasmota_V3 und das Script von Nick. Im Script musste ich > die Zeile für Total energy wesentlich ändern. Vielleicht ist der Hinweis > ja für den ein oder anderen Allmess-Besitzer von Interesse. Script im > Anhang. Hallo Zusammen, ich habe mir als Vorbereitung für einen Wärmepumpeneinbau einen Wärmezähler (gebrauchter Allmess Integral-V Ultralite) zugelegt. Momentan liegt er noch auf meinem Schreibtisch zum testen. Ich möchte zukünftig die Daten mittels Optischer Schnittstelle und einem Hichi Wifi Lesekopf an HomeAssistant senden. Wenn ich das Script von Frank (vielen Dank dafür) benutze, bekomme ich nach dem Speichern einmal Werte geschickt, allerdings passiert dann nix mehr. Ich sehe kein Weakeup oder sonstiges mehr. Lediglich die Statuslogs, die alle 5min gesendet werden. Sollte ich nicht alle x Minuten (abhängig von der Periodenzahl) normalerweise ein Wakeup im Konsolelog sehen? Viele Grüße Che
Ok, ich war wohl zu ungeduldig. Das Teil fing erst ab Mitternacht an loszulegen. Danke an die Community für die tolle Arbeit, auch wenn es in diesem Thread recht unübersichtlich wurde. Was der Anzahl an Posts geschuldet ist. Ein Wiki wäre kein Luxus :) Viele Grüße Che
Hallo, ich habe auch einen Sensus PolluCom E/S und wollte die Wärme-Menge optisch auslesen. Jetzt lese ich hier aber öfter, dass es bei zu schwachen Batterien oder bei längerer Laufzeit zu Problemen kommt. Wie sind eure Lnagzeit-Erfahrungen?
Ich habe mein Konstrukt aus ESP-Link und Docker Container mit Python Script jetzt seit März laufen, Abfrage alle 55 Minuten. Bisher keine Probleme. So richtig langzeit ist das aber natürlich noch nicht.
D.h. - WMZ: PolluCom E (batteriebetrieben) - IR-Lesekopf mit TTL (Wie befestigt?) - NodeMCU (ESP-Link) - Python-Script zur Kommunikation (https://forum-raspberrypi.de/forum/thread/57389-sensus-pollucom-e-ueber-pymeterbus-auslesen/?postID=543096#post543096) - Wakeup-Time 55 Minuten
Bei mir war nach ca. einem Jahr Ende, kein zyklischen auslesen mehr. (konnte ich bei 2 Zählern feststellen) Vermutlich habe ich am Anfang beim Testen auch wirklich sehr oft ausgelesen. Liegt auch nicht am ESP, gleiches ist auch per USB-IR-Kopf und Python Script festzustellen. Ungefähr 1x am Tag geht es nach vorherigen drücken der Taste noch. Ich habe schon von anderen gehört, dass sie das dann per SwitchBot/FingerBot machen, auch von einem Servo am ESP habe ich schon gelesen, war mir aber bisher zu aufwändig. Die tatsächlichen Zeiten können sich natürlich unterscheiden aber eine wirkliche dauerhafte Lösung scheint mir das Auslesen per IR-Schnittstelle bei diesen Zählern nicht zu sein.
Vielen Dank, da der Austausch des WMZ bei leerer Batterie auch ein Kostenfaktor ist, werde ich mich mal nach Alternativen erkundigen und dann vielleicht gleich mit M-BUS on Board.
Thomas C. schrieb: > D.h. > - WMZ: PolluCom E (batteriebetrieben) > - IR-Lesekopf mit TTL (Wie befestigt?) > - NodeMCU (ESP-Link) > - Python-Script zur Kommunikation > (https://forum-raspberrypi.de/forum/thread/57389-sensus-pollucom-e-ueber-pymeterbus-auslesen/?postID=543096#post543096) > - Wakeup-Time 55 Minuten Was das Script angeht: https://github.com/ostpol/PolluComE, dort stehen die Anpassungen bzgl. Kommunikation zwischen Python und ESP-Link drin. Docker Container ist auch fertig. Disclaimer: Ich bin kein besonders guter Programmierer und auch zu Docker kenne ich nur Basics. Aber irgendwo muss man ja mal anfangen. ;) Befestigung sieht so aus: https://twitter.com/ostpol/status/1634896280202907648?s=12&t=xc7l-nC4po-ngRWAnWqoPw
Thomas C. schrieb: > Vielen Dank, da der Austausch des WMZ bei leerer Batterie auch ein > Kostenfaktor ist, werde ich mich mal nach Alternativen erkundigen und > dann vielleicht gleich mit M-BUS on Board. Hallo, ein PolluCom E war mein erster Wärmemengenzähler. Er lief über M-Bus und wurde von mir zunächst zu oft abgefragt. Ich erfuhr das die Auslesehäufigkeit begrenzt wird, so dass die Mindestlaufzeit erreicht werden kann. Seit über 10 Jahren habe ich zwei Sontex Supercal 539 im Einsatz. Er wird von mir über M-Bus gespeist und somit wird die interne Batterie nicht belastet. Beim Kauf mußte ich extra angeben, das ich über M-Bus speisen möchte. Den 539 gibt es wohl nicht mehr. Heute ist es wohl der Sontex Supercal 739. mfg Klaus
Hallo nochmal zusammen. Kann mir jemand bitte helfen zwecks der Dateninterpretation. Ich habe ein WMZ vom Typ Ultramess C3 von Molline. Ich bekomme folgende Daten heraus. 12:59:25.030 : 00 00 00 04 78 3c 9e 36 01 04 06 12:59:25.075 : 85 14 00 00 04 13 1c d6 24 12:59:25.118 : 00 04 2b 00 00 00 00 14 2b 18 12:59:25.161 : 3e 00 00 04 3b 00 00 00 00 12:59:25.203 : 14 3b 39 f3 f6 cf 02 5b 19 12:59:25.246 : 00 02 5f 19 00 02 61 fe ff 02 12:59:25.290 : 23 1f 02 04 6d 2d 2a f3 27 12:59:25.332 : 44 06 e5 07 00 00 44 13 0f 82 12:59:25.378 : 0d 00 42 6c df 2c 01 fd 17 12:59:25.420 : 40 03 fd 0c 05 00 00 84 20 06 12:59:25.463 : 00 00 00 00 c4 20 06 00 00 12:59:25.505 : 00 00 84 30 06 00 00 00 00 12:59:25.553 : c4 30 06 00 00 00 00 7d 16 Leider kann ich nur nur Total energy auslesen mit "04 06". Wie kann ich die anderen Werte wie m³, power, flow und Temp auslesen. Ich habe diese Werte probiert, aber da kommt nichts raus :-( 1,0C14bcd8@100,Total volume,m³,v_total,2 1,0B2Dbcd6@0.01,Current power,W,p_act,0 1,0B3Bbcd6@1000,Current flow,m³/h,F_akt,3 1,0A5Abcd4@10,Flow temp,°C,t_flow,1 1,0A5Ebcd4@10,Return temp,°C,t_return,1 1,0B61bcd6@100,Temp diff,°C,t_diff,2 Vielen Dank toptobias
Hallo zusammen, so nach längerem Probieren habe ich es nun rausgefunden um die Daten aus einem Molline Ultramess C3 auszulesen. Hier die Konfiguration: 1,0406uuUUUUUU@1,Total energy,kWh,w_total,0 1,0413bcd8@100,Total volume,m³,v_total,2 1,042Bbcd6@1,Current power,W,p_act,0 1,043Bbcd6@1000,Current flow,l/h,F_akt,3 1,025BuuUU@1,Flow temp,°C,t_flow,2 1,025FuuUU@1,Return temp,°C,t_return,2 1,0261bcd4@10,Temp diff,°K,t_diff,2 1,142Bbcd6@1,Maximum power,W,p_max,0 1,143Bbcd6@1000,Maximum flow,l/h,F_max,3 1,0478bcd8@1,Seriennummer,,serialnum,0 1,0223uuUU@1,Meter days,d,OpDays,0 1,03FD0Cuu@1,Firmware Version,,FW_Version,0
Hallo zusammen in diesem wunderbar motivierenden Thread. Ich habe mich so n bisschen drangehängt und das ganze mit einem Sensonic II von ISTA probiert und es hat eigentlich auch ganz gut geklappt. Ich habe das Script von Corny (https://github.com/corny/mbus-esp32) auf einen ESP32 (+Volkszähler-IR-Interface) gespielt, etwas angepasst (hauptsächlich musste die Länge des Antworttelegrams angepasst werden) und die Antwort als JSON per MQTT an Iobroker übermittelt und da mit einem entsprechenden Skript aufgearbeitet. Hat auch alles sehr gut funktioniert, konnte alle 15-16 Minuten auslesen, bei kürzeren Intervall kam einfach keine Antwort. Hatte mir zum Testen eine originalverpackte Sensonic II mbus gekauft, weil ich zu faul war zum Testen immer vor meinem FBH-Verteiler zu sitzen und hab eine mit mbus-Anschluss genommen umd das auch direkt mal zu testen - und auch das hat genauso gut und mit dem gleichen Script funktioniert, lediglich die Aufwecksequenz braucht man nicht senden, auf (Kabel)-Mbus lauscht der Wärmemengenzähler wohl dauerhaft mit. Weiterhin war es extrem wichtig, die Dioden gut vor dem optischen Interface zu platzieren. Davorhalten hat nichts gebracht, da war die Fehlerquote sehr hoch. Mit einem gedruckten Tool hat das dann aber ganz gut funktioniert und hat auch noch gleichzeitig die beiden Dioden gegeneinander abgeschirmt. Das Ganze hat hervorragend funktioniert... SO LANGE ich an meinem Schreibtisch saß. Als ich das Projekt dann an den Zähler meiner Fußbodenheizung anschließend wollte, musste ich leider feststellen, dass scheinbar das optische Interface von meinem Zähler deaktiviert ist. Bei ISTa habe ich aber leider keinen Support ans Telefon bekommen, der davon Ahnung hatte. Angeblich ist der Port bei Mietgeräten immer deaktiviert, wenn man die Fernauslesung von ISTA nicht dazu kauft. Und jetzt die große Frage: Hat irgendjemand eine Idee, wie ich meinen Wärmemengenzähler zum reden bekomme? Die optische Schnittstelle kann ja nichts verstellen, ist ja wirklich nur zum Auslesen und auch genau dafür vorgesehen. Hat jemand zufällig zugriff auf die Montagehandbücher von dem Ding, so dass man mal nachsehen kann, wie die Monteure die optische Schnittstelle freischalten? Hat jemand zufällig shcon mal zugesehen, wie die dinger programmiert werden? Oder kennt jemanden, der sachdienlich weiterhelfen kann? Wäre klasse, wenn der Aufwand jetzt nicht umsonst war. Würde grundsätzlich ja auch das Fernauslesesystem der ISTA kaufen, aber man kann es halt nirgends einbinden und somit ist es nutzlos für mich. Viele Grüße Martin
Hallo Martin, ich habe auch ein sensonic II und konnte die erfolgreich auslesen. Auf der optischen Schnittstelle der sensonic II eine spezielle Aufwachsequenz. Ich habe das damals mit Messung der Batteriespannung herausgefunden. Siehe hier: Beitrag "Re: Wärmezähler über optische M-Bus-Schnittstelle auslesen"
@carsten12 Hallo, Ich hab letzte Woche den Fernwärmeanschluss bekommen mit dem Sharky 775. Jetzt hab ich versucht, den auszulesen mit dem Hichi Wlan Lesekopf. Das Script ist von Carsten waermezaehler.txt (896 Bytes) vom 23.12.2022. Ich bekomme zwar eine Antwort vom WMZ, aber die ist viel zu kurz, und ergibt auch keine Messwerte. Das Drehen des Kopfes brachte nix. Ich habs mit 2 verschiedenen Firmwares versucht, mit folgendem Ergebnis:
1 | tasmota_V3.bin.gz: von Nick v. 18.12.22 |
2 | -------------------- |
3 | 19:38:53.640 wakeup start |
4 | 19:38:56.935 wakeup end |
5 | 19:38:56.937 wait for the meter |
6 | 19:38:57.291 request data |
7 | 19:38:57.406 : 10 5b fe 59 16 |
8 | |
9 | tasmota.bin.gz von Carsten v. 09.01.23 |
10 | ------------------------ |
11 | 19:51:04.585 wakeup start |
12 | 19:51:07.879 wakeup end |
13 | 19:51:07.880 wait for the meter |
14 | 19:51:08.234 request data |
15 | 19:51:08.441 : 68 16 16 68 08 01 72 01 30 |
16 | 19:51:08.482 : 01 76 a5 11 40 04 b7 00 00 |
17 | 19:51:08.527 : 00 0f 04 03 c1 04 fe df 8c 16 |
Ich wäre dankbar, wenn jemand eine Idee dazu hätte.
Also, ich habs geschafft, hier eine kurze Zusammenfassung: (Ich hab noch die offizielle Kommunikationsbeschreibung des Sharky 775 angehängt) Firmware: tasmota.bin.gz von Carsten v. 09.01.23 (= tasmota12.3.1.bin.gz mit w_delta) (tasmota_V3.bin.gz von Nick 18.12.22 geht bei mir nicht) Script: waermezaehler.txt (889 Bytes) vom 23.12.22 (liest alle 1 bzw 5 min ab und sendet MQTT) oder: das "Mitternachtsscript" von Carsten v. 09.01.2023 (liest nach Mitternacht ab und berechnet Delta zum Vortag = w_delta) Bei 1. Inbetriebnahme muss vermutlich im Script "waermezaehler.txt": sml(1 1 "6804046853FE5000A116" aktiviert werden, um die Datenübertragung zu initieren -> Zähler sendet E5 (Ack) Dann nur noch sml(1 1 "105BFE5916") Befehlszeile: mit "sensor53 d1" kommt folgende Response: danach "sensor53 d0"
1 | 10:07:45.752 : 68 95 95 68 08 01 72 01 30 01 76 a5 11 40 |
2 | 10:07:45.794 : 04 29 00 00 00 0c 06 83 00 |
3 | 10:07:45.836 : 00 00 8c 10 06 00 00 00 00 |
4 | 10:07:45.880 : 8c 20 13 03 01 00 00 0c 13 79 |
5 | 10:07:45.923 : 75 00 00 0c 2b 00 00 00 00 |
6 | 10:07:45.964 : 0b 3b 00 00 00 0a 5a 37 05 |
7 | 10:07:45.006 : 0a 5e 89 03 0a 62 47 01 0b 26 |
8 | 10:07:46.044 : 71 01 00 04 6d 11 0a f8 28 |
9 | 10:07:46.086 : 4c 06 00 00 00 00 4c 13 00 00 |
10 | 10:07:46.131 : 00 00 cc 10 06 00 00 00 00 |
11 | 10:07:46.174 : cc 20 13 00 00 00 00 42 6c ff |
12 | 10:07:46.218 : 25 42 ec 7e 1f 35 fc 01 06 |
13 | 10:07:46.260 : 00 00 00 00 fc 01 13 00 00 00 |
14 | 10:07:46.305 : 00 fc 11 06 00 00 00 00 fc |
15 | 10:07:46.347 : 21 06 00 00 00 00 f2 01 6c 00 |
16 | 10:07:46.391 : 00 c2 01 ec 7e ff 2c c5 16 |
Sehr lehrreiche Beiträge. Als interresierter Laie will ich einfach nur danke sagen !! Kann ebenfalls berichten, Sharky 775 kann man mittels HichiTTL und tasmota auslesen. Ein Aspekt den ich trotzdem gerne fokussieren würde, da mich das etwas Zeit gekostet hat .. Die initiale Sequenz welche den Sharky Daten entlockt wird getriggert durch ein sml(1 1 "6804046853FE5000A116") . Dieses muss wohl einmalig nach der Inbetriebnahme passieren .. Bei mir hat das aber nicht auf anhieb funktioniert. Nach vielen hin-und-her und etlichen Fehlversuchen habe ich die Anregung von Thomas probiert und ins waermezaehler.txt -Script von Carsten ein Delay(100) eingehekelt. ..
1 | ;reset application code |
2 | sml(1 1 "6804046853FE5000A116") |
3 | delay(100) |
4 | ;set string to send to "105BFE5916" (REQ_UD2) |
5 | sml(1 1 "105BFE5916") |
.. Anschließend wurde Sharky ziemlich gesprächig... ha .. ein Glücksmoment nach vielen Stunden :-) !! Offensichtlich wollte er es etwas gemächlicher angehen und hat eine Pause gebraucht. Die initiale Sequenz kann dann wieder auskommentiert werden. Verwende ein Hichi TTL (Kabel nach unten) mit Wemos D1 mini .. TX-TX RX-RX, firmware tasmota.bin.gz von Carsten v. 09.01.23.
Hallo ich habe den CF Echo 2 von Itron und durch die tolle Anleitung hier im Forum habe ich es geschafft und kann den WMZ auslesen und die Daten im HomeAssisstent anzeigen lassen. Nur leider werden ab und zu falsche Daten gesendet, dann werden auf einmal z.B. 50.000 mWh Total Energy gesendet. Hat hier jemand eine Idee woran es liegen könnte bzw ich das Problem beheben kann ? Ich weiß nicht wie ich das Script ändern kann das unschlüssige Werte gar nicht gesendet werden. Ich nutze das Script Waermemengenzaehler_Allmess.txt und habe Tasmota_V3 geflasht.
Hallo allerseits, ich versuche vergeblich einen allmess Integral-V Ultralite Ha mit einem Hichi Lesekopf auszulesen. Ich nutze das Skript von Frank (Script_Waermemengenzaehler_Allmess.txt), welches bei Rubinho S. erfolgreich bei dem fast baugleichen WMZ (lediglich ohne HA) läuft. Ich habe mich mit Rubinho auch bereits direkt ausgetauscht und wertvolle Tipps sowie seine funktionierende Tasmota Version zugesendet bekommen. Ich kriege aber absolut keine Daten rein. Der Lesekopf wurde schon in allen erdenklichen, sinnvollen Positionen gedreht. Ich habe auch schon mal etwas Klebeband zwischen Lesekopf und den Dioden platziert, um den Abstand zu vergrößern. Der Lesekopf ist in Ordnung. Das Testskript mit Spiegel empfängt die eigenen Daten. Ich habe inzwischen die Befürchtung, dass die Dioden bei dem WMZ nicht in Ordnung sind, die Batterie zu schwach ist oder die optische Schnittstelle evt. sogar gar nicht aktiviert ist (wenn das überhaupt vom Hersteller vorgesehen ist). Vielleicht hat das Schwarmwissen hier aber auch noch einen entscheidenden Tipp in petto. Hier noch ein paar Zeilen Code aus der Tasmota Konsole nach dem Aufwecken. 22:00:00.315 wakeup start 22:00:03.328 wakeup end 22:00:03.330 wait for the meter 22:00:03.632 request data 22:02:30.849 RSL: STATE = {"Time":"2023-11-30T22:02:30","Uptime":"0T09:10:29","UptimeSec":33029,"H eap":22,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":0,"POW ER":"ON","Wifi":{"AP":1,"SSId":"xxx","BSSId":"xxx","Channel":6,"Mode":"1 1n","RSSI":72,"Signal":-64,"LinkCount":1,"Downtime":"0T00:00:03"}} 22:02:30.855 RSL: SENSOR = {"Time":"2023-11-30T22:02:30","WP_WMZ":{"Energie_total":0.000,"Durchflus s_total":0.00,"Leistung_akt":0.00,"Durchfluss_akt":0.000,"temp_Vorlauf": 0.0,"temp_Ruecklauf":0.0,"temp_diff":0.00,"Betriebstage":0}}
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.