Onglet exceptions VS onglet positionnement

Bonjour,

J’ai qq questions sur le mode de fonctionnement du plugin Sunshutter depuis sa mise à jour.

  1. En particulier, j’ai du mal avec l’ajout de cette fonctionnalité :

« Condition à remplir pour que la gestion automatique s’active (activée par défaut si vide) ». Qu’entend-on exactement par « gestion automatique » ?
→ les deux onglets « exceptions » ET « positionnement »
→ uniquement l’onglet « positionnement » ?
J’aurais tendance à dire la première option, mais au grés de mes tests, un doute subsiste…

  1. Ensuite, disons que la première option soit validée, comment le plugin fonctionne-t-il ?
    Est-ce qu’il teste TOUTES les conditions de l’onglet « exceptions » D’ABORD et toutes les conditions de l’onglet « positionnement » ENSUITE ? Dès qu’il trouve une condition valide, il applique le % d’ouverture mentionné sur la ligne ?
    Je demande ça car je suis 100% sûr et certain qu’une de mes conditions de l’onglet « exception » est respectée et le plugin persiste quand même à aller tester les conditions de l’onglet « positionnement » où, effectivement, il en trouve une valide aussi.
    Est-ce que cette deuxième question a un lien quelconque avec l’ajout de la nouvelle fonctionnalité (condition à remplir pour gestion auto) ? Car j’ai bien l’impression que tout fonctionnait correctement avant…

Si je pose ces questions, c’est que j’ai bien évidemment lu la doc et que je n’ai pas trouvé d’éléments de réponses : )
@Loic

Bref, investigation! :nerd_face:
Merci.

Bonjour,
Merci de me pas me tagguer en direct je lis tous les sujets et repond si besoin, le tiens pourra largement etre répondu par le communauté.

1 « J'aime »

Pas si largement que ça, au final … :wink:

Connais-tu la réponse à mes questions ? Pour le point 2 en particulier, càd avoir une condition valide en « exceptions » et en « positionnement » simultanément, je ne comprends pas pourquoi l’onglet exception n’est pas prioritaire sur l’action à réaliser.
Ou en tout cas, si je dois changer ma manière de « coder » mes volontés suite à la mise à jour, j’aimerais savoir comment.

Merci.

La gestion automatiquement c’est le fonctionnement des actions d’automatisation donc les deux.

De ce que je comprends il regarde les exceptions dans un premier temps puis les positions ensuite. Les deux ont un ordre de priorité qui correspond a celui affiché a l’écran.

Testes les conditions dans l’outil pour pour vérifier que c’est le cas.

Ok, donc tu as compris comme moi.
Les deux conditions sont vraies, testées via le testeur.

Je vais poster des logs pour appuyer ce que je veux dire.

1 « J'aime »

Du coup :

Equipement


Gestion automatique, toujours vraie
Pas de reprise auto sur changement de mode (du plugin sunshutter, pas du plugin Modes), mais de toute façon, je n’utilise pas ces modes.
Actions prio immédiates pour celles que j’ai coché dans l’onglet exception.

Exceptions


On va tester la deuxième condition : je procède via le plugin Modes : un mode ABSENT (via NUT) déclenche un autre mode « Volet fermés » → action immédiate pour cible à 0% d’ouverture.
(en opposition, un mode PRESENT (via le même NUT) déclenche un mode « Volet gestion auto ». Ce sont juste des noms, un mode à lui tout seul ne fait rien…)

Positionnement
Là j’en ai plein, je screen juste celle qui m’intéresse (celle qui est valide au moment où j’écris ces lignes - dimanche 10h26)


Pour aide à décoder, parce que c’est compact (bien que non nécessaire à la compréhension du problème dans la globailité) :
Si le mode canicule et activé, ET que
soit on est le weekend OU un jour férié, alors attendre 10h00 pour ouvrir le volet à 40%
soit on est en semaine ET pas un jour férié, alors attendre 7h30 pour ouvrir le volet à 40%.

