• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Помогите создать сценарий

glory24

Member
О! Отлично! Удалось подтвердить электронную почту.
Чуть позже опишу свою проблему.
 

glory24

Member
Вчера в Telegram обсуждали лимит на размер сценария
Снимок.JPG
Я сегодня нашел где можно посмотреть итоговый размер сценария, так как сам уже превысил лимит
Снимок.JPG
Действительно текст мого места ест.
Но я похоже придумал как проблему решить. Сделаю - покажу.
 

glory24

Member
Попытался вынести текст на панель управления и присвоить ему значение переменной во так
Снимок.JPG
сценарий при этом отредактировал так
Снимок.JPG

К сожалению, ничего путного из этого не вышло.
В телеграм получил сообщение такого вида.
Снимок.JPG
 

glory24

Member
Попытался вынести текст на панель управления и присвоить ему значение переменной во так
сценарий при этом отредактировал так

К сожалению, ничего путного из этого не вышло.
В телеграм получил сообщение такого вида.
Идея этих манипуляций с переменной (variable_1@Тест, variable_2@Тест) была такой:
если текст в сценарии занимает слишком много места, то размещать не текст а ссылку на него, а сам текст брать с панели управления, присвоив ему одну из переменных.
В итоге оказалось, что переменная (variable_"@Тест) не берет с панели текст, а выводит его туда из самого устройства :)
Снимок.JPG
Так этот текст выглядит в редакторе
А вот так от отображается на панели в браузере
Снимок.JPG
 

PeterPK

Active member
Переменная - это туда пишет программа. А берет она значения из Параметров.
То есть надо было попытаться сохранить текст в Параметрах (Stored), но тоже не уверен что прокатило бы.
 

glory24

Member
Переменная - это туда пишет программа. А берет она значения из Параметров.
То есть надо было попытаться сохранить текст в Параметрах (Stored), но тоже не уверен что прокатило бы.
Ну так кто нам может помешать попробовать :)
Сделал так
Снимок.JPG
на панели управления получил так
Снимок.JPG
Ну это не страшно, важно что бы в Телеграм правильно приходило.
Сценарий Бота подправил так
Снимок.JPG
А сервис отказался сохранять сценарий в устройство.
Снимок.JPG
Так что пока не получилось... :-(
 

glory24

Member
Ну так кто нам может помешать попробовать :)
Сделал так
Посмотреть вложение 9287
на панели управления получил так
Посмотреть вложение 9289
Ну это не страшно, важно что бы в Телеграм правильно приходило.
Сценарий Бота подправил так
Посмотреть вложение 9290
А сервис отказался сохранять сценарий в устройство.
Посмотреть вложение 9292
Так что пока не получилось... :-(
Сценарий оказывается не сохранялся потому что привесил допустимы его размер. Удалил лишнее и он нормально сохранился, но в Бот все равно пришло вот это
Снимок.JPG
 

valeraba

Moderator
Команда форума
У "Параметров"(Stored) тип "float". Текст туда не сохранить.

Для телеграм-бота, как быстрое решение, могу отвести под сценарий 3000 байт.
 

glory24

Member
У "Параметров"(Stored) тип "float". Текст туда не сохранить.

Для телеграм-бота, как быстрое решение, могу отвести под сценарий 3000 байт.
Так и уже отлично!
Если 3000 байт (с предыдущих 2000) это "быстрое решение", то могу себе представить что можно будет получить дождавшись "медленного" :giggle:
 

glory24

Member
Нужна помощь в правке сценария.
Устройство управляет уличным освещением
Вот его панель управления
Сценарий выглядит так
Снимок.JPG
Если нужны будут пояснения - предоставлю.
Все хорошо, но в процессе эксплуатации вскрылась проблема:
Проезжающие автомобили засвечивают фоторезистор, тот думает что уже утро настало и устройство отключает уличное освещение, а потом снова его включает.
Валера, по моей просьбе сделал сценарий, который должен был предотвращать отключение освещения при засветке фоторезистора фарами автомобиля.
Вот он
Снимок.JPG
Он сейчас живет в этом устройстве
К несчастью, это сценарий не желает работать как задумывалось.
Сам я его поправить не могу ,так как абсолютно не понимаю.
Помогите, пожалуйста, в нем разобраться.
 

valeraba

Moderator
Команда форума
В бесконечном цикле обязательно нужно вставлять паузу, пробуйте так:

2020-06-11_20-20-55.png
 

glory24

Member
Если будут вопросы, я могу попробовать тоже)
Да, Валера рассказывал, что Вы сценарии уже как орехи щелкаете :)
А вот кстати, расшифруйте пожалуйста, что в этом сценарии Валера имел ввиду, а то у меня понимания так и не появилось.
 

