Baut doch erstmal die Checksumme aus ... ich bin mir grad nicht sicher ob jeder Zähler die macht.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Smartmeter Plugin - Tester gesucht
Einklappen
X
-
Zitat von freetzmaster Beitrag anzeigenVielen Dank schonmal für deinen Support. Echt klasse. Hab auch schon ne kleine Spende da gelassen.
Weiter.
Ok, also braucht es eine Option, die Baudratenumstellung und/oder die Checksummeüberprüfung zu deaktivieren. Wobei: Klar dass die Checksumme fehlschlägt wenn nicht das ganze Paket kommt...
Ansonsten fehlt dir die korrekte Zerlegung der Obis-Codes wegen dieser doofen *19 *20 *21 ... bei dir. Da bau ich eben was. Dann evtl. mit längerer Wartezeit doch noch mal mit Checksumme versuchen.
Grüße
Robert
Kommentar
-
Zitat von freetzmaster Beitrag anzeigenwenn ich den cycle erhöhe z.B. 100 kommt nur nochUmgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
So, erstmal den Parser reparieren:
Da ich es nicht hinkriege, dem re.split per regulären Ausdruck zu verklickern, dass das erste Vorkommen von '*' kein Trennzeichen sein soll (kriegt das einer hin?), hier die Variante zu Fuss:
Code:#data = re.split('[(*)]', line) data = line.split('(') data[1:3] = data[1].strip(')').split('*')
Grüße
Robert
Kommentar
-
Achtung, das Plugin ist jetzt im "develop" eingecheckt. Wer also das Plugin unter /DLMS hat und jetzt einen pull macht, könnte einen Konflikt bekommen sofern das Plugin geändert wurde. Habe den Abfragezyklus standardmäßig auf 60s gesetzt. Zudem eine Option eingebaut, über "baudrate = xxx" die Baudrate auf einen bestimmten Wert zu fixieren (hier also erstmal 300).
Hoffe, dass wir so zu einer "universell einsetzbaren" Version kommen. Sollte sich herausstellen, dass nicht alle Zähler die CRC können bau ich dafür dann eine Option ein.
Grüße
Robert
Kommentar
-
Smartmeter Plugin - Tester gesucht
So, also mit 300 Baud läuft es jetzt erstmal das mit der Umschaltung geht bloß noch nicht, für heute ist erstmal Schluß.
Könnte man beim lesen, wenn keine Daten kommen, nicht erst noch 5 sek warten und denn aus der while Schleife rausspringen. Ich vermute bei 300 Baud ist das Programm zu schnell.
Gruß Frank
Sent from my iPhone using Tapatalk
Kommentar
-
Funktioniert bei euch die Umschaltung der Baudrate?
Hab im Internet die Norm gefunden und da steht folgender Satz.
The time between the reception of a message and the transmission of an answer is:
200 ms ≤ tr ≤ 1 500 ms
If a response has not been received, the waiting time of the transmitting equipment after
transmission of the identification message, before it continues with the transmission, is:
1 500 ms < tt ≤ 2 200 ms
The time between two characters in a character sequence is:
ta < 1 500 ms
Kommentar
-
Versuche es mal mit diesem Perl Script: http://sourceforge.net/p/openautomat...62056-meter.pl
Da sollte die Umschaltung laufen.Umgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Zitat von JuMi2006 Beitrag anzeigenMomentan fehlt mir noch die Idee wie ich bei mehreren Zählern/Ausleseköpfen die items der passenden Zähler-id zuordne und dass noch mit dem sheduler kombiniere.
https://knx-user-forum.de/smarthome-...gs-plugin.html
Gruß
Kommentar
-
hmmm. ich habe beide plugins versucht aber irgendwie will er nix auslesen. (raspi)
Code:2013-11-22 11:39:08,944 DEBUG DLMS dlms: Reading took: 3.71s -- __init__.py:_update_values:122
einstellungen_:
Code:[smartmeter] class_name = DLMS class_path = plugins.dlms serialport = /dev/lesekopf0 baudrate = 300 update_cycle = 120
Code:admin@smarthome: echo -en '\n/?!\r\n' > /dev/lesekopf0 admin@smarthome:/usr/smarthome$ cat /dev/lesekopf0 /?! /EMH4\@--ITZ-G0038E F.F(00000000) 0.0.0(00318956) 0.1.0(00) 0.2.0(60900000) 0.2.2(06002200) 0.9.1(0121119) 0.9.2(0131122) 1.8.0(001666.5*kWh) 1.8.1(000941.0*kWh) 1.8.2(000725.4*kWh) 1.25(00.30*kW) 32.25(238.3*V) 52.25(237.1*V) 72.25(240.1*V) C.1.0(04217043) C.7.1(0006) C.7.2(0006) C.7.3(0006) ! ^C
Schnittstelle ist auf
stty -F /dev/lesekopf0 300 parenb -parodd cs7 -cstopb raw
Kommentar
Kommentar