Інформація про відключення світла у Львові в Google Календарі

Viacheslav Kharchenko
4 min readJul 27, 2023

--

Львівобленерго може надсилати інформацію про відключення світла вам на пошту, яку потім можна автоматично надсилати до Google Календаря. І ось як це зробити.

Актуально станом на липень 2023.

Крок 1. Отримувати інформацію електронним листом

Для цього потрібно зареєструвати Персональний кабінет Львівобленерго:

Після чого додати свою адресу, натиснувши на кнопку “Додати споживача”:

Вам знадобиться номер особового рахунку, який можна знайти у паперових рахунках або дізнатись в орендодавця, якщо ви винаймаєте житло.

Після додавання рахунок буде відображатись на головній сторінці:

На вашу електронну пошту будуть надходити листи про відключення електроенергії:

Крок 2. Реєстрація у Pipedream

Для того, аби додавати події до календаря, нам необхідно використовувати сервіс автоматизацій. Можна використовувати будь-який, де є інтеграція із поштою, Google Календарем та обробка тексту.

В цьому прикладі ми будемо використовувати сервіс Pipedream.

Перейдіть на сторінку реєстрації та створіть новий аккаунт:

Після реєстрації відкриється інтерфейс створення нового workflow:

Крок 3. Пересилання листів до Pipedream

На сторінці створення workflow у Pipedream знайдіть додаток “Email”:

Після натискання на додаток “Email” виберіть джерело “New Emails”:

Розгорніть блок із подією, натиснувши на стрілочку біля тексту “Select event”.

Ви побачите адресу електронної пошти, на яку необхідно пересилати листи:

Для пересилання листів, перейдіть у налаштування Gmail в розділ “Пересилання та POP/IMAP”:

Натисніть на кнопку “Додати адресу для пересилання” та вставте адресу електронної пошти із Pipedream із попереднього кроку.

Відкриється вікно підтвердження, натисніть “Продовжити”.

Тепер поверніться у Pipedream і ви побачите нову подію із листом, який надіслав Gmail:

Натисніть на нього, відкрийте вкладку “Results”. Потім розгорніть “steps.trigger”, “event”, “body” та“text”. Ви побачите посилання для підтвердження адреси пересилання, перейдіть за ним:

І натисніть “Підтвердити”:

Тепер поверніться у налаштування Gmail та відкрийте вкладку “Фільтри й заблоковані адреси”:

Під списком натисніть “Створити новий фільтр”.

У полі “Від” введіть “online@loe.lviv.ua”:

Натисніть “Створити фільтр”.

Відмітьте пункт “Переслати на адресу” та оберіть адресу Pipedream із попереднього кроку:

Можна також відмітити “Видалити”, тоді листи не будуть залишатись у вхідних.

Натисніть на кнопку “Створити фільтр”.

Крок 4. Обробка листів у Pipedream

У Pipedream натисніть на “+” внизу сторінки та оберіть “Run custom code”:

Тут вставте код для обробки листів:

function convertDateFormat(inputDate) {
const [datePart, timePart] = inputDate.split(' ');

const [day, month, year] = datePart.split('.');

const [hours, minutes] = timePart.split(':');

return `${year}-${month}-${day}T${hours}:${minutes}:00`;
}


export default defineComponent({
async run({ steps, $ }) {
const timezone = "03:00"

const description = steps.trigger.event.body.text

let dates = description.split("електроенергія з ")[1].split("\n")[0].split(" до ")

if (!dates[1].includes(" ")) {
dates[1] = dates[0].split(" ")[0] + " " + dates[1]
}

return {
"start": `${convertDateFormat(dates[0])}+${timezone}`,
"end": `${convertDateFormat(dates[1])}+${timezone}`,
"reason": description.split("через ")[1].split(" відсутня електроенергія")[0].split(" з ")[0],
"location": description.split("За адресою: ")[1].split(", кв.")[0].split(" через")[0].replace(", б.", ", ")
}
},
})

Дія має виглядати ось так:

Крок 5. Створення події в календарі

У Pipedream натисніть на “+” внизу сторінки та знайдіть додаток “Google Calendar”:

Оберіть подію “Create Event”:

У полі “Google Calendar Account” натисніть “Connect account” та привʼяжіть свій Google Аккаунт, надавши всі необхідні дозволи.

У полі “Calendar ID” оберіть календар, до якого будуть додаватись події. Новий календар можна створити на сайті Google Календаря.

Наступні поля заповніть такими значеннями:

Event Title:
⚡ Відключення світла: {{steps.code.$return_value.reason}}

Event Location:
{{steps.code.$return_value.location}}

Event Description:
{{steps.trigger.event.body.text}}

Event Start Date:
{{steps.code.$return_value.start}}

Event End Date:
{{steps.code.$return_value.end}}

Тепер зверху справа натисніть на кнопку “Deploy”:

Результат

Тепер ви отримуватимете інформацію про відключення світла у своєму календарі:

--

--

Viacheslav Kharchenko
Viacheslav Kharchenko

Written by Viacheslav Kharchenko

Ruby Developer & Python Team Lead from 🇺🇦Ukraine

No responses yet