Ich hänge mich da mal dran
Die Power-Control-Hardware ist ja offenbar kein cosip-System sondern ein IMST 871a-usb-Empfänger und ein W-MBus Standard-Lesekopf. Der beim Lesekopf mitgelieferte Schlüssel hat allerdings nur die halbe Länge eines vollständigen AES-Schlüssels.
Es wäre schön wenn wir die andere (mutmaßlich fixe) Hälfte des Schlüssels noch erfahren könnten, dann ließe sich die Hardware vielleicht auch anderweitig nutzen, z.B. mit wmbusmeters oder ähnlichen Anwendungen.
Das fände ich insofern charmant, als der Treiber für die Zentrale in aktuellen Versionen offenbar etwas buggy ist, Momentanwerte werden zwar empfangen und visualisiert, gehen aber auf dem Weg in die per API auslesbare Variable verloren (siehe das "?" bei "Bezogene Leistung" unten im GUI)
Nachtrag
hier das Log vom wmbusmetersd bei der Erkennung des USB-WMBus-Sticks
(lookup) with file/hex "/dev/ttyUSB0" im871a
(serial) check if /dev/ttyUSB0 can be accessed
(serial) tty /dev/ttyUSB0 can be accessed
(serial) EVENT thread interrupted
(serial) before config: /dev/ttyUSB0 speed(B9600) input(ICRNL|IXON) output(ONLCR|OPOST) control(CLOCAL|CREAD|CSIZE|HUPCL) local(ECHO|ECHOCTL|ECHOE|ECHOK|ECHOKE|ICANON|IEXTEN|ISIG) special_chars(3,28,127,21,4,1,17,19,26,18,15,23,22) modem(DTR|RTS)
(serial) after config: /dev/ttyUSB0 speed(B57600) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS)
(serialtty) opened /dev/ttyUSB0 fd 6 (detect im871a)
(serial) received binary ""
(serial /dev/ttyUSB0) sent "A5010F00"
(serial) EVENT thread interrupted
(serial) received binary "A5811008330015013A180000E68C"
(im871a) checkIM871AFrame "A5811008330015013A180000E68C"
(im871a) has_timestamp=0 has_rssi=0 has_crc16=1
(im871a) endpoint 1
(im871a) msgid 16
(im871a) got crc16 8ce6 expected 8ce6
(im871a) received full frame
(device info bytes) "330015013A180000"
(im871a/im170a) info: type=im871a mode=collector firmware=15 hci=01 uid=0000183a
(serial /dev/ttyUSB0) sent "A5010500"
(serial) EVENT thread interrupted
(serial) received binary "A5810617FF000200B32571160001010001FF07020000000000000073C6"
(im871a) checkIM871AFrame "A5810617FF000200B32571160001010001FF07020000000000000073C6"
(im871a) has_timestamp=0 has_rssi=0 has_crc16=1
(im871a) endpoint 1
(im871a) msgid 6
(im871a) got crc16 c673 expected c673
(im871a) received full frame
(serialtty) closed /dev/ttyUSB0 (detect im871a)
(serial) EVENT thread interrupted
(device config bytes) "FF000200B32571160001010001FF070200000000000000"
(im871a/im170a) config: other link_mode=s2 id=01001671 media=00 version=01 c_field=00 auto_rssi=00
(im871a/im170a) are you there? yes 01001671 im871a firmware: 15
(main) opening /dev/ttyUSB0:im871a:t1,c1
[2024-01-12_19:11:50] Started config im871a[01001671] on /dev/ttyUSB0 listening on t1,c1
(im871a) on /dev/ttyUSB0
(serial) EVENT thread interrupted
(serial) before config: /dev/ttyUSB0 speed(B57600) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS)
(serial) after config: /dev/ttyUSB0 speed(B57600) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS)
(serialtty) opened /dev/ttyUSB0 fd 6 (im871a)
(im871a) get config
(serial /dev/ttyUSB0) sent "A5010500"
(serial) EVENT thread interrupted
(serial) received binary "A5810617FF000200B32571160001010001FF07020000000000000073C6"
(im871a) checkIM871AFrame "A5810617FF000200B32571160001010001FF07020000000000000073C6"
(im871a) has_timestamp=0 has_rssi=0 has_crc16=1
(im871a) endpoint 1
(im871a) msgid 6
(im871a) got crc16 c673 expected c673
(im871a) received full frame
(im871a) get config completed
(im871a) got device id 01001671
(main) regular reset of im871a on /dev/ttyUSB0 will happen every 82800 seconds
(im871a) get device info
(serial /dev/ttyUSB0) sent "A5010F00"
(serial) EVENT thread interrupted
(serial) received binary "A5811008330015013A180000E68C"
(im871a) checkIM871AFrame "A5811008330015013A180000E68C"
(im871a) has_timestamp=0 has_rssi=0 has_crc16=1
(im871a) endpoint 1
(im871a) msgid 16
(im871a) got crc16 8ce6 expected 8ce6
(im871a) received full frame
(im871a) device info completed
(im871a) device info: type=im871a mode=collector firmware=15 hci=01 uid=0000183a
(im871a) set config to set link mode 0a
(serial /dev/ttyUSB0) sent "A501030600020A300100"
(serial) EVENT thread interrupted
(serial) received binary "A58104009CF7"
(im871a) checkIM871AFrame "A58104009CF7"
(im871a) has_timestamp=0 has_rssi=0 has_crc16=1
(im871a) endpoint 1
(im871a) msgid 4
(im871a) got crc16 f79c expected f79c
(im871a) received full frame
(im871a) set config completed
(wmbus) no alarm (expected activity) for im871a
Display More
und hier ein Datagramm vom Lesekopf:
(serial) received binary "A5C2033E44B3255225100142027A5B80300532D74BD8678BAC7F2C727D35475137F4822BFD1F51970D67C798C2D295310836B4FA28E196F80C48BDAA13934190B3B353D19C"
(im871a) checkIM871AFrame "A5C2033E44B3255225100142027A5B80300532D74BD8678BAC7F2C727D35475137F4822BFD1F51970D67C798C2D295310836B4FA28E196F80C48BDAA13934190B3B353D19C"
(im871a) has_timestamp=0 has_rssi=1 has_crc16=1
(im871a) endpoint 2
(im871a) msgid 3
(im871a) rssi 83 (-81 dBm)
(im871a) got crc16 9cd1 expected 9cd1
(im871a) received full frame
(meter) no meter handled checking 0 templates.
(wmbus) parseDLL @0 63
(wmbus) parseELL @10 53
(wmbus) parseNWL @10 53
(wmbus) parseAFL @10 53
(wmbus) parseTPL @10 53
(wmbus) parseDLL @0 63
(telegram) DLL L=3e C=44 (from meter SND_NR) M=25b3 (IMS) A=01102552 VER=42 TYPE=02 (Electricity meter) (driver unknown!) DEV=im871a[01002287] RSSI=-81
(wmbus) parseELL @10 53
(wmbus) parseNWL @10 53
(wmbus) parseAFL @10 53
(wmbus) parseTPL @10 53
(TPL) num encrypted blocks 3 (48 bytes and remaining unencrypted 0 bytes)
(telegram) TPL CI=7a ACC=5b STS=80 CFG=0530 (AES_CBC_IV nb=3 cntn=0 ra=0 hc=0)
Received telegram from: 01102552
manufacturer: (IMS) IMST, Germany (0x25b3)
type: Electricity meter (0x02) encrypted
ver: 0x42
device: im871a[01002287]
rssi: -81 dBm
driver: unknown!
(wmbus) 000 : 3e length (62 bytes)
(wmbus) 001 : 44 dll-c (from meter SND_NR)
(wmbus) 002 : b325 dll-mfct (IMS)
(wmbus) 004 : 52251001 dll-id (01102552)
(wmbus) 008 : 42 dll-version
(wmbus) 009 : 02 dll-type (Electricity meter)
(wmbus) 010 : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
(wmbus) 011 : 5b tpl-acc-field
(wmbus) 012 : 80 tpl-sts-field ()
(wmbus) 013 : 3005 tpl-cfg 0530 (AES_CBC_IV nb=3 cntn=0 ra=0 hc=0 )
(wmbus) 015 CE: 32D74BD8678BAC7F2C727D35475137F4822BFD1F51970D67C798C2D295310836B4FA28E196F80C48BDAA13934190B3B3 encrypted
telegram=|_3E44B3255225100142027A5B80300532D74BD8678BAC7F2C727D35475137F4822BFD1F51970D67C798C2D295310836B4FA28E196F80C48BDAA13934190B3B3|+2909
(wmbus) telegram from 01102552 ignored by all configured meters!
Display More
Viele Grüße
Tilman