@Robert_Król odpowiedź masz w zadanym przez Ciebie pytaniu:
Przekroczyłeś maksymalną długość komunikatu.
Nie mam głośnika by sprawdzić i Ci powiedzieć jak to rozwiązał @artur. Może on się wypowie.
@Robert_Król odpowiedź masz w zadanym przez Ciebie pytaniu:
@Robert_Król prawdę mówiąc nie wiem czy mam dłuższe komunikat niż 200 znaków. Nigdy nie zwracałem na to uwagi. Mogę sprawdzić w poniedziałek.
Panowie, wiem że przekroczyłem, ale na 99,9999 komunikaty w Twoim statusie są dłuższe, masz tam i sprawdzenie zadań i drogę do pracy, ja mam tylko godzinę, datę i pogodę i często mi tych 200 znaków brakuje
chyba ten nod ma taki limit, niestety nie mam szans na publiczne ip u swojego operatora, i kicha…
Cześć , chciałem trochę zmodyfikować noda z aktualną datą - dodałem informacje o godzinie, oraz podmieniam dzień miesiąca, tak aby również był brany z macierzy (dziewiąty dzień października zamiast dziewięć dzień października)
W nodzie funkcji mam takie zapisy
const teraz = new Date();
const dni_tygodnia = [“niedziela”, “poniedziałek”, “wtorek”, “środa”, “czwartek”, “piątek”, “sobota”];
const miesiace = [“stycznia”,“lutego”,“marca”,“kwietnia”,“maja”,“czerwca”,“lipca”,
“sierpnia”,“września”,“października”,“listopada”,“grudnia”];
const godziny = [“pólnoc”, “pierwsza”, “druga”,“trzecia”, “czwarta”,“piąta”, “szósta”, “siódma”, “ósma”, “dziewiąta”, “dziesiąta”, “jedynasta”, “dwunasta”, “trzybasta”, “czternasta”,“piętnasta”, “szesnasta”, “siedemnasta”, “osiemstansta”, “dziewiętnasta”, “dwudziesta”, “dwudziestapierwsza”, “dwudziestadruga”, “dwudziestatrzecia”];
const dzien_slow = [“pierwszy”, “drugi”,“trzeci”, “czwarty”, “piąty”, “szósty”, “siódmy”, “ósmy”, “dziewiąty”, “dziesiąty”, “jedynasty”, “dwunasty”, “trzynasty”, “czternasty”, “piętnasty”, “szesnasty”, “siedemnasty”, “osiemnasty”, “dziewiętnasty”, “dwudziesty”, “dwudziestypierwszy”, “dwudziestydrugi”, “dwudziestytrzeci”, “dwudziestyczwarty”, “dwudzistypiąty”, “dwudziestyszósty”, “dwudziestysiódmy”, “dwudziestyósmy”, “dwudziestydziewiąty”, “trzydziesty”, “trzydziestypierwszy”];
msg.akt_godzina = ${ godziny[teraz.getHours()] }
;
msg.minuty = teraz.getMinutes()
msg.dzien_tygodnia = ${ dni_tygodnia[teraz.getDay()] } ;
msg.dzien_miesiaca = teraz.getDate();
msg.miesiac = ${ miesiace[teraz.getMonth()] }
;
msg.wiadomosc = "Dzisiaj jest “+msg.dzien_tygodnia+” “+msg.dzien_miesiaca+
" dzień “+msg.miesiac+”. Godzina “+msg.akt_godzina+” “+msg.minuty+””;
return msg;
Niestety w linijce msg.dzien_tygodnia pokazuje mi błąd składni - nie jestem programistą, czy ktoś mądrzejszy mógłby na to rzucić okiem i mnie poprawić?
i jeszcze drugie pytanie - czy można coś dopisać do tego kodu żeby pomiędzy datą a godziną wstawić powiedzmy 2 sekundową pauze podczas odtwarzania na głośniku?
@Krzysztof_Lusiak Powinno być lepiej. Poprawiłem tylko błędy składni nie analizowałem logiki.
const teraz = new Date();
const dni_tygodnia = ["niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"];
const miesiace = ["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca",
"sierpnia","września","października","listopada","grudnia"];
const godziny = ["północ", "pierwsza","druga","trzecia", "czwarta","piąta",
"szósta", "sidma", "ósma", "dziewiąta", "dziesiąta", "jedenasta",
"dwunasta", "trzynasta", "czternasta","piętnasta", "szesnasta",
"siedemnasta", "osiemstansta", "dziewiętnasta", "dwudziesta",
"dwudziestapierwsza", "dwudziestadruga", "dwudziestatrzecia"];
const dzien_slow = ["pierwszy", "drugi","trzeci", "czwarty", "piąty", "szósty",
"siódmy", "ósmy", "dziewiąty", "dziesiąty", "jedynasty",
"dwunasty", "trzynasty", "czternasty", "piętnasty", "szesnasty",
"siedemnasty", "osiemnasty", "dziewiętnasty", "dwudziesty",
"dwudziestypierwszy", "dwudziestydrugi", "dwudziestytrzeci",
"dwudziestyczwarty", "dwudzistypiąty", "dwudziestyszósty",
"dwudziestysiódmy", "dwudziestyósmy", "dwudziestydziewiąty",
"trzydziesty", "trzydziestypierwszy"];
msg.akt_godzina = `${ godziny[teraz.getHours()] }`;
msg.minuty = teraz.getMinutes();
msg.dzien_tygodnia = `${ dni_tygodnia[teraz.getDay()] }`;
msg.dzien_miesiaca = teraz.getDate()
msg.miesiac = `${ miesiace[teraz.getMonth()] }`
msg.wiadomosc = "Dzisiaj jest "+msg.dzien_tygodnia+" "+msg.dzien_miesiaca+" dzień "+msg.miesiac+". Godzina "+msg.akt_godzina+" "+msg.minuty;
return msg;
Super dzięki, już wiem czego w składni mi brakowało zostawiam poprawiony - może ktoś jeszcze skorzysta
const teraz = new Date();
const dni_tygodnia = [“niedziela”, “poniedziałek”, “wtorek”, “środa”, “czwartek”, “piątek”, “sobota”];
const miesiace = [“stycznia”,“lutego”,“marca”,“kwietnia”,“maja”,“czerwca”,“lipca”,
“sierpnia”,“września”,“października”,“listopada”,“grudnia”];
const godziny = [“północ”, “pierwsza”,“druga”,“trzecia”, “czwarta”,“piąta”,
“szósta”, “sidma”, “ósma”, “dziewiąta”, “dziesiąta”, “jedenasta”,
“dwunasta”, “trzynasta”, “czternasta”,“piętnasta”, “szesnasta”,
“siedemnasta”, “osiemstansta”, “dziewiętnasta”, “dwudziesta”,
“dwudziestapierwsza”, “dwudziestadruga”, “dwudziestatrzecia”];
const dzien_slow = [“zerowy”,“pierwszy”, “drugi”,“trzeci”, “czwarty”, “piąty”, “szósty”,
“siódmy”, “ósmy”, “dziewiąty”, “dziesiąty”, “jedynasty”,
“dwunasty”, “trzynasty”, “czternasty”, “piętnasty”, “szesnasty”,
“siedemnasty”, “osiemnasty”, “dziewiętnasty”, “dwudziesty”,
“dwudziestypierwszy”, “dwudziestydrugi”, “dwudziestytrzeci”,
“dwudziestyczwarty”, “dwudzistypiąty”, “dwudziestyszósty”,
“dwudziestysiódmy”, “dwudziestyósmy”, “dwudziestydziewiąty”,
“trzydziesty”, “trzydziestypierwszy”];
msg.akt_godzina = ${ godziny[teraz.getHours()] }
;
msg.minuty = teraz.getMinutes();
msg.dzien_tygodnia = ${ dni_tygodnia[teraz.getDay()] }
;
msg.dzien_miesiaca = ${ dzien_slow[teraz.getDate()] }
;
msg.miesiac = ${ miesiace[teraz.getMonth()] }
msg.wiadomosc = "Dzisiaj jest “+msg.dzien_tygodnia+” “+msg.dzien_miesiaca+” dzień “+msg.miesiac+”. Godzina “+msg.akt_godzina+” "+msg.minuty;
return msg;
Hej,
mam pytanie - pozwoliłem sobie zapożyczyć proces zapoczątkowany przez Artura i rozwinięty przez Krzysztofa.
W ostatnim poście, z poprawionym skryptem brakuje znaczników: ` przed znakiem dolarka.
Mi bez tego nie działa.
msg.akt_godzina = ${ godziny[teraz.getHours()] }
;
msg.minuty = teraz.getMinutes();
msg.dzien_tygodnia = ${ dni_tygodnia[teraz.getDay()] }
;
msg.dzien_miesiaca = ${ dzien_slow[teraz.getDate()]}
;
msg.miesiac = ${ miesiace[teraz.getMonth()] }
;
Mam do Was pytanie.
Chcialbym by proces nie był wyzwalany przez godzinę 8:00 rano, a obecność lokatora w danym pomieczeniu i aktywację czujnika ruchu.
O ile aktywacje czujnikiem ruchu wiem jak zrobić, to problem mam z nauczeniem NodeRed by taka aktywacja czujnika wyzwoliła komunikat wyłącznie jednokrotnie.
Konkretnie - chciałbym by osoba zbierająca się do pracy, po pierwszym wejściu do kuchni usłyszała status poranny. (Chciałbym również zawęzić godzine 05:00 - 10:00 by nocny marsz do toalety nie wyzwolił uruchomienia komunikatu).
Problem w tym, ze nie potrafię tego ograniczyć do jedynie jednokrotnego wyzwolenia statusu, by kolejne kręcenie się w kuchni i wykrycie ruchu nie puszczały tego w kółko.
Dopiero zaczynam zabawę, a jak to u początkujących bywa, wszystko wydaje się być skomplikowane
Użyj delay node ogranicz ilość wiadomości 1 wiadomość / na 2 godziny czy ile tam potrzebujesz.
@Krzysztof_Lusiak, wrzóć proszę tego noda z poprawioną funkcją, bo po w wklejeniu to mi same błedy pokazuje, a utknąłem na dolarkach i nie wiem o co mu chodzi…
a i jeszcze jedno, macie w końcu język polski w openweather? czy może ktoś zrobił nody z tłumaczeniem
@Matis1993rm odnośnie twojego tematu, to ja wrzuciłem noda evan state i uzależniłem go od ładowania bateri w telefonie, inaczej mówiąc wyzwalaczem jest “_battery_state” jako “charging” . Jak wstaje to biorę telefon i nod wtedy startuje z pozycji false, dochodzi do wait until (30min) i czeka na ruch aż ta osoba zejdzie po schodach
Proszę
const teraz = new Date();
const dni_tygodnia = [“niedziela”, “poniedziałek”, “wtorek”, “środa”, “czwartek”, “piątek”, “sobota”];
const miesiace = [“stycznia”,“lutego”,“marca”,“kwietnia”,“maja”,“czerwca”,“lipca”,
“sierpnia”,“września”,“października”,“listopada”,“grudnia”];
const godziny = [“północ”, “pierwsza”,“druga”,“trzecia”, “czwarta”,“piąta”,
“szósta”, “sidma”, “ósma”, “dziewiąta”, “dziesiąta”, “jedenasta”,
“dwunasta”, “trzynasta”, “czternasta”,“piętnasta”, “szesnasta”,
“siedemnasta”, “osiemstansta”, “dziewiętnasta”, “dwudziesta”,
“dwudziestapierwsza”, “dwudziestadruga”, “dwudziestatrzecia”];
const dzien_slow = [“zerowy”,“pierwszy”, “drugi”,“trzeci”, “czwarty”, “piąty”, “szósty”,
“siódmy”, “ósmy”, “dziewiąty”, “dziesiąty”, “jedynasty”,
“dwunasty”, “trzynasty”, “czternasty”, “piętnasty”, “szesnasty”,
“siedemnasty”, “osiemnasty”, “dziewiętnasty”, “dwudziesty”,
“dwudziestypierwszy”, “dwudziestydrugi”, “dwudziestytrzeci”,
“dwudziestyczwarty”, “dwudzistypiąty”, “dwudziestyszósty”,
“dwudziestysiódmy”, “dwudziestyósmy”, “dwudziestydziewiąty”,
“trzydziesty”, “trzydziestypierwszy”];
msg.akt_godzina = ${ godziny[teraz.getHours()] }
;
msg.minuty = teraz.getMinutes();
msg.dzien_tygodnia = ${ dni_tygodnia[teraz.getDay()] }
;
msg.dzien_miesiaca = ${ dzien_slow[teraz.getDate()] }
;
msg.miesiac = ${ miesiace[teraz.getMonth()] }
msg.wiadomosc = msg.wiadomosc+ "Dzisiaj jest “+msg.dzien_tygodnia+” “+msg.dzien_miesiaca+” dzień “+msg.miesiac+”. Godzina “+msg.akt_godzina+” "+msg.minuty;
return msg;
Albo jeśli wygodniej jako export noda
flows (2).json (2,3 KB)
Hejka, taka informacja jest na stronie integracji Open Weather Map, oznacza to, że raczej nie doczekamy się na poprawę dodatku, i pozostaje tylko tłumaczenie
@luki25 dzięki za info, też widziałem właśnie szykuje film z serii co nowego i wspominam w nim o tym
Wpadłem na jeszcze jeden pomysł ale nie do końca wiem jak go zrealizować. Może będziecie w stanie mi podpowiedzieć. Chciałbym aby status poranny uruchamiał się 5 minut po budziku. informacje o godzinie budzenia HA może wyciągnąć apką HA z telefonu next_alarm w takiej formie 2021-01-01T19:56:00.000Z. Jak to porównać z aktualną godziną ? że jak się zgadza+5 minut to uruchom status poranny ?
A nie prościej uruchomić proces w tym samym czasie ale dać delay na 5 minut ? może to nie jest super eleganckie ale czasem nie ma co sobie życia utrudniać.
to już szczegół. najtrudniejsza kwestia to jak wykorzystać encje next alarm z ustawioną godziną by status poranny działał jak wstaję.
Hejka,
Takie pytanko może ktoś to już przećwiczył… mam zainstalowany dodatek informujący mnie na panelu o wywozie śmieci. Czy macie w miarę prosty sposób, aby do statusu porannego dodawać informację, że jutro / dzisiaj odbędzie się wywóz określonych śmieci.
Ja mam w sumie 4 typy wywozu śmieci (komunalne odpady zmieszane, bioodpady ulegające degradacji, szkło i papier oraz metale i tworzywa sztuczne) każdy z tych wywozów jest osobną encją (sensorem) w HA - jeżeli wywóz jest jutro to dana encja ma wartość 1, jeżeli wywóz jest dzisiaj to encja ma wartość 0.
Pytanie jak zrobić, aby status poranny sprawdzał czy któraś z 4 encji ma staus 1 lub 0 i dodał do komunikatu - Pamiętaj, że dzisiaj / jutro wywóz [nazwa sensora / encji].