- Платы Ардуино
- Обучение Ардуино
- Мой блог
- Уроки
- Урок № 1 "Пишем свой первый скетч"
- Урок № 2 "Подключение фоторезистора"
- Урок № 3 "Подключение пищалки(BUZZER)
- Урок № 7 "Модуль часов RTC DS3231"
- Урок № 8 - "Шаговый двигатель 28BYJ-48"
- Урок № 10 - "ИК пульт на Ардуино"
- Урок № 11- "Сканер отпечатка пальца"
- Урок № 12- "Датчик наклона SW-200D"
- Урок № 13- "Гирлянда светодиодная WS2812b"
- Книги
- Мой YOUTUBE
Гугл календарь. Напоминания и синхронизация календаря google с Умным домом.
Гугл календарь. Напоминания и синхронизация календаря google с Умным домом.
Это видео про синхронизацию календаря google с Умным домом.
Будем создавать задачи в календаре и выводить их в интерфейсе Умного дома.
Создадим виджет гугл календарь и выведем его в HABPanel.
Установим и настроим BINDING google Calendar.
Сегодня поговорим про вывод Google calendar в Умный дом.
Давайте подумаем для чего нам это может пригодиться. Ну например можно создать планировщик задач.
Допустим вы уезжаете в отпуск, а вам надо чтобы Умный дом делал что-нибудь по расписанию и имитировал ваше присутствие. Как в фильме «Один дома».
Я делал такое в одном из предыдущих видео, но это надо писать правило под каждое задание. Это сложно.
А что если использовать для этого гугл календарь. Ведь там очень просто создавать события, а затем выводить их в интерфейсе умного дома.
Ну а другой вариант - это просто выводить на экран ближайшие события. Я сделал вывод в HABPanel 3-х событий, а если смотреть на телефоне, то можно увидеть ближайшие 5 записей.
Самый просто вариант – это вставить на страницу панели frame, с кодом календаря. Но это не наш метод. Мы не ищем лёгких путей. И так он не будет виден на телефоне и не сможет в дальнейшем управлять устройствами Умного дома.
А теперь что мы сегодня сделаем.
Во первых Гугл календарь у вас уже должен быть установлен. Я не буду рассказывать как это сделать.
Нам будет нужен 1 календарь который мы и будем выводить в панель. Его надо будет обозвать по английски.
И сделать его общедоступным, так как OPENHAB это стороннее приложение, а Гугл календарь будет работать с ним только как с менее защищённым устройством. Этим мы обойдём проблему с HTTPS.
И ещё я не смог победить такую проблему как 2-факторная аутентификация по телефону. Или как там она называется.
Из этого есть два выхода.
В простом, который использовал я – это просто создать аккаунт и не включать 2-факторная аутентификацию.
Посмотреть и отключить можно здесь
Включите “менее безопасные приложения”, войдя в свой новый аккаунт google и посетив этот URL-адрес:
https://myaccount.google.com/u/2/lesssecureapps
Создать там календарь и использовать его.
И второй. Я его не пробовал, но в сообществе OPENHAB говорят, что нужно создать как в первом варианте нового пользователя и дать ему все права, и привязать вывод календаря в OPENHAB к этой учётной записи. Звучит сложно, но вроде всё не так сложно.
В этом уроке я научу только как выводить события на экран. А как сделать управления устройствами по расписанию – это будет в следующих видео.
При создании или изменении в календаре записи она автоматически появляется в интерфейсе Умного дома. Правда для этого требуется какое-то время. Приблизительно до 2-х минут.
Я вывожу в панель всего 3 записи, этого вполне достаточно. Вы можете сами сделать и больше, но тогда календарь будет занимать очень много места. Конечно вы можете сделать календарь в отдельном окне, и тогда вам будет не важно сколько места он занимает.
Можно сделать вывод разных календарей.
Теперь давайте приступим к установке Гугл календаря в OPENHAB.
Для начала нам надо установить BINDINGs
Нам понадобятся оба. И для персонально календаря и для групового. Нажимаем ИНСТАЛЛ и ждём пару минут. На крутящиеся картинки не обращаем внимания, они сами не остановятся, но это важно. Календарь установился. А проверить это можно зайдя в openHAB-conf\services.
В разделе "openHAB-conf\services" у вас должно быть 3 файла cfg:
Теперь откроем эти файлы или вы можете скопировать мои из архива.
Для работы я создал календарь MyCalendar. Если у вас другой, то во всех трёх файлах замените это название на своё.
caldavCommand.cfg
caldavCommand:readCalendars=MyCalendar
caldavPersonal.cfg
caldavPersonal:usedCalendars=MyCalendar
caldavio.cfg
caldavio:MyCalendar:url=https://www.google.com/calendar/dav/ваша гугл почта /events
caldavio:MyCalendar:username=логин это часть почты до символа собачка
caldavio:MyCalendar:password= вводим пароль от аккаунта
caldavio:MyCalendar:reloadInterval=2
caldavio:MyCalendar:preloadTime=200000
caldavio:MyCalendar:disableCertificateVerification=true
Здесь вроде всё понятно. Так что переходим к созданию, или копированию файлов ITEMS и SITEMAP
В файле ITEMS для каждой записи создано по 4 строчки кода.
1. для вывода названия
2. для времени начала
3. для времени окончания
4. для места встречи
Теперь открываем SITEMAP
Тут совсем всё просто. Я вывел только Название и время начала.
Если вы в basic UI не видите названия и времени, то вам надо перезагрузить OPENHAB.
Возможно, придётся удалить старые конфигурационные файлы из папки
OPENHAB2/USERDATA/CONFIG/ORG/OPENHAB
И снова перезагрузить сервер.
Удаляем файлы и перезагружаем сервер. И видим, что у нас появились данные.
Теперь давайте выведем записи в HABPANEL.
Для этого откроем существующую панель или создадим новую. Как хотите.
Я буду делать в панели с погодой. Создаём новый виджет.
Переходим в HABPanel и во вкладку Погода. Открываем редактирование и нажимаем добавить виджет. Выбираем ШАБЛОН. Задаём ему размер 3 к 1. 3 столбика и 1 ряд. И вставляем туда код. Код будет в архиве. Это обычный HTML код. Он отвечает за вывод трёх ближайших событий из гугл календаря. Обзываем виджет Календарь и сохраняем. Теперь смотрим что у нас получилось. Видим, что у нас появился новый столбик. Цвет, размер шрифта и расположения, всё это можно изменить отредактировав код в обычном блокноте. В конце я покажу как это делается. В прошлом видео про вывод погоды я уже показывал как редактировать CSS.
Теперь давайте посмотрим как это работает. Открываем гугл календарь. Создаём новую задачу. Обязательно указываем название, время и место. Сохраняем и видим новую запись. Переходим в HABPanel и пока ничего не видим. Чтобы не ждать долго, я ускорю видео. Видим, что наша запись появилась. Так что всё ОК.
Теперь попробуем поменять цвета и размер шрифта. Для этого снова переходим в редактирование.
Открываем виджет Календарь. Наверху кода расположен CSS этот код отвечает за визуальное оформление. Здесь указано как и где на странице будут располагаться наши элементы. Это название, время начала и окончания, а так же место встречи.
Давайте для примера изменим цвет плашки для вывода даты. Я в основном всегда использую красный цвет, так как его сразу хорошо видно. Сохраняем и смотрим изменения.
Теперь изменим на синий цвет. Как видите здесь всё просто и понятно. Основные цвета можно задавать по английский, а остальные в шестнадцатеричном виде.
Теперь вернём цвет фона обратно и изменим цвет шрифта даты. Сделаем его опять красным. Смотрим изменения. Дата стала красной.
Ну и на последок изменим размер шрифта даты. Сделаем её чуть больше. Мы это уже делали в примере с Погодой. Если что не понятно то пересмотрите это видео.
В каждом уроке я по чуть-чуть обучаю на примерах, азам программирования. Если вы смотрите все видео, то уже можете сами изменять вид отображения своего html кода. Скоро вы станете гуру вёрстки.
А ещё я открыл канал на Дзене. Там будут только статьи про Умный дом. Это будет моя вторая попытка. Первый канал заблокировали в течении суток. Без объяснений. Попробую ещё раз. Так что подписывайтесь на мой дзен канал. Ссылка будет в шапке ютуб канала.
Короче. Всё работает. Кому понравилось, ставьте лайки. Призывать ставить дизлайки не буду. Они сами набегут. Подписывайтесь и ждите новые видео.
Скетчи