• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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

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