Script blocky pour les nuls
Script blocky pour les nuls
Bonjour a tous,
J'aurais besoin de vos éclaircissements a propos de mes scripts Blocky.
Je souhaite automatiser l'allumage de ma lampe d'entrée selon la luminosité mesurée pendant une certaine plage horaire. Je voudrai pouvoir activer ou désactiver la gestion automatique. En plus de cela, je voudrai que la lampe s'allume en dehors de la plage horaire sur base d'un détecteur de mouvement.
Comme matos, j'ai un intérupteur zwave et un multisensor 6 (detecteur de mouvement et luxmètre)
Je précise que je débute en domotique et que je découvre presque tout. J'ai tous configurer comme il faut et ca fonctionne en manuel. L'étape suivante est donc la partie en Blocky (je n'y connais rien en lua, python,...)
J'ai donc fait mon premier script tout bête et ca fonctionne : J'ai ensuite créer un intérupteur virtuel pour enclencher ou non la gestion automatique de ma lampe. L'idée étant que si l'intérupteur est off, le script ne s'exécute pas. Mais étrangement, ca ne marche pas du tout, alors que j'ai le changement par rapport au script précédent est minime. pourriez vous éclairer ma lanterne ?
J'ai également essayer un script plus complexe qui ne marche pas non plus. Merci d'avance pour votre aide
J'aurais besoin de vos éclaircissements a propos de mes scripts Blocky.
Je souhaite automatiser l'allumage de ma lampe d'entrée selon la luminosité mesurée pendant une certaine plage horaire. Je voudrai pouvoir activer ou désactiver la gestion automatique. En plus de cela, je voudrai que la lampe s'allume en dehors de la plage horaire sur base d'un détecteur de mouvement.
Comme matos, j'ai un intérupteur zwave et un multisensor 6 (detecteur de mouvement et luxmètre)
Je précise que je débute en domotique et que je découvre presque tout. J'ai tous configurer comme il faut et ca fonctionne en manuel. L'étape suivante est donc la partie en Blocky (je n'y connais rien en lua, python,...)
J'ai donc fait mon premier script tout bête et ca fonctionne : J'ai ensuite créer un intérupteur virtuel pour enclencher ou non la gestion automatique de ma lampe. L'idée étant que si l'intérupteur est off, le script ne s'exécute pas. Mais étrangement, ca ne marche pas du tout, alors que j'ai le changement par rapport au script précédent est minime. pourriez vous éclairer ma lanterne ?
J'ai également essayer un script plus complexe qui ne marche pas non plus. Merci d'avance pour votre aide
Dernière modification par starpom le 10 janv. 2018, 17:01, modifié 1 fois.
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Script blocky pour les nuls
Salut,
https://www.google.fr/search?q=if+elseif
Si on est dans la plage horaire on éteint la lampe
Si on est pas dans la page horaire alors on va regarder la luminosité et éventuellement allumer ou éteindre.
C'est le fonctionnement souhaité ?
https://www.google.fr/search?q=if+elseif
Dans ton dernier exemple.elseif, comme son nom l'indique, est une combinaison de if et de else. Comme l'expression else, il permet d'exécuter une instruction après un if dans le cas où le "premier" if est évalué comme FALSE. Mais, à la différence de l'expression else, il n'exécutera l'instruction que si l'expression conditionnelle elseif est évaluée comme TRUE
Si on est dans la plage horaire on éteint la lampe
Si on est pas dans la page horaire alors on va regarder la luminosité et éventuellement allumer ou éteindre.
C'est le fonctionnement souhaité ?
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
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Script blocky pour les nuls
Sorry mais je vois que je me suis planté dans mon message et que les images ne sont pas dans le bon ordre.
Je viens de le modifier, maintenant c'est ok.
C'est bien le fonctionnement voulu. Dans la plage horaire, les lampes sont OFF, en dehors, c'est on ou off en fonction de la luminosité.
J'espère que c'est plus clair
Je viens de le modifier, maintenant c'est ok.
C'est bien le fonctionnement voulu. Dans la plage horaire, les lampes sont OFF, en dehors, c'est on ou off en fonction de la luminosité.
J'espère que c'est plus clair
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Script blocky pour les nuls
Ahh blocky et les if imbriqués 
Mets toi à lua
Mets toi à lua
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
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Script blocky pour les nuls
Bonjour,
J'ai modifié mon script pour qu'il n'y ai plus de if imbriqué, ca marche nickel. Cependant, je me suis rendu comtpe d'une faiblesse dans mon système. Je m'explique : Lorsque l'interrupteur virtuel est ON, le script fonctionne en permance, ce qui veux dire que pour une raison ou une autre, en pleine nuit par exemple, je veux allumer ma lampe manuellement via l'interupteur physique, le script l'éteindra automatiquement a moins d'aller dans Domoticz switcher l'interrupteur virtuel en OFF, ce qui n'est pas très pratique.
Je voudrai créer un autre script qui switcherait en OFF l'interrupteur virtuel en cas de changement d'état de l'interrupteur physique. Est ce possible ?
J'ai modifié mon script pour qu'il n'y ai plus de if imbriqué, ca marche nickel. Cependant, je me suis rendu comtpe d'une faiblesse dans mon système. Je m'explique : Lorsque l'interrupteur virtuel est ON, le script fonctionne en permance, ce qui veux dire que pour une raison ou une autre, en pleine nuit par exemple, je veux allumer ma lampe manuellement via l'interupteur physique, le script l'éteindra automatiquement a moins d'aller dans Domoticz switcher l'interrupteur virtuel en OFF, ce qui n'est pas très pratique.
Je voudrai créer un autre script qui switcherait en OFF l'interrupteur virtuel en cas de changement d'état de l'interrupteur physique. Est ce possible ?
Re: Script blocky pour les nuls
ou laisser ton script tel quel et plutôt mettre dans ton interrupteur physique sous domoticz dans action on d'éteindre ton interrupteur virtuel. Soit en json, soit en refaisant un petit blocky...
Si j'ai bien compris ta demande lol
Si j'ai bien compris ta demande lol
Re: Script blocky pour les nuls
C'est exactement ce que je veux faire.
Si le fait en blocky (sorry je suis débutant total et lua, json,etc c'est du chinois pour moi) que dois je mettre dans la condition du if ?
Petite question en passant, si je fais ce que tu proposes, lorsque le script initial allumera ou éteindra la lampe, est ce que cela ne va pas aussi mettre en OFF l'interrupteur virtuel ?
Si le fait en blocky (sorry je suis débutant total et lua, json,etc c'est du chinois pour moi) que dois je mettre dans la condition du if ?
Petite question en passant, si je fais ce que tu proposes, lorsque le script initial allumera ou éteindra la lampe, est ce que cela ne va pas aussi mettre en OFF l'interrupteur virtuel ?
Re: Script blocky pour les nuls
Re...
Suivant ton interrupteur physique (enfin surtout le module domotique) soit tu peux dissocier l'action On allume la lumière et l'action j'appuie sur le bouton (clic on) du coup dans un autre script blocky tu mets un truc comme ça :
Si interrupteur=clic On (ou autre désignation)
set Automatisation=Off
set lampe entrée=On
Else if interrupteur=clic Off
set lampe entrée=Off
set Automatisation=On
Soit tu ne peux pas et il te faudra condamner l'interrupteur actuel qui ne sert à rien physiquement et en mettre un autre domotique par onde. Moi j'ai des boutons xiaomi
Suivant ton interrupteur physique (enfin surtout le module domotique) soit tu peux dissocier l'action On allume la lumière et l'action j'appuie sur le bouton (clic on) du coup dans un autre script blocky tu mets un truc comme ça :
Si interrupteur=clic On (ou autre désignation)
set Automatisation=Off
set lampe entrée=On
Else if interrupteur=clic Off
set lampe entrée=Off
set Automatisation=On
Soit tu ne peux pas et il te faudra condamner l'interrupteur actuel qui ne sert à rien physiquement et en mettre un autre domotique par onde. Moi j'ai des boutons xiaomi
Re: Script blocky pour les nuls
C'est bien ce que je craignais. Je ne peux pas dissocier l'interrupteur de l'actionneur. (j'ai un FGS-222 de chez Fibaro)
Je vais investiguer ta piste.
Merci
Je vais investiguer ta piste.
Merci