Ouvrir URL pour modification virtual device fibaro HC2

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
schwinny
Messages : 123
Inscription : 23 mars 2017, 21:41

Ouvrir URL pour modification virtual device fibaro HC2

Message 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 :)
schwinny
Messages : 123
Inscription : 23 mars 2017, 21:41

Re: Ouvrir URL pour modification virtual device fibaro HC2

Message par schwinny »

Bonjour a tous.

Petit Up pour demander si quelqu'un a une d'idée ?
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Ouvrir URL pour modification virtual device fibaro HC2

Message par vil1driver »

Salut,

Pourquoi un script variable ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

Re: Ouvrir URL pour modification virtual device fibaro HC2

Message 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"
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

Re: Ouvrir URL pour modification virtual device fibaro HC2

Message 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
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
schwinny
Messages : 123
Inscription : 23 mars 2017, 21:41

Re: Ouvrir URL pour modification virtual device fibaro HC2

Message 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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Ouvrir URL pour modification virtual device fibaro HC2

Message 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 :(
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

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

Message 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.
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

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

Message 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.
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Ouvrir URL pour modification virtual device fibaro HC2

Message par vil1driver »

Merci pour l'explication ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre