Skip to content

Instantly share code, notes, and snippets.

@stas-dovgodko
Last active October 15, 2022 17:29
Show Gist options
  • Select an option

  • Save stas-dovgodko/b654b5a6dc9ce288bad696ce8f52cff6 to your computer and use it in GitHub Desktop.

Select an option

Save stas-dovgodko/b654b5a6dc9ce288bad696ce8f52cff6 to your computer and use it in GitHub Desktop.
// донгл /dev/usbModbus на швидкості 9600 з'єднано із реле slave=7
Bridge modbus:serial:ion8cs_1 [ port="/dev/usbModbus", id=7, baud=9600, stopBits="2.0", parity="none",dataBits=8, encoding="rtu"] {
// 8 coil регістрів починаючи з 0, це керування станом реле
// я не знайшов це в документації і якось здогадався шо воно може бути саме так
Bridge poller output [ start=0, length=8, type="coil" ] {
Thing data i1 "Стан 1" [ readStart="0", readValueType="bit", writeStart="0", writeType="coil"]
Thing data i2 "Стан 2" [ readStart="1", readValueType="bit", writeStart="1", writeType="coil"]
Thing data i3 "Стан 3" [ readStart="2", readValueType="bit", writeStart="2", writeType="coil"]
Thing data i4 "Стан 4" [ readStart="3", readValueType="bit", writeStart="3", writeType="coil"]
Thing data i5 "Стан 5" [ readStart="4", readValueType="bit", writeStart="4", writeType="coil"]
Thing data i6 "Стан 6" [ readStart="5", readValueType="bit", writeStart="5", writeType="coil"]
Thing data i7 "Стан 7" [ readStart="6", readValueType="bit", writeStart="6", writeType="coil"]
Thing data i8 "Стан 8" [ readStart="7", readValueType="bit", writeStart="7", writeType="coil"]
}
Bridge poller input [ start=4096, length=4, refresh=1000, type="input" ] {
Thing data state1 "Стан входу 1" [ readStart="4096.0", readValueType="bit"]
Thing data state2 "Стан входу 2" [ readStart="4096.1", readValueType="bit"]
Thing data state3 "Стан входу 3" [ readStart="4096.2", readValueType="bit"]
Thing data state4 "Стан входу 4" [ readStart="4096.3", readValueType="bit"]
Thing data state5 "Стан входу 5" [ readStart="4096.4", readValueType="bit"]
Thing data state6 "Стан входу 6" [ readStart="4096.5", readValueType="bit"]
Thing data state7 "Стан входу 7" [ readStart="4096.6", readValueType="bit"]
Thing data state8 "Стан входу 8" [ readStart="4096.7", readValueType="bit"]
Thing data status1 "Статус входу 1" [ readStart="4097.0", readValueType="bit"]
Thing data status2 "Статус входу 2" [ readStart="4097.1", readValueType="bit"]
Thing data status3 "Статус входу 3" [ readStart="4097.2", readValueType="bit"]
Thing data status4 "Статус входу 4" [ readStart="4097.3", readValueType="bit"]
Thing data status5 "Статус входу 5" [ readStart="4097.4", readValueType="bit"]
Thing data status6 "Статус входу 6" [ readStart="4097.5", readValueType="bit"]
Thing data status7 "Статус входу 7" [ readStart="4097.6", readValueType="bit"]
Thing data status8 "Статус входу 8" [ readStart="4097.7", readValueType="bit"]
Thing data xstate "Стан додаткового входу" [ readStart="4098.0", readValueType="bit"]
Thing data xstatus "Статус додаткового входу" [ readStart="4099.0", readValueType="bit"]
}
Bridge poller settings [ start=256, length=5, refresh=60000, type="holding" ] { // 256 регістр це 0x100 в HEX
Thing data slave "Адреса модуля" [ readStart="256", readValueType="uint16"] // на всяк випадок read-only
Thing data debounce "Тривалість фільтра антибрязкоту, мс" [ readStart="259", readValueType="uint16", writeStart="259", writeValueType="int16", writeType="holding" ]
Thing data longtime "Час увімкнення входу, при перевищенні якого виникає подія «тривале натискання», мс" [ readStart="260", readValueType="uint16", writeStart="260", writeValueType="int16", writeType="holding" ]
}
Bridge poller inputs [ start=769, length=2, refresh=60000, type="holding" ] { // 769 регістр це 0x301 в HEX
Thing data debounce "Вкл/викл. антибрязкіт входів" [ readStart="769", readValueType="uint16", writeStart="769", writeValueType="int16", writeType="holding" ]
Thing data mode "Режим роботи входів" [ readStart="770", readValueType="uint16", writeStart="770", writeValueType="int16", writeType="holding" ]
}
Bridge poller inputs_long [ start=785, length=8, refresh=60000, type="holding" ] { // 785 регістр це 0x311 в HEX
Thing data i1 "Використання функції входів «тривале включення» 1" [ readStart="785", readValueType="uint16", writeStart="785", writeValueType="int16", writeType="holding" ]
Thing data i2 "Використання функції входів «тривале включення» 2" [ readStart="786", readValueType="uint16", writeStart="786", writeValueType="int16", writeType="holding" ]
Thing data i3 "Використання функції входів «тривале включення» 3" [ readStart="787", readValueType="uint16", writeStart="787", writeValueType="int16", writeType="holding" ]
Thing data i4 "Використання функції входів «тривале включення» 4" [ readStart="788", readValueType="uint16", writeStart="788", writeValueType="int16", writeType="holding" ]
Thing data i5 "Використання функції входів «тривале включення» 5" [ readStart="789", readValueType="uint16", writeStart="789", writeValueType="int16", writeType="holding" ]
Thing data i6 "Використання функції входів «тривале включення» 6" [ readStart="790", readValueType="uint16", writeStart="790", writeValueType="int16", writeType="holding" ]
Thing data i7 "Використання функції входів «тривале включення» 7" [ readStart="791", readValueType="uint16", writeStart="791", writeValueType="int16", writeType="holding" ]
Thing data i8 "Використання функції входів «тривале включення» 8" [ readStart="792", readValueType="uint16", writeStart="792", writeValueType="int16", writeType="holding" ]
}
Bridge poller outputs [ start=1025, length=4, refresh=60000, type="holding" ] { // 1025 регістр це 0x401 в HEX
Thing data lost "Збереження станів дискретних (вкл/викл) виходів (після відновлення живлення)" [ readStart="1025", readValueType="uint16", writeStart="1025", writeValueType="int16", writeType="holding" ]
Thing data mapping "Прив’язка виходів до дискретних входів" [ readStart="1026", readValueType="uint16", writeStart="1026", writeValueType="int16", writeType="holding" ]
Thing data inverse "Інверсія станів виходів при прив'язаному виході в синхронному режимі" [ readStart="1027", readValueType="uint16", writeStart="1027", writeValueType="int16", writeType="holding" ]
Thing data start "Початковий стан виходів при вмиканні пристрою" [ readStart="1028", readValueType="uint16", writeStart="1028", writeValueType="int16", writeType="holding" ]
}
Bridge poller outputs_ondelay [ start=1057, length=8, refresh=60000, type="holding" ] { // 1057 регістр це 0x421 в HEX
Thing data t1 "Обмеження часу замкнутого стану виходу 1" [ readStart="1057", readValueType="uint16", writeStart="1057", writeValueType="int16", writeType="holding" ]
Thing data t2 "Обмеження часу замкнутого стану виходу 2" [ readStart="1058", readValueType="uint16", writeStart="1058", writeValueType="int16", writeType="holding" ]
Thing data t3 "Обмеження часу замкнутого стану виходу 3" [ readStart="1059", readValueType="uint16", writeStart="1059", writeValueType="int16", writeType="holding" ]
Thing data t4 "Обмеження часу замкнутого стану виходу 4" [ readStart="1060", readValueType="uint16", writeStart="1060", writeValueType="int16", writeType="holding" ]
Thing data t5 "Обмеження часу замкнутого стану виходу 5" [ readStart="1061", readValueType="uint16", writeStart="1061", writeValueType="int16", writeType="holding" ]
Thing data t6 "Обмеження часу замкнутого стану виходу 6" [ readStart="1062", readValueType="uint16", writeStart="1062", writeValueType="int16", writeType="holding" ]
Thing data t7 "Обмеження часу замкнутого стану виходу 7" [ readStart="1063", readValueType="uint16", writeStart="1063", writeValueType="int16", writeType="holding" ]
Thing data t8 "Обмеження часу замкнутого стану виходу 8" [ readStart="1064", readValueType="uint16", writeStart="1064", writeValueType="int16", writeType="holding" ]
}
Bridge poller outputs_offdelay [ start=1073, length=8, refresh=60000, type="holding" ] { // 1073 регістр це 0x431 в HEX
Thing data t1 "Затримка вимикання виходу 1" [ readStart="1073", readValueType="uint16", writeStart="1073", writeValueType="int16", writeType="holding" ]
Thing data t2 "Затримка вимикання виходу 2" [ readStart="1074", readValueType="uint16", writeStart="1074", writeValueType="int16", writeType="holding" ]
Thing data t3 "Затримка вимикання виходу 3" [ readStart="1075", readValueType="uint16", writeStart="1075", writeValueType="int16", writeType="holding" ]
Thing data t4 "Затримка вимикання виходу 4" [ readStart="1076", readValueType="uint16", writeStart="1076", writeValueType="int16", writeType="holding" ]
Thing data t5 "Затримка вимикання виходу 5" [ readStart="1077", readValueType="uint16", writeStart="1077", writeValueType="int16", writeType="holding" ]
Thing data t6 "Затримка вимикання виходу 6" [ readStart="1078", readValueType="uint16", writeStart="1078", writeValueType="int16", writeType="holding" ]
Thing data t7 "Затримка вимикання виходу 7" [ readStart="1079", readValueType="uint16", writeStart="1079", writeValueType="int16", writeType="holding" ]
Thing data t8 "Затримка вимикання виходу 8" [ readStart="1080", readValueType="uint16", writeStart="1080", writeValueType="int16", writeType="holding" ]
}
Bridge poller xinputs [ start=1281, length=6, refresh=60000, type="holding" ] { // 1281 регістр це 0x501 в HEX
Thing data debounce "Антибрязкіт додаткових входів" [ readStart="1281", readValueType="uint16", writeStart="1281", writeValueType="int16", writeType="holding" ]
Thing data mode "Режим роботи додаткових входів" [ readStart="1282", readValueType="uint16", writeStart="1282", writeValueType="int16", writeType="holding" ]
Thing data onmapping1 "Прив’язка статусу ON дод. входу до виходів" [ readStart="1283", readValueType="uint16", writeStart="1283", writeValueType="int16", writeType="holding" ]
Thing data onmapping2 "Зміна стану виходів при переході дод. входу в статус ON" [ readStart="1284", readValueType="uint16", writeStart="1284", writeValueType="int16", writeType="holding" ]
Thing data offmapping1 "Прив’язка статусу OFF дод. входу до виходів" [ readStart="1285", readValueType="uint16", writeStart="1285", writeValueType="int16", writeType="holding" ]
Thing data offmapping2 "Зміна стану виходів при переході дод. входу в статус OFF" [ readStart="1286", readValueType="uint16", writeStart="1286", writeValueType="int16", writeType="holding" ]
}
Bridge poller info [ start=187, length=5, refresh=60000, type="input" ] { // 187 регістр це 0xBB в HEX
Thing data serial1 "Серійний номер модуля" [ readStart="187", readValueType="uint16"]
Thing data serial2 "Серійний номер модуля" [ readStart="188", readValueType="uint16"]
Thing data serial3 "Серійний номер модуля" [ readStart="189", readValueType="uint16"]
Thing data serial4 "Серійний номер модуля" [ readStart="190", readValueType="uint16"]
Thing data serial5 "Серійний номер модуля" [ readStart="191", readValueType="uint16"]
// багато ще чого шо навряд комусь буде потрібно (см. мануал)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment