NEWS
Adapter "smartmeter"
-
Smartmeter ist absolut genial! Ich bin froh, dass es da ist.
Inzwischen nutze ich 3 Instanzen. Jede braucht ca. 3,5% CPU, relativ viel verglichen mit allen anderen iobroker Instanzen.
Kann ich irgendwas tun, um das zu reduzieren?@Matis D0 oder SML? Abfrageintervalle? Baudrate und und und .. so viele Fragen. Andererseits 10,5% CPU (von was auch immer einem Host ... Raspi? Oder was? Welcher?) ... so what?!

Wenn der Adapter Daten empfängt muss er nach jedem neuen datenblock schauen ob eine Nachricht vollständig geworden ist. Das wird also immer wieder geprüft. Wenn vollständig dann wird diese geparst - je nach Protokoll. Damit passiert halt wenn er empfängt (abfrageintrvall) immer etwas und das kostet natürlich.
-
@Wurmi dann bitte mal volles debug log als Text (nicht Grafik) aus der iobroker log Datei auf Platte (nicht Admin) posten
@apollon77 sagte in Adapter "smartmeter":
@Wurmi dann bitte mal volles debug log als Text (nicht Grafik) aus der iobroker log Datei auf Platte (nicht Admin) posten
Sorry habe es gestern nicht geschafft, aber nun hier das Log.
Gruß
Wurmi \m/ -
@apollon77 sagte in Adapter "smartmeter":
@Wurmi dann bitte mal volles debug log als Text (nicht Grafik) aus der iobroker log Datei auf Platte (nicht Admin) posten
Sorry habe es gestern nicht geschafft, aber nun hier das Log.
Gruß
Wurmi \m/@Wurmi Ha, ich habs ... das ist alles "wie gewollt". DU hast bei der D0 SignOnMessage das hier angegeben: "?,063030300D0A" ... er macht also einmal eine Anfrage mit "/?!" und direkt 1s später eine mit "/063030300D0A?" ... und die zweite wird (weil das "Blödsin ist") vom Zähler nicht beantwortet was zu dem Fehler führt.
also mach die D0SignonMessage leer (oder nur "?" rein) und alles ist gut
-
@Wurmi Ha, ich habs ... das ist alles "wie gewollt". DU hast bei der D0 SignOnMessage das hier angegeben: "?,063030300D0A" ... er macht also einmal eine Anfrage mit "/?!" und direkt 1s später eine mit "/063030300D0A?" ... und die zweite wird (weil das "Blödsin ist") vom Zähler nicht beantwortet was zu dem Fehler führt.
also mach die D0SignonMessage leer (oder nur "?" rein) und alles ist gut
DAAAANKE
Sieht jetzt super aus. Ich habe den zweiten Wert während der Recherche aufgeschnappt und als es dann lief war der mit drin. Der Ausschlaggebende Punkt war dann aber dein "mach den Cat Befehl wech" und habe den SignOnMessage String nicht mehr in Frage gestellt.erster Durchlauf:

zweiter Durchlauf

Danke das du dir die Zeit genommen hast. Ich bin erst kurz dabei, aber von der Community hier im Forum und im Discord schwer angetan!

Gruß
Wurmi \m/ -
DAAAANKE
Sieht jetzt super aus. Ich habe den zweiten Wert während der Recherche aufgeschnappt und als es dann lief war der mit drin. Der Ausschlaggebende Punkt war dann aber dein "mach den Cat Befehl wech" und habe den SignOnMessage String nicht mehr in Frage gestellt.erster Durchlauf:

zweiter Durchlauf

Danke das du dir die Zeit genommen hast. Ich bin erst kurz dabei, aber von der Community hier im Forum und im Discord schwer angetan!

Gruß
Wurmi \m/Hallo,
wie logt ihr die Werte mit ? Ich probiere schon einige Zeit mit Sourceanalytix und Statistics, bekomme auch Werte aber überall nicht richtig vollständig. Vortag fehlt oder Eintragungen Kosten und Tage sind nicht ausgefüllt.
Funktioniert es bei jemanden von euch einwandfrei ? Was benutzt ihr und welchen Wert verwendet ihr ? Rawvalue oder Value ?

