Zaznamenanie pohybu zo Synology kamery do riadiacej jednotky DOMOTICZ alebo FIBARO

Najprv je potrebné v Synology SurveillanceStation nastaviť pravidlo akcie ak je zaznamenaný pohyb.

 

Na odoslanie príkazu zapnutia použijeme http link meodu GET. Tento link sa odošle ak sa zaznamená pohyb na kamere vo vyznačenej zóne.

Nastavenie pre DOMOTICZ: 

Vytvoríme si virtuálny pohybový snímač v mojom prípade ma IDX 873

V Synology použijeme príkaz http GET na odoslanie stavu zapnutia:

http://192.168.1.200:8084/json.htm?type=command&param=switchlight&idx=873&switchcmd=On

Login a password použijete aký máte na prihlásenie do DOMOTICZ

Nastavenie pre FIBARFO HC3:

Vytvoríme si virtuálny prepínač v mojom prípade ma ID 266

V Synology použijeme príkaz http GET na odoslanie stavu zapnutia:

http://192.168.1.42:80/api/callAction?deviceID=266&name=turnOn

Login a password použijete aký máte na prihlásenie do FIBARA v lokálnej sieti, nie cloud prihlásenie.

Ďalej si vytvoríme virtuálny pohybový senzor v mojom prípade ma ID 178

Vo FIBARE sa nedá odoslať priamo príkaz do virtuálneho pohybového snímača, kôli tomu musí byť vytvorený spínač a následne v scéne LUA tento spínač použiť na aktiváciu pohybového senzora.

 

Ešte je potrebne v DOMOTICZ aj vo FIBARO vytvoriť scénu vypnutia. Napríklad ak je spínač pohyb zapnutý, po 5 sekundách ho vypni.

Scéna bloková DOMOTICZ:

 

Scéna LUA FIBARO:

DEKLARÁCIA:

{

  conditions = { {

      id = 266,

      isTrigger = true,

      operator = "==",

      property = "state",

      type = "device",

      value = true

    }, {

      id = 266,

      isTrigger = true,

      operator = "==",

      property = "state",

      type = "device",

      value = false

    } },

  operator = "any"

}

 AKCIA:

local relayID = 266 -- ID virtual on/off (binary) switch

local deviceID = 178 -- ID virtual motion (binary) sensor

local seconds = 5 -- seconds to reset motion

local panel = api.get("/devices/"..deviceID)  

if ( fibaro.getValue(relayID, "value") == true ) then 

    local data = {

        properties={

            value=true

        },        

    }        

    api.put("/devices/"..deviceID,data)  

    fibaro.setTimeout(seconds*1000, function() 

        fibaro.call(relayID, "turnOff") 

    end) 

end

if ( fibaro.getValue(relayID, "value") == false ) then  

    local data = {

        properties={

            value=false

        },        

    }        

    api.put("/devices/"..deviceID,data)  

end

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.