NEWS
Adapter "smartmeter"
-
Hi,
Hab gerade den USR-TCP232-302 wieder am testen.
Anbei der Ausschnitt aus dem log. Die Verbundung wird nicht hergestellt.
Das Diagnosemodul zeigt jedoch einen lupenreinen HEX Datenstrom....Siehe Bilder.
Gruß
Roland
-
@ciwa Läuft das Testprogramm auf dem ioBroker Rechner oder auf einem anderen?
Ist der USR vom ioBroker Rechner her ansteuerbar.Mit dem Testprogramm kommen bei mir auch Hexwerte, aber ich könnte jetzt nicht sagen, ob die sinnvoll sind.
Dein log sagt, daß der TCP Socket verbunden sei. Allerding weiß ich nicht, ob das der Socket im ioBroker Rechner ist, oder schon der USR. Vielleicht kann @apollon77 etwas dazu sagen.
Was sagt das log in Loglevel debug?
-
@ciwa Und wenn Du obiges gemacht hast, gäbe es noch eine Testmöglichkeit, die ich allerdings selbst noch nie verwendet habe und derzeit auch nicht testen kann:
Du könntest mit dem USR Testprogramm ein File erzeugen "Receive to file". Habe aber keine Ahnung, ob HEX oder nicht
Und der Adapter kann auch von File einlesen. Unter "Datenübertragung". -
Der USR ist vom Raspi aus erreichbar (Ping)
Debug Ausgabe bleibt gleich, alle 2 Minuten ein Timeout, keine zusätzlichen Infos.Datei Aufzeichnung anbei.
Ich kann die momentan nicht auf den Raspi übertragen. Bin aber drann
Gruß
Roland
-
@ciwa Hast Du das Abfrageintervall auf 0 gesetzt, wie oben erwähnt?
Ich konnte nirgends eine Bestätigung finden.
Der errorlog sagt was von request, den sollte es gar nicht geben, denn der Zähler schickt wann er will und der Adapter hört zu. -
@ciwa AlLso WENN das SML ist dann sind die Daten kaputt ... Da ist nirgends ein SML header zu sehen (mehrere 1B nacheinander). Wenn es D0 ist dann sind da zeichen im Fx Bereich drin was auch müll wäre ...
An sich sollte der Adapter im Debug Log alles loggen was ankommt ... hast du auch wirklich den Loglevel der Instanz auf Debug gestellt?
-
@Ciwa die Einstellung der Logstufe ist im neuen Admin etwas versteckter
Zuerst den Expertenkopf oben aktivieren, den Adapter suchen und dann die Logstufe editieren
-
@apollon77 sagte in Adapter "smartmeter":
@ciwa AlLso WENN das SML ist dann sind die Daten kaputt ...
Das kann durchaus sein, weil in diesem Fall RS232 mit einem einfachen TTL Pegel verbunden wurde, ohne den eigentlich erforderlichen Konverter.
Aber bevor Teile bestellt und der Lötkolben geschwungen wird, wollen wir ermitteln, ob der TCP Pfad frei und gangbar ist. Das sollte man ja im Loglevel debug sehen. Wenn dann was kommt, aber die Daten Müll sind, dann wird die HW Anpassung fällig. -
Pegelpfusch, aber wenn man lieber tagelang rumprobiert ....
ich hab genau das oft genug gesehen, grenzwertige Pegel und es kommt mal was, mal nicht und meist kauderwelsch. -
So erst mal der debug log.
Irgendwas ist noch Faul, der Zähler bekommt vom Lesekopf ein Signal. Die IRLED ist an wenn der LK am USR dran hängt. Am ESP macht er das nicht.
Und ja wenn das nicht umgehend klappt fliegt der USR halt raus......ist mehr Spieltrieb
Gruß
Roland
-
Noch eine andere Frage....kann ich den ESP8266 zusammen mit Smartmeter nutzen? Bzw. ist es möglich die Zählerdaten mit dem ESP permanent zu senden und nicht nur alle 10 Sekunden? (Minimale Log Zeit)
Danke & Gruß
Roland
-
@ciwa sagte in Adapter "smartmeter":
Irgendwas ist noch Faul
Ja klar, TTL direkt auf RS232. Pegelthema, MAX232 fehlt.Aber immerhin wissen wir jetzt, daß der Datenpfad läuft. Es kommt ja was beim Adapter an.
-
@ciwa
Wenn es ein SML Zähler ist könntest Du SMLReader auf den ESP flashen. Der sendet als Standard jedes Datenpaket als MQTT. Mehr geht nicht. -
Die Daten kommen am ESP klar und sauber an.
Der ESP mit Tasmota wandelt die Spannungswerte nach hex, hier 0x00 bis 0xFF, siehe Bild.
So erscheint auch das Startzeichen ! hex 0x21 im Datenstrom.
Der ESP / Tasmota wandelt die Spannung aber auch nach AScii hex, 0x00 bis 0x7F.
Dies geht mit Tasmota einmal per Smartmeter und Script oder per Softwareserial mit Serialdelimiter128.
Eine Umsetzung des Pegels von TTL nach RS232 wird hier zu keinem Ergebniss führen da ein Bsp hex 0xFF eine hex 0xFF bleiben wird, eben nur ein sauberer Pegel da ist.
Warum kann also Smartmeter die Daten nicht erkennen, ganz einfach es ist kein ASCII hex dem entsprechend ist auch kein Header vorhanden.
Mit hoher Wahrscheinlichkeit wird bei Tasmota eine Bitmaskierung ausgeführt, hier mit Bit 8 wobei wohl das Command Serialdelimiter128 dies ausführt. Das müßte dann mal jemand in der Tasmota Softwarewareserial Routine prüfen. -
@ralla66 Mag sein, daß ich die ganze Situation nicht verstanden habe.
Ich sehe hier 2 getrennte und nicht vermischte Situationen.- Irgendeine ESP Lösung
- Eine Lösung mit USR aber ohne ESP.
An eine Mischlösung habe ich nicht gedacht. Schon mal, weil ich die ESP-Lösungen nicht aus eigener Anschauung kenne. Dazu kann ich also nichts sagen.
Kann aber sein, daß ich mich täusche. Was wirklich der Fall ist, weiß der Fragesteller natürlich besser.
-
der USR geht ja, leitet ja die Daten sauber weiter.
Pegel ist ja auch ok. Hier bleibt nur dem USR ASCII hex konforme Daten zu liefern.
Theoretisch kann der ESP Daten empfangen an RX diese Wandeln nach ASCII hex und an TX
zum USR senden. Aber das soll er dann selbst erkunden wie das geht. -
@ralla66 ääähhmmmm .. Startzeichen 21h?? Was soll das sein? Sml und D0 ist’s nicht.
-
Es ist für dich kein lesbares D0 / SML Ascii hex File. Das stimmt auch.
Bei der Zerlegung des Datensatzes des AEConversion AESGI Protokolls über RS485 Roh hex hatten wir das gleiche Bild.
0x21 war immer Startzeichen. 0B AE ist die Serial meines Wechselrichters.Also warum kann der ESP die Datensätze Roh nach hex ASCII im Softwareserial Mode und Serialdelimiter128 mit Tasmota konvertieren. Steht ja in der Routine drin, die ich aber nicht lesen kann.
Ähnliches Bild ist beim Victron VE Direkt Protokoll auch da .ESP geht , hterm nur Roh hex.
-
kannst du mal bitte die Daten aus der Console von Tasmota hochladen um zu sehen welche Daten
vom ESP nach Sonoffadapter im Klartext gesendet werden. Dankeweiter zerlegt :
Bleiben an Datensätzen über :
21 B5 A3 A7 37 D5 57 9B 3B FD 39 FB 4D FF 13 F5 FF 81 21 7B A7 3B FF 1B 39 F1 FD 11 F1 01 00 00 00 00 00 7A BD 75 65 6F FF FF BF 21 B5 FD FF 3B EB 01 00 A3 A7 37 D5 57 9B 15 11 F1 FD FF 3F 9B FD FD FD FD FD FD F7 75 65 6F FD 11 F1 FD FF 3F FD FF 01 7F 7F 7F 7F 7A BD 75 65 6F FF FF BF 21 B5 11 F1 FD FF FD EF FF 01 D3 5C EE 1B 3B FD 37 D5 57 9B 3B C3 5B 01 D3 5B F8 E9 11 F1 FD FF FB EF FF 01 7F A3 A7 37 D5 57 9B 3B C3 5B 01 4E 6F EA 11 F1 FD FF DF F1 FF 01 7F 7F A7 6E F5 59 F7 8B FD FD FD 39 83 9D 13 F5 FF 81 21 BD A7 3B FF 1B 39 FB FD 1D FD 39 A7 38 FF FF FF C9 C9 C9 C9 CB F9 35 ED 72 72 72 72 7F 7F 7F 7F A2 DF 81 21 7A A7 3B FF 1B 39 FD FD 13 FD F1 01 00 00 00 00 00 7D D5 61 A1 7A BD 75 65 6F FF FF BF
21 Startzeichen, B5 Header ? 81 21, 81 nachfolgendes Byte ist nicht Startzeichen sondern hex Wert.
Nun noch mit dem Klartext vergleichen dann sollte das ein Bild ergeben
Wobei am Ende 7A BD 75 65 6F FF FF BF immer gleich ist, vermutlich Zählernummer oder Stand.
-
Guten Abend
Bei mir wurde der Zähler gegen einen DZG DWS7420.1G2 getauscht. Laut Suche wurde der Typ hier wohl noch nicht behandelt. Es gibt jedenfalls kein Ergebniss!
Laut Anleitung soll der Zähler nach Eingabe der PIN und umstellen auf "Inf On" den Zählerstand mit Kommastelle und die Wirkleistung über die Infrarotschnittstelle ausgeben. Bei mir kommt aber immer nur der Zählerstand ohne Kommastelle.
Habe ich das was falsch gemacht? Kennt jemand den Zähler? Muss ich den Adapter Smartmeter neu installieren?Gruß
edition