próbuję ogarnąć pewną automatyzację polegającą na włączeniu dodatkowego ogrzewania 30 minut przed alarmem budzika w telefonie (android) i niestety poległem na obsłudze encji next alarm. Problem jaki mam polega na tym, że jak nie mam ustawionego alarmu to encja zwraca kolejną pełną godzinę. Jeśli ustawię alarm późniejszy niż najbliższa pełna godzina to zamiast godziny alarmu zwraca tę pełną godzinę. Czyli jeśli na przykład o godzinie 10:15 ustawię alarm na 10:45 to encja zwróci 10:45 ale jeśli ustawię alarm na 11:15 lub dowolną godzinę po 11:00 to zwróci 11:00.
Czy to normalne zachowanie czy coś źle robię?
Sprawdziłem to przed chwilą wyłaczając alarm w Androidzie (Package: com.sec.android.app.clockpackage) ale po chwili w encji pojawił się czas przypomnienia przed spotkaniem, które jest w kalendarzu (Package: com.android.providers.calendar) a że kalendarz mam wypełniony cyklicznymi wydarzeniami, nie jestem wstanie tej sytuacji odtworzyć u mnie.
Myślałem o podobnej automatyzacji ale podnoszącej delikatnie rolety po przebudzenia na podstawie ustawionego alarmu.
Wielkie dzięki za naprowadzenie :-). Przyjrzałem się się atrybutom wiadomości i okazało się, że zdarzenia generowane są przez proces aplikacji Automagic, która funkcją “periodic timer” czyta mi na telefonie godzinę. Teraz muszę tylko wymyślić jak pogodzić te dwie automatyzacje. Najprostsze rozwiązanie jakie mi przychodzi do głowy to ustawiać budzik na jakąś charakterystyczną godzinę, na przykład 7:59 chyba, że ktoś podpowie coś bardziej wyszukanego
Budzik ustawiaj na dowolną godzinę, musisz tylko sprawdzać atrybut Package encji sensor.nazwa_telefonu_next_alarm (jeżeli język Androida ustawiony jest na polski wtedy encja to sensor.nazwa_telefonu_nastepny_alarm) czy jest z budzika (com.sec.android.app.clockpackage).
Do weryfikacji co się stanie jak godzina budzika będzie taka sama jak już ustawiona godzina w innej aplikacji? Która alarm pokaże się w HA, który będzie miał pierwszeństwo?
Dokumentacja aplikacji Sensors | Home Assistant Companion Docs odsyła do dokumentacji Androida więc HA tylko wykorzystuje to co daje Android, nie wprowadza żadnej logiki do tego.
[Update]
Wg moich testów, w next_alarm pojawia się zawsze alarm w wcześniej ustawionej aplikacji, ja mam cykliczne spotkania w kalendarzu i to one mają priorytet przed budzikiem ustawionym na taką samą godzinę. Pozostaje ustawiać budzik w charakterystyczny sposób, np. 7:59 albo 8:01, 8:09 albo 8:11.
Problem z kolizją z Automagic rozwiązałem zmieniając ustawienia triggera w tej apce ale pozostaje jeszcze kwestia kolizji z wpisami w kalendarzu. I chyba faktycznie nie ma innej metody niż charakterystyczna godzina alarmu… albo trzeba znaleźć apkę, która będzie używała innej metody alarmowania niż androidowy kalendarz. albo trzeba pamiętać żeby nie ustawiać przypomnienia na tę samą godzinę co budzik.
Edit:
Znalazłem jeszcze jedno dziwne zjawisko, jeśli ustawię alarm budzika w telefonie to encja ustawi się na wartość czasu tego alarmu, jeśli ten alarm usunę to encja zmienia wartość na unaviable. Jeśli natomiast ustawię wpis w kalendarzu to encja przyjmuję wartość czasu powiadomienia dla tego wydarzenia ale po jego usunięciu pozostaje niezmieniona czyli wskazuje na nieistniejące już w kalendarzu powiadomienie. Domyślam się, że problem tkwi w androidowym kalendarzu ale może jest na to jakieś rozwiązanie?