NEWS
Fernwärmezähler - optischen ZVEI Schnittstelle
-
dann weißt du ja jetzt was du testen kannst.
mit oder ohne 55, mit Init, mit oder ohne CS.
Tue dir selbst ein Gefallen und lass das spielen mit Tasmota SMI / SML oder sonst was weg.
Direkte Kommunikation mit hterm, sonst erhöhst du nur die Fehlerquellen.
Zumindest bis du erste Antworten mit E5 erhälst.Bin mal gespannt, melde dich
-
Hallo zusammen,
ich finde es super, dass sich so viele melden. Nachdem ich den letzten Tag selber nicht weiter machen konnte, bin ich jetzt einen kleinen Schritt weiter
Ich habe HTerm unter Win11 ans laufen gebracht, und einen Treiber findet man unter:
https://www.silabs.com/documents/public/software/CP210x_Universal_Windows_Driver.zip
(Meine Hardware habe ich weiter oben beschreiben)Jetzt geht es an die eigentliche Umsetzung.
Mein aktueller Wissenstand und Umsatz ist:
- Um die optische ZVEI-Schnittstelle erstmal zu aktiveren (da der Zähler Batteriebetrieben ist) muss der Knopf am gerät gedrückt werden und dann „…2,2 sec lückenlos ein ‘0’ - ‘1’ Bitmuster mit 2400 Baud (= 480 Byte + $55 + 8Datenbit + No Parity + 1Stopbit)…“ senden aber dann auch nach kurzen warten die eigentlich „Anfrage“ hinterhersenden und die Antwort erhalten.
- Was mir fehlt ist die eigentliche Bedienung in HTerm. Da werde ich mich mal einarbeiten . Aber eine Frage habe ich, wie sende ich mit unterschiedlichen Zeitabständen unterschiede befehle? Mal sehen ob wir das zusammen rausfinden?
-
@ralla66
So, habe jetzt erfolglos über 1h versucht diesen blöden Zähler auszulesen, keine Chance...
Habe hterm und MiniCom3 benutzt, beides komplett ohne Erfolg. Das Teil macht kein Mucks...
Was komisch war, als der Kopf absolut perfekt drauf war, und ich in hterm unten was gesendet habe, kam oben beim Empfang genau das gleiche wieder zurück. Aber sonst nichts. Also entweder ist der Empfänger so empfindlich dass er das gesendete als Reflektion empfangen hat, oder der Zähler hat das Zeug einfach zurück geschickt... Wie auch immer, sonst habe ich oben nichts empfangen. Habe auch einen Spiegeltest gemacht, kam genau das gesendete zurück, der Kopf funktioniert also perfekt.
Habe jetzt den Stadwerken geschrieben was der Mist soll und dass die mir bitte das Teil auslesbar machen sollen. Mal sehen was die dazu sagen... Ich gebe aber nicht auf, mein Bruder hat den T330, mal sehen, was der Zähler bei ihm so macht...@peter-1 sagte in Fernwärmezähler - optischen ZVEI Schnittstelle:
Was mir fehlt ist die eigentliche Bedienung in HTerm. Da werde ich mich mal einarbeiten . Aber eine Frage habe ich, wie sende ich mit unterschiedlichen Zeitabständen unterschiede befehle? Mal sehen ob wir das zusammen rausfinden?
Ist eigentlich recht einfach, bin echt gespannt ob es bei dir geht:
1: Com Port wählen
2: Übertragungsrate und Parität wählen
3: Auf Connect clicken, unten sollte stehen: Connected...
4: Checkboxen oben und unten auf ASCII und HEX stellen, unten Senden auf HEX stellen
5: Die Zeichenfolgen einfügen, mit ENTER wird gesendet.Ich füge dir hier ml die Zeichen ein zum Senden:
5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555551040004016
-> E5 (Das sollte zurück kommen)
105B005B16
-> Danach sollten die Zählerdaten kommen
-
@peter-1
Ich habe dir auch die Installationsdatei für MiniCom3 freigegeben:
https://drive.google.com/file/d/16ehyBfwZEmOA3OvMeLNiIVQetfkYs4E1/view?usp=sharingWenn du willst kannst es mal damit probieren
Das macht alles automatisch, wenn du einen doppelclick auf den Zähler links macht, kannst du auch die WakeUp Sequenz und Bitrate ändern.
Du kannst auch oben mal auf scannen gehen und schauen ob dein Zähler antwortet. Wie du siehst hat bei mir nichts davon funktioniert... -
ok,
Spiegeltest war gut,Was komisch war, als der Kopf absolut perfekt drauf war, und ich in hterm unten was gesendet habe, kam oben beim Empfang genau das gleiche wieder zurück.
Das gleiche zurück passt nicht, dann scheint im Bereich Kopf was nicht gut zu sein.
Dann kann vom T230 auch nicht 1040004016 empfangen werden.
Bleibt Kopf um 180 Grad gedreht oder halt mal zwischen T230 und Kopf etwas Luft lassen.
Möglich auch das die Spiegelung von zu weit entfernten IR kommt.Habe nichts über die Syntax C,A und CS gefunden und wie die Checksum berechnet wird.
Datasheet Gen4 Seite 12.
A sollte M-Bus Adresse sein. 00 ist dann alle ? Schon vergeben bei dir `?
C für Command ( 40 Byte 2 ),
CS halt Checksum ( von Byte 2 und 3 ? ).Aufgabe ist dann zu finden was ist A,C und wie wird die Checksum berechnet ? CRC16 ?
Ganz übel wäre wenn der Kopf durch die Beschaltung die Daten invertiert sendet.
Nachtrag, oder die Stadtwerke hat das mit Benutzersicherung gesperrt, was auch logisch wäre.
-
Prima mit dem Treiber das es jetzt läuft.
Deine Anfrage must du selbst erstellen, da bei dir SerNr usw mit eingebaut wird,
siehe Link oben im Datasheet. -
Moin,
hast ja 2 Leseköpfe, dann teste mal ob einer Invertiert.
Lege mal die Köpfe gegenüber, sende von USB nach Platine ein 1234 h
Und dann umgekehrt von Platine nach USB.
Sollte an einem PC mit hterm und minicom gleichzeitig bei gleicher Baud gehen.
Stimmen gesendete / empfangene Daten über ein wird nichts Invertiert. -
@ralla66
Ok, ja, das kann ich versuchen zu testen, denke aber nicht dass es so ist, da beide bei einem Spiegeltest das gleiche geliefert haben. Ich denke eher dass es das Material ist, welches sich im Gehäuse des Zählers befindet, das zu stark rüber leitet wenn die Öffnungen nicht genau exakt über den Öffnungen des Gehäuses sind, das ist so Glas-artiger Kunststoff, siehe hier, baugleiches Model von Siemens. -
Gehäuse dann zerlegen oder etwas dazwischen legen Beispielsweise von einem Schnellhefter die geriffelte durchsichtige Folie.
Tja Spiegeltest,
das gesendete Signal wird ja Invertiert, das empfangene Signal dann vermutlich auch.
Somit bleibt das Signal am gleichen Kopf gleich, halt nur 2 mal Invertiert.
Also kann eine Invertierung per Spiegeltest nicht festgestellt werden. -
Hi, danke für die Hilfe, aber ich bekomme keine Antwort vom Zähler ... ;-(
Der "Spiegeltest" klappt super, mehr aber auch leider nicht.
Ich habe noch die Info gefunden, dass man nach den "…2,2 sec lückenlos ein ‘0’ - ‘1’ Bitmuster..." etwas warten muss, und erst dann die eigentliche Abfrage machen kann.
(Info von @ralla66 weiter oben vom 23 Nov 2022, 15:06)Wie kann ich diese "Pause" beim Senden gezielt einbauen?
Ich habe folgendes 1zu1 so eingegeben: (Ohne erfolg, also kein E5 als Antwort erhalaten)
555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555und auch
5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555551040004016
-
hatte auch was von Pause gelesen 1,3 bis 1,7 sec.
Bitmuster 0...1 ist ja 55 -> 01010101
Pause einbauen kenne ich in hterm nicht.
Spiegeltest ist aber kein Garant das die Daten nicht Invertiert sind.
Was sagen denn die Stadtwerke dazu ?
In der Bedienungsanleitung steht das man Parameter in Loop 3 und 4 ändern kann.
Kommst du da rein oder ist das Code geschützt ? -
@ralla66
Also ich habe jetzt folgendes Script eingefugt:>D >B ->sensor53 r >M 1 +1,3,rE1,0,2400,Waerme,1,10,1040FD3D16,105B005B16 1,68b3b368x23uuUUUUUU@1,Energie total,,total,0 ; Total Wärmemenge 1,68b3b368x47uuUUUUUU@60,Flow F_akt,,F_akt,0 ; aktueller Flow in m^3 1,68b3b368x35uuUUUU@1,Power P_akt,,P_akt,0 ; aktuelle Wärme-Leistung 1,68b3b368x59uuUU@1,Temp Vorlauf,,Vorlauf,0 ; aktuelle Vorlauftemperatur 1,68b3b368x63uuUU@1,Temp Rückl,,Rückl,0 ; aktuelle Vorlauftemperatur 1,68b3b368x67uuUU@1,Temp Diff,,Diff,0 ; aktuelle Differenz Vorlauf/Rücklauftemperatur #
Und and den anderen Sensor gehalten, drecks Magnete, habe fast einen Herzinfarkt bekommen als die in 10cm Entfernung aneinader gesprungen sind...
Auf alle Fälle kriege ich da in 1s Abstand 1040FD3D16 und 105B005B16 zurück, also ist wohl nichts invertiert.
Von den Stadwerken ist leider noch nichts gekommen, erwarte auch nicht dassdie sich schnell bewegen...
Wo steht dass man was ändern kann? Wie? Bin die ganze technische Anleitung durch, da steht nichts davon... -
z.B hier Seite 17 Loop 4
oder hier Punkt 4.2 Setzen oder Löschen der Benutzersicherung ( 5.2 )
Punkt 6.1
Hinweis: Je nach Geräteparametrierung können sowohl An-
zeigeumfang als auch angezeigte Daten von dieser Beschrei-
bung abweichen. Darüber hinaus können bestimmte Tasten-
funktionen gesperrt sein. -
@ralla66
Jop, bei Loop4 kann ich tatsächlich einen 4-Stelligen Code eingeben, habe paar offensichtliche ausprobiert, leider nichts.
Muss mal schauen ob die Stadtwerke das was schicken... -
der Einfachheit halber nimmt man meist Zahlen aus der Seriennummer / Produktionsnummer
oder deiner Stadtwerkenummer.
Von Links nach Rechts gelesen
Beispiel :Thema Script mit ESP, hier wäre zu prüfen welche Flanken der ESP am GPIO ausgibt
oder was sendet der ESP zum Kopf und welche Daten sendet der Kopf.
Wenn hier der Kopf nicht zur GPIO Flanke passt könnte das Signal wieder Invertiert sein.
Nervig, ich weiß, aber eine Prüfung -> was gibt der Kopf aus <- muss sein.
Also die Magneterschreckmich Prüfung durch führen.
ESP sendet zum Kopf, zweiter Kopf hterm empfängt was ?Ja,ja DIY Projekte, brauchste halt Durchhaltevermögen
zu -> Auf alle Fälle kriege ich da in 1s Abstand 1040FD3D16 und 105B005B16 zurück
was hattest du gesendet ( 1040004016 ? ) was empfangen ? -
@ralla66
Habe da jetzt einige Zahlen ausprobiert, nichts hat funktioniert... Ich fürchte mir bleibt nichts anderes als auf den Code von den Stadtwerken zu warten...Was ich sende, steht in der Zeile:
+1,3,rE1,0,2400,Waerme,1,10,1040FD3D16,105B005B16Also ziemlich genau das was ich auch mit dem anderen Kopf und hterm empfange.
-
da fehlt mir das Init 1040004016 bevor die Datenanfrage 5B oder FD kommt.
In der Doku Gen 4 ( Seite 12 / 5.1 ) lese ich das so, entweder 5B oder FD nicht beides zusammen.
Würde das mal so testen :
+1,3,rE1,0,2400,Waerme,1,10,1040004016,105B005B16
oder
+1,3,rE1,0,2400,Waerme,1,10,1040004016,1040FD3D16Nachtrag
Aus der Tasmota Doku wäre mit Pause 1500 ms, type nur r Raw Binary
+1,3,r,0,2400,Waerme,1,1500,1040004016,105B005B16
-
@ralla66
So, nachdem das alles nicht gefruchtet hat, hatte mich heute doch tatsächlich der Support von Landis & Gyr angerufen und da habe ich den mal richtig ausgequetscht. Folgende Punkte habe ich herausbekommen:- Aktivierungssequenz von 40x 0x55 ist korrekt, muss aber nicht gemacht werden, wenn das Gerät über den Knopf aktiviert wurde
- Optische Schnittstelle kann eigentlich nicht abgeschaltet werden, er schließt es physikalisch nicht aus, aber er kennt keinen Kunden der das mal gemacht hat.
- GANZ WICHTIG: Der optische Lesekopf muss eine echo sperre haben, also elektronisch, keine Ahnung ob man das über die Software abbilden kann. Die Energie-Zähler brauchen das wohl nicht, die Wärme-Zähler schon. Das ist wohl bei den von denen getesteten Köpfen der Fall, bei den selbst gemachten wird das wohl nicht der Fall sein.
Jetzt frage ich mich wie ich das Problem wohl mit den Infos lösen kann...
-
dann müssen wir annehmen das die optische Schnittstelle aktiviert ist und nicht per
Code gesichert ist.
Echo sagt mir so nichts, denke aber ich weiss was damit gemeint ist.
Also Gedanken machen wie man das vermeiden kann.
Ist aber eher für die Auswertung per Software der Daten von Belang, für Tests mit
hterm eher unwichtig.
Typischerweise sollte der Lesekopf bis zu einem Abstand von 1 cm nach Norm noch gehen.
Um Spiegelungen bei modernen Satellitenreceiver / DVD Playern usw zu vermeiden benutzt
man dort getönte Plastikscheiben.
Dann sollten wir das Entspiegeln, zb Bsp mit einer geriffelten durchsichtigen Folie.
Möglichkeit zwei den IR Strahl gezielt schützen. Hier zwischen IR Sendediode und Wärme-
mengenzähler IR Receice einen O-Ring legen. Moderne Leuchtmittel senden Teilweise
im dem IR Bereich, also eher bei Tageslicht testen.
Beim testen mit hterm ist das Echo aber eher egal da ja hier nur festgestellt werden soll
ob eine Antwort ( ACK ) vom WMZ kommt.----------------------------- Dann wieder zurück auf Los -----------------------------------
Infos Sammeln, am besten aus der Landis Doku weniger andere Zähler, Forumsbeiträge
oder YT Videos. das verwirrt nur. Hier bietet sich ja die Gen 4 Doku an.
Wo ist die IR Recv Led am Zähler, rechts oder Links.
Was soll wie gesendet werden und was erwarte ich als Ergebnis.
Hex 0x55 wird wie lange gesendet und wie ? 2 sec oder länger ?
Wie, 300 Baud oder 2400 Baud, 7E1 oder 8N1 ?
Die Anfrage wird wie gesendet und was ?
300 Baud oder 2400 Baud, 7E1 oder 8N1 ?
Wenn die eigentliche Anfrage gesendet wird was soll gesendet werden.
Direkt mit default Adresse 254 ?
Aktivieren wir den Zähler per Button klick ?
Test des Lesekopfes und der gesendeten Daten testen, das muß 100 % gehen.
Invertierung ausschließen.
Dann stelle zuerst mal die Daten zusammen was sende ich wie und was erwarte ich aus
den Empfangsdaten, dann Teste den Lesekopf auf funktion und mache dir Gedanken wie
du das Entspiegeln kannst.
Springen zwischen Tasmota und hterm würde ich vermeiden.Hier ist ein ähnliches Projekt in Arbeit.
-
Hallo zusammen, ich kämpfe auch mit einem Wärmezähler - SensoStar - und bin auf den Post gestoßen. Ich versuche das auch mit dem Hichi Wifi IR und komme nicht weiter. Was bei mir aber erstmal geholfen hat mit einem IR Sender/Receiver per USB (ohne den Hichi erstmal), war das hier: https://github.com/geronet1/mbus-test Das kompilieren und mit ./mbus-test -d /dev/ttyUSB0 (oder dem jeweiligen device bei euch) starten. Dann kann man gezielt startsequenzen schicken und er schaltet selbst zwischen den parities hin und her. Bei mir bekomme ich Daten mit q und r. Ich tue mir nur schwer das für den Hichi zu übersetzen. Dachte mir vielleicht hilft es bei der Suche nach der Lösung - und 2. vielleicht hat ja jemand nen Tipp und kann das in das tasmota script übersetzen...
Danke euch