Плагин MegaD
-
Подскажите при паразитном подключении датчиков температуры ds18b20 как в интрахаус вывести значения температуры на мнемосхему? я так понимаю что надо установить путь в строке запроса состояния.
-
Подскажите при паразитном подключении датчиков температуры ds18b20 как в интрахаус вывести значения температуры на мнемосхему? я так понимаю что надо установить путь в строке запроса состояния.
А причем тут подключение датчиков DS18B20 с паразитным питанием к MegaD и сам iH? Если MegaD в своем веб-интерфейсе отображает температуру, то и iH при соответствующем опросе будет получать от MegaD значение с датчика. Для настройки порта на MegaD в режиме DSen->1W надо делать запрос по умолчанию - /%pwd%/?pt=%adr%&cmd=get. Если настройки порта на MegaD в режиме DSen->1WB, то только на одном из каналов нужен запрос вида /%pwd%/?pt=%adr%&cmd=list
-
Подскажите при паразитном подключении датчиков температуры ds18b20 как в интрахаус вывести значения температуры на мнемосхему? я так понимаю что надо установить путь в строке запроса состояния.
А причем тут подключение датчиков DS18B20 с паразитным питанием к MegaD и сам iH? Если MegaD в своем веб-интерфейсе отображает температуру, то и iH при соответствующем опросе будет получать от MegaD значение с датчика. Для настройки порта на MegaD в режиме DSen->1W надо делать запрос по умолчанию - /%pwd%/?pt=%adr%&cmd=get. Если настройки порта на MegaD в режиме DSen->1WB, то только на одном из каналов нужен запрос вида /%pwd%/?pt=%adr%&cmd=list
Хорошо, спасибо, а как мне вынести значения датчиков температуры на экран IH если їх несколько, можно это засписать, думаю не только мне это интересно будет узнать?
-
Подскажите при паразитном подключении датчиков температуры ds18b20 как в интрахаус вывести значения температуры на мнемосхему? я так понимаю что надо установить путь в строке запроса состояния.
А причем тут подключение датчиков DS18B20 с паразитным питанием к MegaD и сам iH? Если MegaD в своем веб-интерфейсе отображает температуру, то и iH при соответствующем опросе будет получать от MegaD значение с датчика. Для настройки порта на MegaD в режиме DSen->1W надо делать запрос по умолчанию - /%pwd%/?pt=%adr%&cmd=get. Если настройки порта на MegaD в режиме DSen->1WB, то только на одном из каналов нужен запрос вида /%pwd%/?pt=%adr%&cmd=list
Хорошо, спасибо, а как мне вынести значения датчиков температуры на экран IH если їх несколько, можно это засписать, думаю не только мне это интересно будет узнать?
Нужно создать каналы для каждого датчика DS18B20 с указанием номера порта и id датчика
Например, если 2 датчика висят на 31 порту, и по запросу /%pwd%/?pt=31&cmd=list выдается:
8aad6a070000:32.43;85a56a070000:20.51
то создаются каналы: 31_8aad6a070000, 31_85a56a070000
При этом запрос (период опроса) нужно оставить только на одном из каналов.
А какой запрос делать - вам Alex_Jet объяснил
Документация по плагину MegaD: https://ih-systems.com/ru/product/plugin-megad/
-
Подскажите как в IH создать канал для выключателя, для примера выключатель на 1 канале, лампочка на 15 канале, пробую ничего не получается, помогите. хочу использовать IH без помощи megad.
-
Подскажите как в IH создать канал для выключателя, для примера выключатель на 1 канале, лампочка на 15 канале, пробую ничего не получается, помогите. хочу использовать IH без помощи megad.
Нужно написать сценарий:
если выключатель вкл, то включить лампочку
если выключатель выкл, то выключить лампочку
если выключатель кнопочный, то использовать toggle
-
Подскажите как в IH создать канал для выключателя, для примера выключатель на 1 канале, лампочка на 15 канале, пробую ничего не получается, помогите. хочу использовать IH без помощи megad.
Нужно написать сценарий:
если выключатель вкл, то включить лампочку
если выключатель выкл, то выключить лампочку
если выключатель кнопочный, то использовать toggle
а можно с принтскринами а то уже 3 день мучаюсь
-
а можно с принтскринами а то уже 3 день мучаюсь
А чего мучаться-то? Информации в инете уже полно. Не тут, так на других форумах. Надо учиться искать информацию, анализировать и пробовать. Вам надо в расширениях плагина MegaD прописать несколько строк для выключателей подключенных к соответствующим входам MegaD - там же установить каким выходом будете управлять и сообщать системе что будет меняться. Вот, например, тут я подобное делал: https://www.ab-log.ru/forum/viewtopic.php?f=1&t=652&start=280#p35032
Блин, ну реально вскипятили. Неужели трудно 20 страниц этой темы почитать??? Все есть! Вот еще мой пример: https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=140#p8737
Если уж из этого не понятно, то платите деньги специалистам, а сами заканчивайте с умным домом.
-
а можно с принтскринами а то уже 3 день мучаюсь
В документации по плагину MegaD https://ih-systems.com/ru/product/plugin-megad/ есть описание по сработке геркона:
В Вашем случае вместо геркона будет кнопка.Передать в ответ 15:2 - будет toggle
Установить состояние канала 15=TOGGLE
На самой меге:
1.Прописать адрес сервера intraHouse
2.Прописать имя скрипта такое же, как в запросе (например на скриншоте - megad)
3.Настроить порт 1 в режим P, чтобы он отправлял только при нажатии
-
Соберите на столе схему, с тем же контроллером и тем же датчиком, без вашей системы проводов.
Если проблему повторить не сможете - она в проводах.
Собрал схему, которая была реализована в реале когда контроллер перезагружался (был добавлен DHT22). Единственное - нет "земляной петли", которая есть на моей схеме, нет больших длин витухи до герметичных DS18B20 (подсоединены своими проводами) и нет доп. подтяжки (резисторы на 4,7кОм). Прошивка fw: 4.26b1, конфигурацию сделал вручную по образу и подобию рабочей MegaD.
Итог - сегодня контроллер перезагрузился, проработав около 8,5 дней… Поскольку лог не писал, то на каком месте споткнулся - вопрос. Надо обновить прошивку до последней и начать писать дамп или лог. Вероятно, Андрей не хочет ждать 8-10 дней чтобы воспроизвести ситуацию.
-
Еще бы лог с ИБП добавить, вдруг его скачек напряжения сбивает.
-
Если контроллер выдает в качестве температуры string "NA" (DS18B20) или совсем ничего (пустая страничка device list для шины 1W), как в системе можно настроить отображение ошибки на устройстве?
-
Если контроллер выдает в качестве температуры string "NA" (DS18B20) или совсем ничего (пустая страничка device list для шины 1W), как в системе можно настроить отображение ошибки на устройстве?
"Установить ошибку если нет данных в течение (сек)" не работает?
-
Если контроллер выдает в качестве температуры string "NA" (DS18B20) или совсем ничего (пустая страничка device list для шины 1W), как в системе можно настроить отображение ошибки на устройстве?
"Установить ошибку если нет данных в течение (сек)" не работает?
Да, действительно работает! У меня галочки стояли, но время было 0. Теперь все отображается. А можно пример сценария - если "Device timeout error", то послать сообщение по telegram.
-
А можно пример сценария - если "Device timeout error", то послать сообщение по telegram.
1. Можно так:
2. Лучше так:
Здесь запускаем таймер. И если ошибка еще присутствует отсылаем сообщение.3. Но еще лучше, сделать мультисценарий
-
@intrahouse:
А можно пример сценария - если "Device timeout error", то послать сообщение по telegram.
1. Можно так:
scen110.jpg
2. Лучше так:
scen111.jpg
Здесь запускаем таймер. И если ошибка еще присутствует отсылаем сообщение.
3. Но еще лучше, сделать мультисценарий
Спасибо конечно за вариант с "блокли". Но интересует больше мультисценарий. В API есть две команды x.error и x.isError(). Вот какую для чего использовать? И как правильно прописывать в startOnChange - startOnChanged(sensor, sensor.isChanged("error"))? Чтобы не делать 5 итераций…для подбора нужной.
-
Сделать блоки, переключиться на отображение сценария, посмотреть синтаксис?
-
А у аналогового актуатора "установить ошибку, если нет данных в течении __ сек" можно, а в блоках состояния "ошибка" у него нет.
-
Но интересует больше мультисценарий. В API есть две команды x.error и x.isError(). Вот какую для чего использовать? И как правильно прописывать в startOnChange - startOnChanged(sensor, sensor.isChanged("error"))? Чтобы не делать 5 итераций…для подбора нужной.
Мыслите абсолютно верно
Но конструкция startOnChanged(sensor, sensor.isChanged("error")) не работает
Вот рабочий вариант
/** * @name Ошибка датчика * @desc * @version 4 */ const sensor = Device("SensorA","Датчик "); startOnChange(sensor); script({ start() { if (this.isChanged(sensor, "err")) { if (sensor.isError()) { this.log(sensor.fullName +'. Ошибка! '+sensor.error)); } else { this.log(sensor.fullName +' ОK. Значение '+sensor.value); } } } });
this.isChanged(sensor, "err") - этот сценарий (this) был вызван, потому что изменилось свойство "err" устройства sensor
Обратите внимание, здесь err, а не error.
sensor.isError() - это метод - возвращает true/false
sensor.error - это свойство (без скобок) - возвращает саму ошибку
Результат в отладчике:
log: Датчик температуры 1этаж/Холл. Ошибка! Device timeout error!
-
Мыслите абсолютно верно
Но конструкция startOnChanged(sensor, sensor.isChanged("error")) не работает
Вот рабочий вариант
> /** > * @name Ошибка датчика > * @desc > * @version 4 > */ > > const sensor = Device("SensorA","Датчик "); > > startOnChange(sensor); > > script({ > start() { > if (this.isChanged(sensor, "err")) { > if (sensor.isError()) { > this.log(sensor.fullName +'. Ошибка! '+sensor.error)); > } else { > this.log(sensor.fullName +' ОK. Значение '+sensor.value); > } > } > } > }); >
this.isChanged(sensor, "err") - этот сценарий (this) был вызван, потому что изменилось свойство "err" устройства sensor
Обратите внимание, здесь err, а не error.
sensor.isError() - это метод - возвращает true/false
sensor.error - это свойство (без скобок) - возвращает саму ошибку
Результат в отладчике:
> log: Датчик температуры 1этаж/Холл. Ошибка! Device timeout error! >
Если sensor.error равен 1, что это значит? Почему-то по части температурных датчиков вылазит "… Ошибка: 1". Такое ощущение, что выход из диапазона? Можно вместо 1, по аналогии с "Device timeout error!" как-то передавать значения типа "Device Value below limit" или "Device Value above limit"?