antenna-krsk

Active member
Это очень громко сказано. Я не шибко то, консультируюсь у петра, иногда даже понимаю, о чем учат).
Но здесь расшифую.) При появлении 1 на цифровом входе 1 начинает считать count1 с задержкой времени 2 секунды. Чере 10 секунд он достигает 5 и включается реле и счётчик сбрасывается, далее задержка вашего параметра1 в минутах. Потом счетчик начинает снова считать и при достижении 5 опять сброс и пауза.
Если цифровой вход станет 0 то от count, состояние которого от 0 до 4 начнет через 2 секунды отниматься по 1 и при достижении -5 реле вырубится, снова сброс count и задержка в минутах. Потом начинает считать заново.
Резюме мое, как то криво). Может я ошибся?
 

glory24

Member
Это очень громко сказано. Я не шибко то, консультируюсь у петра, иногда даже понимаю, о чем учат).
Но здесь расшифую.) При появлении 1 на цифровом входе 1 начинает считать count1 с задержкой времени 2 секунды. Чере 10 секунд он достигает 5 и включается реле и счётчик сбрасывается, далее задержка вашего параметра1 в минутах. Потом счетчик начинает снова считать и при достижении 5 опять сброс и пауза.
Если цифровой вход станет 0 то от count, состояние которого от 0 до 4 начнет через 2 секунды отниматься по 1 и при достижении -5 реле вырубится, снова сброс count и задержка в минутах. Потом начинает считать заново.
Резюме мое, как то криво). Может я ошибся?
Теперь стало немного понятнее.
С помощью "count" и "pause" формируется задержка на изменение положения "реле".
В отличии от обычной "pause" оно не безусловно, то есть если уж наступило условие для запуска "pause", то после истечении его обязательность произойдет "событие", к примеру изменит свое состояние "реле", а за счет запуска "count", есть шанс на "исправление", то есть если условие приведшее к изменению стояния "реле" отменится до истечения счета ("count"), то "реле" останется в прежнем состоянии.
В общем проще фильм об этом снять :)
 

glory24

Member
Нужна помощь в создании сценария.
Задача выглядит так:
Есть устройство, которое управляет бойлером.
Вот его панель управления.
Иногда у него отваливаются датчики температуры и оно не понимает что ему делать.
Было бы неплохо дополнить сценарий моего Телеграм бота модулем, который бы следил за показанием одного из ds18b20 бойлера и при получении NAN с него, отправлял бы в Телеграм сообщение об этом.
 

PeterPK

Active member
Нужна помощь в создании сценария.
Задача выглядит так:
Есть устройство, которое управляет бойлером.
Вот его панель управления.
Иногда у него отваливаются датчики температуры и оно не понимает что ему делать.
Было бы неплохо дополнить сценарий моего Телеграм бота модулем, который бы следил за показанием одного из ds18b20 бойлера и при получении NAN с него, отправлял бы в Телеграм сообщение об этом.
У меня Телеграм Бот следит за одной из переменных на 4ch (режим котла) и за датчиком температуры, если не получает ответа 3 минуты, то подает сигнал тревоги.

TBCheck.png

Это происходит один раз на старте, потому что на старте ТБ не сразу связывается с другим устройством , и потом при каждом получении данных с другого устройства.
 
Сверху Снизу