Procesy z życia wzięte - Status poranny

@andrzej04 w nodzie “temperatura” zmień wpis na:

msg.temperatura = Math.round(msg.payload);
msg.wiadomosc = msg.wiadomosc+
    "Temperatura na ten moment to około "+msg.temperatura+" stopni celcjusza.";
msg.payload =
{
    "data":
    {
        "message": msg.wiadomosc,
    }
}
    
return msg;

Podziękował kolego działa do tego noda zobaczę co z resztą nodów jak to wszystko podłącze :slight_smile:

Witam, mam ostatnio problem z moim powiadomieniem porannym. Od jakiegoś czasu powiadomienie uruchamia się “samo” o dowolnej porze chociaż nie mam ustawionego budzika w telefonie.


Nie mam pomysłu jak namierzyć te wywołania bo są całkowicie przypadkowe.

Edit. Telefon to Samsung A70 z Android 11

Poczytaj Encja next alarm z aplikacji mobilnej - jak powinna działać?.

Dzięki @macek już wszystko jasne. Trzeba sprawdzać właściwość: “data.new_state.attributes.Package” czy ma wartość: “com.sec.android.app.clockpackage” oraz sprawdzać właściwość: “data.new_state.state” tam jest data i godzina alarmu ponieważ podczas ustawiania alarmu też jest wywoływany events state.

Jak zwykle gdy rozwiązanie już prawie jest pojawia się kolejny problem. Tym razem problem dotyczy czasu. Wiem że mamy strefy czasowe ale skąd wzięło się przesunięcie 5 minut to już nie wiem


Budzik ustawiony na 15:13. Dzwoni o 15:13 a w payload mam 13:18.

edit. na tę chwilę wymyśliłem coś takiego może ktoś ma inny pomysł
flows budzik.json (3,0 KB)

Nie wiem jak jest w NR ale np. lovelace używa czasu przeglądarki do wyświetlania w interfejsie momentu zdarzeń, więc mając komputer, w którym zegar się późni można zobaczyć w zależności od wersji HA ujemny czas, bądź coś w guście “za xx sek.”.

Masz rację też się nad tym zastanawiałem. Zawsze może powstać różnica między czasem w telefonie a HA - NR dlatego i tak chcę sprawdzać przedział czasowy (± kilka minut). Ale akurat w moim przypadku mam ten sam czas.

A nie jest to przypadkiem 5 minutowa drzemka z budzika w telefonie?

1 polubienie

@macek bingo nie spojrzałem a do testów dodałem nowy budzik a tam domyślnie jest drzemka 5 minut.

Edit: Tu proces który reaguje tylko na ustawiony alarm i uwzględnia 15 minutową drzemkę. Jeśli ktoś chce zmienić długość drzemki to w nodzie “Data aktualna” zmienić właściwość “Audjustment” dodatkowo dokładam 1 minutę na różnice w czasie między telefonem a NR.
flows budzik.json (2,5 KB)

1 polubienie

Pewnie już rozwiązałeś swój problem. Zerżnąłem twój pomysł z “włącznikiem” a wyłączam go w ten sposób obraz

Artur, gdzie powinny być te wpisy? Mam dodają integrację OpenWeather i podczas jej instalacji musiałem podać klucz API i język ale teraz w żadnym pliku .yaml nie mam wpisów dotyczących konfiguracji OpenWeather, a Integracje mogę tylko zmienić tryb i język (które zmiana nic nie daje).

gdzieś to już było, jak chcesz mieć j polski, to w node red trzeba samemu przetłumaczyć na nasz język

flows(2).json (6,8 KB)

zamień wartość zmiennej na string.
u mnie to wygląda tak :
msg.temperatura = msg.temperatura.toString();
dodatkowo zamieniam kropkę na przecinek bo czyta lepiej.
msg.temperatura = msg.temperatura.replace(’.’,’,’);

Ze względu na to, że długość komunikatów u mnie była za duża dla reversotts (bo lubie jak kobiety do mnie gadają) odpalilem tts z nabu casa i wreszcie dostałem to czego trzeba, żeński głos i długie komunikaty.

Edit:

Widzę, że tts z nabu casa dobrze sobie radzi z czytaniem takich rzeczy jak jednostek m/s i stopni celsjusza ale w tym wypadku trzeba wpisać °C.

np:
msg.wiadomosc = msg.wiadomosc + "Predkość wiatru " + msg.wiatr + " m/s. ";
msg.wiadomosc = msg.wiadomosc + "Temperatura na zewnątrz " + msg.temperatura + "°C. ";

Aby uzyskać symbol stopni ° to trzeba wykonać kombinację klawiszy ALT + 0176. działa tylko z klawiaturą numeryczną. Jeśli jej nie masz możesz spróbować skopiować symbol z jakiejś strony www.

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

Cześć. Jak dodać w najbliższym zadaniu porannym", aby mówił za ile dni jest to zadanie?
Tzn.
Najbliższe to “+msg.data.attributes.message+”, jest za “xxx” dni

ostatnio zauważyłem że rozwiązanie potrzebuje rozwinięcia… stąd pytanie: jak sobie radzicie gdy są dwa zadania w kalendarzu? w moim przypadku wywóz śmieci mam tam wpięte i potrzebował bym aby wyciągnął z kalendarza dwa zadania…

Ja mam zrobione to tak, że w kalendarzu googla utworzyłem drugi kalendarz, dodałem go do HA. Póżniej w NR dwa nody więcej w procesie i powiadomienie z dwóch kalendarzy gotowe.

no tak tylko że w tym momencie musisz dzieć zadania pomiędzy dwa kalendarze… ja już mam kalendarz jeden gdzie tylko dokładam np urodziny kogoś, i jeżeli zegra się to np z wywozem śmieci to ten drugi wpis jest omijany…

Artur gdzieś w filmiku mówił lub na forum pisał, że taka jest przypadłość kalendarza google. Można z niego tylko wyciągnąć pierwsze zdarzenie danego dnia.

Zgadza się. Masz tylko najbliższe zadanie. Ja mam trzy kalendarze.