{ "_comment": "Standard.json — generic Modbus TCP server for the integration suite. See ../README.md. NOTE: pymodbus rejects unknown keys at device-list / setup level; explanatory comments live in the README + git history. Layout: HR[0..31]=address-as-value, HR[100]=auto-increment, HR[200..209]=scratch, coils 1024..1055=alternating, coils 1100..1109=scratch. Coils live at 1024+ because pymodbus stores all 4 standard tables in ONE underlying cell array — bits and uint16 at the same address conflict (each cell can only be typed once).", "server_list": { "srv": { "comm": "tcp", "host": "0.0.0.0", "port": 5020, "framer": "socket", "device_id": 1 } }, "device_list": { "dev": { "setup": { "co size": 2048, "di size": 2048, "hr size": 2048, "ir size": 2048, "shared blocks": true, "type exception": false, "defaults": { "value": {"bits": 0, "uint16": 0, "uint32": 0, "float32": 0.0, "string": " "}, "action": {"bits": null, "uint16": null, "uint32": null, "float32": null, "string": null} } }, "invalid": [], "write": [ [0, 31], [100, 100], [200, 209], [1024, 1055], [1100, 1109] ], "uint16": [ {"addr": 0, "value": 0}, {"addr": 1, "value": 1}, {"addr": 2, "value": 2}, {"addr": 3, "value": 3}, {"addr": 4, "value": 4}, {"addr": 5, "value": 5}, {"addr": 6, "value": 6}, {"addr": 7, "value": 7}, {"addr": 8, "value": 8}, {"addr": 9, "value": 9}, {"addr": 10, "value": 10}, {"addr": 11, "value": 11}, {"addr": 12, "value": 12}, {"addr": 13, "value": 13}, {"addr": 14, "value": 14}, {"addr": 15, "value": 15}, {"addr": 16, "value": 16}, {"addr": 17, "value": 17}, {"addr": 18, "value": 18}, {"addr": 19, "value": 19}, {"addr": 20, "value": 20}, {"addr": 21, "value": 21}, {"addr": 22, "value": 22}, {"addr": 23, "value": 23}, {"addr": 24, "value": 24}, {"addr": 25, "value": 25}, {"addr": 26, "value": 26}, {"addr": 27, "value": 27}, {"addr": 28, "value": 28}, {"addr": 29, "value": 29}, {"addr": 30, "value": 30}, {"addr": 31, "value": 31}, {"addr": 100, "value": 0, "action": "increment", "parameters": {"minval": 0, "maxval": 65535}}, {"addr": 200, "value": 0}, {"addr": 201, "value": 0}, {"addr": 202, "value": 0}, {"addr": 203, "value": 0}, {"addr": 204, "value": 0}, {"addr": 205, "value": 0}, {"addr": 206, "value": 0}, {"addr": 207, "value": 0}, {"addr": 208, "value": 0}, {"addr": 209, "value": 0} ], "bits": [ {"addr": 1024, "value": 1}, {"addr": 1025, "value": 0}, {"addr": 1026, "value": 1}, {"addr": 1027, "value": 0}, {"addr": 1028, "value": 1}, {"addr": 1029, "value": 0}, {"addr": 1030, "value": 1}, {"addr": 1031, "value": 0}, {"addr": 1032, "value": 1}, {"addr": 1033, "value": 0}, {"addr": 1034, "value": 1}, {"addr": 1035, "value": 0}, {"addr": 1036, "value": 1}, {"addr": 1037, "value": 0}, {"addr": 1038, "value": 1}, {"addr": 1039, "value": 0}, {"addr": 1040, "value": 1}, {"addr": 1041, "value": 0}, {"addr": 1042, "value": 1}, {"addr": 1043, "value": 0}, {"addr": 1044, "value": 1}, {"addr": 1045, "value": 0}, {"addr": 1046, "value": 1}, {"addr": 1047, "value": 0}, {"addr": 1048, "value": 1}, {"addr": 1049, "value": 0}, {"addr": 1050, "value": 1}, {"addr": 1051, "value": 0}, {"addr": 1052, "value": 1}, {"addr": 1053, "value": 0}, {"addr": 1054, "value": 1}, {"addr": 1055, "value": 0}, {"addr": 1100, "value": 0}, {"addr": 1101, "value": 0}, {"addr": 1102, "value": 0}, {"addr": 1103, "value": 0}, {"addr": 1104, "value": 0}, {"addr": 1105, "value": 0}, {"addr": 1106, "value": 0}, {"addr": 1107, "value": 0}, {"addr": 1108, "value": 0}, {"addr": 1109, "value": 0} ], "uint32": [], "float32": [], "string": [], "repeat": [] } } }