Сценарии - новая версия API
-
@amgstone Кнопка должна находится именно в боковом меню устройства, которое открывается после долгого нажатия на устройство. Чтобы было понятнее кратко опишу идею: устройство с прошивкой для ws2812 WLED имеет очень широкий функционал но реализовать его (кроме вкл/выкл и изменения цветов) в IH нет возможности и смысла. Поэтому хочу сделать дополнительную кнопку в боковом меню выключателя, по нажатию на которую будет переход в браузер на адрес ip устройства, где уже будут все настройки устройства
Проблема в написании сценария, я не знаком с языками программирования.
-
подскажите как в этом сценарии передавать на виртуальное устройство температуру каждых 5 минут а не при каджом изменении температуры?
/** * @name Середня температура будинку * @desc * @version 4 */ const temp_bedroom = Device("STEMP1"); const temp_korudor = Device("STEMP11"); const temp_vana = Device("STEMP12"); const temp_hall = Device("STEMP5"); const temp_danulo = Device("STEMP6"); const temp_sofija = Device("STEMP7"); const temp_kamina = Device("STEMP8"); const temp_kitchen = Device("STEMP9"); const temp_house = Device("Stemp_house"); startOnChange([temp_bedroom,temp_korudor,temp_vana,temp_hall,temp_danulo,temp_sofija,temp_kamina,temp_kitchen]); script({ start() { let temp_house_t= (temp_bedroom.value+temp_korudor.value+temp_vana.value+temp_hall.value+temp_danulo.value+temp_sofija.value+temp_kamina.value+temp_kitchen.value)/7; this.assign(temp_house, "value", temp_house_t.toFixed(2)); } });
-
@amgstone при первом изменении температуры вы можете запустить таймер и записать среднюю температуру через 5 минут, и снова вызвать таймер и так бесконечно. Или вызывать сценарий периодически в расписании, только удалите функцию StartOnChange.
-
Добрый вечер! Подскажите где найти сценарий Управление поливом, смотрел видео с версией Berry и там использовался такой сценарий, планирую использовать в версии Cherry на MegaD.
-
Такой сценарий создать просто. Вам нужно создать два сценария, которые включают и выключают полив и настроить вызов этих сценариев через расписание. Это если по простому, но у вас может свой алгоритм работы.
-
@goodspeed1986 спасибо, но чтобы его создать нужно оттолкнуться хотьб от маломальского похожего сценария, в котором я бы смог что-то менять и экспериментировать, так как мне это ещё сложно.
-
Имеется:
- 3 зоны полива по разным сторонам света
- Отдельно в зонах:
• В 1-й зоне 5 направлений
• В 2-й зоне 3 направления
• В 3-й зоне 4 направления - В 3-х зонах по одному датчику влажности
Хочется такое: - Включение и отключение авто полива.
- Выставлять значение влажности в каждой зоне отдельно при котором значении включается полив
- В каждой зоне может включиться только одно направление полива и переключатся по очерёдно по расписанию, как пример ( 1-е направление – 15 минут, потом 2-е направление – 10 минут, потом 3-е направление - 7 минут и т.д.)
Может кто писал какой-то похожий сценарий, от которого оттолкнуться.
-
Это достаточно сложный сценарий. Сразу у вас такой сделать не получится. Начните с включения/выключения полива по влажности, потом переключайтесь на зоны. Включение по влажности очень похоже на отопление. Если все таки сами не сможете, может кто-то согласиться вам помочь за вознаграждение.
-
Друзья, изучайте JS - он не так сложен, особенно если вы не знаете ни одного языка программирования). Только со знанием JS получится создать сценарий, который будет удовлетворять всем вашим критериям. Нативные блок-схемы - все это балоство.. .лучше начните баловаться с простыми выражениями типа...простых не нашел...все мои сценарии уже очень сложны, поскольку учитывают множество факторов. Все же умный дом):
//Проверка основных условий (авто-режим клапана и дом снят с охраны) if(valve.auto && guard.isOff()) { //Если давление воды на вводе в норме if(pressure.value > pressure.setpoint) { //И если емкость не заполнена (показания датчика меньше 900) if(level.value < 900) { //Включаем клапан подачи воды в емкость if(valve.isOff()) valve.turnOnSaveAuto(); this.message += valve.name+ " включен"; //Взвод таймеров для установки "слушателя" и защитного отключения клапана this.startTimer("Timer_AddListener", 3, "AddListener"); this.startTimer("Timer_OffValve", valve.getParam("timeOff")*60, "OffValve"); } else { this.message += "Емкость заполнена"; } } else { this.message += pressure.name+ " низкое!"; } } else { this.message +
-
Коллеги, в мультисценарий потребовалось добавить переключатель режимов ПВУ (вдруг если где-то задымление, то отключаем систему вентиляции). Как это сделать?
-
@Alex_Jet, добрый день. Не совсем понятна проблема. Нужно добавить переключатель как устройство сценария, а потом в каждый экземпляр его добавить. Другой вариант - сделать виртуальное устройство как индикатор задымления, включить в мультисценарий его. По этому индикатору выключать вытяжку - мульти здесь уже не нужен.
-
@intrapro, первый вариант предпочтительней, поскольку в сценарии работы системы вентиляции уже наворочено сверх возможного. Однако как добавить переключатель как устройство сценария? Если как ActorD, то не могу выбрать переключатель в экземпляре мультисценария.
-
Добрый день!
Подскажите, пожалуйста, где и как можно узнать свойства устройств и что они значат?
-
Пользователь @laronov написал в Сценарии - новая версия API:
Добрый день!
Подскажите, пожалуйста, где и как можно узнать свойства устройств и что они значат?В 4 версии все свойства устройства были определены в системе жестко. State - бинарные значения, Value - аналоговые, Blk.
В 5 версии все свойства устройства можно настраивать. К примеру, есть датчик температуры и влажности. Сейчас нет необходимости делать два устройства. Можно одно устройство со свойствами temperature (температура) и humidity (влажность). Если понадобится еще давление, то просто добавить еще свойство pressure (давление). Благодаря такому механизму вы можете создать свои устройства.
В комплекте с системой уже есть некоторые типовые устройства в папке "Типы устройств". Можно посмотреть как они сделаны.
Подробнее можно почитать в документации
-
Пользователь @IntraVM написал в Сценарии - новая версия API:
Blk
что значит данное свойство?
-
Пользователь @laronov написал в Сценарии - новая версия API:
Пользователь @IntraVM написал в Сценарии - новая версия API:
Blk
что значит данное свойство?Блокировка устройства.
-
Пользователь @intrapro написал в Сценарии - новая версия API:
@Alex_Jet Да, это блокировка (свойство blk, операция setBlk) и setpoint - его наверно уже используете
Добрый день!
Есть сенсор, который получает значение с канала плагина mqtt.
Значение отображается в индикаторе 1.
Как можно в индикаторе 2 отобразить значение с другого канала mqtt?
Видимо, это нужно/можно в скрипте как-то описать?