Stopper l'ouverture des volets

Programmation de la Vera

Stopper l'ouverture des volets

Messagede Maikinoki » 02 DĂ©c 2012, 10:35

Bonjour Ă  tous,

Après de longues recherches je me suis décidé à poster ma question sur le forum n'ayant plus de piste d'idée pour résoudre mon problème domotique (comme souvent à la base pourtant simple).

Problème:
Sur ma Veralite j'ai créé une scène qui ouvre tous mes volets roulants (au nombre de 6) séquentiellement (par intervalle de 5 secondes).
Le problème bien connu est que la scène ne peut être arrêtée. De ce fait quand on lance la scène par erreur (en se trompant de bouton sur la télécommande), impossible de dire à la Vera "Arrête d'ouvrir les volets".
Du coup tous les volets s'ouvrent puis on lance la fermeture. Pour peu qu'on s'Ă©nerve un peu on lance une valse des volets de bon matin :)

Solution:
Pour résoudre ce problème j'ai pensé à la solution suivante: l'idée est de vérifier l'état d'un switch virtuel avant chaque l'ouverture du volet suivant. Si le switch à changé, on arrête la scène.
L'algo en détail:
1) Récupération de l'état initial du Switch virtuel (Ouverture ou Fermeture)
2) Pour tous les volets (on parcours un tableau des ID par interval de 5 secondes)
-- Verifier que le statut du switch virtuel n'a pas changé
- - S'il n'a pas changé, on reste sur le même mouvement sur le volet suivant et on attends 5 seconde
- - Si le switch change d'état, on arrête la scène

Le code luup associé est le suivant:
Code: Tout sélectionner
-- Récupération de l'état initial du Switch virtuel (Ouverture ou Fermeture)
local init = luup.variable_get ("urn:upnp-org:serviceId:VSwitch1","Status",VMOD_SWITCH_VOLET)

-- Pour tous les volets
for name,id in pairs(VOLETS) do

-- Récupération de l'état courant du Switch virtuel
  switch = luup.variable_get ("urn:upnp-org:serviceId:VSwitch1","Status",VMOD_SWITCH_VOLET)

-- Verifier que le statut du switch virtuel n'a pas changé
  if switch == init then
-- Tant qu'on ne change pas le switch, on reste sur le mĂŞme mouvement
    luup.call_action("urn:upnp-org:serviceId:SwitchPower1","SetTarget", {newTargetValue = switch},id)
    luup.sleep(5000)
  else
-- Si le switch change d'état, on arrête la scène
    return false
  end
end


Ce code luup est lancé dès que le switch virtuel change d'état.

Exemple:
Par exemple en passant le switch sur "On" : je lance l'ouverture du volet 1, j'attends 5s, ouverture du volet 2, j'attends 5s, si dans ce laps de temps je passe le switch virtuel sur "Off":
- L'état du switch à changé => La scène s'arrête
- La scène est lancée pour la valeur "Off" : je lance la fermeture du volet 1, j'attends 5s, fermeture du volet 2, j'attends 5s...

Problème de la solution:
Mon problème est en fait assez simple : lorsque la scène tourne, je n'arrive pas à modifier mon switch virtuel!
Je clique, clique et reclique frénétiquement mais rien n'y fait, je dois attendre la fin de la scène.
Du coup quoi qu'il arrive la scène va au bout et on en revient au même problème.

Étant actuellement bloqué dans une boucle infinie, je suis preneur de toute aide qui m'aiderait à ne plus me sentir dans la peau de Bill Murray...
@+ Maikinoki
Veralite powered :) (Plein de modules Fibaro, Modules AEON Labs, un interrupteur Duwi (non relié à la Vera :( ) => MERCI ANTOR
RFXCOM LAN (Plein de sondes Oregon, 2 double switches VIMAR, des prises Chacon)
Karotz sous OpenKarotz (Dongle USB/Ethernet "Sapin de Noël")
Plein de RPI :)
Maikinoki
Membre Actif
 
Messages: 20
Inscription: 21 AoĂ» 2012, 07:12

Re: Stopper l'ouverture des volets

Messagede psykokwak » 02 DĂ©c 2012, 10:59

Je crois que ta solution est lĂ  : viewtopic.php?f=80&t=9093 (Ă  adapter un peu Ă  tes besoins)
Avatar de l’utilisateur
psykokwak
Dieu de domotique
 
Messages: 389
Inscription: 29 Avr 2012, 15:35
Localisation: IDF

Re: Stopper l'ouverture des volets

Messagede cyberfilou » 04 DĂ©c 2012, 17:33

eu pourquoi ne pas creer une scene qui referme tout, sa ne fonctionnerais pas ?
Cyberfilou

Veralite 1.5.622 Version Française
3 Module Volet Roulant Duwi + 1 FGR221
Module arduino + ethernet shield (+ Relais ) pour commande VELUX via request http
2 ON/OFF Duwi ( Chambres enfants ) avec scènes minuterie
1 Prise Evespring ( + energie ) +2 Prise Evespring
8 Prises Chacon DI-O ( diverse puissance )
2 DĂ©tection Chacon ( Couloir ) + ON/OFF Lampe
Etc...etc...
plug-in SmartVt +Gcal3 + Virtual Clock
Controller MyVera le tout sur tablette android
RFXTrx USB + Sonde Oregon
Domoticz sur RPI et PC avec ZWAVE USB
Systeme Mysensors, pour gestion aquarium et autres
cyberfilou
Dieu de domotique
 
Messages: 970
Inscription: 27 FĂ©v 2012, 22:16
Localisation: Liege ( Belgique )


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