Ik heb een Emat kWh meter van type dds353H-2 https://www.elektramat.nl...-modbus-mid-5282/#details. Deze werkt en op het display zie ik de gemeten waardes langskomen. Nu wil ik dit graag op home-assistant aansluiten dmv modbus/rs485.
Hiervoor heb ik een USB to modbus converter. Ik heb de A en B polen van zowel de converter als de kWh-meter aangesloten. Het USB apparaat wordt netjes herkend onder /dev/ttyUSB1.
Nu heb ik eerst geprobeerd het in Home Assistant te configureren, door de tips op https://community.home-as...-meter-with-modbus/218241 te volgen.
In configuration.yaml heb ik de modbus config gezet:
in sensor.yaml heb ik de info voor de sensors zelf gezet.
Na een restart van HA, zie ik echter geen foutmeldingen in de logs, maar ook geen devices in de configuratie. Ik heb niet echt een idee hoe dit verder te debuggen.
Nu dacht ik eerst maar eens van de commandline te proberen om contact te leggen. Hiervoor vond ik
Ik kom er niet helemaal uit hoe ik ervoor zorg dat deze het register 305 (die staat hierboven in de sensor code) wil proberen uit te lezen. Ik krijg telkens ERROR Illegal data address.
Nu zit ik een beetje vast. Iemand die mij kan adviseren hoe ik dit het beste kan debuggen?
Hiervoor heb ik een USB to modbus converter. Ik heb de A en B polen van zowel de converter als de kWh-meter aangesloten. Het USB apparaat wordt netjes herkend onder /dev/ttyUSB1.
Nu heb ik eerst geprobeerd het in Home Assistant te configureren, door de tips op https://community.home-as...-meter-with-modbus/218241 te volgen.
In configuration.yaml heb ik de modbus config gezet:
code:
1
2
3
4
5
6
7
8
9
| modbus: name: hub1 type: serial method: rtu port: /dev/ttyUSB1 baudrate: 9600 stopbits: 1 bytesize: 8 parity: E |
in sensor.yaml heb ik de info voor de sensors zelf gezet.
code:
1
2
3
4
5
6
7
8
9
| - platform: modbus registers: - name: car_voltage hub: hub1 slave: 1 register: 305 scale: 0.01 unit_of_measurement: v precision: 1 |
Na een restart van HA, zie ik echter geen foutmeldingen in de logs, maar ook geen devices in de configuratie. Ik heb niet echt een idee hoe dit verder te debuggen.
Nu dacht ik eerst maar eens van de commandline te proberen om contact te leggen. Hiervoor vond ik
https://github.com/epsilonrt/mbpoll waarmee het mogelijk moet zijn om met modbus devices te communiceren.mbpoll
Ik kom er niet helemaal uit hoe ik ervoor zorg dat deze het register 305 (die staat hierboven in de sensor code) wil proberen uit te lezen. Ik krijg telkens ERROR Illegal data address.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| peter@raspberrypi:~ $ sudo mbpoll -a 1 -m rtu -b 9600 -v /dev/ttyUSB1 debug enabled Set device=/dev/ttyUSB1 mbpoll 1.4-12 - FieldTalk(tm) Modbus(R) Master Simulator Copyright © 2015-2019 Pascal JEAN, https://github.com/epsilonrt/mbpoll This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; type 'mbpoll -w' for details. Opening /dev/ttyUSB1 at 9600 bauds (E, 8, 1) Set response timeout to 1 sec, 0 us Protocol configuration: Modbus RTU Slave configuration...: address = [1] start reference = 1, count = 1 Communication.........: /dev/ttyUSB1, 9600-8E1 t/o 1.00 s, poll rate 1000 ms Data type.............: 16-bit register, output (holding) register table -- Polling slave 1... Ctrl-C to stop) [01][03][00][00][00][01][84][0A] Waiting for a confirmation... <01><83><02><C0><F1> ERROR Illegal data address Read output (holding) register failed: Illegal data address |
Nu zit ik een beetje vast. Iemand die mij kan adviseren hoe ik dit het beste kan debuggen?
Look behind you! A three headed monkey!