AlexeyKr писал(а):
Аналогично для сообщения от источника света
6. Управление источником света можно производить изменением свойства объекта, при этом автоматически отправляется в связанный mqtt топик сообщение с новым значением свойства.
для этого для объекта можно создать элемент управления типа переключатель в меню управления
всё работает, НО мы изменяем свойство объекта без контроля выполнения команды. При тестировании обнаружено, что при потере управляющего сообщения, в меню выключатель включен, а фактически источник света выключен. Также по неизвестной причине зависал скрипт mqtt_daemon.php и не реагировал на входящие сообщения.
Думаю требуется другой метод отправки сообщения на mqtt-шлюз, без изменения свойства объекта. А свойство объекта изменять по пришедшему от шлюза сообщению.
Поразмышлял немного... Я не программер, но мне кажется, что исходя из объектно-ориентированной концепции платформы,
Свойства должны
ОТОБРАЖАТЬ характеристики
Объекта, а изменять свойства призваны
Методы. Другими словами об изменении Свойства должен сообщить сам Объект, после того как из МДМ мы применили к нему Метод.
Код: Выделить всё
while (Вася.послушность < 185) {
Вася.ЗапрещатьИгратьвWoT }
Serial.println ("Вася достаточно хороший мальчик");
Вася.ПредложитьПряникзаУроки;
if (Вася.ВыполнениеУроков == 1) {
Serial.println ("Вася умничка");
}
Т.е. вызов метода Вася.ПредложитьПряникзаУроки может повлечь увеличение послушности Васи, а может не повлечеть. Это зависит от "Васиной" прошивки, хотя код "Васиной мамы" на стороне МДМ, в упрощенном варианте, может не опрашивать Васю на предмет его послушности, а принять решение о Васином состоянии сам, но в этом случае есть риск нестыковки с действительным Васиным состоянием.