NEWS
Fernwärmezähler - optischen ZVEI Schnittstelle
-
@ralla66 sagte in Fernwärmezähler - optischen ZVEI Schnittstelle:
Sollte TTL sein.
Jop, ist es. Ich habe diesen Platine TTL IR Lesekopf Lese-schreib-Kopf Volkszähler Smartmeter Stromzeller PCB an einem Wemos D1 Mini, an RX/TX. Tasmota 12.2 mit aktiviertem SML draauf.
Weiterhin habe ich einen Hichi USB Lesekopf, mit dem und hterm könnte ich versuchen da was zu senden, kann ich aber erst heute Abend probieren.@holgerwolf Ich bin mir recht sicher dass die da ist und tut, ich meine wie sonst sollen die den das Teil bei mir anschließen und Datum/Uhrzeit, etc. setzen, die hat sonst keine Schnittstellen. Und wenn ich da rein schaue, sehe ich die LED (hell) und IR Transistor (dunkel). Aber ja, ich kann ja mal nachfragen...
-
ok, wenn nix geht nimm Tasmota Serial am ESP mit Hichi TTL.
Dann solltest du was sehen in der Tasmota Konsole oder die 55 senden können.
Wobei mit hterm alles einfacher zu senden / empfangen geht.Ob MBus verbaut ist steht in der Serial Number meine 9 Stelle.
-
@ralla66
Hmm, so viele Stellen hat meine Seriennummer gar nicht...
-
weiterer Lesestoff
und
M Bus Gen 4 Seite 12 Anforderung / 5.1 Unterstützte Befehls-TelegrammeNachtrag:
dann wäre Wake up falsch, eher
Init 10 40 16 hex, Antwort E5 oder 104016 hex
Dataanforderung 10 5B 16 hex oder 105B16 hex -
@ralla66
Vielen Dank dir für deine Hilfe, weiß ich echt zu schätzen!
Ok, ja, kann ich heute abend mal versuchen, Tasmota gibt mir im Log ja auch aus was es sendet, alternativ kann auch das auch über hterm mal versuchen. Da fehlt aber noch die Checksumme, aber ich meine diese und das 16 am Ende macht tasmota automatisch bei Protokoll M-Bus... Auch habe ich beim Zähler was im Loop3 gesehen, da müsste MBus und eine Primäre Adresse stehen, die brauche ich auch... Oder ich sende an 254 (alle).Wenn ich mir die Tasmota SMI mal anschaue, dann muss ich wohl Mode M (8E1) setzen, 2400bps,
und dann am ende die einzelne Telegramme hintereinander:<cmdTelegram> Comma separated hex coded byte blocks to send to meter device. For MODBus each comma separated block is a command to retrieve a certain register from the meter (optional: only required for measuring devices that have to be triggered with a certain character string).
Mist, habe echt Lust das jetzt auszuprobieren, aber bin leider auf der Arbeit... Naja, heute Abend dann
Update: Habe hier noch was gefunden, das sieht ziemlich nach dem aus was ich machen muss: Sensus PolluCom
-
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 ?