Seite 1 von 4

Optokopf für IR-Schnittstelle

Verfasst: Mo Aug 19, 2019 8:43 am
von Benny
Hallo zusammen,
ich plane unsere bestehende Anlage auf openWB um zu bauen.
Dazu möchte ich unseren EVU Zähler mittels Optokopf auslesen und an openWB übergeben.
Den Wechselrichter (Piko) kann ich mit openWB schon zuverlässig übers Netzwerk auslesen.

Bisher dachte ich mir:
- Weidmann Elektronik Stromzähler, Smart Meter IR (Infrarot) Schreib/Lesekopf USB (Optokopf)
- USB to Network (Muss ca. 25m zum openWB Raspi überwinden)

Jetzt weiss ich aber nicht, wie ich das in den openWB bekomme.
Ich denke mal, dass der sich als

Code: Alles auswählen

/dev/ttyUSBx
anmeden wird.
Mit

Code: Alles auswählen

sudo udevadm info --name=/dev/ttyUSB0 --attribute-walk | grep '{serial}' -m 1
sollte ich die Seriennummer auslesen können.
Aber weiter dann?

Andere Möglichkeit wäre vielleicht noch:
- Weidmann Elektronik Stromzähler, Smart Meter IR (Infrarot) Schreib/Lesekopf USB (Optokopf)
- USB zu RS485 Konverter mit CH340 Chip
- TOOGOO Rs485 Serial Server Anschluss zum Ethernet Modul Unterstützung Elfin-Ee11 TCP/Ip Telnet Modbus TCP Protokoll

und den dann als openWB EVU Kit ansteuern?

Vielleicht könnt mich in die richtige Richtung schubsen?

Re: Optokopf für IR-Schnittstelle

Verfasst: Mo Aug 19, 2019 8:52 am
von openWB
Für die IR Schnittstelle gibt es verschiedene Protokolle die darauf gesprochen werden.

Der aktuelle gängige Weg ist:

Zähler -> IR Lesekopf -> VZlogger (einzeln ohne kompletten Volkszähler) -> openWB VZ Modul nutzen.

der VZLogger kann die gängigsten Protokolle und stellt diese per HTTP API bereit.
Der VZLogger kann mit auf dem openWB Raspberry installiert sein.

Re: Optokopf für IR-Schnittstelle

Verfasst: Mo Aug 19, 2019 12:46 pm
von Benny
Ok, danke...
Ich werde das mal testen.

Re: Optokopf für IR-Schnittstelle

Verfasst: Mo Aug 19, 2019 4:06 pm
von aiole
So einen IR-Aufnehmer vom berühmten Udo Schake (VZ) müsste ich noch rumliegen haben. Das Teil ist glaube ich für normale Ferraris-Zähler gemacht. Bei Interesse bitte per PN.
VG

Re: Optokopf für IR-Schnittstelle

Verfasst: Mo Aug 19, 2019 6:23 pm
von Benny
Vielen Dank, aber wir haben einen neuen Zähler mit dieser Opto-Schnittstelle mit Metallring.
Ich habe einfach mal diesen hier bestellt.

Re: Optokopf für IR-Schnittstelle

Verfasst: Mo Aug 19, 2019 6:28 pm
von openWB
Für künftige User möchte ich gerne

https://wiki.volkszaehler.org/hardware/ ... sb-ausgang

ans Herz legen.

Liegt bei um 25€ + Versand, tut super und supportet die Jungs!

Re: Optokopf für IR-Schnittstelle

Verfasst: Mo Aug 19, 2019 9:22 pm
von aiole
Yeap - so ein gelbes Teil meinte ich.
VG aiole

Re: Optokopf für IR-Schnittstelle

Verfasst: Sa Aug 24, 2019 9:05 am
von Benny
So, nachdem ich lange herumgetestet habe hier mal mein Ergebnis bis jetzt.

Ich habe herausgefunden, dass der Optokopf bei mir ttyUSB1 ist, da die Abfrage mittels:

Code: Alles auswählen

$ udevadm info --query=all --name=/dev/ttyUSB1
ergab, dass ID_SERIAL_SHORT=AB0JEXXX existiert und die Seriennummer des Optokopfes wohl AB0JEXXX ist.

Code: Alles auswählen

$ udevadm info --query=all --name=/dev/ttyUSB0
ergab, dass das dann wohl der SDM630 ist: ID_SERIAL=1a86_USB2.0-Serial

Es scheint wichtig zu sein in welchem USB-Port die Dinger stecken, denn in manchen Konstellationen habe ich in der
/var/log/vzlogger.log timeouts und komische Werte gehabt.

Code: Alles auswählen

[Aug 24 10:25:45][d0]   nothing received for more than 20 seconds
[Aug 24 10:25:45][d0]   read timed out!, context: 0, bytes read: 0, last byte 0x0

