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

Blockly, добавить работу со временем.

glory24

Member
Решил попробовать использовать новые возможности Бота.
С его помощью отслеживать наступление 1597051868609.png рассвета :),
я рассчитывал, формировать переменную и ссылаясь на эту переменную управлять другими своими устройствам, в частости роллетами на окнах.
Но не тут-то было :)
Оказывается у Бота не переменных 1597052143588.png
Может стоит исправить это недоразумение :) или как-то иначе можно решить эту задачу?
 

PeterPK

Active member
Оказывается у Бота не переменных
Может стоит исправить это недоразумение :) или как-то иначе можно решить эту задачу?
Так я уже давно в списке своих пожеланий пишу:
1. Общий набор Параметров, Переменных и Сигналов для всех прошивок
 

glory24

Member
Поигрался немного с временными блоками и обратил внимание что таким образом можно косвенно оценить быстродействие работы устройства под управлением сценария.
Вот это небольшой сценарий
1597055420787.png
выполняется со скоростью от девяти, до десяти раз в секунду :)
 

PeterPK

Active member
Поигрался немного с временными блоками и обратил внимание что таким образом можно косвенно оценить быстродействие работы устройства под управлением сценария.
В debug режиме.
Надеюсь, что в нормальном режиме быстродействие хотя бы в 1000 быстрее. :)
 

valeraba

Moderator
Команда форума
В debug режиме.
Надеюсь, что в нормальном режиме быстродействие хотя бы в 1000 быстрее. :)
Конечно, один визуальный блок отрабатывается примерно за 5 мкс. И естественно, что в отладке всё очень замедляется.
 

glory24

Member
Решил вывести время всхода солнца в терминал,
1597060669211.png
получил его в секундах, от начала суток. Это хорошо, потому что тогда можно задавать переменную, (когда она появится в прошивке :)), на время не только "посли восхода" или точно на "момент восхода", но и на время до "восхода солнца", а это круто :)
Попробовал вывести время восхода солнца в терминал в часах
1597061104168.png
Получил 5 целых часов и 0,65 долей следующего часа.
А можно ли имеющимися уже инструментами разделить число на целую и дробную части?
Тогда в терминал можно было бы выводить отдельно часы и минуты, ну и соответственно, на панель управления и Телеграм.
 

valeraba

Moderator
Команда форума
А можно ли имеющимися уже инструментами разделить число на целую и дробную части?
Тогда в терминал можно было бы выводить отдельно часы и минуты, ну и соответственно, на панель управления и Телеграм.
Нет, нужно расширять состав блоков для математики.
Вот примеры:
https://ardublockly.embeddedlog.com/demo/#
http://ardublock.ru/pro/apn/demos/code/?lang=ry
https://code.makewitharduino.com/
 

valeraba

Moderator
Команда форума
Как временное решение, вот сценарий для выделения целой части

2020-08-10_20-33-55.png
 

glory24

Member
Собрал всю эту красоту
1597073668618.png
И как теперь сюда завести 1597073718383.png, что бы получить 1597073766769.png?
 

glory24

Member
Прошивка на сайте, исходники на гитхабе.
При это смене прошивки даже Токен не слетел.
Есть надежда, то теперь его обновлять каждый раз после прошивки не придется. :)
Кстати там уже версия v0.41 лежит, а отображается все еще v0.35
 

glory24

Member
Все новые блоки, всегда(при любом выборе) возвращают обычное число (либо количество секунд от начала минуты, либо количество минут от начала часа, количество часов от начала суток).
Восход и заход солнца возвращает количество секунд от начала суток.
"Time of Day" текущее время тоже возвращает количество секунд от начала суток.
И блок для ввода времени тоже возвращает количество секунд от начала суток.
Могу всё сделать по другому, предлагайте.


Посмотреть вложение 9435
Second - количество секунд от начала минуты (0-59)
Minute - количество минут от начала часа (0-59)
Hour - количество часов от начала суток (0-23)
DayOfWeek - количество дней от воскресенья (0-6)
Day - количество дней от начала месяца (1-31)
Month - количество месяцев от начала года (1-12)
Year - количество лет от рождества Христова
TimeOfDay - количество секунд от начала суток (0-86399)
Sunrise - количество секунд от начала суток (0-86399)
Sunset - количество секунд от начала суток (0-86399)

Посмотреть вложение 9436
Что-то у нас тут не сложилось
1597145753774.png
 

valeraba

Moderator
Команда форума
Что-то у нас тут не сложилось
Количество дней от 1970 года
Количество лет от 1970 года
https://ru.wikipedia.org/wiki/Unix-время


2020-08-11_18-52-42.png
Этот блок тоже возвращает количество дней от 1970 года

Но ты прав, количество лет нужно всё-таки сделать от Рождества Христова, так будет логичней. Потом переделаю.
 
Последнее редактирование:

valeraba

Moderator
Команда форума
Теперь год будет от Рождества. А дата по прежнему возвращает количество дней от 1970 года (UNIX время).
Пока обновил только прошивку Бота.
 

Ma1kl

New member
Подскажите пожалуйста, есть сброс таймера?
На скрине сценарий работа по датчику движения, запуск нового отсчета происходит только после отработки запущенного, получается через заданное время свет отключается даже если есть и было движение и снова включается.Снимок.JPG
 
Сверху Снизу