Powiadomienia
Wyczyść wszystko

Gniazda RF sterowane z pilota.

1 Wpisów
1 Użytkownicy
0 Reactions
1,620 Wyświetleń
(@edass)
Wpisów: 225
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#1272]

Cześć 

Mam problem z napisaniem dobrej reguły do sterowania najprostszymi gniazdami RF z poziomu OH + Bramka RF Sonoff z Tasmotą.

Reguły , które wyskrobałem:

rule "GN_RF_male_A"

    when 

        Item GN_RF_male_A changed

    then

        if (GN_RF_male_A.state == ON){

            Bramka_RF_gn_male_A.sendCommand("ON") 

            Thread::sleep(50)

            Bramka_RF_RfRaw.sendCommand("OFF") 

        }

    else

        {

            Bramka_RF_gn_male_A.sendCommand("OFF")

            //Gn_biedra_A.state == OFF

            Thread::sleep(50)

            Bramka_RF_RfRaw.sendCommand("OFF")

        }    

end

rule "GN_RF_male_B"

    when 

        Item GN_RF_male_B changed

    then

        if (GN_RF_male_B.state == ON){

            Bramka_RF_gn_male_B.sendCommand("ON") 

            Thread::sleep(50)

            Bramka_RF_RfRaw.sendCommand("OFF") 

        }

    else

        {

            Bramka_RF_gn_male_B.sendCommand("OFF")

            //Gn_biedra_A.state == OFF

            Thread::sleep(50)

            Bramka_RF_RfRaw.sendCommand("OFF")

        }    

end

rule "GN_RF_male_Master"

    when 

        Item GN_RF_male_MASTER changed

    then

        if (GN_RF_male_MASTER.state == ON){

            Bramka_RF_gn_male_master.sendCommand("ON")

            GN_RF_male_A.setState(ON) 

            GN_RF_male_B.setState(ON) 

            Thread::sleep(50)

            Bramka_RF_RfRaw.sendCommand("OFF") 

        }

    else

        {

            Bramka_RF_gn_male_master.sendCommand("OFF")

            GN_RF_male_A.setState(OFF) 

            GN_RF_male_B.setState(OFF) 

            //Gn_biedra_A.state == OFF

            Thread::sleep(50)

            Bramka_RF_RfRaw.sendCommand("OFF")

        }    

end
O ile rule "GN_RF_male_A" i rule "GN_RF_male_B" działają w miarę poprawnie to rule "GN_RF_male_MASTER" powoduje bałagan w konsoli ponieważ za każdym razem włącza i wyłącza tryb RfRaW. Nie bardzo mam pomysł jak to ogarnąć.
 
Poniżej log z konsoli bramki:
16:46:32 MQT: tele/sonoff-bridge/STATE = {"Time":"2019-11-21T16:46:32","Uptime":"0T00:15:19","UptimeSec":919,"Heap":29,"SleepMode":"Dynamic","Sleep":200,"LoadAvg":4,"MqttCount":1,"Wifi":{"AP":1,"SSId":"Tradycja","BSSId":"64:70:02:67:5E:9D","Channel":13,"RSSI":62,"LinkCount":1,"Downtime":"0T00:00:09"}}
16:48:43 MQT: stat/sonoff-bridge/RESULT = {"RfRaw":"ON"}
16:48:43 MQT: stat/sonoff-bridge/RESULT = {"RfRaw":"ON"}
16:48:43 MQT: stat/sonoff-bridge/RESULT = {"RfRaw":"ON"}
16:48:44 MQT: stat/sonoff-bridge/RESULT = {"RfRaw":"OFF"}
16:48:44 MQT: stat/sonoff-bridge/RESULT = {"RfRaw":"OFF"}
16:48:44 MQT: stat/sonoff-bridge/RESULT = {"RfRaw":"OFF"}

 
Dodane : 21/11/2019 5:49 pm
Udostępnij: