Procesy z życia wzięte - Powiadomienia dla kalendarza

Zapraszam do dyskusji w temacie:

oraz do pobrania samego procesu:
Procesy z życia wzięte - Powiadomienia dla kalendarza.json (37,6 KB)

1 Like

Super pomysł, ja to zrobiłem trochę inaczej w przypadku śmieci zrobiłem sobie przypomnienia dzień wcześniej (na podstawie poradnika zasilanie listy) a powiadomienia w dniu idą na telefon i coś takiego mi wyszło:

1 Like

Kalendarz zdechł.

Wszystko działało jak trzeba, aż pewnego dnia karta pokazała “The callendar can’t be loaded from Home Assistant Component”, a zakładka kaledarza stała się pusta- nie wyswietla ani kalendarzy ani wydarzen. Powtórzyłem wszystkie kroki z poradnika 2x i wciąż to samo. Niżej wklejam loga z kalendarza. Jakieś sugestie macie?

Error executing service: <ServiceCall google.scan_for_calendars (c:7be69fb5b34305c2d4c625f9a4dde142)>

Logger: homeassistant.core
Source: components/google/init.py:347
First occurred: 11:54:30 (1 occurrences)
Last logged: 11:54:30

Error executing service: <ServiceCall google.scan_for_calendars (c:7be69fb5b34305c2d4c625f9a4dde142)>
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/core.py”, line 1471, in catch_exceptions
await coro_or_task
File “/usr/src/homeassistant/homeassistant/core.py”, line 1494, in _execute_service
await self._hass.async_add_executor_job(handler.job.target, service_call)
File “/usr/local/lib/python3.8/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/src/homeassistant/homeassistant/components/google/init.py”, line 257, in _scan_for_calendars
service = calendar_service.get()
File “/usr/src/homeassistant/homeassistant/components/google/init.py”, line 347, in get
http = credentials.authorize(httplib2.Http())
AttributeError: ‘NoneType’ object has no attribute ‘authorize’

Świetnie to wygląda. Masz fajne pomysły Artur :grinning:
Większość powiadomień mam zrobionych zgodnie z Twiomi wskazówkami :grinning:
Może w przyszłości można by spróbować zrobić " Actionable Notifications" dla urządzeń z androidem ?
To byłoby dobre w przypadku Garbage Collection bo możnaby wybrać opcję że śmieci zostały już wystawione i wtedy następne powiadomienia by już nie przychodziły.
Mam kawałek testowego flow, jakby to mogło wyglądać w Node-Red.
actionable notifications test.json (1,1 KB)

Dzięki. Powiadomienia z akcjami są w trakcie realizacji. Pewnie niedługo będzie materiał

Takie pytanie mam w kalendarzu dodane dwa wydarzenia jako całodzienne. W karcie kalendarz są dwie kropeczki czyli HA odświeżyło dane. Jak wygląda to w NR bo wygląda mi na to że pobierane jest tylko pierwsze wydarzenie.

Encja przechowuje tylko informacje o najbliższej pozycji kalendarza

@artur a jest inna możliwość żeby w NR wyciągnąć wydarzenia z danego dnia?

@Mariusz_Kuciński Nie z HA. Ponieważ HA nigdzie ich nie trzyma. To, że widzisz je w kalendarzu to małe oszustwo integracji :slight_smile:

1 Like

@artur szkoda. Muszę zobaczyć w API google jak wygląda pobieranie danych z kalendarza.

Trochę lektury i prawie działa
Events: list | Calendar API | Google Developers

Mój pierwszy problem polega na formatowaniu daty. Na tę chwilę wymyśliłem coś takiego


kalendarz.json (2,1 KB)

Drugi problem to lista wydarzeń zwracanych prze API jeśli mam dodane w kalendarzu wydarzenia całodzienne. Gdy pobieram np. wydarzenia z dnia 2021-04-23 to na liście mam też wydarzenia z 2021-04-24.

Jakiś czas temu przy pomocy kolegów z tej grupy stworzyliśmy “moje procesy z życia wzięte”.
Mam jednak problem z “wywozem nieczystości” nie potrafię wyciągnąć prawidłowo z kalendarza głównego do calendar.wywoz_nieczystosci aby w nim były wszystkie zdarzenia dnia. W messages pojawia mi się tylko pierwsze zdarzenie, np. Odpady zmieszane
Mój wpis w google_calendars.yaml jest taki (interesuje mnie ostatni tworzony kalendarz “wywoz_nieczystosci”):
—ciach—

