Instrukcja warunkowa i dwa warunki

Mam dwa nody: timer i sun. Nod timer co 3 dzień o północy przekazuje na wyjście msg.count z wartością 3 i drugi nod sun, który wysyła raz na dobę msg.payload z wartością 1 (wschód słońca).
W nodzie function za pomocą instrukcji warunkowych chcę sprawdzać te wartości i w przypadku gdy oba warunki są spełnione, otrzymać na wyjściu noda msg.payload z wartością on.
W skrócie chodzi mi o to, aby co trzeci wschód słońca włączyć zraszacze.

global.set('licznik', msg.count);
global.set('rano', msg.payload);
var S =global.get('rano');
var M =global.get('licznik');
if(S =="1" && M == "3")
{
    msg.payload="on";
    return msg;
} 
else 
{
    msg.payload="nie";
    return msg;
}

Jak napisać ten cholerny skrypt? Zawsze po wykonaniu instrukcji warunkowych dostaję rezultat nie.

[{"id":"84e29b35b81a6aaa","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"7397340e8345d37a","type":"counter","z":"84e29b35b81a6aaa","name":"Licznik","init":"0","step":"1","lower":"0","upper":"3","mode":"increment","outputs":"1","x":190,"y":80,"wires":[["58cb4f84b25721cc"]]},{"id":"3856384cce5fb1bf","type":"inject","z":"84e29b35b81a6aaa","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"increment","payloadType":"msg","x":100,"y":220,"wires":[["7397340e8345d37a"]]},{"id":"af19773668558f79","type":"change","z":"84e29b35b81a6aaa","name":"Reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":160,"y":280,"wires":[["7397340e8345d37a"]]},{"id":"58cb4f84b25721cc","type":"switch","z":"84e29b35b81a6aaa","name":"Switch","property":"count","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"3","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":350,"y":180,"wires":[["26e8d1948cc95f78","ab826de5ad6cdf8e"],["af19773668558f79"]]},{"id":"26e8d1948cc95f78","type":"debug","z":"84e29b35b81a6aaa","name":"","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":780,"y":220,"wires":[]},{"id":"ab826de5ad6cdf8e","type":"function","z":"84e29b35b81a6aaa","name":"","func":"//if( msg.payload == \"1\" )\nglobal.set('licznik', msg.count);\nglobal.set('rano', msg.payload);\nvar S =global.get('rano');\nvar M =global.get('licznik');\nif(S * M == \"3\")\n{\n    msg.payload=\"on\";\n    return msg;\n} \nelse \n{\n    msg.payload=\"nie\";\n    return msg;\n}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":470,"y":320,"wires":[["d3376d21c1f51e39"]]},{"id":"1775fe41ed604135","type":"inject","z":"84e29b35b81a6aaa","name":"Sun","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":110,"y":340,"wires":[["ab826de5ad6cdf8e","fb0d28c28bc0dc33"]]},{"id":"d3376d21c1f51e39","type":"debug","z":"84e29b35b81a6aaa","name":"","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":640,"y":300,"wires":[]},{"id":"fb0d28c28bc0dc33","type":"debug","z":"84e29b35b81a6aaa","name":"","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":580,"y":260,"wires":[]},{"id":"d97278d2bc3ea399","type":"comment","z":"84e29b35b81a6aaa","name":"Symulacja słońca","info":"","x":140,"y":380,"wires":[]},{"id":"a63e0414626ed76c","type":"comment","z":"84e29b35b81a6aaa","name":"Symulacja godziny 0:00","info":"","x":120,"y":160,"wires":[]}]

Ja na Twoim miejscu podszedłbym do tematu nieco inaczej. Po wyzwoleniu flow za pomocą noda timer uzylbym następnie noda wait until aby czekał aż sun uzyska stan wschód słońca i to dopiero uruchomiloby interesujący mnie proces.

Alee to skomplikowane. Ja bym zrobił to prościej. Stwórz pomocnika input_number . Liczby od 0-3 ,krok co 1 , potem w NR. Dzięki temu Ci się nie rozjedzie przy restarcie czy aktualizacji. Jeśli podlewasz o wschodzie trawnik to lepiej podlewać na noc .:smiley: . Możesz to dalej jeszcze uwarunkować np czy będzie dziś padać na podstawie pogody lub wyświetlać kiedy ta chwila nadchodzi.Jeśli np input_number 2 to info że jutro rano zaplanowane podlewanie itp, itd. Niżej przykładowe flow
flows (9).json (3,3 KB)

za tym daj noda node-red-contrib-afya-carousel-switch (node) - Node-RED
i za nim switcha payload.value == 2 bo 0,1,2
i koniec tematu