Примеры .things
Dynamic channels at i2c bus sensor thing
Источник Petros » 19 сен 2021, 15:13
Динамическое создание каналов для i2c
Вот, сделал. Через файлы things выглядеть будет так:
Bridge megad:tcp:megadeviceincoming[port=8989] { Bridge device mega1 "Mega 1 hardware" [hostname="192.168.0.14", password="sec"] { Bridge itoc busN1 "Bus 1 mega1" [port="31", scl="30"] { Thing i2cbussensor i2cSensorTest "Датчик" [sensortype="bmx280", refresh="30"] { Channels: Number : param9 "Parameter 9" [i2cparameter="i2c_par=9"] } } } }
В i2cparameter мы пишем тот get-параметр, который хотим получить. (https://ab-log.ru/smart-house/ethernet/megad-2561#conf-i2c)
Также благодаря такому подходу возможно работать с TMP117 и MCP9600, где есть поле addr.
Через веб во вкладке channels в things нажимаем add channel и создаём новый канал.
По логике вещей, можно передавать таким образом и несколько параметров(i2c_par=1&addr=5), главное чтобы возвращалось числовое значение.
Пример файла .things
Источник martiniman » 05 май 2021, 15:12
Bridge megad:tcp:incoming "MegaD Bridge Port:8989" @ "MegaD" [port=8989] { Bridge device m7 "MegaD7" [hostname="192.168.1.7", password="sec"] { Thing standard m7-1-in_p5 "MegaD7-1-IN P5 Выкл Верхний Спальня" @ "MegaD" [port="5", refresh="0"] Thing standard m7-1-in_p6 "MegaD7-1-IN P6 Выкл Бра и Штора" @ "MegaD" [port="6", refresh="0"] Thing standard m7-1-in_p7 "MegaD7-1-IN P7 Выкл всё Спальня" @ "MegaD" [port="7", refresh="0"] Thing standard m7-1-in_p8 "MegaD7-1-IN P8 Датч движ шкаф" @ "MegaD" [port="8", refresh="0"] Thing standard m7-1-in_p10 "MegaD7-1-IN P10" @ "MegaD" [port="10", refresh="0"] Thing standard m7-1-in_p11 "MegaD7-1-IN P11 Кабинет Стол" @ "MegaD" [port="11", refresh="0"] Thing standard m7-1-in_p12 "MegaD7-1-IN P12" @ "MegaD" [port="12", refresh="0"] Thing standard m7-1-in_p13 "MegaD7-1-IN P13" @ "MegaD" [port="13", refresh="0"] Thing standard m7-1-in_p14 "MegaD7-1-IN P14 Котёл" @ "MegaD" [port="14", refresh="0"] Thing i2c m7_p30 "MegaD7 P30 Датчик над щитом" @ "MegaD" [port="30", refresh="70"] Bridge itoc i2cbus "MegaD7 I2C P30" @ "MegaD"[port="30", scl="31"] { Thing i2cbussensor m7_p30_l "MegaD7 P30 Датчик освещенности" @ "MegaD" [sensortype="max44009", refresh="80"] Thing i2cbussensor m7_p30_t "MegaD7 P30 Датчик t улица" @ "MegaD" [sensortype="htu21d", refresh="90"] } //Thing standard m7_p32 "MegaD7 P32 Кухня датчик пол" @ "MegaD" [port="32", refresh="60"] Bridge 1wirebus onewirebusbridge "MegaD7 P32 1Wire Bridge" @ "MegaD" [port="32", refresh="120"]{ // режим 1w-bus тут указываем порт и интервал опроса Thing 1wireaddress m7_p32 "MegaD7 P32 Кухня датчик пол" @ "MegaD" [address="bad229090000"] // тут адрес датчика Thing 1wireaddress m7_p32_m "MegaD7 P32-2 Метка" @ "MegaD" [address="c6f6b21a0000"] } Thing standard m7_p33 "MegaD7 P33 Keyb" @ "MegaD" [port="33", refresh="0"] Thing i2c m7_p34 "MegaD7 P34" @ "MegaD" [port="34", refresh="60"] } }