poll de module automatique ?

Programmation de la Vera

Re: poll de module automatique ?

Messagede jaco » 12 Mar 2013, 06:12

Après une nouvelle quasi nuit blanche, j'aboutis enfin à un résultat très acceptable ! Ouf.....

J'abandonne complètement mes boucles infernales. Le truc est un peu bizarre mais il fonctionne: j'envoie une commande "mute" bidon avant chaque ordre à problème. Tout se passe comme si pour certains ordres la chaîne avait besoin d'être prévenue d'abord. Très bizarre comme comportement.

Mais ça donne 9 succès pour 1 échec. Saloperie ! :mrgreen:
RETOUR EXPERIENCE PRODUITS (01/2013 Ă  aujourd'hui)
433MHz: Astrell: qques Telcos et plugs on/off (pour dépanner)
Z-Wave:
ContrĂ´leurs - Micasaverde: VeraLite, Remotec: ZURC-550 (zombie) + ZRC-100, Aeon Labs: DSA22 + Z-Stick S2
Emetteurs - Aeon Labs: DSB05, Fibaro: FGK + FGMS (récents)
RĂ©cepteurs - Fibaro: Wallplug FGWPE, Everspring (marque de merde): AN157 (tous morts) + AN158 + AD142 (tous morts), QEES: Reto shell, Aeon Labs: DSC08 + DSC13
Ampoules - Domitech: ZBULB (récents), Aeon Labs: ZW098 (récents)
Infrarouge:
USBUIRT, AIM: IR606Q, Ebode (marque de merde): PM28 (tous morts) + EXLED3 (tous morts)
Divers:
Raspberry Pi: modèle B, Cubieboard: version 2, Monster Cable: switch hdmi
Disques durs externes: Seagate (de 1 Ă  2 To), Freecom (300 Go)
Wiko: Cink Peax
Ampoules led dimmables: Philips (eq 40W Ă  eq 100W), Vision El (eq 60W), Osram (eq 75W)
Ampoules fluo dimmables: quelques marques testées dont Osram et Ikea (toutes inutilisables)
Internet: Orange Livebox
jaco
Dieu de domotique
 
Messages: 425
Inscription: 20 Jan 2013, 00:09
Localisation: Tours

Re: poll de module automatique ?

Messagede vosmont » 12 Mar 2013, 10:43

milillicuti a écrit:J'avais cru comprendre que sleep mettait toute la Vera en mode "sleep", et pas seulement le script où la fonction est présente !?


En faisant des tests, j'ai effectivement l'impression que luup.sleep réagit bizarrement

Code: Tout sélectionner
luup.sleep(2000)
setVCvar(id_lounge_VC, 1, "1")


Code: Tout sélectionner
luup.call_delay('activateCoupling', 2)

function activateCoupling()
  setVCvar(id_lounge_VC, 1, "1")
end


Je ne saurai dire pourquoi, mais sur un scénario avec des interdépendances (un peu ton cas), le sleep ne marche pas chez moi. Les actions ne se déroulent plus dans l'ordre auquel je m'attendais. Il est possible que le sleep ne soit pas juste actif que sur le script en train de s’exécuter.

Par contre la solution de l'appel de la fonction après un certain délai fonctionne.

Systèmes domotique: VeraEdge / openLuup / Jeedom
Protocoles domotique: Zwave / RFPlayer (433/868Mhz) / ZigBee (ZiGate) / Edisio / MQTT
Plugins Vera : https://github.com/vosmont
RĂ©seau : Ubiquiti ERX + UAP / Synology (+Docker Unifi)
vosmont
Dieu de domotique
 
Messages: 636
Inscription: 24 AoĂ» 2012, 11:43
Localisation: Nantes

Re: poll de module automatique ?

Messagede jaco » 12 Mar 2013, 15:32

vosmont a Ă©crit:
milillicuti a écrit:J'avais cru comprendre que sleep mettait toute la Vera en mode "sleep", et pas seulement le script où la fonction est présente !?


En faisant des tests, j'ai effectivement l'impression que luup.sleep réagit bizarrement

Code: Tout sélectionner
luup.sleep(2000)
setVCvar(id_lounge_VC, 1, "1")


Code: Tout sélectionner
luup.call_delay('activateCoupling', 2)

function activateCoupling()
  setVCvar(id_lounge_VC, 1, "1")
end


Je ne saurai dire pourquoi, mais sur un scénario avec des interdépendances (un peu ton cas), le sleep ne marche pas chez moi. Les actions ne se déroulent plus dans l'ordre auquel je m'attendais. Il est possible que le sleep ne soit pas juste actif que sur le script en train de s’exécuter.

Par contre la solution de l'appel de la fonction après un certain délai fonctionne.


Sleep réagit exactement comme attendu chez moi. Et je viens de faire un test de lancement d'un scénario d'allumage de lumière en parallèle d'un des scripts infrarouges que j'ai mis au point cette nuit, la vera semble même capable de les exécuter parallèlement. C'est tout ce que je peux dire pour le moment.

En fait au début j'utilisais callDelay mais j'avais beaucoup plus de mal à la faire fonctionner comme je le voulais alors j'ai laissé tomber pour sleep.

Je ne comprends pas très bien ce que réprésente le bout de code que tu montres. setVCvar, c'est une histoire de container virtuel, c'est ça ? Qu'est-ce que ton code est sensé montrer et pourquoi ça te fait douter ? Peux-tu en dire plus ? J'en fais plein des sleep du coup alors ça m'intéresse si tu penses qu'il y a un problème avec cette fonction.

Code: Tout sélectionner
exemple: fonction de lancement de la lecture d'un CD. (les fameuses commandes "mute" sont directement incorporées dans les fonctions de commandes à problèmes.

if getStatus(id_Hifi) == 0 then -- la chaine est Ă©teinte (status == 0)
   setStatus(id_Hifi, 1)
   sleep(4000)
   hifiCD()
   sleep(1000)
   hifiVolMinimum()
   sleep(9000)
elseif getEnergy(id_Hifi) < 5 then -- la chaîne est allumée en mode veille
   hifiCD()
   sleep(1000)
   hifiVolMinimum()
   sleep(9000)
else -- la chaîne est déjà en fonctionnement en train de lire une cassette, un CD, une station radio, etc
   hifiVolMinimum()
   sleep(5000)
   hifiCD()
   sleep(14000)
   hifiCDStop()
   sleep(5000)
end

hifiCDLecture()
sleep(1000)
hifiVolPlus()

hifiTeleMute()



Ce ne serait pas très compliqué de les retransformer en call_delay mais pourquoi faire, tu me fais douter là.
RETOUR EXPERIENCE PRODUITS (01/2013 Ă  aujourd'hui)
433MHz: Astrell: qques Telcos et plugs on/off (pour dépanner)
Z-Wave:
ContrĂ´leurs - Micasaverde: VeraLite, Remotec: ZURC-550 (zombie) + ZRC-100, Aeon Labs: DSA22 + Z-Stick S2
Emetteurs - Aeon Labs: DSB05, Fibaro: FGK + FGMS (récents)
RĂ©cepteurs - Fibaro: Wallplug FGWPE, Everspring (marque de merde): AN157 (tous morts) + AN158 + AD142 (tous morts), QEES: Reto shell, Aeon Labs: DSC08 + DSC13
Ampoules - Domitech: ZBULB (récents), Aeon Labs: ZW098 (récents)
Infrarouge:
USBUIRT, AIM: IR606Q, Ebode (marque de merde): PM28 (tous morts) + EXLED3 (tous morts)
Divers:
Raspberry Pi: modèle B, Cubieboard: version 2, Monster Cable: switch hdmi
Disques durs externes: Seagate (de 1 Ă  2 To), Freecom (300 Go)
Wiko: Cink Peax
Ampoules led dimmables: Philips (eq 40W Ă  eq 100W), Vision El (eq 60W), Osram (eq 75W)
Ampoules fluo dimmables: quelques marques testées dont Osram et Ikea (toutes inutilisables)
Internet: Orange Livebox
jaco
Dieu de domotique
 
Messages: 425
Inscription: 20 Jan 2013, 00:09
Localisation: Tours

Re: poll de module automatique ?

Messagede milillicuti » 12 Mar 2013, 18:21

Si jamais la fonction sleep fonctionne correctement elle a l'air beaucoup plus simple Ă  utiliser.

On est d'accord que cette fonction sert Ă  faire une pause de X secondes dans la lecture du code ?
Communication et publicité. Mais aussi quelques articles sur la domotique !
Communication & publicité - Domotique : http://www.milillicuti.com
Avatar de l’utilisateur
milillicuti
Dieu de domotique
 
Messages: 1435
Inscription: 16 DĂ©c 2008, 13:40

Re: poll de module automatique ?

Messagede vosmont » 12 Mar 2013, 21:12

Bon, j'ai fait quelques tests et j'ai vraiment l'impression que la fonction sleep bloque l'ensemble de la Vera.

Une scène avec du code luup qui éteint des lumières et fait un sleep.
Les scènes qui se déclenchent sur l'extinction de ces lumières ne se lancent qu'à la fin du sleep.

Si j'utilise le call_delay à la place, les scènes déclenchées à l'extinction s'exécutent immédiatement et donc les scènes s'exécutent en parallèle.
Dernière édition par vosmont le 14 Mar 2013, 08:27, édité 1 fois.

Systèmes domotique: VeraEdge / openLuup / Jeedom
Protocoles domotique: Zwave / RFPlayer (433/868Mhz) / ZigBee (ZiGate) / Edisio / MQTT
Plugins Vera : https://github.com/vosmont
RĂ©seau : Ubiquiti ERX + UAP / Synology (+Docker Unifi)
vosmont
Dieu de domotique
 
Messages: 636
Inscription: 24 AoĂ» 2012, 11:43
Localisation: Nantes

Re: poll de module automatique ?

Messagede jaco » 14 Mar 2013, 06:13

vosmont a Ă©crit:Bon, j'ai fait quelques tests et j'ai vraiment l'impression que la fonction sleep bloque l'ensemble de la Vera.

Une scène avec du code luup qui éteint des lumières et fait un sleep.
Les scènes qui se déclenche sur l'extinction de ces lumières ne se lancent qu'à la fin du sleep.

Si j'utilise le call_delay à la place, les scènes déclenchées à l'extinction s'exécutent immédiatement et donc les scènes s'exécutent en parallèle.


Peut-être que ce retard que provoque sleep ne touche que les ressources qu'il impacte et non l'ensemble de la vera (ce qui me semblerait étrange à priori mais pourquoi pas). A viérifier. Auquel cas, ce ne serait d'ailleurs pas une caractéristique inintéressante au contraire dans le cas d'un variable_watch terminé par un sleep et d'un process lancé par l'utilisateur concuramment par exemple, à mon avis. Mais ça touche peut-être effectivement l'ensemble de la vera auquel cas, c'est beaucoup moins intéressant fonctionnellement. A vérifier donc.
Et décidément j'aime pas trop call-delay, elle est difficile à maîtriser.
RETOUR EXPERIENCE PRODUITS (01/2013 Ă  aujourd'hui)
433MHz: Astrell: qques Telcos et plugs on/off (pour dépanner)
Z-Wave:
ContrĂ´leurs - Micasaverde: VeraLite, Remotec: ZURC-550 (zombie) + ZRC-100, Aeon Labs: DSA22 + Z-Stick S2
Emetteurs - Aeon Labs: DSB05, Fibaro: FGK + FGMS (récents)
RĂ©cepteurs - Fibaro: Wallplug FGWPE, Everspring (marque de merde): AN157 (tous morts) + AN158 + AD142 (tous morts), QEES: Reto shell, Aeon Labs: DSC08 + DSC13
Ampoules - Domitech: ZBULB (récents), Aeon Labs: ZW098 (récents)
Infrarouge:
USBUIRT, AIM: IR606Q, Ebode (marque de merde): PM28 (tous morts) + EXLED3 (tous morts)
Divers:
Raspberry Pi: modèle B, Cubieboard: version 2, Monster Cable: switch hdmi
Disques durs externes: Seagate (de 1 Ă  2 To), Freecom (300 Go)
Wiko: Cink Peax
Ampoules led dimmables: Philips (eq 40W Ă  eq 100W), Vision El (eq 60W), Osram (eq 75W)
Ampoules fluo dimmables: quelques marques testées dont Osram et Ikea (toutes inutilisables)
Internet: Orange Livebox
jaco
Dieu de domotique
 
Messages: 425
Inscription: 20 Jan 2013, 00:09
Localisation: Tours

Précédente

Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique