Script device et capteur virtuel

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 <\>.
Répondre
staber
Messages : 79
Inscription : 21 mars 2016, 02:54

Script device et capteur virtuel

Message par staber »

Bonjour,

J'ai repris le script sur easy domoticz pour la gestion de volet en fonction de la luminosité. Je l'ai modifié pour qu'il allume la lumière de la salle.

J'ai fait un scrip_device_luminosite.lua

Code : Tout sélectionner

-- Gestion de la luminosite et de l'heure
-- le capteur utilisé est le capteur virtuel 'luminosite',
-- les lumières s'allume si on est inf a 800 Lux et qu'il est plus de 17h30

-- Variable
Seuil_Heure="17:30:00"
Seuil_Lux=800


commandArray = {}

if (devicechanged['luminosite']) then
    print('la luminosite a change')
    Heure_Actuelle=os.date("%X")
    print (Heure_Actuelle)
    if Heure_Actuelle > Seuil_Heure then
      print ("c'est l'heure")
      valeur_lux = (otherdevices_svalues['luminosite'])
      valeur_lux=tonumber(valeur_lux)
      print("lum = "..valeur_lux)
        if valeur_lux < Seuil_Lux then
           print("Declencher la scene")
           commandArray['Salle']='On'
        end
      else
         print("pas l'heure")
      end
end

return commandArray
Seulement le script ne se déclenche pas même si le capteur virtuel "luminosite" est mis à jour...
le capteur virtuel est mis à jour grâce au script suivant : https://www.domoticz.com/wiki/Real-time ... _sensor...

Est-ce que script_device ne marche que pour des vrais capteurs et ne prend pas en compte la mise à jours de capteur virtuel ou j'ai manqué une étape ?
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script device et capteur virtuel

Message par vil1driver »

Salut,
staber a écrit : Est-ce que script_device ne marche que pour des vrais capteurs et ne prend pas en compte la mise à jours de capteur virtuel ou j'ai manqué une étape ?
Réel ou virtuel, même combat.. ton script devrait se lancer.. :(

petit reboot peut-être.. :?
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
staber
Messages : 79
Inscription : 21 mars 2016, 02:54

Re: Script device et capteur virtuel

Message par staber »

j'ai fait un reboot ça change rien...

Pour le moment j'ai fait un script_time_luminosite.lua qui marche bien mais le script tourne toute les minutes au lieu de toute les 5 minutes. ça me permettrai de gagner un peu de ressource...
staber
Messages : 79
Inscription : 21 mars 2016, 02:54

Re: Script device et capteur virtuel

Message par staber »

toujours personne sur le sujet ?
Même une piste, je suis preneur...
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script device et capteur virtuel

Message par vil1driver »

Code : Tout sélectionner

time = os.date("*t")

-- Toutes les 5 minutes
if (time.min %5 == 0) then

-- tes actions ici

end
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
dominique
Messages : 32
Inscription : 14 mai 2016, 21:08

Re: Script device et capteur virtuel

Message par dominique »

bonjour,
j'ai le même problème j'utilise un dummy en sélecteur pour commander des volets
je n'arrive pas à faire fonctionner un "device change" dans un script en LUA
le résultat j'envoie des commandes plusieurs fois pas seconde
c'est un gaspillage en ressources et j'encombre mes log inutilement
est-ce que quelqu'un à une solution pour remplacer cette fonction
amicalement Dominique
jml
Messages : 24
Inscription : 08 janv. 2016, 22:18

Re: Script device et capteur virtuel

Message par jml »

Sorry, Je viens de voir avec du retard votre thread.

J'ai discuté du même sujet sur le forum anglais ainsi qu'avec gizmocuz.

Vous verrez une solution dans ma derniere réponse toute récente.

http://www.domoticz.com/forum/viewtopic ... 0245819651

En résumé : un update en lua ne déclenche pas de updatechanged.
Alors qu'un update avec l'api le fait. Cela semble être depuis la conception.

Du coup, il faut modifier le script de luminosité pour utiliser un commandarray openUrl de l'api. Et pas un update.

Si vous pouvez, répondez à mon thread anglais pour appuyer ma demande de faire évoluer domoticz en ce sens !
Mes scripts: github.com/jmleglise
Mon équipement: RFXTRX433E Volet et portail Somfy RTS, chacon IO, Oregon, PIR PT2262 / KMTronic USB relay/Z-WAVE Chinese Neo CoolCam
Mon dernier projet: ma maison location de vacances à Ouistreham sur la plage
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script device et capteur virtuel

Message par vil1driver »

Salut,

Depuis que je connais domoticz jusqu'à la version que j'utilise actuellement, je n'ai pas ce problème avec les script_device
Si j'update un device (même sans changement d'état) par un script lua, le script_device associé se lance sans souci.

Et je trouve cela for heureux.

Le problème ne se pose qu'avec les script_variable de ce que j'ai testé... Où je suis obligé d'update en json..
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
jml
Messages : 24
Inscription : 08 janv. 2016, 22:18

Re: Script device et capteur virtuel

Message par jml »

Salut vil1driver

Le problème que je soulève (comme staber en début de ce thread) ne concerne que l'update en lua des dummy device (custom sensor, distance, lux... qui apparaissent dans l'onglet utility).

Évidemment cela marche très bien pour les switch.

Arrives tu à détecter un devicechanged sur un custom sensor par exemple ?
Mes scripts: github.com/jmleglise
Mon équipement: RFXTRX433E Volet et portail Somfy RTS, chacon IO, Oregon, PIR PT2262 / KMTronic USB relay/Z-WAVE Chinese Neo CoolCam
Mon dernier projet: ma maison location de vacances à Ouistreham sur la plage
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script device et capteur virtuel

Message par vil1driver »

ah oui, effectivement...

un

Code : Tout sélectionner

 commandArray['UpdateDevice']
ne déclenche pas un script_device sur le device associé :?
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