-
Hallo,
wie logt ihr die Werte mit ? Ich probiere schon einige Zeit mit Sourceanalytix und Statistics, bekomme auch Werte aber überall nicht richtig vollständig. Vortag fehlt oder Eintragungen Kosten und Tage sind nicht ausgefüllt.
Funktioniert es bei jemanden von euch einwandfrei ? Was benutzt ihr und welchen Wert verwendet ihr ? Rawvalue oder Value ?

-
@apollon77 ok und mit Sourceanalytix oder Statistics oder anderes Tool ? Hast du überall Werte drin ? Sourceanalytixs ja teilweise noch der Eintrag in Entwicklung ?!
-
@apollon77 ok und mit Sourceanalytix oder Statistics oder anderes Tool ? Hast du überall Werte drin ? Sourceanalytixs ja teilweise noch der Eintrag in Entwicklung ?!
-
Hallo,
wie logt ihr die Werte mit ? Ich probiere schon einige Zeit mit Sourceanalytix und Statistics, bekomme auch Werte aber überall nicht richtig vollständig. Vortag fehlt oder Eintragungen Kosten und Tage sind nicht ausgefüllt.
Funktioniert es bei jemanden von euch einwandfrei ? Was benutzt ihr und welchen Wert verwendet ihr ? Rawvalue oder Value ?

@novregen sagte in Adapter "smartmeter":
Rawvalue oder Value ?
Bei mir gibt es nur value
wie logt ihr die Werte mit?
Ganz einfach den Datenpunkt für History abonnieren und anschließend mit Flot (künftig echarts) darstellen. Aktueles Beispiel

Ich probiere schon einige Zeit mit Sourceanalytix und Statistics, bekomme auch Werte aber überall nicht richtig vollständig. Vortag fehlt oder Eintragungen Kosten und Tage sind nicht ausgefüllt.
Das sind keine Logging-Tools, sondern Analyse Tools. Sourceanalytics habe ich jetzt erst eingeschaltet. Bei Sourceanalytics mußt Du sowohl in der Instazenansicht die gewünschten Themen aktivieren

als auch beim entscprechenden Datenpunkt abonnieren

