galerija-bot/tasmota/autoexec.be

84 lines
1.8 KiB
Plaintext

# Kompenzacija propelerjev
kompenzacija = 0.5
# Kako dolgo cakam med ukazi (ms)?
cakaj = 3000
# Kako pogosto grem kar ravno (ms)?
kar_naprej_cas = 10000
zadnji = 0
def ugasni_levo()
tasmota.set_power(0, false)
end
def ugasni_desno()
tasmota.set_power(1, false)
end
def posodobi_zadnji(cas)
zadnji = tasmota.millis() + cas
kar_naprej()
end
# payload = kako dolgo naj bo vklopljen, v milisekundah
def pojdi_levo(cmd, idx, payload, payload_json)
if zadnji > tasmota.millis() + cakaj end
tasmota.set_power(0, true)
var cas = int(int(payload) * kompenzacija)
tasmota.set_timer(cas, ugasni_levo)
posodobi_zadnji(cas)
kar_naprej()
end
# payload = kako dolgo naj bo vklopljen, v milisekundah
def pojdi_desno(cmd, idx, payload, payload_json)
if zadnji > tasmota.millis() + cakaj end
tasmota.set_power(1, true)
var cas = int(payload)
tasmota.set_timer(cas, ugasni_desno)
posodobi_zadnji(cas)
end
def ugasni_vse()
ugasni_levo()
ugasni_desno()
end
# payload = kako dolgo naj bo vklopljen, v milisekundah
def pojdi_ravno(cmd, idx, payload, payload_json)
if zadnji > tasmota.millis() + cakaj end
tasmota.set_power(0, true)
tasmota.set_power(1, true)
#tasmota.set_timer(int(payload), ugasni_vse)
# Kompenziramo razliko v motorjih
var cas = int(payload)
tasmota.set_timer(int(cas * kompenzacija), ugasni_levo)
tasmota.set_timer(cas, ugasni_desno)
posodobi_zadnji(cas)
end
def auto_naprej()
pojdi_ravno(nil, nil, 1000)
tasmota.set_timer(kar_naprej_cas, auto_naprej, "auto_naprej")
end
def kar_naprej()
tasmota.set_timer(kar_naprej_cas, auto_naprej, "auto_naprej")
end
tasmota.add_cmd('PojdiLevo', pojdi_levo)
tasmota.add_cmd('PojdiDesno', pojdi_desno)
tasmota.add_cmd('PojdiRavno', pojdi_ravno)
tasmota.add_cmd('UgasniVse', ugasni_vse)