WB4. Выставляю нужную температуру ползунком. При перезагрузке системы или сервиса wb-rules, значение сбрасывается до значения по-умолчанию. Давно не трогал систему, но решил-таки обновиться на свою голову (
defineVirtualDevice("thermostat", {
title: "Thermostat", //
cells: {
"Floor 1" : {
type : "range",
value : 250,
max : 300
}
}
}
WB5 то же самое наблюдал. Только происходит это не всегда, а с некоторой вероятностью. Субъективно - 1 на 10 перезагрузок. Ползунок установки температуры уходит в 0. Кроме него могут наблюдаться случайным образом взбрыки и других виртуальных устройств - кнопок (к примеру у меня так идет управление сигнализацией). Перегружаешь - и после загрузки контроллер начинает процедуру включения этой самой сигнализации. Или не начинает… что тоже плохо, если сигнализация до этого была включена. Причем с каким конкретно устройством (или устройствами) это произойдет - тоже дело случайное.
Кроме того, на перезагрузках недавно словил и еще такой глюк - после перезагрузки подключенный по mqtt ioBroker становится в состояние disconnected и не восстанавливает свое состояние, пока не скажешь mqtt клиенту reload. Но самое забавное, что он при этом отправляет команды в сторону WB и они работают! А вот изменения топиков на WB он естественно не видит и вообще их не обновляет. Еще забавность - если просто отключить соединение между WB и сервером ioBroker на несколько минут - то ничего такого не происходит, как только восстанавливается соединение - все продолжает нормально работать. Вывод - WB при ручной перезагрузке что-то отправляет клиентам (к примеру “я выключаюсь”), после чего клиент перестает воспринимать WB работающим даже после того, как тот загрузился. Разработчикам ioBroker я отправил об этом информацию с логами работы на их стороне, обещали посмотреть…
Поскольку контроллер до сих пор не проявлял случайных ребутов, я на это забил и просто помню, что при ручной перезагрузке могут произойти такие дела…
А кто-нибудь может подсказать - как вообще все это дело подебажить? Заметил, что один range все-таки не сбрасывается (у меня их объявлено 3 штуки), а 2 остальных слетают.
И еще - если остановить и сразу запустить wb-rules, состояние сохраняется. Если подождать минут 10 - то сбрасывается.
Посмотреть что происходит с топиками mosquito_sub -v -t /devices/<устройство>/#
Открыть список устройств в другом браузере и смотреть двигаются ли ползунки при изменении параметров устройства в соседнем браузере
Гипотез 2:
Скрипт правил портит состояние контрола (будет видно в выводе mosquito_sub)
Изменение контрола пробегает только в топике /on и не фиксируется в состоянии контрола (также будет видно в выводе + в соседнем браузере значение не поменяется)
Все-таки проблема в чем-то другом. Сегодня отключали электричество в доме - опять контролы Floor_1 и Floor_2 сбросились в дефолтное состояние. А Basement не сбросился.
bzzeke, добрый день! Проблема идентифицирована, готовится патч. По срокам сориентировать не могу, к сожалению. Значение контрола сохраняется в виде mqtt-retained сообщения, которые записываются на флеш-память с некоторой периодичностью, чтобы не убить постоянными записями память. Соответственно, запист может потеряться. Пока в качестве паллиативного решения можно написать правило, которое будет само сохранять и считывать значение нужных контролов в отдельном файле. Но при аварии по питанию во время записи будет риск закорраптить всю файловую систему. Можно для этого отдельную флешку подмонтировать. Но это — “колхоз”, сами понимаете. У нас есть аккумуляторный модуль WBMZ-BATTERY-1800MAH. Может, это будет лучшим решением.
Имеет смысл покупать тогда UPS, который может сигнализировать контроллеру о пропадании напряжения, например с сухим контактом или по SNMP. И продумать, как все будет включаться обратно при появлении напряжения.
Добрый день, подскажите, пожалуйста с решением следующих проблем с WB 5.6 (прошивка последняя, update сделан)
Есть выводы A1_OUT, A2_OUT, A3_OUT, A4_OUT. D ,в базе данных как я понимаю запомнились их значения.
Например, A1_OUT = false, A2_OUT = true, A3_OUT = true, A4_OUT = false.
Я меня значения выходов на другие состояния, жду от 2 мин до 7 часов, но при отключении питания и при последующем включении состояние портов всегда постоянное (как описано выше), т.е. не зависит от того в каком состоянии пропало питание. Флаг Initial state for GPIO не стоит.
Есть виртуальное устройство, пытаюсь его удалить stabSettings
root@wirenboard:~# mqtt-delete-retained ‘/devices/stabSettings/controls/#’ /devices/stabSettings/controls/enabled /devices/stabSettings/controls/enabled/meta/type /devices/stabSettings/controls/enabled/meta/order /devices/stabSettings/controls/highThreshold /devices/stabSettings/controls/highThreshold/meta/type /devices/stabSettings/controls/highThreshold/meta/order /devices/stabSettings/controls/highThreshold/meta/max /devices/stabSettings/controls/lowThreshold /devices/stabSettings/controls/lowThreshold/meta/type /devices/stabSettings/controls/lowThreshold/meta/order /devices/stabSettings/controls/lowThreshold/meta/max /devices/stabSettings/controls/samplebutton/meta/type /devices/stabSettings/controls/samplebutton/meta/order /tmp/1490075325.6597013/retain_hack /devices/stabSettings/controls/lowThreshold /devices/stabSettings/controls/enabled /devices/stabSettings/controls/enabled/meta/type /devices/stabSettings/controls/enabled/meta/order /devices/stabSettings/controls/highThreshold/meta/max /devices/stabSettings/controls/samplebutton/meta/type /devices/stabSettings/controls/lowThreshold/meta/max /devices/stabSettings/controls/highThreshold/meta/type /devices/stabSettings/controls/samplebutton/meta/order /devices/stabSettings/controls/highThreshold /devices/stabSettings/controls/lowThreshold/meta/order /devices/stabSettings/controls/highThreshold/meta/order /devices/stabSettings/controls/lowThreshold/meta/type done!
Удалил так же все файл скриптов в котором было создано это устройство, но после перезагрузки с помощью сброса питания это устройство опять появляется в списке топиков и устройство.
Подскажите, пожалуйста как очищать кеш от скриптов, виртуальных устройств и запомненных значений выходов?