- cal_id: xxxxxxmoje_wpisyxxxxxx@group.calendar.google.com
  entities:
  - device_id: papier_tektura
    ignore_availability: true
    name: Papier
    track: true
    search: Papier i tektura
  - device_id: wielkogabarytowe
    ignore_availability: true
    name: Wielkogabarytowe
    track: true
    search: Meble i odpady wielkogabarytowe
  - device_id: tworzywa_sztuczne
    ignore_availability: true
    name: Tworzywa sztuczne
    track: true
    search: Tworzywa sztuczne
  - device_id: papier_tektura
    ignore_availability: true
    name: Papier
    track: true
    search: Papier i tektura
  - device_id: odpady_zmieszane
    ignore_availability: true
    name: Odpady zmieszane
    track: true
    search: Odpady zmieszane
  - device_id: szklo
    ignore_availability: true
    name: Szkło
    track: true
    search: Szkło 
  - device_id: odpady_bio
    ignore_availability: true
    name: Bio
    track: true
    search: Odpady biodegradowalne  
  - device_id: wywoz_nieczystosci
    ignore_availability: true
    name: "Wyw\xF3z nieczysto\u015Bci"
    track: true

EDIT:
Nie ma odpowiedzi a ja dalej nie wiem jak ruszyć kwestię kalendarza. Czy da radę wyciągnąć z głównego kalendarza kilka zdarzeń? np.

device_id: odpady_bio
ignore_availability: true
name: Bio
track: true
search: Odpady biodegradowalne  

<
czy można w search wstawić kilka parametrów wyszukiwania?

Jeżeli nie da się tak zrobić to mam każdy kalendarz z osobna dla papier, zmieszane, szkło, bio.
Jak zrobić w node red aby głośnik odczytał mi co będzie jutro wywożone lub co będzie dzisiaj wywożone. flows (2).json (5,6 KB)

Załączam mój flow, tylko że ten przekazuje mi jedną pozycję z kalendarza, mam też każde śmieci w osobnych kalendarzach ale nie wiem jak je połączyć aby zostały prawidłowo odczytane dzień przed i w dniu wywożenia.

@jokers edytuj Swoje posty - nie pisz jednego pod drugim.

Witam. To mój pierwszy post.
Zrobiłem wszystko według poradnika, z tym że do powiadomień używam pushover, dostaje komunikaty ale o treści off. Wiecie może gdzie popełniłem błąd? W automatyzacji zmieniłem nazwy encji. Debug pokazuje wszystko co trzeba o wydarzeniu

Hejka @artur
Świetna robota…
Używam lekko zmodyfikowanego flow dla śmieci ,ponieważ dopisałem sobie oczyszczalnię ścieków. Mam pytanie natury technicznej. Jak zrobić żeby komunikat przestał być powtarzany po potwierdzeniu ,że śmieci zostały wystawione. Mam tu na myśli taki myk. Klikam w ikonkę danych odpadów jako potwierdzenie i flow dla tego odpadu przestaje być odpalany.

Witam wszystkich, nie wiem czy tu dużo osób zagląda, ale po wspaniałym w/w filmiku Artura przerobiłem w noderedzie powiadomienia dla wywozu śmieci.
Krótka instrukcja:

  • utworzenie pomocników dla śmieci u mnie są 3 rodzaje (zmieszane, bio, surowce), nic nie stoi na przeszkodzie otworzyć więcej
  • utworzenie harmonogramu dla śmieci, wywozy są niereguralne więc pomocników do śmieci jest kilka (nie będę rozpisywał jak to zrobić jak ktośma pytania pisać) ale zrobiłem to w sposób, iż każdy pomocnik zaczyna tak samo: sensor.smieci_zmieszane, sensor.smieci zmieszane2, następnie sensor.smieci_bio, sensor.smieci_bio1 itd. dzięki takiemu podejściu można utworzyć dynamiczną tablicę w node-red dla wszystkich śmieci wpisując w “get entities node”, ale o tym za chwilę.


Na powyższym obrazku:

  • ‘jakie sensory smieci’ - ‘get entities node’ - pobiera do tablicy wszyskie sensory zaczynające się od sensor.smieci - wszystkie wystąpienia sensorów o tej nazwie wpadnie do tablicy czyli nasze wszyskie wywozy (nie musimy ręcznie ich wypisywać, padało tutaj wiele pytań jak to zrobić o to gotowy przepis :wink: )

  • ‘split’ - ‘split node’ - tablica sensorów zostaje rozdzielona na pojedyńcze wystąpienia dzięki takiemu zabiegowi mamy teraz dostęp do atrybutów każdego sensora z osobna - bajka

  • ‘change 3 rules’ - ‘change node’ - ja potrzebowałem wyciagnąc tylko 3 zmienne: nazwa sensora, ilosćdni do wywozu, przyjazna nazwa

  • kolejne podprocesy są podobne jak na filmie Artura, dostaje powiadomienia dzień przed wywozem,
    wiadomość na 1h w czasie od 16-19 oraz w dniu wywozu tylko co 15 minut i to wcześnie bo od 6.15-6.45 przed wyjściem do pracy.
    Poniżej pełny mój flow, może się komuś przyda :wink: mile widziane komentarze bo też od nie dawna zaczynam przygodę w HA i Node-Red.
    flows-smieci.json (5,0 KB)

2 Likes

Udało Ci się dojść co było powodem? mam właśnie to samo i też po prostu wywaliło błąd nie wiadomo dlaczego… odtwarzanie backupów nie pomaga O_o