Since this a rewrite of my DDS238-2 ZN/SR as SDM120C rename everything

This commit is contained in:
2021-07-11 22:16:59 +02:00
parent 82c8406865
commit 10c1ee029b
2 changed files with 13 additions and 81 deletions

View File

@ -1,13 +1,13 @@
# Domoticz DS238-2 ZN/S ModbusTCP plugin
# Domoticz SDM120c ModbusTCP plugin
A Domoticz plugin to collect data from Hiking DS238-2 ZN/S power meter ModbusTCP.
A Domoticz plugin to collect data from SDM120c power meter ModbusTCP.
## Requirements
You need the DS238 to be connected over modbus over TCP. Wired or wireless.
You need the SDM120C to be connected over modbus over TCP. Wired or wireless.
Setup that use this on this plugin is using PW21
You need also to find the address of the DS238. You can find it using the
You need also to find the address of the SDM120C. You can find it using the
push button. Per default the address is 1.
## Installation of the plugin
@ -32,13 +32,13 @@ Install the plugin:
``` shell
cd domoticz/plugins
git clone https://github.com/xbeaudouin/domoticz-ds238-modbus-tcp.git
git clone https://github.com/xbeaudouin/domoticz-sdm120c-modbus-tcp.git
```
Go to the plugin folder and install all required addons:
``` shell
cd domoticz/plugins/domoticz-ds238-modbus-tcp
cd domoticz/plugins/domoticz-sdm120c-modbus-tcp
sudo pip3 install -r requirements.txt
```
@ -50,12 +50,12 @@ sudo service domoticz.sh restart
## Configuration in Domoticz
Once the plugin is installed, a new hardware type will be available: `DS238-2 ZN/S ModbusTCP`.
Once the plugin is installed, a new hardware type will be available: `SDM120c ModbusTCP`.
To add the inverter, go to `Setup` -> `Hardware` and add the counter:
- Enter a `name` for the counter.
- Select `DS238-2 ZN/S ModbusTCP` from the `type` dropdown list.
- Select `SDM120c ModbusTCP` from the `type` dropdown list.
- Enter the IP address of the PW21 in the `IP Address` field.
- Enter the port number (default: 502) of the PW21 in the `Port Number` field.
- Optionally turn on `Debug`; be aware: this will generate a lot of entries in the Domoticz log!
@ -68,7 +68,7 @@ This should result in a lot of new devices in the `Setup` -> `Devices` menu.
Go to the plugin folder and get the new verion:
``` shell
cd domoticz/plugins/domoticz-ds238-modbus-tcp
cd domoticz/plugins/domoticz-sdm120c-modbus-tcp
git pull
```
@ -79,7 +79,7 @@ sudo service domoticz.sh restart
```
## ScreenShots
Hardware page showing a configured PW21 to get data from a DS238-2 ZN/S
Hardware page showing a configured PW21 to get data from a SDM120c
![](screenshots/Hardware.png)
@ -97,74 +97,6 @@ Total power meter with Return energy (usefull for PV/Wind turbine generators)
## Documentation about the registers used.
This is a copy of : https://gist.github.com/alphp/95e1efe916c0dd6df7156f43dd521d53
### Modbus holding registers:
| Register(s) | Meaning | Scale Unit | Data format | R/W |
|-------------|-----------------|------------|----------------|:---:|
| 0000h-0001h | total energy | 1/100 kWh | unsigned dword | R<> |
| 0002h-0003h | reserved | | unsigned dword | |
| 0004h-0005h | reserved | | unsigned dword | |
| 0006h-0007h | reserved | | unsigned dword | |
| 0008h-0009h | export energy | 1/100 kWh | unsigned dword | R<> |
| 000Ah-000Bh | import energy | 1/100 kWh | unsigned dword | R<> |
| 000Ch | voltage | 1/10 V | unsigned word | R |
| 000Dh | current | 1/100 A | unsigned word | R |
| 000Eh | active power | 1 W | signed word | R |
| 000Fh | reactive power | 1 VAr | unsigned word | R |
| 0010h | power factor | 1/1000 | unsigned word | R |
| 0011h | frequency | 1/100 Hz | unsigned word | R |
| 0012h | reserved | | unsigned word | |
| 0013h | reserved | | unsigned word | |
| 0014h | reserved | | unsigned word | |
| 0015h:high | station address | 1-247 | unsigned char | R/W |
| 0015h:low | baud rate | 1-4<> | unsigned char | R/W |
| 001Ah | relay<61> | | unsigned word | R/W |
#### Notes:
##### Note 1:
Total, export and import energy counters can erased writing 0 in total energy
registers.
##### Note 2:
Value mapping, default 1.
| Value | Baud rate |
|:-----:|:---------:|
| 1 | 9600 Bd |
| 2 | 4800 Bd |
| 3 | 2400 Bd |
| 4 | 1200 Bd |
##### Note 3:
In DDS238-2 ZN/SR model the relay can be switched by 0x001A register.
| Value | Relay |
|:-----:|:-----:|
| 0 | Off |
| 1 | On |
##### Data formats
| Data format | Lenght | Byte order |
|-------------|--------:|------------|
| char | 8 bits | |
| word | 16 bits | Big endian |
| dword | 32 bits | Big endian |
TODO
### Writing registers
The meter does not understand the 'write sigle register' function code (06h),
only the 'write multiple registers' function code (10h).
## Credits
Some part of the code has been taken from SolarEgde Modbus TCP Plugin. Thanks !
https://github.com/addiejanssen/domoticz-solaredge-modbustcp-plugin/