Здравствуйте, вот это очень важный вопрос - через дизайнер пишите файлы правил или нет и при перезагрузке правил не возникает ли ошибок? Кроме того, ошибка говорит, что не может найти айтем с айдишником, который судя по всему создан в paper UI. Вы же показали нам инициализацию из файла. Так нельзя
UPD:
Вник в Ваши листинги и правила. Всё не так
Проблема в этом правиле только одна.
rule "Servoprivod-1"
when
Item TemperatureHTU received update
then
if (TemperatureHTU.value > 26) {
sendCommand(
kladovkaout, 0)
} else {
sendCommand(
kladovkaout, 1)
}
end
Внимательно смотрим, и выясняем, что это у нас things!!
Bridge megad:bridge:megadeviceincoming [port=8800]
{
Thing device TemperatureHTU "Температура кладовка" [hostname="192.168.0.14", port="31", password="sec", refresh="10", scl="30", i2c_dev="htu21d", i2c_par="1"]
Thing device HumHTU "Влажность кладовка" [hostname="192.168.0.14", port="31", password="sec", refresh="10", scl="30", i2c_dev="htu21d", i2c_par="0"]
Thing device
kladovkaout "Лампочка кладовка" [hostname="192.168.0.14", password="sec", port="7", refresh="0"]
}
Вы должны в правиле писать
ТОЛЬКО item. Тем более он у Вас есть
Items:
Number TemperatureHTU "[%.2f °C]" {channel="megad:device:megadeviceincoming:TemperatureHTU:i2c"}
Number HumHTU "[%.2f %%]" {channel="megad:device:megadeviceincoming:HumHTU:i2c"}
Switch
chulan_light {channel = "megad:device:megadeviceincoming:kladovkaout:out" }
Правильное правило:
Код: Выделить всё
rule "Servoprivod-1"
when
Item TemperatureHTU received update
then
if (TemperatureHTU.value > 26) {
sendCommand([b]chulan_light [/b], OFF)
} else {
sendCommand([b]chulan_light [/b], ON)
}
end
Судя по всему дизайнер не использовался, а зря