Zmienna globalna użyta w przepływie , jak to stosować?

Utworzyłem sobie zmienną globalną , która jest aktualizowana na podstawie czujnika Lux i w moim mniemaniu mogę użyć tej zmiennej w każdym przepływie , zamiast za każdym razem odpytywać ten sam czujnik. Jednak nie jest tak jak myślałem , użycie zmiennej w takim przepływie jak poniżej , mimo że wartość zmiennej znacznie przekracza warunki ustalone w nodzie switch , uruchamia dalszą część procesu , a co za tym idzie włącza oświetlenie, po zamianie switcha na current state z takimi samymi parametrami wszystko działa prawidłowo. Czy ktoś może mi wyjaśnić , dlaczego tak się dzieje ?
flows1.json (5,9 KB)
Jeszcze podgląd tej zmiennej

To działa… albo ustawione warunki są niezgodne z oczekiwaniami …albo zmienna nie jest aktualizowana
Na początek wartość zmiennej lux-lux ustawiaj ręcznie, uruchom (przetestuj ) działanie procesu i następnie zmienną zacznij aktualizować od czujnika.

A co może być przyczyną nie aktualizowania zmiennej ? Warunki muszą być ok , bo ustawiam identyczne jak dla current state , który działa bezbłędnie. Dla zmiennej zaznaczyłem ignorowanie stanów nieustalonych itp , czujnik wysyła dane co 50 sekund , było 120 sek i myślałem , ze może dlatego i zmieniłem na mniej niż minutę . Zmieniałem nazwę zmiennej , żeby wykluczyć jakiś babol popełniony wcześniej . Rozumiem , że to powinno działać , jak możesz to zerknij na to ustawienie ignorowanych opcji , czy coś może mieszać ?

Raczej odznacz wszystkie, niczego nie ignoruj, podłącz debug to będziesz widział jak często i co dostajesz. Tymczasowo aby dobrze widzieć przenieś aktualizację do uruchamianego procesu.

Dzięki @RobinI30 , ale mam wrażenie , że problemem jest mój czujnik który przy większym nasłonecznieniu zaczyna ciągle wysyłać max - 1024. Do momentu gdy wartości aktualizujące zmienną rosną lub maleją , wszystko działa , po przekroczeniu progu 1024 i jakimś czasie wskazywania stałej wartosci = 1024 mimo , że debug wyświetla aktualną wartosć dla zmiennej , to procesy przechodzą dalej olewajac warunek z udziałem zmiennej . Dwa procesy i identyczne zachowanie , a po podstawieniu zamiast zmiennej , odpytywanie czujnika z identycznymi warunkami , oba procesy zaczynają działać poprawnie.

W NR w zmiennych globalnych jest homeassistant, rozwiń i odszukaj ten czujnik i sprawdź zachowanie jego wartości. Nigdy tego nie próbowałem ale może zamiast current_state z tamtąd odczytać jego wartość bezpośrednio.
Zrób to - to będzie ciekawa próba :slight_smile:

edit … można się do tego dostać np.
globalvar
poprzez zmienną global

var value = global.get('homeassistant.homeAssistant.states["sensor.import_total"].state');
msg.payload = value;
return msg;

lub
global2
global3

Super , na 100% spróbuję , dziś miałem gości więc zero zabawy z HA , ale ponieważ pomysł jest Ok jutro będę walczył . Muszę tylko zrobić jakiś czujnik na stole żeby nie kombinować z narzędziami deweloperskimi , tylko zrobć to prawie na żywo.
Dzięki jak zawsze

Pisałem to w kontekście tego luxomierza.

Zaczynam mieć wątpliwości czy nie namieszałem Ci wcześniej w głowie. Teraz już nie mam pewności czy nody HA rzeczywiście pobierają z niego , czy ze zmiennej homeassistant wewnątrz NR.
Może okazać się, że metoda z tworzeniem zmiennych pomocniczych to “masło maślane” i odczyt poprzez current_state to to samo co pokazałem wyżej :thinking:

Dobra , zostawiam current_state , jak się zrobi wiosna wymienię czujnik na jakiś I2C , albo dzielnik dla tego fotorezystora zmienię tak żeby nie dochodził do max , minimum pewnie osiągnie szybciej , ale na tym mniej mi zależy. Dzięki za analizy i pomoc . Swoją drogą ciekawy jestem jak organizujecie sobie przepływy , czy np oświetlenie to jeden przepływ dla wszystkich pomieszceń - lamp , czy raczej wszystko oddzielnie ? Pytam bo mam tak mniej więcej 50% skryptów przerobionych a przepływów już sporo. Co lepsze w praktyce ?