Code: Alles auswählen

[Aug 24 10:15:24][d0]   Something unexpected happened: read:732!
[Aug 24 10:15:44][d0]   Something unexpected happened: read:732!
Nach jedem Umstecken nicht vergessen die korrekte /dev/ttyUSBx zu ermitteln und in beiden Konfigurationen zu ändern.
Bei mir ist der IR Optokopf auch ca. 20m entfernt vom Raspi und mittels USB 2.0 to RJ45 Network Extension angebunden.
Meine /etc/vzlogger.conf für den Weidmann Elektronik Stromzähler, Smart Meter IR (Infrarot) Schreib/Lesekopf USB (Optokopf) bisher:

Code: Alles auswählen

{
  "retry": 0,
  "daemon": true,
  "verbosity": 1,
  "log": "/var/log/vzlogger.log",
  "local": {
    "enabled": true,
    "port": 8080,
    "index": true,
    "timeout": 20,
    "buffer": -1
  },
  "meters": [
    {
	      "enabled": true,
	      "allowskip": false,
	      "interval": 15, // -1,
	      "aggtime": -1,
	      "aggfixedinterval": false,
	      "channels": [
				{
				      "api": "null", // middleware api, default volkszaehler
				      "uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee1",
				      "middleware": "http://localhost/middleware.php",
				      "identifier": "1-0:16.7.0", /* Leistung */
				}, {
                                      "api": "null", // middleware api, default volkszaehler
				      "uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee2",
				      "middleware": "http://localhost/middleware.php",
				      "identifier": "1-0:1.8.0", /* Wirkarbeit Bezug +A */
				}, {
                                      "api": "null", // middleware api, default volkszaehler
				      "uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee3",
				      "middleware": "http://localhost/middleware.php",
				      "identifier": "1-0:2.8.0", /* Wirkarbeit Lieferung -A */
				}

//        {
//          "uuid": "fde8f1d0-c5d0-11e0-856e-f9e4360ced10",
//          "identifier": "1-0:1.8.0",
//          "api": "volkszaehler",
//          "middleware": "http://localhost/middleware.php",
//          "aggmode": "none",
//          "duplicates": 0
//        }

			      ],
      "protocol": "d0",
//      "protocol": "sml",
      "device": "/dev/ttyUSB1",
      "pullseq": "2F3F210D0A",
//      "ackseq": "063035300d0a",
      "baudrate": 300,
      "baudrate_read": 9600,
      "parity": "7e1",
      "wait_sync": "off",
      "read_timeout": 20,
      "baudrate_change_delay": 0
    }
  ]
}

Code: Alles auswählen

"ackseq": "063035300d0a"
hatte den Zähler total verwirrt...

Interessant ist aber, dass beim Aufruf von

Code: Alles auswählen

http://IP-obenWB:8080/
sich der Wert von aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee2 nicht zu ändern scheint.
beim Einspeisen sehe ich Veränderung.
...
......... jetzt beim schreiben fällt mir auch der Grund auf... :shock: Natürlich ändert sich der Zählersand für den BEZUG nicht wenn er gerade EINSPEIST. :roll: :oops: :lol:

Ok, somit bleibt mir nur noch ein Problem... Mein Zähler liefert kein OBIS 16.7.0 (momentane Wirkleistung)...
Da muss ich mal beim Versorger nachhaken ob ich den irgendwie herauspopeln kann.

Code: Alles auswählen

Vzlogger Watt Zeile: none
klappt leider auch nicht um zumindest EVU Einspeisung an zu zeigen.
PV Erzeugung holt er sich schon zuverlässig vom Kostal Piko alt

Edit: das fällt mir ein dass gestern die Daten vom SDM630 überhaupt nicht angekommen sind. Ob das nach der heutigen Arbeit klappt weiß ich aber erst wenn meine Frau vom Dienst erscheint.

Re: Optokopf für IR-Schnittstelle

Verfasst: Sa Aug 24, 2019 7:33 pm
von Benny
So, also die Ladung wird nicht mehr angezeigt.
Ich habe jetzt auch mal den Optokopf wieder vom Raspi getrennt. Leider ohne Erfolg.
Es scheint, dass der vzlogger was damit zu tun hat. (Seid dem geht das nicht mehr).

Hatte schon mal jemand? Gibts Tips?

Re: Optokopf für IR-Schnittstelle

Verfasst: Sa Aug 24, 2019 7:37 pm
von openWB
Der Watt Wert ist der essentielle für die regelung.
none geht da nicht da dieser unabdingbar ist.

deine /dev/ttyUSB werden sich verschoben haben.
ohne den IR Kopf dran die openWB mal neustarten, dann sollte es wieder gehen.