Lua - ouveture volet

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 <\>.
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Lua - ouveture volet

Message par david86 »

Bonjour,
Je cherche à me faire un bouton pour commander l'ouverture et fermeture de mes volets roulants SOMFY RTS. Avec ma commande en 433Hz aucun problème, tout fonctionne bien, mais mon script, qui a terme sera activé par un bouton virtuel me génère une ouverture sur uniquement quelque secondes :
Voici le code (pour le moment ultra basique) :

Code : Tout sélectionner

commandArray = {}
if      
    (devicechanged['Inter-test'] == "On") then
    print("script 4 ok")
    commandArray[#commandArray+1]={['Volet-parents'] = 'Open'}
    --commandArray['Volet-parents'] = 'Open'
end

return commandArray
Quand j'active "Inter-test", le volet roulant commence à s'ouvrir et quelques secondes après ça s'arrête. Je ne vois rien dans les LOG... Comme vous le verrez j'ai essayé, sans conviction, commandeArray[] et commandeArray[#commandeArray+1[]], ni l'un ni l'autre ne fonctionne mieux.

Merci pour vos avis et commentaires.
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Bibi49
Messages : 367
Inscription : 11 mars 2018, 12:42
Localisation : 49

Re: Lua - ouveture volet

Message par Bibi49 »

Bonjour,

Si c'est juste pour le bouton virtuel pour commander un ou plusieurs(groupes) volet(s), tu peux utiliser "Scenarios".

J'ai aucune compétence en lua ou autres, mais avec Scenarios ça fonctionne très bien chez moi (volet RTS Somfy).
Tu peut aussi mélanger les protocoles sans problème (chez mes parents, les volets sont moitié somfy RTS, moitié Wiser (zigbee for domoticz) ;)
RPI 2 -> Bullseye Lite
DomoticZ -> 2024.7
RFXCom 433E -> Pro1 1041
DongleP - Z-Stack 3.30+ (build 20240710) /Z4D 7.1.025 [7.489]
CC1101 433Mhz "Itron EverBlue Cyble"
PiTInfo v1.4
USB->ùSD = Rpi-clones
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: Lua - ouveture volet

Message par david86 »

En faisant quelque chose comme cela :
commandArray['Scene/Group:Ouverture volet']='On' ?
Et dans le scénario 'Ouverture Volet' je met tous mes volets roulants.
C'est quoi la différence entre Scene et Group ?

Merci à toi
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Bibi49
Messages : 367
Inscription : 11 mars 2018, 12:42
Localisation : 49

Re: Lua - ouveture volet

Message par Bibi49 »

en lua ou autre script, je suis un zero pointé.

Tu nomme ton scenario (volet Général, volet Sud, Volet RDV ect), tu laisse groupe (pour le on /off) et tu ajoute chaque volet que tu souhaite en bas dans "dispositif".

C'est juste une solution (assez simple a mon gout) ;)
RPI 2 -> Bullseye Lite
DomoticZ -> 2024.7
RFXCom 433E -> Pro1 1041
DongleP - Z-Stack 3.30+ (build 20240710) /Z4D 7.1.025 [7.489]
CC1101 433Mhz "Itron EverBlue Cyble"
PiTInfo v1.4
USB->ùSD = Rpi-clones
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: Lua - ouveture volet

Message par david86 »

Bon j'ai fait mon script lua, voici pour info, en me servant de ton idée de scénario.

Code : Tout sélectionner

commandArray = {}
time = os.date("*t")
HeureCoucher = timeofday['SunsetInMinutes']
HeureLever = timeofday['SunriseInMinutes']
HeureNow = os.date("%H") * 60 + os.date("%M")
Heure_Actuelle=os.date("%X")
local subsystem = "pushover;telegram"

if      
    (otherdevices['Inter-test'] == "On" and HeureNow == HeureCoucher) then
    commandArray['Scene:Fermeture volet']='On'
    commandArray[#commandArray+1] = {['SendNotification'] = 'Domoticz#Fermeture des volets à '..(Heure_Actuelle)..'#0###'..subsystem..''}
elseif
    (otherdevices['Intertest'] == "On" and HeureNow == HeureLever) then
    commandArray['Scene:Ouverture volet']='On'
    commandArray[#commandArray+1] = {['SendNotification'] = 'Domoticz#Ouverture des volets à '..(Heure_Actuelle)..'#0###'..subsystem..''}
end

return commandArray
Si toute fois quelqu'un sait m'expliquer pourquoi mon volet roulant ne s'ouvrait que pendant grosso modo 5 secondes et s’arrêtait, ça m'intéresse de savoir ou comprendre.
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Bibi49
Messages : 367
Inscription : 11 mars 2018, 12:42
Localisation : 49

Re: Lua - ouveture volet

Message par Bibi49 »

Scénario c'est pas un script.
Screenshot_20230412_072615_com.android.chrome_edit_40005776703269.jpg
Screenshot_20230412_072615_com.android.chrome_edit_40005776703269.jpg (463.2 Kio) Consulté 768 fois
RPI 2 -> Bullseye Lite
DomoticZ -> 2024.7
RFXCom 433E -> Pro1 1041
DongleP - Z-Stack 3.30+ (build 20240710) /Z4D 7.1.025 [7.489]
CC1101 433Mhz "Itron EverBlue Cyble"
PiTInfo v1.4
USB->ùSD = Rpi-clones
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: Lua - ouveture volet

Message par david86 »

Oui je suis d'accord, c'est bien deux choses différentes, mais je comprends pas ta remarque ?

Je déclenche le scénario selon l'état d'un bouton virtuel. Cette commande actionne le script sur un trigger time. Petit à petit je complèterai les conditions d'ouverture fermeture, mais je commence par une chose toute simple qui sera à agrémenter au fur et à mesure, par exemple mettre du "random" sur l'ouverture/fermeture, également allumer une ou 2 lumières pour simuler présence pendant quelques minutes, tout cela selon l'état de mon inter virtuel
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Lua - ouveture volet

Message par Keros »

david86, Bibi49 essayait de t'expliquer que tu pouvais grouper tes commandes de volets avec un scénario, sans faire de script. Toi, tu as fait un script qui commande un scénario :mrgreen:

Le principal est d'arriver à faire ce que l'on souhaite.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre