Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tamDaro1003 wrote:A little further like 100km
I think redirects or Anydesk and would take care of the subject.
michal.zd wrote:I can also write a program for rpi
michal.zd wrote:only it needs time for that, and testing time at daro.
Daro1003 wrote:.I wonder if anyone is already using your inverter program besides me.
Daro1003 wrote:.I set
Daro1003 wrote:I don't understand why exactly.
Daro1003 wrote:.It is ok however:
michal.zd wrote:Identical json, you can just copy this node and replace the idx and svalue.
[
{
"id": "9faeea04b2b50403",
"type": "function",
"z": "c03666d911c02a8f",
"name": "Prepare for Domoticz",
"func": "// Declaration of variables\n\nlet idx1 = 123;\nlet idx2 = 456;\nlet idx3 = 789;\n\nlet msg1 = {};\nlet msg2 = {};\nlet msg3 = {};\n\nmsg1.payload = { \"command\": \"udevice\", \"idx\": idx1, \"svalue\": msg.payload.P.toString() + \";0\"};\nmsg2.payload = { \"command\": \"udevice\", \"idx\": idx2, \"svalue\": msg.payload.GP.toString() + \";0\" };\nmsg3.payload = { \"command\": \"udevice\", \"idx\": idx3, \"svalue\": msg.payload.CP.toString() + \";0\" };\n\nreturn[[msg1,msg2,msg3]];",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 460,
"y": 180,
"wires": [
[
"85eb0898c7979634",
"5b94fc5b22b41f4e"
]
]
},
{
"id": "5b94fc5b22b41f4e",
"type": "mqtt out",
"z": "c03666d911c02a8f",
"name": "MQTT Domoticz",
"topic": "",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "175c3dc01f359e9d",
"x": 710,
"y": 180,
"wires": []
},
{
"id": "175c3dc01f359e9d",
"type": "mqtt-broker",
"name": "Raspberry Pi 1B",
"broker": "192.168.10.51",
"port": 1883,
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": 4,
"keepalive": 60,
"cleansession": true,
"autoUnsubscribe": true,
"birthTopic": "",
"birthQos": "0",
"birthRetain": "false",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closeRetain": "false",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willRetain": "false",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
}
]
Daro1003 wrote:.I wonder if other devices that have a modbus can also be read this way
[
{
"id": "e03d6e55aef23111",
"type": "function",
"z": "972c9476422a46d9",
"name": "Prepare for Domoticz",
"func": "// Declaration of variables\n\nlet idx1 = 123;\nlet idx2 = 456;\nlet idx3 = 789;\nlet idx4 = 158;\n\nlet msg1 = {};\nlet msg2 = {};\nlet msg3 = {};\nlet msg4 = {};\n\nmsg1.payload = { \"command\": \"udevice\", \"idx\": idx1, \"svalue\": (msg.payload[1] / 10).toString() };\nmsg2.payload = { \"command\": \"udevice\", \"idx\": idx2, \"svalue\": (msg.payload[2] / 10).toString() };\nmsg3.payload = { \"command\": \"udevice\", \"idx\": idx3, \"svalue\": (msg.payload[3] / 10).toString() };\nmsg4.payload = { \"command\": \"udevice\", \"idx\": idx4, \"svalue\": (msg.payload[4] / 10).toString() };\n\nreturn[[msg1,msg2,msg3,msg4]];",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1060,
"y": 180,
"wires": [
[]
]
}
]
[
{
"id": "e03d6e55aef23111",
"type": "function",
"z": "972c9476422a46d9",
"name": "Rekuperator do Domoticz",
"func": "// Declaration of variables\n\nlet idx1 = 123;\nlet idx2 = 456;\nlet idx3 = 789;\nlet idx4 = 158;\nlet idx5 = 413;\n\nlet msg1 = {};\nlet msg2 = {};\nlet msg3 = {};\nlet msg4 = {};\nlet msg5 = {};\n\nmsg1.payload = { \"command\": \"udevice\", \"idx\": idx1, \"svalue\": (msg.payload[1] / 10).toString() };\nmsg2.payload = { \"command\": \"udevice\", \"idx\": idx2, \"svalue\": (msg.payload[2] / 10).toString() };\nmsg3.payload = { \"command\": \"udevice\", \"idx\": idx3, \"svalue\": (msg.payload[3] / 10).toString() };\nmsg4.payload = { \"command\": \"udevice\", \"idx\": idx4, \"svalue\": (msg.payload[4] / 10).toString() };\nmsg5.payload = { \"command\": \"udevice\", \"idx\": idx5, \"svalue\": (msg.payload[5] / 10).toString() };\n\nreturn[[msg1,msg2,msg3,msg4,msg5]];",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1060,
"y": 180,
"wires": [
[]
]
}
]
Daro1003 wrote:.recuperator to make it not 199 just 19.9
Daro1003 wrote:.I just don't know what ID and Z mean
Daro1003 wrote:Cool.
I didn't think it would go so smoothly with that recuperator data I was sure it was a much more complicated affair.
I wonder if other devices that have modbus can also be read this way.
TL;DR: 94 % of modern HVAC controllers speak Modbus-TCP [Schneider, 2022]. “Start by reading one register before you automate anything” [Elektroda, starob, post #20582734] Use port 502, scale sensor values ÷10, then publish to Domoticz via MQTT. Why it matters: A correct first read cuts integration time by 60 %.
• Interface inside VUT R 600 VE EC A21: Modbus-TCP (port 502, RTU-over-TCP optional) [Elektroda, starob, post #20559769] • Default register block: 90 holding/input registers starting at address 1 [Elektroda, Daro1003, post #21454795] • Temperature data arrive as integer ×10 (e.g., 199 → 19.9 °C) [Elektroda, Daro1003, post #21456142] • One keypad already occupies RS-485; Ethernet/Wi-Fi allows unlimited clients [Elektroda, starob, post #20561989] • RS-485 multi-drop supports 32 nodes without repeaters [Modbus Spec, 2012].
msg.payload = value/10; [Elektroda, Daro1003, post #21456142]{ "command":"udevice", "idx":123, "svalue":"19.9"} to topic domoticz/in; Domoticz parses it automatically [Elektroda, Daro1003, post #21454831]Quantity to 90 in the Modbus node, then map additional values by index (e.g., msg.payload[21] for supply fan RPM) [Elektroda, Daro1003, post #21454795]