NEWS
Adapter "smartmeter"
-
Hallo zusammen,
ich habe die neue Version 3.1.0 gesehen.
Über den seriellen Adapter/Socat läuft die auch.Im Changelog steht:
"
(Apollon77) experimental TCP support, please give feedback
"Wie geht das, wo stehen Details?
Ich möchte das gerne probieren, da ich meine Zählerdaten per TCP bekomme.Wo wird die neue Version diskutiert?
-
@rl sagte in Adapter "smartmeter":
Wie geht das, wo stehen Details?
Ich möchte das gerne probieren, da ich meine Zählerdaten per TCP bekomme.
Wo wird die neue Version diskutiert?Mach nen neuen Thread auf ... oder hier
Die Konfigseite sollte den neuen Transport typ zur Auswahl haben. Wählen. Dann kommen zwei Felder für Host und Port ... eintragen. Rest wählen. Neu starten ... dann sehen wir mal
Im Zweifel Debug log posten - dann aber am besten als eigener neuer Thread und mich erwähnen. -
Ok, TCP Transport geht bei mir.
Da ich von seriell auf TCP Transport umgeschaltet hatte, blieb zunächst der serielle Eintrag oberhalb des Host-Eintrags stehen.
Den seriellen Eintrag habe ich geleert und die Konfiguration nochmal gespeichert,
dann lief es sofort.Gelegentlich steht im LOG:
smartmeter.0 2020-03-10 17:42:56.772 info (3070) List of port: [{"path":"/dev/ttyAMA0"}]diesen Port habe ich nie verwendet.
einmal hatte ich (unerwartet):
smartmeter.0 2020-03-10 17:20:10.852 info (2415) SOCKET ENDfür beide Smartmeter.
-
@rl sagte in Adapter "smartmeter":
Gelegentlich steht im LOG:
smartmeter.0 2020-03-10 17:42:56.772 info (3070) List of port: [{"path":"/dev/ttyAMA0"}]Die Meldung kommt sobald du die Admin-Seite öffnest weil da die Port Liste ausgelesen wird. Ignore.
einmal hatte ich (unerwartet):
smartmeter.0 2020-03-10 17:20:10.852 info (2415) SOCKET END
für beide Smartmeter.Das kommt wenn die Gegenstelle das Socket schliesst. Heisst also das Dein TCP Server/Gerät die Verbindung geschlossen hat. Der Adapter sollte dann einfach ne neue auf machen und weiter arbeiten. Klappt das?
-
Leider geht der Socket verloren, obwohl ich die ganze Zeit auf den Server/Port (mit anderem Programm) zugreifen kann. Geliefert wird also.
Es ist vorgekommen, das die Verbindung neu aufgebaut wurde.
Das scheint aber noch nicht zuverlässig zu sein.
Die Instanzen stehen auf grün?
smartmeter.1 gibt auch nichts mehr aus, ich schau mal in ältere logs.
Der manuelle Neustart der beiden Instanzen funktioniert und liefert seitdem wieder korrekte Daten.
Danke schon mal ...
-
@rl also ENETUNREACH heisst das dein ioBroker Rechner den anderen Host nicht mehr erreichen kann. Da kann der Adapter nichts gegen tun ... da ist irgendwas in deinem Netzwerk!!
Also ist die Frage eher ob du von dem iobroker rechner aus auf den Port zugreifen kannst und nicht generell.
Das log an sich siehmal grob so aus das er bei so einem Fehler es wieder versucht nach 30s und sich auch wieder fängt.
Für die instanz 1 wäre interessant was er gesagt hat
-
Ich hab mal noch eine 3.1.1 gemacht - erscheint dann später nachher im latest Repo ... Optimiert kleinkram.
-
Hallo zusammen,
hat schon jemand Erfahrung mit einem ESP8266 in Verbindung mit einem TTL-IR-Lesekopf gemacht? Oder evlt. via ESPEASY
Der Lesekopf hat vier Drähte:
Braun = VCC (+3,3V oder +5,0V)
Weiß = GND
Blau = RX
Schwarz = TXDer Smartmeter wäre ehz-k
Bisher versuche ich den Code von dieser Seite:
https://www.msxfaq.de/sonst/bastelbude/smartmeter_d0_sml.code.htm
Aber leider ohne Erfolg....
Das Skript sendet via udp Pakete an die IP-Adresse des IOBrokers. Aus diesem Grund habe ich den Adapter wie folgt eingerichtet:
Laut Iobroker-Log passiert aber irgendwie nichts. Der Adapter ist noch Gelb
Viele Grüße
Jan -
Ich habe das Problem selbst lösen können:
Der ESP wurde mit ESPEASY bespielt. Im Anschluss habe ich unter Devices ein Communication - Serial Server eingestellt.
Dieser fragt den seriellen Wert ab und stellt die Eingabe als Webdienst zur Verfügung.Den Adapter habe ich wie folgt eingestellt:
Laut Log sieht alles gut aus
Via Telnet:
Evlt hilft es jemand
Viele Grüße
Jan -
Hallo zusammen,
gerade konnte ich sogar meinen Smartmeter via Pin freischalten und erhalte den aktuellen kwh sowie aktueller Watt-Anzahl. Leider aber nicht den Tagesverbrauch/ Wochenverbrauch oder Jahresverbrauch? Müsste ich da noch eine Einstellung vornehmen? Ich habe einen ehz k und kann nichts dazu finden.
Des Weiteren ist mir heute Nacht aufgefallen, dass der Datenpunkt Verbrauch sich nicht mehr aktualisiert hat. Laut Log wurden immer Daten erfasst aber keine als Update gekennzeichnet. Teilweise endet auch der TCP-Socket. Woran könnte dies liegen?
So sieht dann die History aus:
Bei 16:34:00 Uhr stand der Verbrauch noch bei 3756 und dann habe ich den Adpater neu gestartet und dann sofort das korrekte Ergebnis.Weiteres Beispiel:
Der Wert steigt alle 5 Minuten immer um 0.002. Wenn ich den Adapter stoppe und neustarte - kommt der richtige Wert -> Siehe Rot
Config:
ESP8266 / ESPEASY und TTL-IR-Lesekopf -> via serial server <-wlan- ><- iobroker ->smartmeterDer Empfang des ESP8266 ist sehr gut.
Viele Grüße
JanPs: Die Watt-Anzahl ist korrekt. Es geht lediglich nur um den Gesamtverbrauch
-
@allgrind sagte in Adapter "smartmeter":
Leider aber nicht den Tagesverbrauch/ Wochenverbrauch oder Jahresverbrauch?
Ich wüsste nicht das ein Zäher diese Werte selbst ausgibt. Nicht bei SML Protokoll. Bei einigen D0 Protokoll Zählern kann man erweiterte Datensätze abfragen wo dann sowas drin ist. Musst du selbst errechnen
Teilweise endet auch der TCP-Socket. Woran könnte dies liegen?
Da wäre Debug Log hilfreich oder generell Log Welche Smartmeter Version nutzt du?
-
Hi,
mein Smartmeter Adapter läuft leider nicht mehr nach dem 3.1.2er UpdateIch bin mir ganz sicher, dass ich vorher ein ganz anderes serielles Gerät drin hatte (irgendwas mit USB im Namen und länger):
Ich verwende eine Raspi4 mit einem fertigen IR-Lesekopf am USB-Port. Was mache ich falsch oder wie kann ich rausfinden, welches das richtige Gerät ist?
Verbuunden mit smartmeter ist immer "falsch".
DebugLog:
smartmeter.0 2020-04-21 20:49:24.807 debug (6013) sendTo "listUart" to system.adapter.admin.0 from system.adapter.smartmeter.0 smartmeter.0 2020-04-21 20:49:24.806 info (6013) List of port: [{"path":"/dev/ttyAMA0"}] smartmeter.0 2020-04-21 20:49:24.621 debug (6013) Message received = {"command":"listUart","message":null,"from":"system.adapter.admin.0","callback":{"message":null,"id":33,"ack":false,"time":1587494964619},"_id":56584876} smartmeter.0 2020-04-21 20:49:24.067 debug (6013) system.adapter.admin.0: logging true smartmeter.0 2020-04-21 20:44:40.821 debug (6013) system.adapter.admin.0: logging true smartmeter.0 2020-04-21 20:44:38.421 debug (6013) system.adapter.admin.0: logging false smartmeter.0 2020-04-21 20:44:37.862 debug (6013) connected set to false smartmeter.0 2020-04-21 20:44:37.849 debug (6013) SET MESSAGE TIMEOUT TIMER: 120000 smartmeter.0 2020-04-21 20:44:37.824 debug (6013) SERIALPORT OPEN smartmeter.0 2020-04-21 20:44:37.810 debug (6013) CREATE SERIALPORT: 9600 8 1 none smartmeter.0 2020-04-21 20:44:37.807 debug (6013) SmartmeterObis options: {"debug":2,"protocol":"SmlProtocol","transport":"SerialResponseTransport","requestInterval":"300","anotherQueryDelay":"1000","transportSerialPort":"/dev/ttyAMA0","trans smartmeter.0 2020-04-21 20:44:37.765 info (6013) starting. Version 3.1.2 in /opt/iobroker/node_modules/iobroker.smartmeter, node: v10.20.1, js-controller: 3.0.14 smartmeter.0 2020-04-21 20:44:37.593 debug (6013) Plugin sentry Initialize Plugin (enabled=true) smartmeter.0 2020-04-21 20:44:36.953 debug (6013) statesDB connected smartmeter.0 2020-04-21 20:44:36.952 debug (6013) States connected to redis: 127.0.0.1:9000 smartmeter.0 2020-04-21 20:44:36.944 debug (6013) States create System PubSub Client smartmeter.0 2020-04-21 20:44:36.942 debug (6013) States create User PubSub Client smartmeter.0 2020-04-21 20:44:36.936 debug (6013) Redis States: Use Redis connection: 127.0.0.1:9000 smartmeter.0 2020-04-21 20:44:36.933 debug (6013) objectDB connected smartmeter.0 2020-04-21 20:44:36.925 debug (6013) Objects connected to redis: 127.0.0.1:9001 smartmeter.0 2020-04-21 20:44:36.913 debug (6013) Objects client initialize lua scripts smartmeter.0 2020-04-21 20:44:36.912 debug (6013) Objects create User PubSub Client smartmeter.0 2020-04-21 20:44:36.911 debug (6013) Objects create System PubSub Client smartmeter.0 2020-04-21 20:44:36.906 debug (6013) Objects client ready ... initialize now smartmeter.0 2020-04-21 20:44:36.865 debug (6013) Redis Objects: Use Redis connection: 127.0.0.1:9001
Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
dmesg
In der Konsole eingeben und schauen wie dein USB Kopf heißt.
Aber kann man den nicht in der Konfig neu auswählen?
-
@wendy2702 Wähle mal einen aus ... die selection ist da abgeschnitten wird aber dann vollständig angezeigt.
Der Adapter nutzt seit der 3.x die "by id port namen" die such auch nicht ändern wenn sich die USB Stick Reihenfolge ttyUSBx ändert ...
-
@apollon77 sagte in Adapter "smartmeter":
Der Adapter nutzt seit der 3.x die "by id port namen" die such auch nicht ändern wenn sich die USB Stick Reihenfolge ttyUSBx ändert ...
Wie macht er das? Verläßt er sich auf die Id des FTDI Chips und was passiert, wenn man mehrere CH340 anschlißt?
-
@apollon77 sagte in Adapter "smartmeter":
@wendy2702 Wähle mal einen aus ... die selection ist da abgeschnitten wird aber dann vollständig angezeigt.
Der Adapter nutzt seit der 3.x die "by id port namen" die such auch nicht ändern wenn sich die USB Stick Reihenfolge ttyUSBx ändert ...
Danke für den Hinweis aber mein Post war eine Hilfe/frage an @oberfragger
Ich weiß das mit der ID. Habe bei mir aus Historie noch UDEV Regel aktiv
-
@klassisch Musst Du Linux fragen wie es das tut Da ist der USB Port mit drin in dem Namen.
Ds Problem mit den "ttyUSBx" ist das die beim Boot "in aufsteigender Nummerierung" vergeben werden so schnell wie die USB Gerät Antworten. Damit ist nicht sicher das das Geräte was bei einem Boot ttyUSB0 ist es auch beim nächsten mal ist. Das ist Problematisch wenn man mehrere an einem Gerät hat. Die anderen Port Nummern sind "unique" (nur wenn man die Geräte umsteckt ändern die sich)
-
@apollon77 sagte in Adapter "smartmeter":
@klassisch Musst Du Linux fragen wie es das tut Da ist der USB Port mit drin in dem Namen.
Mittlerweile muß ich da Win 10 fragen. Aber ich habe bisher dazu leider keine verständlichen Antworten bekommen weder für Linux noch für Windows. Die FTDI haben anscheinend Seriennummern, die man notfalls auch mit einem Spezialprogramm ändern kann. die CP2102 woh auch, bei den CH340 scheint man sich das gespart zu haben.
Hatte dann einmal den Fall, daß beim rumspielen ein RS485 -> USB als Tastatur interprtiert wurde und wilde Eingaben gemacht hat.
Verstanden habe ich die Sache aber letztlich nicht. -
@wendy2702
Leider kann ich in der Konfig nichts anderes auswählen. WIe gesagt vorher war da mal was mit usb/tty...Ich hab mal dmesg in Pastebin reingepackt.
Ideen? Mehr habe ich bei den seriellen Geräten leider nicht
Soll ich sonst mal das ding in alle USB-Ports stecken und durchprobieren?
-
@apollon77 Und was muss ich da nun eingeben, damit ich die Daten aus dem IR-Lesekopf bekomme?