Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
hw:dds238 [2023/04/18 08:57] – [Hiking DDS238-1 ZN] lazygatto | hw:dds238 [2023/04/18 18:37] (текущий) – [Writing registers] lazygatto |
---|
| |
https://aliexpress.ru/item/32813249295.html | https://aliexpress.ru/item/32813249295.html |
| |
| PINS: 9 - A, 10 - B |
===== Смена адреса счетчика ===== | ===== Смена адреса счетчика ===== |
| |
==== Writing registers ==== | ==== Writing registers ==== |
The meter does not understand the 'write sigle register' function code (06h), only the 'write multiple registers' function code (10h). | The meter does not understand the 'write sigle register' function code (06h), only the 'write multiple registers' function code (10h). |
| |
| ===== OpenHAB examples ===== |
| |
| https://community.openhab.org/t/dds238-2-energy-meter-with-modbus-interface/81463 |
| |
| .things |
| <sxh> |
| Bridge modbus:serial:usbstick10 [port="/dev/ttyUSB0", id=10, baud=9600, stopBits="1.0", parity="none", dataBits=8, encoding="rtu"] { |
| Bridge poller zone10 [ start=0, length=43, refresh=5000, type="holding" ] { |
| Thing data reg00 [ readStart="0", readValueType="uint16" ] |
| Thing data reg01 [ readStart="1", readValueType="uint16", readTransform="JS(divide100.js)" ] |
| Thing data reg11 [ readStart="11", readValueType="uint16", readTransform="JS(divide100.js)"] |
| Thing data reg12 [ readStart="12", readValueType="uint16", readTransform="JS(divide10.js)" ] |
| Thing data reg13 [ readStart="13", readValueType="uint16", readTransform="JS(divide100.js)" ] |
| Thing data reg14 [ readStart="14", readValueType="uint16", readTransform="JS(divide1000.js)"] |
| Thing data reg15 [ readStart="15", readValueType="uint16", readTransform="JS(divide1000.js)" ] |
| Thing data reg16 [ readStart="16", readValueType="uint16", readTransform="JS(divide1000.js)" ] |
| Thing data reg17 [ readStart="17", readValueType="uint16", readTransform="JS(divide100.js)" ] |
| Thing data reg21H [ readStart="21.1", readValueType="uint8" ] |
| Thing data reg21L [ readStart="21.0", readValueType="uint8" ] |
| } |
| } |
| </sxh> |
| |
| .items |
| <sxh> |
| umber z10Reg99 "Total Energy [%.2f kWh]" <energy> (gPers_Change_Hour, gReg99) |
| Number z10Reg00 "Total Energy High" <energy> (gz10) { channel="modbus:data:usbstick10:zone01:reg00:number" } |
| Number z10Reg01 "Total Energy Low" <energy> (gz10) { channel="modbus:data:usbstick10:zone01:reg01:number" } |
| Number z10Reg12 "Voltage [%.1f V]" <energy> (gPers_Change) { channel="modbus:data:usbstick10:zone10:reg12:number" } |
| Number z10Reg13 "Current [%.2f A]" <energy> (gPers_Change) { channel="modbus:data:usbstick10:zone10:reg13:number" } |
| Number z10Reg14 "Active Power [%.3f kW]" <energy> (gPers_Change) { channel="modbus:data:usbstick10:zone10:reg14:number" } |
| Number z10Reg15 "Reactive Power [%.3f kVar]" <energy> (gPers_Change) { channel="modbus:data:usbstick10:zone10:reg15:number" } |
| Number z10Reg16 "PowerFactor [%.3f]" <energy> (gPers_Change) { channel="modbus:data:usbstick10:zone10:reg16:number" } |
| Number z10Reg17 "Frequency [%.2f Hz]" <energy> (gPers_Change) { channel="modbus:data:usbstick10:zone10:reg17:number" } |
| Number z10Reg21H "ModBus Id [%d]" <energy> { channel="modbus:data:usbstick10:zone10:reg21H:number" } |
| Number z10Reg21L "Baudrate [MAP(modbusbaud.map):%s]" <energy> { channel="modbus:data:usbstick10:zone10:reg21L:number" } |
| Number z10HourCounter "Last Hour [%.2f kWh]" <energy> (gPers_Change_Hour) |
| Number z10DayCounter "Last Day [%.2f kWh]" <energy> (gPers_Change_Day) |
| Number z10WeekCounter "Last Week [%.2f kWh]" <energy> (gPers_Change_Week) |
| Number z10MonthCounter "Last Month [%.2f kWh]" <energy> (gPers_Change_Month) |
| </sxh> |