Вводные:
MJDM на виртуалке ubuntu, docker
mosquitto там же, docker.
Есть созданный мной класс объектов.
У объекта имеется метод, который по нажатию переключателя проверяет несколько условий и, если все хорошо, меняет свойство этого объекта по коду
Код: Выделить всё
$this->setProperty('pumpStatus', 1);
Код: Выделить всё
if ($this->getProperty('pumpStatus') == 1) {
$this->callMethod('log_watering');
$this->setProperty('latestWatering_epoch', time());
say('включился насос', 2);
}
log_watering только пишет в БД
Столкнулся с любопытной проблемой:
Если запустить метод переключателем, то он как будто отрабатывает дважды: в БД две строки, два сообщения от Алисы
Если запустить метод по ссылке (кнопкой в панели управления), то он отрабатывает один раз
Насколько я понял, дело как раз в том, что и топик mqtt и переключатель привязаны на одно свойство, но вот как это обойти нормально пока не понимаю.
Приложу картинки настроек mqtt и переключателя