NEWS
Adapter "smartmeter"
-
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 -
@edition Mit dem Adapter hat das nichts zu tun. Der verarbeitet das was kommt.
Und wenn ich es richtig verstanden habe, zeigt der adapter ja schon die Energie an, ebenso wohl Zählernummer etc. Also funktioniert die Verbindung zum Adapter schon mal richtig.
Da hat wohl etwas mit der PIN Eingabe oder dem Einschalten der Info Schnittstelle nicht geklappt.
Das Einbliken ist ein Geduldsspiel. Was sagt die Anleitung genau?
Ob die PIN funktioiert hat, kann man auch am Display des Zählers sehen. Das zeigt dann auch die Leistung an und die Nachkommastellen bei der Energie. -
Hi,
Tasmota verarbeitet die SML Daten selbst. Zur Zeit habe ich den Smartmeter Adapter nicht in Betrieb. Ausgegeben werden die Daten über MQTT. Alle 10 Sekunden Zählerstand und der aktuelle Verbrauch. Aufbereitet mit Grafana.
Konfiguriert ist das über das Script:
>D >B =>sensor53 r >M 1 +1,3,s,0,9600,Bezug 1,77070100010800ff@1000,Zählerstand,KWh,Total_in,3 1,77070100100700ff@1,Leistung,W,Power_cur,0 #
Output Konsole nach Eingabe sensor53 d1
19:51:28.077 : 77 07 01 00 60 32 01 01 01 01 01 01 04 45 4d 48 01 19:51:28.102 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 45 4d 48 00 00 a0 bd 2a 01 19:51:28.131 : 77 07 01 00 01 08 00 ff 64 1c 81 04 72 62 01 64 19 94 c0 62 1e 52 ff 64 2b 82 43 01 19:51:28.156 : 77 07 01 00 02 08 00 ff 01 72 62 01 64 19 94 c0 62 1e 52 ff 63 08 66 01 19:51:29.014 : 77 07 01 00 10 07 00 ff 01 01 62 1b 52 00 53 02 6c 01 01 01 63 e9 d7 00 76 05 00 4c b0 b4 62 00 62 00 72 63 02 01 71 01 19:51:29.049 : 77 07 ff ff ff ff ff ff 0b 0a 01 45 4d 48 00 00 a0 bd 2a 07 01 00 62 0a ff ff 72 62 01 64 19 94 c1 75 19:51:29.067 : 77 07 01 00 60 32 01 01 01 01 01 01 04 45 4d 48 01 19:51:29.092 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 45 4d 48 00 00 a0 bd 2a 01 19:51:29.121 : 77 07 01 00 01 08 00 ff 64 1c 81 04 72 62 01 64 19 94 c1 62 1e 52 ff 64 2b 82 44 01 19:51:29.146 : 77 07 01 00 02 08 00 ff 01 72 62 01 64 19 94 c1 62 1e 52 ff 63 08 66 01 19:51:30.024 : 77 07 01 00 10 07 00 ff 01 01 62 1b 52 00 53 02 6c 01 01 01 63 fe b1 00 76 05 00 4c b0 b7 62 00 62 00 72 63 02 01 71 01 19:51:30.059 : 77 07 ff ff ff ff ff ff 0b 0a 01 45 4d 48 00 00 a0 bd 2a 07 01 00 62 0a ff ff 72 62 01 64 19 94 c2 75 19:51:30.077 : 77 07 01 00 60 32 01 01 01 01 01 01 04 45 4d 48 01 19:51:30.102 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 45 4d 48 00 00 a0 bd 2a 01 19:51:30.131 : 77 07 01 00 01 08 00 ff 64 1c 81 04 72 62 01 64 19 94 c2 62 1e 52 ff 64 2b 82 46 01 19:51:30.156 : 77 07 01 00 02 08 00 ff 01 72 62 01 64 19 94 c2 62 1e 52 ff 63 08 66 01 19:51:31.028 : 77 07 01 00 10 07 00 ff 01 01 62 1b 52 00 53 02 71 01 01 01 63 26 91 00 76 05 00 4c b0 ba 62 00 62 00 72 63 02 01 71 01 19:51:31.064 : 77 07 ff ff ff ff ff ff 0b 0a 01 45 4d 48 00 00 a0 bd 2a 07 01 00 62 0a ff ff 72 62 01 64 19 94 c3 75 19:51:31.082 : 77 07 01 00 60 32 01 01 01 01 01 01 04 45 4d 48 01 19:51:31.106 : 77 07 01 00 60 01 00 ff 01 01 01 01 0b 0a 01 45 4d 48 00 00 a0 bd 2a 01
Gibt es eine Möglichkeit die Daten auch direkt mit Tasmota an den Adapter Smartmeter weiter zuleiten?
Ohne den ESP mit was anderem zu flashen......Danke & Gruß
Roland
Mod-Edit: Code in </> Code-Tag gepackt!
Danke krieg ich hin beim nächsten mal -
@ciwa welchen Mehrwert hat der Adapter noch wenn du sml schon vorher selbst parst?
-
Ich möchte Smartmeter gerne nutzen...krieg das aber mit meinen aktuellen Kenntnissen nicht hin. (Ich arbeite daran :))
Plan war den USR zu nutzen das ging aber erst mal schief kommt nur Müll raus, siehe oben.Mit Tasmota klappts einwandfrei....aber halt nur alle 10 Sekunden....
Gibt es die Möglichkeit mit Tasmota den Adapter Smartmeter zu nutzen?Danke & Gruß
Roland
-
Danke,
nein schneller kenne ich nicht. Ist bei mir wie bei dir über Tasmota Script alle 10 sec. -
@ciwa sagte in Adapter "smartmeter":
Gibt es die Möglichkeit mit Tasmota den Adapter Smartmeter zu nutzen?
Es gibt ein Programm "ser2net" welches ähnliches macht wie der USR.
Das gibt es wohl auch unter Tasmota
https://tasmota.github.io/docs/Serial-to-TCP-Bridge/Ich habe das aber noch nie so getestet und mit dem ESP kann man das WLAN leider nicht durch Kabel ersetzen
Und auf den ersten Blick sieht es so aus, daß man sich das selbst compilieren muß. Aber vielleicht kann da die Tasmota Community weiter helfen.Es gibt einige Kollegen hier, die ser2net auf einem Raspi laufen haben, um einen Zigbee USB-Stick einzubinden und bei denen es stabil läuft.
Bei mir wurde das in meiner Konstellation leider nicht stabil. Alle paar Tage ist das ausgestiegen.
Mit einem USR läuft es aber stabil. -
Moin,
es sind ja 2 Ansätze zu verfolgen, einmal im Adapter selbst oder per Tasmota mit Umleitung.
Wenn die Roh 21er Datensätze konvertiert werden könnten wäre es möglich die Rohdaten im Adapter
zu wandeln. Dann wäre ein weiteres zerlegen der 21er Datensätze nötig. Hier könnte ich weiter mit
unterstützen, Rohdaten sammeln und Auswerten.
Ansatz 2 wäre der ESP selbst. Der ESP mit Tasmota konvertiert ja die 21er Rohdaten und sendet die konvertierten
Daten per Mqtt nach IOBroker Adapter.
Hier müßte dann eine Umleitung erfolgen. Also der ESP konvertiert die Daten und sendet diese parallel zu
Mqtt an TX weiter. Der ESP publisht die Daten bei Mqtt ja nur. Hier müßte man in der Routine schauen woher
Mqtt die Daten zum publishen her bekommt. Dann würde auch der USR nutzbar sein.
Werde mal an Tasmota Umleitung dran bleiben da ich dies auch im VE Direkt Projekt benötige. -
@ralla66 Eigentlich sind es noch mehr Ansätze. Wie gesagt Ser2Net auf einem ESP wäre auch noch eine Möglichkeit. Da gibt es das Problem der Pegelwandlung nicht, welches meiner Meinung nach in diesem Fall der Auslöser ist.
Was passiert, wenn man einen RS232 Eingang mit TTL füttert? Bestenfalls werden 3.3v bzw 5V als positive Spanung und 0V als negative Spannung erkannt. Aber RS232 hat negative Logik. die logische 1 entspricht der negativen Spannung. Also kommt der bitstream invertiert an - bestenfalls. Ebenso auch das Stopbit. Also wird der Datenstrom wahrscheinlich auch falsch aufsynchronisiert. Dann wird er falsch abgeschnitten und es geht was verloren. Ob man das nachträglich wieder per SW richten kann?
Man muß halt die RS232 richtig bedienen. Oder ein Modul mit Binäreingang ("TTL") nehmen.
Beim smartmeter nutze ich einen RS485 <-> TTL Wandler vor dem USR, beim Zigbee und beim RFLink gehe ich mit den TTL auf ein USR Modul mit binäreingängen. Läuft alles stabil, ales mit LAN. -
Moin, mach mal hier für mich closed hat ja weniger mit dem Adapter zu tun. Wobei ein Thread zum Thema Wandlung,
Protokolle und so ganz spannend wäre. Hol dann mal den verstaubten Oskar raus. Ein sauberer Pegel und der Richtige
ist wichtig. Da bin ich ganz bei euch. Betreibe eben gerne Tiefenforschung.
Nachtrag, so wie ich das verstehe legt der ESP im Serial Mode die Daten in den Buffer als char ab ( xrdrv_08 ), 1 Byte.
Hterm wertet dies sehr wahrscheinlich als Unicode UTF 16 aus, also 2 Byte pro ASCII.
Das erkärt zumindest warum die Daten per ESP Serial in der Tasmota Console als Klartext lesbar sind. -
Hi,
ich weiß nicht ob das Thema noch aktuell für Dich ist aber du kannst den USR-TCP232-302 nur nutzen, wenn du einen "RS232/TTL Wandler" benutzt. Den Wandler gibt es bei Pollin für 2€ oder so. Ich weiß nicht ob ich den Link hier Posten darf aber einfach mal bei Pollin suchen. Das Problem ist nämlich das UART TTL nicht das gleiche wie RS232 ist. Ersten ist es ein anderer Spannungsbereich (UART TTL 3.3 oder 5 V und RS232 +-12Volt) und außerdem ist RS232 invertiert gegenüber UART.