Logs

Pour l’instant, je suis en mode (plugin Modes) PRESENT, c’est-à-dire surtout, pas en mode « Volet Fermés »

> 
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Démarrage de la gestion automatique
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Ecart avec la dernière position connue : 0 %
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #time# >= 0730 ET (#njour# not in [6,0] ET #1431# == 0) ET (#194# == "Travail bureau" OU #194# == "Télétravail") ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (100 %)
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #time# >= 1000 ET (#njour# in [6,0] OU #1431# == 1) ET (#194# == "Travail bureau" OU #194# == "Télétravail") ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (100 %)
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #time# >= 0930 ET #194# == "Congés à la maison" ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (100 %)
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #time# >= 0930 ET #194# == "Congés hors maison" ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (50 %)
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #1276# == "ON" ET variable(tendance_Temp_Terrasse) = -1 ET ((#time# < 0730 ET (#njour# not in [6,0] ET #1431# == 0)) OU (#time# < 1000 ET (#njour# in [6,0] OU #1431# == 1))) Elévation = -90°-90 Azimuth = 0°-120° (40 %)
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #1276# == "ON" ET variable(tendance_Temp_Terrasse) = 1 ET ((#time# < 0730 ET (#njour# not in [6,0] ET #1431# == 0)) OU (#time# < 1000 ET (#njour# in [6,0] OU #1431# == 1))) Elévation = -90°-90 Azimuth = 0°-120° (0 %)
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions remplies : #1276# == "ON" ET ((#time# >= 0730 ET (#njour# not in [6,0] ET [Information][Fériés][Jour férié]# == 0)) OU (#time# >= 1000 ET (#njour# in [6,0] OU #1431# == 1))) Elévation = -90°-90 Azimuth = 0°-120° (40 %)
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Position actuelle : 40 % → Position cible : 40 %
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Ecart avec la position cible : 0 %
> [2022-06-26 10:26:03]DEBUG : [Salon][Gestion volet ordi] Ecart avec la position cible inférieur à 4 % : aucune action

D’ailleurs :

La condition de l’onglet positionnement est validée. Et c’est ce que je veux, à ce stade.

— Je passe maintenant manuellement mon mode « Volet fermés » — Comme si j’avais quitté la maison, et que mon nut déclenche une absence, qui déclenche elle-même le mode volets fermés (comme décrit plus haut).

J’ai d’abord effectivement une fermeture immédiate du volet concerné :

[2022-06-26 10:36:17]DEBUG : [Salon][Gestion volet ordi] Déclenchement de l'action immédiate : Array (     [sunshutter_id] => 40     [event_id] => 1111     [value] => Ferms     [datetime] => 2022-06-26 10:36:16     [listener_id] => 4 )
[2022-06-26 10:36:17]DEBUG : [Salon][Gestion volet ordi] Les actions immédiates sont prioritaires
[2022-06-26 10:36:17]DEBUG : [Salon][Gestion volet ordi] Condition avec action immédiate : #1111# = "Fermés" ET #194# != "Congés hors maison" (0 %)
[2022-06-26 10:36:17]DEBUG : [Salon][Gestion volet ordi] Ecart avec la position cible : 40 %
[2022-06-26 10:36:17]DEBUG : [Salon][Gestion volet ordi] Positionnement à 0 %

La condition est validée :
image

Vous remarquez le temps : 10h36s17 → n’est pas toutes les deux minutes comme mon CRON est paramétré, c’est normal, c’est une action immédiate.

ET PUIS … au prochain CRON auto :

