Сохранить состояние выходов

Приведите, пожалуйста, пример как сохранять состояние выходов, например A3_OUT, при потере и восстановлении напряжения, все модули обновлены до последней версии, но никак не получается при перезагрузке контроллера сбросом питания восстановить значения (хоть 8 часов жди).WB55.
Или хотя бы напишите как зафиксировать значения в памяти без перезагрузки, т.к. при выполнении перезагрузки через ssh (reboot -n), значения все выводов сохраняются.

Добрый день!

Очень сумбурно написано, ничего не понятно. Пожалуйста опишите максимально подробно: что вы делаете, какое поведение ожидаете увидеть, какое поведение наблюдаете на самом деле.

Я так понимаю, проблема та же, что и тут:

Проблема действительно та же.
Входные данные:
Контроллер управляет светом через управляемые реле и контакторы в доме - выходы A1_OUT, A2_OUT, A3_OUT, A4_OUT
Соответственно состояния выходов меняются пользователем через web-интерфейс (т.к. приложения под iphone нет, a rsberry не поставлен).
Часто в поселке пропадает питание. Контроллер отслеживает входное напряжение, т.к. есть внутренний штатный аккумулятор.
После того как контроллер выключится после разрядки аккумулятора, а потом после подачи напряжения контроллер включится,то состояния выходов восстанавливаются в непонятном состоянии.
Эту же картину можно наблюдать, если просто сбрасывать питание с контроллера, в котором нет внутреннего аккумулятора.
3 Вопроса:

  1. Как сохранять состояние выходов (виртуальных устройств) в энергонезависмиой памяти, когда пропало электричество?
  2. Будет ли стабильное приложение под iphone?
  3. Когда выйдет новая прошивка под WB55?(возможно там эти вопросы отпадут)

Так выходов или виртуальных устройств? Если речь про A1_OUT, который управление ключом на клеммнике A1, то это НЕ виртуальное устройство. Виртуальное устройство - это то, которое вы сами создаёте в скрипте.

Офтопик. Эта тема в форуме - не ваша личная линия технической поддержки. Прошу уважительно отнестись к другим читателям и создавать по отдельной теме на каждый вопрос.

В первую очередь выходов, во вторую (если это возможно) виртуальных устройств.

А кто (или что) у вас изменяет состояние этих выходов в рабочем режиме?

  1. Выход А1_OUT подключен к управляемому реле, а далее к нагрузке(свет в бане). Пользователь через web-интерфейс выключает/включает нагрузку (свет) с телефона.
    Когда выключают свет в поселке желательно чтоб, при появлении напряжения восстанавливалось последнее состояние выхода, иначе надо тянутся за телефоном и включать или выключать свет.

Написал скрипт по сохранению настроек (выходов и виртуальных устройств), который сохраняет значения перед выключением контроллера и при автозапуске присваивает сохраненные значения.Осталась одна проблема. Необходимо присвоить начальные (нулевые) значения на выходы при загрузке. Initial state GPIO не помогает. Подскажите, пожалуйста, как выставить начальные значения выходов при загрузке.

Пока сохранение значений физических дискретных выходов между перезагрузками не поддерживается. Думаю, что правильное решение проблемы в вашем случае - это в движке правил сделать виртуальное устройство, которое дублирует выходы (т.е. имеет канала A1_OUT, A2_OUT и т.д.) и сделать к нему правило, которое при изменении виртуального канала ставит значение в соответствующий реальный.
А сохранение значения виртуальных устройств сейчас реализовано и поддерживается, по крайней мере в бета-версии движка правил (соседняя тема)

а разве нельзя сохранять через global.proto.myVar, а в виртуальном устройстве
присваивать это значение: Value : global.proto.myVar ?