Új hozzászólás Aktív témák

  • AcCEsS

    senior tag

    válasz JoHn123 #3248 üzenetére

    Megosztom, de elég primitív, sok helyről összeollózott kód. Létre kell hozni egy szöveges XiaomiCubeTime felhasználói változót, mert abban tárolja az időzítés kezdő idejét. Ugyanis a kocka nem állandóan aktív, csak két koppintásra kezdi el figyelni/feldolgozni a mozgás-utasításokat 5 percig. Az időzítés minden újabb mozgatásra újraindul. Ez nagyon jó és fontos funkció az érdeklődők ellen, akik felveszik a kockát és forgatják meg rázzák, hogy "Ezmiez?". :)

    Tehát a jelenlegi funkciók:
    - két kopp = kocka aktiválás 5 percre
    - 180fok fordítás - fejjel lefelé = erősítő Be/Ki
    - 90 fok fordítás - a kocka egyik oldaláról a másikra = erősítő némítás (mute)
    - Csavarintás az óramutató járásával megegyezően = erősítő hangerő +5dB
    - Csavarintás az óramutató járásával ellentétesen = erősítő hangerő -5dB

    A funkciók az "Események" oldalon vannak felvéve, melyek külön-külön On/Off státushoz rendelt Broadlink IR kódokra névvel hivatkozva hívják meg a BlackBeanControl szkriptet pl. így: script://python/BlackBeanControl.py -c Yamaha_RX-V550_BE

    A kód:

    return {
    -- active = true,
    on = {
    devices = {
    'Xiaomi Cube'
    },
    },

    execute = function(domoticz, cube)
    local TimeLimit = 5 -- perc
    local Time = require('Time')
    local currentTime = Time()
    local cubeset = Time(domoticz.variables("XiaomiCubeTime").value)

    if (cube.levelName == "tap_twice") then
    domoticz.variables("XiaomiCubeTime").set(currentTime.rawDate .. " " .. currentTime.rawTime)
    cubeset = Time(currentTime.rawDate .. " " .. currentTime.rawTime)
    end

    if (cube.levelName == 'flip180') and cubeset.minutesAgo < TimeLimit then
    domoticz.variables("XiaomiCubeTime").set(currentTime.rawDate .. " " .. currentTime.rawTime)
    if domoticz.groups("Yamaha RX-V550 erősítő").state == "On" then
    domoticz.groups("Yamaha RX-V550 erősítő").switchOff()
    domoticz.groups("Yamaha RX-V550 MUTE").switchOff()
    domoticz.groups("Yamaha RX-V550 hangerő (+-5)").switchOff()
    domoticz.groups("Yamaha RX-V550 hangerő (+-1)").switchOff()
    elseif domoticz.groups("Yamaha RX-V550 erősítő").state == "Off" then
    domoticz.groups("Yamaha RX-V550 erősítő").switchOn()
    end
    end

    if (cube.levelName == 'flip90') and cubeset.minutesAgo < TimeLimit then
    domoticz.variables("XiaomiCubeTime").set(currentTime.rawDate .. " " .. currentTime.rawTime)
    if domoticz.groups("Yamaha RX-V550 MUTE").state == "On" then
    domoticz.groups("Yamaha RX-V550 MUTE").switchOff()
    elseif domoticz.groups("Yamaha RX-V550 MUTE").state == "Off" then
    domoticz.groups("Yamaha RX-V550 MUTE").switchOn()
    end
    end

    if (cube.levelName == 'clock_wise') and cubeset.minutesAgo < TimeLimit then
    domoticz.variables("XiaomiCubeTime").set(currentTime.rawDate .. " " .. currentTime.rawTime)
    domoticz.groups("Yamaha RX-V550 hangerő (+-5)").switchOn()
    end

    if (cube.levelName == 'anti_clock_wise') and cubeset.minutesAgo < TimeLimit then
    domoticz.variables("XiaomiCubeTime").set(currentTime.rawDate .. " " .. currentTime.rawTime)
    domoticz.groups("Yamaha RX-V550 hangerő (+-5)").switchOff()
    end

    if cubeset.minutesAgo >= TimeLimit then
    if domoticz.devices("Xiaomi Cube").state ~= "Off" then
    domoticz.devices("Xiaomi Cube").switchOff()
    end
    end
    end
    }

    Huhhh, ezt a kódot valahogy kattintható "hivatkozás" mőgé tudtam volna rejteni? :U

    [ Szerkesztve ]

    AcCEsS (https://www.metalenciklopedia.hu)

Új hozzászólás Aktív témák