Dann werden jede Menge Einträge in den Objekten unter Sourceanalytics generiert, die von nun an befüllt werden.
Wenn Du eine andere Darstellung haben möchtest, kannst Du auch ein kleines Javascrpit schreiben, welches z.B. jeden Tag u 23:59 den Tageswert in einen eigenen Datenpunkt schreibt.
-
ich werde deinen Adapter wahrscheinlich als SML mit 9600,7E1 brauchen. Kannst du die Einstellungsmöglichkeiten für 7,E,1 in dein Adapter einfügen. Das wäre genial.
`Das hab ich schon befürchtet.

Alle 3 Werte getrennt einstellbar machen oder nur "8N1" bzw "7E1" als Wahlmöglichkeiten? was denkt Ihr?
Hallo, ich verzweifele gerade wieder mal. Auf meinem Pi hatte ich schon mal den Smartmeter-Adapter laufen. Aber bei einer Neueinrichtung bleibt er in gelb hängen.
Ich vermute stark, dass erst gar keine Daten über den USB kommen. Mit der Anleitung von Weidmüller komme ich nicht weiter.Wo kann ich eine Schritt-für-Schritt Anleitung finden (Anschluss und Test Lesekopf und Einrichtung des Adapters)?
Grüße
Müller1842 -
Hi All,
mein Januarprojekt ist hiermit soweit das es das Licht der Welt erblicken kann und Euch zum testen zur Verfügung steht.
URL zum installieren: https://github.com/Apollon77/ioBroker.smartmeter
Wie bereits in einigen Threads, vor allem http://forum.iobroker.net/viewtopic.php?f=35&t=4726 diskutiert, geht es bei dem Adapter darum Smartmeter wie Stromzähler, Heizmengenzähler u.ä. Geräte auszulesen.
Der Adapter unterstützt dazu verschiedene Wege des Datentransfers und verschiedene Protokolle.
Datentransfers:
-
HTTP-URL
-
Lokale Datei
-
Serielles Device im Lesemodus
-
Serielles Device mit Bi-Direktionaler Kommunikation
Protokolle:
-
D0 (ist ein Protokoll mit Bi-Direktionaler Kommuniation), also man muss nach Werten Fragen dann gibt der Zähler die erst preis
-
SML (SmartMeterLanguage) Wird bei vielen eHz oder EMH o.ä. Zählern ausgegeben und ist ein Standard
-
EFR SmartGridHub JSON-Protokoll (war ein Forum-Request)
Aktuell haben alle Protokolle gemein das die Datenpunkte auf dem OBIS-Standard basieren, sodass der Adapter auch versucht den Namen zu ermitteln.
So jetzt brauche ich Euch mit möglichst vielen verschiedenen Geräten
Bitte im Forum posten was es ist - ich will ne kleine Liste mit "bekannt Kompatibel" erstellen.Aktuell ist das Loggign per Default auf "info" und es wird noch viel geloggt. Das ändere ich dann vor offiziellem Release noch. Daher Instanz auf "warn" Loglevel setzen falls Euch das nervt
… Also wenn es mal klappt halt ...Hier ein paar Screens und Beispiele was Ihr erwarten könnt:
Screenshot mit der Basiskonfig zum Auslesen der Daten von eine eHz oder EMH die vom Gerät geschickt werden.

Wenn erfolgreich Daten ankommen dann werden die mit den OBIS-IDs, Namen und Weten im Log gelistet:
2017-01-30 21:53:03.346 - info: smartmeter.0 129-129:199.130.3*255: Manufacturer ID = EMH 2017-01-30 21:53:03.372 - info: smartmeter.0 1-0:0.0.9*255: Device ID = 0901454d48000041f045 2017-01-30 21:53:03.383 - info: smartmeter.0 1-0:1.8.0*255: Zählerstand 1 Summe Wirkarbeit Bezug + (Total) = 15708.201 kWh 2017-01-30 21:53:03.392 - info: smartmeter.0 1-0:1.8.1*255: Zählerstand 1 Summe Wirkarbeit Bezug + (T1) = 15708.201 kWh 2017-01-30 21:53:03.398 - info: smartmeter.0 1-0:1.8.2*255: Zählerstand 1 Summe Wirkarbeit Bezug + (T2) = 0 kWh 2017-01-30 21:53:03.405 - info: smartmeter.0 1-0:16.7.0*255: Momentanwert Gesamtwirkleistung (Total) = 686.6 W 2017-01-30 21:53:03.411 - info: smartmeter.0 129-129:199.130.5*255: Forename/Public Key = e77ef33ea97bb6bba9bfa4fbd8b9f2ede51207b15acf6b98a237c21ca4982ee3ce18efe8438f1deba9d5c40eb68ae8f2Und das ganze wird dann als States auch angelegt und ist unter "Objekte" zu finden.

Für Devices mit D0-protokoll hier auch ein Konfig-Beispiel. Bei mir ist das an der Fernwärmestation ein Siemens 2WR5 Zähler. Beim D0 Protokoll muss man etwas tiefer in die Specs des Gerätes schauen …

Aktueller Stand ist das eigentlich alles läuft.
Todo stand heute ist noch:
-
README im Github

-
Einbau einer Option erst ab nem bestimmten Delta der Werte diese zu updaten. SML im Lesemodus von eHz kommen Daten alle 3-5 Sekunden und die ändern sich irgendwo im Nachkommastellenbereich … am Ende verursacht das Last und ich weiss nicht ob die Daten soooo aussagekräftig sind alle 5 Sekunden
Da nehm ich gern noch Feedback.
Ingo F
bei mir wurde der Kasten NORAX3D montiert. Laut Bedienungsanleitung werden per SML auch historische Werte übertragen. Bei mir allerdings nicht so wie in der Anleitung beschrieben.
InF - Aktivierungsbetrieb der Herstellerdaten im Telegramm am INFO-Port ist ON.
Leider werden die Register - "historischen Werte" nicht übertragen.
Gebe ja zu, das ich nicht alles aus der Bedienungsanleitung verstanden habe.
Muss dann das eventuell irgendwo freiblinken
-
-
bei mir wurde der Kasten NORAX3D montiert. Laut Bedienungsanleitung werden per SML auch historische Werte übertragen. Bei mir allerdings nicht so wie in der Anleitung beschrieben.
InF - Aktivierungsbetrieb der Herstellerdaten im Telegramm am INFO-Port ist ON.
Leider werden die Register - "historischen Werte" nicht übertragen.
Gebe ja zu, das ich nicht alles aus der Bedienungsanleitung verstanden habe.
Muss dann das eventuell irgendwo freiblinken
@muetzeheinrich sagte in Adapter "smartmeter":
Leider werden die Register - "historischen Werte" nicht übertragen.
werden denn die aktuellen Werte übertragen? welche?
Muss dann das eventuell irgendwo freiblinken
PIN muß eingeblinkt werden. Dann kommt das was das Konglumerat aus Zahlerhersteller und Meßstellenbetreiber ausgeben wollen. Meist nur Momentanleistung in W aufgelöst und Energie in 0.1Wh aufgelöst
-
Hallo, ich verzweifele gerade wieder mal. Auf meinem Pi hatte ich schon mal den Smartmeter-Adapter laufen. Aber bei einer Neueinrichtung bleibt er in gelb hängen.
Ich vermute stark, dass erst gar keine Daten über den USB kommen. Mit der Anleitung von Weidmüller komme ich nicht weiter.Wo kann ich eine Schritt-für-Schritt Anleitung finden (Anschluss und Test Lesekopf und Einrichtung des Adapters)?
Grüße
Müller1842@Mueller1842 Mit dem Einbinden von USB unter Linux ist das ein Kampf.
Schau mal dort ff https://forum.iobroker.net/post/526291 , da wurde der Kampf auch gekämpft
Ansosnten kann ich nur empfehlen, weg vom USB und auf einen TCP Server zu gehen. Wenn WLAN oder Ethernet in der Nähe, dann geht das. Allerdings Lesekopf ohne USB , mehr dazu dort https://forum.iobroker.net/topic/36936/guide-zwangsumstellung-auf-smartmeter-freut-euch-drauf?page=1 -
@muetzeheinrich sagte in Adapter "smartmeter":
Leider werden die Register - "historischen Werte" nicht übertragen.
werden denn die aktuellen Werte übertragen? welche?
Muss dann das eventuell irgendwo freiblinken
PIN muß eingeblinkt werden. Dann kommt das was das Konglumerat aus Zahlerhersteller und Meßstellenbetreiber ausgeben wollen. Meist nur Momentanleistung in W aufgelöst und Energie in 0.1Wh aufgelöst
ja, diese hier:

Das läuft nun seit 3 Tagen, deshalb würde ich wenigstens den historischen Tageswert erwarten.
Nun erledigt das erst mal der Statistics Adapter.
-
@Mueller1842 Mit dem Einbinden von USB unter Linux ist das ein Kampf.
Schau mal dort ff https://forum.iobroker.net/post/526291 , da wurde der Kampf auch gekämpft
Ansosnten kann ich nur empfehlen, weg vom USB und auf einen TCP Server zu gehen. Wenn WLAN oder Ethernet in der Nähe, dann geht das. Allerdings Lesekopf ohne USB , mehr dazu dort https://forum.iobroker.net/topic/36936/guide-zwangsumstellung-auf-smartmeter-freut-euch-drauf?page=1War das das Problem mit dem verrutschten Kopf?
Ist doch jetzt gelöst, oder? -
Also sowohl Smartmeter wie auch volkszähler können nur die Daten ausgeben die über die schnittstelle kommen. Das der eine mehr und der andere weniger anzeigt geht an sich nicht.

Schalte Adapter mal auf Debug, dann siehst DU genau was kommt (ok wenns SML ist nicht wirklich lesbar
) -
Hi,
ist es generell möglich, einen IR Lesekopf, welcher an einem Raspi im Keller angeschlossen ist, im Smartmeter anzugeben, wenn ioBroker auf meinem NUC im Obergeschoss läuft?
Wenn ja, wie lautet dort der Pfad zum Lesekopf?
Grüße
Schmakus@Schmakus sagte in Adapter "smartmeter":
ist es generell möglich
wie definierst du generell?
In einer Mutihost-Umgebung müsste dann der smartmeter-Adapter auf dem Keller-RasPi laufen
-
@Schmakus sagte in Adapter "smartmeter":
ist es generell möglich
wie definierst du generell?
In einer Mutihost-Umgebung müsste dann der smartmeter-Adapter auf dem Keller-RasPi laufen
-
@Homoran eine Multihost-Umgebung wollte ich nicht gerade aufsetzen. Hab eben auf anderen Seitn etwas von einem USB-Server gelesen. Werde mal in diese Richtung weitere recherchieren.
@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.
-
@Homoran eine Multihost-Umgebung wollte ich nicht gerade aufsetzen. Hab eben auf anderen Seitn etwas von einem USB-Server gelesen. Werde mal in diese Richtung weitere recherchieren.
@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.