Page 1 sur 2

Ouvrir URL pour modification virtual device fibaro HC2

Publié : 30 sept. 2017, 10:22
par schwinny
Bonjour a tous.

J'ai besoin d'un coup de main.

j'ai des tags nuts mini et j'aimerais sur une detection de ceux ci (ou non detection de ceux ci), mettre a jour un virtual device accessible par HTTP sur HC.

actuellement, je le met a jour via cette URL

http://192.168.1.22/api/callAction?devi ... DETECTE%22


Mon code de detection de tag est celui ci:

Code : Tout sélectionner

--Variable scripts receive 7 tables from Domoticz: 
-- otherdevices, otherdevices_lastupdate, otherdevices_svalues, otherdevices_idx, uservariables, uservariables_lastupdate and uservariablechanged

commandArray = {}


-- Path to curl
local curl = '/usr/bin/curl'

beaconHome=0
for variableName, variableValue in pairs(uservariables) do
    if string.sub(variableName,1,3)=="Tag" and variableValue ~= "AWAY" then
      beaconHome=beaconHome+1
    end
end
if otherdevices['Alarm'] == 'On' and beaconHome>=1 then   -- switch Off Alarm because 1 beacon come back Home
    table.insert (commandArray, { ['Alarm'] ='Off' } )
elseif otherdevices['Alarm'] == 'Off' and beaconHome==0 then  -- switch On Alarm because all beacon are away
    table.insert (commandArray, { ['Alarm'] ='On' } )
end

return commandArray
j'ai essayé pas mal de chose mais rien ne fonctionne...

help :)

Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 08:16
par schwinny
Bonjour a tous.

Petit Up pour demander si quelqu'un a une d'idée ?

Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 09:58
par vil1driver
Salut,

Pourquoi un script variable ?

Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 12:14
par deennoo
vil1driver a écrit :Salut,

Pourquoi un script variable ?
Parce que le script doit reagir a un changement de variable utilisateur qui commence par "TAG"

Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 12:17
par deennoo
schwinny a écrit :Bonjour a tous.

J'ai besoin d'un coup de main.

j'ai des tags nuts mini et j'aimerais sur une detection de ceux ci (ou non detection de ceux ci), mettre a jour un virtual device accessible par HTTP sur HC.

actuellement, je le met a jour via cette URL

http://192.168.1.22/api/callAction?devi ... DETECTE%22


Mon code de detection de tag est celui ci:

Code : Tout sélectionner

--Variable scripts receive 7 tables from Domoticz: 
-- otherdevices, otherdevices_lastupdate, otherdevices_svalues, otherdevices_idx, uservariables, uservariables_lastupdate and uservariablechanged

commandArray = {}


-- Path to curl
local curl = '/usr/bin/curl'

beaconHome=0
for variableName, variableValue in pairs(uservariables) do
    if string.sub(variableName,1,3)=="Tag" and variableValue ~= "AWAY" then
      beaconHome=beaconHome+1
    end
end
if otherdevices['Alarm'] == 'On' and beaconHome>=1 then   -- switch Off Alarm because 1 beacon come back Home
    table.insert (commandArray, { ['Alarm'] ='Off' } )
elseif otherdevices['Alarm'] == 'Off' and beaconHome==0 then  -- switch On Alarm because all beacon are away
    table.insert (commandArray, { ['Alarm'] ='On' } )
end

return commandArray
j'ai essayé pas mal de chose mais rien ne fonctionne...

help :)
Pourquoi curl ??

Un simple :

Code : Tout sélectionner

commandArray['OpenURL']='http://192.168.1.22/api/callAction?deviceID=136&name=setProperty&arg1=ui.presence.value&arg2=%22TAG_DETECTE%22' 
Devrait faire le boulot, tout est expliqué ici : https://www.domoticz.com/wiki/Events

Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 13:23
par schwinny
je vais tester...

j'avais fait un curl car j'avais vu une KB qui en parlait mais ca fonctionne pas...

je teste le commande_Array ce soir...

peux t'on en fait 2 par script ou je doit faire un test ?

exemple:

Si NUT>0 alors
commandArray['OpenURL']='http://192.168.1.22/api/callAction?devi ... DETECTE%22'
Sinon
commandArray['OpenURL']='http://192.168.1.22/api/callAction?devi ... DETECTE%22'
Fin

Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 19:22
par vil1driver
deennoo a écrit :
vil1driver a écrit :Salut,

Pourquoi un script variable ?
Parce que le script doit reagir a un changement de variable utilisateur qui commence par "TAG"
Oui je me doute ;)

j'étais surpris que passer un tag mette à jour une variable utilisateur mais bon, tu sembles être plus au fait que moi..

De plus on sait que les scripts variable ont du mal à se lancer..
Bref si le problème n'est que passer l'url j'ai rien dit.

De toute manière, aucun print dans le script donc tout se fait à la boule de cristal et j'ai pommé la mienne :(

Re: RE: Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 21:19
par deennoo
vil1driver a écrit :
deennoo a écrit :
vil1driver a écrit :Salut,

Pourquoi un script variable ?
Parce que le script doit reagir a un changement de variable utilisateur qui commence par "TAG"
Oui je me doute ;)

j'étais surpris que passer un tag mette à jour une variable utilisateur mais bon, tu sembles être plus au fait que moi..

De plus on sait que les scripts variable ont du mal à se lancer..
Bref si le problème n'est que passer l'url j'ai rien dit.

De toute manière, aucun print dans le script donc tout se fait à la boule de cristal et j'ai pommé la mienne :(
J'utilise ce script avec des portes clef nut qui sont balises Bluetooth LE et un dongle usb4btle (script de jml : il scan si un appareil émetteur est présent ou non. Et mets à jours une variable avec son rssi si présent ou away si absent c'est radicale, fonctionne avec tout ce qui emet en btle)

La meilleur façon de vérifier la présence de quelqu'un et en découler des actions.

Celui fonctionne hyper bien tester au moins 4 fois par jour chez moi.

Re: RE: Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 21:23
par deennoo
schwinny a écrit :je vais tester...

j'avais fait un curl car j'avais vu une KB qui en parlait mais ca fonctionne pas...

je teste le commande_Array ce soir...

peux t'on en fait 2 par script ou je doit faire un test ?

exemple:

Si NUT>0 alors
commandArray['OpenURL']='http://192.168.1.22/api/callAction?devi ... DETECTE%22'
Sinon
commandArray['OpenURL']='http://192.168.1.22/api/callAction?devi ... DETECTE%22'
Fin
Tu en mets autant que tu veux pour away et pour pas away.

Re: Ouvrir URL pour modification virtual device fibaro HC2

Publié : 03 oct. 2017, 23:08
par vil1driver
Merci pour l'explication ;)