NEWS
Adapter "smartmeter"
-
@Schmakus TCP-Server ist das Stichwort oder ser2net. Da gibt es wohl auch Lösungen für den Raspi. Getestet habe ich es allerdings nicht, ich habe einen Lesekopf mit seriellem Ausgang und einem fertigen serial to TCP Server von USRIOT (kleiner, billiger, stromsparender) in Betrieb habe und auch etliche Varianten (LAN, WLAN, Fertiggeräte, Module, "TTL"-seriell, RS232, RS485) getestet. Aber keine mit einem USB-Lesekopf.
-
@Schmakus Hallo, @klassisch hat recht, ser2net geht mit iobroker ohne Probleme. Umsetzungen kenne ich für einen ESP8266 in Form von esp-link und ESPEasy. Ist recht einfach umzusetzen, die Interpretation läuft dann im ioBroker. Speziell esp-link hatte ich schon am laufen. Vorteil wäre auch, dass es notfalls, je nach Zähler, auch schreiben (d.h. anfordernd) funktionieren sollte (Ergänzung: iobroker unterstützt nur lesend). Manche Zähler brauchen das.
Ein anderer Ansatz wäre SMLReader (Github). Wieder ein ESP8266. Er wandelt die Daten des SML-fähigen Zählers direkt um in MQTT. Vorteil wäre Flexibilität von MQTT und Multi-Kopf-Fähigkeit. Nachteil ist, dass diese Lösung nicht schreiben Richtung Zähler kann. Oft ist das aber nicht notwendig. Alle Lösungen sind sehr leicht selbst zu bauen.
Wer das nicht selbst machen will oder kann, ich biete das auch bei Ebay fertig an. Sollte zu finden sein. -
@Tomte sagte in Adapter "smartmeter":
SMLReader (Github)
Danke für den Tipp mit SMLReader. Ich nehme das mal bei Gelegenheit in meinen Guide mit auf.
-
@Tomte Also der iobroker Adapter kann für D0 auch schreiben ... andere Fälle wo das nötig wäre sind mir nicht bekannt.
-
Hallo @apollon77 ,
jein, wir sprechen von drahtloser Übertragung. Wenn Du in iobroker im Smart Meter Adapter auf den Dropdown "Datenübertragung" gehst, dann kannst Du auf "Netzwerkdaten werden nur gelesen" gehen. Mit Netzwerkdaten und Schreiben gibt es nicht. Bei einem Zähler, der selbstständig sendet, wie z.B. mein EMH, ist das kein Problem. Wenn Du einen Zähler hast, der auf eine Anforderung wartet oder eine Konfiguration, wie z.B. der Iskraemeco MT171, (da muss man spezielle Zeichen senden, nicht nur mit der Taschenlampe mal eine PIN einmorsen, ) dann wird es ein Problem.
Hier geht dann vielleicht ein TCP Server von USRIOT wie @klassisch erwähnt hat (der scheint aber auch nicht drahtlos zu sein, sorry). -
@Tomte sagte in Adapter "smartmeter":
Hier geht dann vielleicht ein TCP Server von USRIOT wie @klassisch erwähnt hat (der scheint aber auch nicht drahtlos zu sein, sorry).
Doch drahtlos gibt es die USRIOT-Teile auch. Sowohl als Modul (habe ich getestet, war um die 8 EUR) als auch als Fettiggerät (habe ich nicht gekauft).
Aber ob man damit D0 auslesen kann, weiß ich nicht und kann es mangels Zähler auch nicht testen.
Da gäbe es für mich 2 Fragen:- beim Adapter kann man zwar einen TCP Server auswählen, aber der Menueeintrag sagt "Netzwerk-Gerät Daten werden nur gelesen" aber ich kann dann als Protokoll dennoch D0 auslesen, was ja bidirektional ist. Das verstehe ich noch nicht, aber das kann @apollon77 sicherlich aufklären
- Ich könnte die USRIOT Geräte auch über eine virtuelle COM Schnittstelle einbinden. Und beim RFLink Adapter mache ich das auch so und das funktioniert. Aber ich weiß nicht, ob da die Baudratenumschaltung funktioniert, die viele D0 Geräte haben. Die Featureliste des Gerätes erwähnt das zwar, aber ich kenne mich nicht damit aus. Allerdings hatte ich den RFLink einige Zeit mit einer falschen Baudratenvorgabe betrieben und das hat dennoch funktioniert.
Also, nix genaues weiß ich dazu leider nicht.
Das Gros der Zähler, die derzeit nach EU Vorgabe in die Haushalte getauscht werden, sprechen eh SML und senden die Daten ungefragt unidirektional. -
habe seit zwei Tagen den Lesekopf von Volkszähler und es hat auf Anhieb geklappt! Also ein Lob an apollon77.
Ich habe nur ein kleines Problem, die Dp habe alle einen : Doppelpunkt und dadurch kann ich diese nicht als Binding in Vis anzeigen lassen.
Kann man dem Dp‘s einen anderen Namen geben?
-
@Saschag Der Adapter schiebt durch was vom Zähler kommt. Und da kommen standardisierte Formate
Ich kopiere mir die Werte per Javascript in einen plausibel benannten Datenpunkt unter 0_userdata. Dann tritt das Problem nicht mehr auf. Einfacher "Dreizeiler" und die Daten liegen dann auch gleich da wo ich sie haben möchte.
Wenn man die Daten nicht dazwischen noch bearbeiten möchten, bietet sich auch ein alias-Datenpunkt an. @paul53 hat ein Skript, welches das Anlegen des alias Datenpunkts vereinfacht -
@Saschag wenn jetzt die IDs der DPs geändert würden, funktionieren bei allen Usern Skripte, views, usw. nicht mehr.
Hast du es mal mit Alias versucht?
Den kannst du beliebig benennen und im binding benutzen -
Vereinfachtes Anlegen von alias:
Skript von @paul53
https://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen/5
oder: von xCruziX: https://github.com/xCruziX/ioBroker-Creating-Alias -
Dank, werde ich dann so machen!
-
Hallo
Ich würde auch gerne den Adapter nutzen, habe aber leider einige Verständnisproblem mit den Einstellungen.
Habe einen Weidmann Lesekopf an einem EHZ Zähler.
Den lese ich aktuell mit einem PI3 im Zählerschrank aus und logge die Daten mit dem volkszähler und sende die Daten an die Datenbank auf dem NAS.Jetzt möchte ich den Lesekopf mit diesem Adapter in IOBroker einbinden. Bei mir läuft aber der IOBroker auf meiner Syno NAS 218+.
Wie kann ich den Lesekopf einbinden, besser gefragt: welche einstellung brauche ich für den Adapter über Netzwerk?
Danke schon mal für eure Hilfe
Gruß
HappyUser20 -
ich habe einen Pi mit IOBroker, Lesekopf am USB Port im Zählerschrank und sende die benötigten Daten mit MTTQ an den IOB auf einer Syno NAS. Habe es erst mal zurückgestellt, den Lesekopf an meine DS720 anzubinden.
LG
-
@happyuser20 ioBroker ist multihost fähig.
Du kannst also auf Deinen Raspi eine ioBroker Instanz aufspielen und einen smartmeter Adapter installieren. Durch die Multihostfähigkeit kannst Du dann auf die Daten von Deiner ioBroker Hauptinstanz auf der Syno aus zugreifen. -
@klassisch said in Adapter "smartmeter":
@happyuser20 ioBroker ist multihost fähig.
Du kannst also auf Deinen Raspi eine ioBroker Instanz aufspielen und einen smartmeter Adapter installieren. Durch die Multihostfähigkeit kannst Du dann auf die Daten von Deiner ioBroker Hauptinstanz auf der Syno aus zugreifen.Ah OK, wusste ich nicht. Danke für die Info
Muss ich dazu, dem im Container laufen IOBroker irgendwie auf Master umstellen?
Geht das nachträglich noch oder muss ich komplett neu aufsetzen? Was ich vermeiden möchte (hab jetzt alles soweit eingerichtet wie es für mich am besten ist. VIS usw.)Gruß
Happyuser20 -
Hi,
habe gerade meinen PI der als Slave den Smartmeter ausliest auf Buster upgedated.
Danach ist mir im log vom Smartmeter Adapter am Ende aufgefallen das es einige merkwürde einträge gibt:
2021-01-31 20:29:07.540 - debug: smartmeter.0 (3845) PAUSE READING SERIALPORT TO HANDLE MESSAGE 2021-01-31 20:29:07.540 - debug: smartmeter.0 (3845) MSG IDX 0 2021-01-31 20:29:07.542 - debug: smartmeter.0 (3845) SML MESSAGE: START SML-File START SmlMessage Transaction-ID: �[� (001200a35bb8) Group-No: 0 Abort On Error: 0 Message-Body: SmlPublicOpenResponse Codepage: undefined Client-ID: undefined Req-FileId: �s� (001206cb73e8) Server-ID: 0901454d4800006544b3 Sml-Version: undefined CRC 16: valid END SmlMessage START SmlMessage Transaction-ID: �[� (001200a35bb9) Group-No: 0 Abort On Error: 0 Message-Body: SmlGetListResponse Client-ID: undefined Server-ID: EMHeD� List-Name: b �� Act-Sensor-Time: (Sec-Index): 113998762 ValList: [ Obj-Name: 129-129:199.130.3*255 Status: undefined Val-Time: Unit: undefined Scaler: undefined Value: EMH / 454d48 Value-Signature: undefined , Obj-Name: 1-0:0.0.9*255 Status: undefined Val-Time: Unit: undefined Scaler: undefined Value: EMHeD� / 0901454d4800006544b3 Value-Signature: undefined , Obj-Name: 1-0:1.8.0*255 Status: 10282 Val-Time: Unit: 30 Scaler: -1 Value: 302851843 Value-Signature: undefined , Obj-Name: 1-0:2.8.0*255 Status: 10282 Val-Time: Unit: 30 Scaler: -1 Value: 126513880 Value-Signature: undefined , Obj-Name: 1-0:1.8.1*255 Status: undefined Val-Time: Unit: 30 Scaler: -1 Value: 0 Value-Signature: undefined , Obj-Name: 1-0:2.8.1*255 Status: undefined Val-Time: Unit: 30 Scaler: -1 Value: 126513880 Value-Signature: undefined , Obj-Name: 1-0:1.8.2*255 Status: undefined Val-Time: Unit: 30 Scaler: -1 Value: 302851844 Value-Signature: undefined , Obj-Name: 1-0:2.8.2*255 Status: undefined Val-Time: Unit: 30 Scaler: -1 Value: 0 Value-Signature: undefined , Obj-Name: 1-0:16.7.0*255 Status: undefined Val-Time: Unit: 27 Scaler: -1 Value: 33817 Value-Signature: undefined , Obj-Name: 129-129:199.130.5*255 Status: undefined Val-Time: Unit: undefined Scaler: undefined Value: ��^����L�u�;��KC)�/>�0 ��J� ֻ8�ND��7��o���({ / b4f35ef98491e34cde75883ba9e34b4329f72f3ecb300afbb44ac31709d6bb38a44e0f44961dae37a1c76fe5c2ce287b Value-Signature: undefined , ] List-Signature: undefined Act-Gateway-Time: CRC 16: valid END SmlMessage START SmlMessage Transaction-ID: �[� (001200a35bbc) Group-No: 0 Abort On Error: 0 Message-Body: SmlPublicCloseResponse Global Signature: CRC 16: valid END SmlMessage END SML-File
Liegt das an Einstellungen im Adapter oder kann ich das einfach ignorieren?
-
@wendy2702 Naja im Debug Log wird halt alles geloggt, auch die Meldung
-
-
@wendy2702 Naja, vllt eher Debug log wieder ausschalten?
-
@apollon77 das meinte ich mit ignorieren