Forum Smart'ny Dom

Gniazda RF sterowane z pilota.  

  RSS
edass
(@edass)
Stażysta

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"}
Cytuj
Dodane : 21/11/2019 4:49 pm
Udostępnij:



Udostępnij
  • 1
    Share

Proszę Zaloguj Się lub Zarejestruj