[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Démarrage de la gestion automatique
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Ecart avec la dernière position connue : 0 %
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #time# >= 0730 ET (#njour# not in [6,0] ET #1431# == 0) ET (#194# == "Travail bureau" OU #194# == "Télétravail") ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (100 %)
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #time# >= 1000 ET (#njour# in [6,0] OU #1431# == 1) ET (#194# == "Travail bureau" OU #194# == "Télétravail") ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (100 %)
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #time# >= 0930 ET #194# == "Congés à la maison" ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (100 %)
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #time# >= 0930 ET #194# == "Congés hors maison" ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (50 %)
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #1276# == "ON" ET variable(tendance_Temp_Terrasse) = -1 ET ((#time# < 0730 ET (#njour# not in [6,0] ET #1431# == 0)) OU (#time# < 1000 ET (#njour# in [6,0] OU #1431# == 1))) Elévation = -90°-90 Azimuth = 0°-120° (40 %)
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions non remplies : #1276# == "ON" ET variable(tendance_Temp_Terrasse) = 1 ET ((#time# < 0730 ET (#njour# not in [6,0] ET #1431# == 0)) OU (#time# < 1000 ET (#njour# in [6,0] OU #1431# == 1))) Elévation = -90°-90 Azimuth = 0°-120° (0 %)
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions remplies : #1276# == "ON" ET ((#time# >= 0730 ET (#njour# not in [6,0] ET [Information][Fériés][Jour férié]# == 0)) OU (#time# >= 1000 ET (#njour# in [6,0] OU #1431# == 1))) Elévation = -90°-90 Azimuth = 0°-120° (40 %)
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Position actuelle : 0 % → Position cible : 40 %
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Ecart avec la position cible : 40 %
[2022-06-26 10:38:04]DEBUG : [Salon][Gestion volet ordi] Positionnement à 40 %

Le voilà de retour sur la condition de l’onglet positionnement, qui est effectivement toujours valide. MAIS celle de l’onglet exception l’est aussi.
Et donc, dans ma compréhension des choses, l’onglet exception devrait prévaloir.

J’espère que c’est clair comme ça :slight_smile:
Merci.

Hello,

Je suis de retour au taf et je suis un peu tracassé dans la mesure où ma maison est plus vulnérable puisque mes volets ne sont pas fermés lorsque je ne suis pas là (en réalité, j’ai commencé la domotique en domotisant mes volets suite à un cambriolage).

Je pense avoir détaillé suffisamment mon sujet que pour qu’il soit compréhensible et discuté.
En particulier, j’aimerais surtout savoir si le problème vient de mon côté (je suis plutôt convaincu que non, mais je ne l’affirmerai pas à 100%) ou s’il vient au final d’un petit couac du côté du plugin ?

Je n’ose plus tagger le Grand Chef, mais en tout cas, si tu lis ceci, le sujet n’a pas trouvé largement réponse par la communauté :wink:

Merci encore.

Bonjour,
Le sujet est trop long pour que je lise tout (je suis toujours train de gerer le zigbee et les assistant vocaux). Mais pour répondre vite fait et comme le porte très bien le nom de l’onglet l’exception et une exception et donc par definition prioritaire sur le positionnement.

Tu es sûr que ton exceptions est vrai en ce moment ?
Tu as quoi en action par défaut ? Pourquoi tu utilises les labels ?

Condition exception validée à l’instant :

Condition positionnement validée également :

Le LABEL ne m’a jamais posé souci auparavant, je l’utilisais pour me notifier quelle condition était respectée (mais ça marche plus, cf. mon autre sujet : LABEL de l'onglet Exceptions ne s'affiche pas dans la tuile du Dashboard - #2 par Meraxys)

Cela dit, par acquis de conscience, je l’ai remove et voici le log : ça ne change rien :

[2022-06-28 10:52:03]DEBUG : [Salon][Gestion volet ordi] Démarrage de la gestion automatique
[2022-06-28 10:52:03]DEBUG : [Salon][Gestion volet ordi] Ecart avec la dernière position connue : 0 %
[2022-06-28 10:52:03]DEBUG : [Salon][Gestion volet ordi] Calcul de positionnement - Conditions remplies : #time# >= 0730 ET (#njour# not in [6,0] ET #1431# == 0) ET (#194# == "Travail bureau" OU #194# == "Télétravail") ET #1276# == "OFF" Elévation = -1°-90 Azimuth = 0°-180° (100 %)
[2022-06-28 10:52:03]DEBUG : [Salon][Gestion volet ordi] Position actuelle : 100 % → Position cible : 100 %
[2022-06-28 10:52:03]DEBUG : [Salon][Gestion volet ordi] Ecart avec la position cible : 0 %
[2022-06-28 10:52:03]DEBUG : [Salon][Gestion volet ordi] Ecart avec la position cible inférieur à 4 % : aucune action

Tu peux essayer avec un cron automatique a 5 et pas perso? Et en enlevant les actions immédiates prioritaires.

Intéressant, j’ai testé plusieurs combinaisons de ta suggestion : le cron est hors de cause. La case ‹ action immédiate › de l’onglet equipement n’a pas d’effet, par contre, mon exception est bien respectée si je décoche l’action immédiate dans l’onglet exception.

Conclusion : correction plugin à demander ? :slight_smile:
Merci.

J’ai un doute ya un bug connu sur le plugin mais pas celui la, attention a ne pas crier au bug a chaque fois que vous ne comprennez pas comment marche le plugin ou que ca correspond pas a ce que vous voulez. A chaque fois ca revient a dire au dev qu’il a mal fait son boulot. Perso j’applique toujours la methode que le soucis est de mon coté et non du coté du dev. En plus perso j’ai des exeption en immediat et pas immediat et ca marche comme ca doit marcher dans tous les cas.

Hello Loic,

Je ne crie pas au bug, d’où mon point d’interrogation. Je comprends que ça doit être frustrant pour un dev de recevoir tjs ce genre de remarque. Et merci d’ailleurs pour le boulot que vous faites.

Cela dit, de mon côté, une case cochée ou décochée change la donne. Pourrais-tu éventuellement nous poster des screenshots d’une config fonctionnelle (tous les onglets du plugin, notamment l’onglet exception avec case immédiate cochée ET décochée) stp ? Pour que je puisse comparer.

Merci.

Ok donc maintenant il faut trouver pourquoi le prioritaire est pas pris en compte. Tu peux essayer de mettre juste un des deux modes dans l’exception et ensuite essayé avec l’autre (avec la case cochée) ?

Salut,

As-tu la possibilité de tester la version beta du plugin dans les mêmes conditions ? Une correction a été apportée à ce niveau récemment si je ne m’abuse
image

1 « J'aime »

Avec la 2e condition d’exception qui devrait être validée (testée dans le testeur d’expression) :

  • Les trois modes décochés : 2e condition d’exception validée au cron
  • Le mode « volets fermés » (le 2e) coché uniquement : 2e condition d’exception ignorée
  • Le mode « volets ouverts » coché uniquement : 2e condition d’exception validée au cron
  • Les deux premiers modes cochés : 2e condition d’exception ignorée.

Donc, pour l’instant, la règle d’exception valide courante est ignorée si sa case action immédiate est cochée.

Pour valider, j’ai testé le même process avec la 1er condition d’exception. Même comportement : condition d’exception ignorée (même si ici, même effet : exception volet ouvert = positionnement courant, le log distingue les deux cas).

Je n’ai pas testé, nope :slight_smile:
Qu’est-ce qui est entendu par la « global condition » ?

Dans ton exception essaie de garder juste le mode regime semaine. Tes deux commandes de la deuxième exception sont issue de quel plugin ?

Ce sont deux modes distincts du plugin Modes.
Régime semaine : c’est si je travaille bureau, télétravail, congés, …
Volets : c’est ouverts forcés, fermés forcés ou gestion auto (= tout ce qui se trouve dans l’onglet positionnement en somme).

Tu me suggères que la 2e condition passe de :
#[Maison][Modes Présence Volets][Mode]# = "Fermés" ET #[Maison][Modes Régime Semaine][Mode]# != "Congés hors maison"
à
#[Maison][Modes Régime Semaine][Mode]# != "Congés hors maison"
?