fel-x Posté(e) le 1 décembre Signaler Posté(e) le 1 décembre (modifié) Salut à tous, Je lance une bouteille à la mer, au cas où il y a encore de bonnes âmes prêtes à aider leur prochain ici. Tout d'abord je suis encore sur HCL, et j'en suis satisfait depuis 10 ans. Je n'ose pas imaginer passer sur HC3 car il me semble que la migration serait trop laborieuse, avec des dizaines de modules qui ne sont pas accèssibles physiquement sans démontage mobilier ou bien soudés dans un bricolage à longue distance de la box. J'ai contourné l'absence de LUA et d'autres fonctions sur HCL, en les exécutant sur un raspberry, et même les caméras non compatibles, je les vois dans mon interface fibaro en récupérant leur flux sur le réseau local via un script PHP aussi sur le raspberry (et Fibaro le réceptionne comme une caméra IP). Ceci pour dire que je ne souhaite pas une solution "passe sur HC3" qui n'est pas assez "débrouille" pour moi Je pourrais illustrer ce qui ne fonctionne pas par des captures décran, mais avant ça, je voudrais savoir si ça en vaut le coup. Car ici aussi je peux contourner le problème en mettant mes variables à jour depuis un script et en lançant l'exécution des scènes depuis le raspberry. Mais ce n'est pas l'idée de ce post. Je voudrais juste savoir s'il est admis que l'usage de déclencheurs (triggers) comme condition dans une scène est impossible et non fonctionnel sur HCL ? Il y a des petites cases pour confirmer si une variable doit bel et bien service de déclencheur ou pas, mais indifféremment du fait qu'elle soit cochée, la routine ne se déclenche JAMAIS : La scène est fonctionnelle en pratique, puisque l'appui manuel (bouton PLAY) de la scène lance bien les actions (on sait que le IF est ignoré, et seul le THEN est appliqué, lors de l'activation manuelle d'une scène sur FIBARO). Seulement voilà, je ne trouve nulle part l'info qui dit que Fibaro ne tient pas compte du changement de variable comme déclencheur pour déclencher une scène. Soit c'est encore une règle implicite à Fibaro, ou uniquement à HCL ? Soit je fais une erreur quelque part... et si on est dans ce cas de figure... je veux bien de l'aide Merci et bon dimanche Fel-X Modifié le 1 décembre par fel-x
jojo Posté(e) le 1 décembre Signaler Posté(e) le 1 décembre Salut, Cela fait plusieurs années que tu m'impressione avec la façon dont tu maîtrises ta HCL et ce que tu arrives à lui faire faire ... Maintenant je comprends mieux avec tes php sur un raspery (mais félicitations d'avoir réussi à les faire communiquer). Malheureusement (pour toi) je ne sais pas te conseiller. (je suis sous HC3) Pour une migration éventuelle sur HC3, peut-être que le support Fibaro pourrait le faire à distance ? (et donc sans nécessité d'accéder physiquement aux modules). Comme on est presque voisins (<40 km), tu es le bienvenu pour voir ce qu'une HC3 a dans le ventre (ou via AnyDesk)
fel-x Posté(e) le 1 décembre Auteur Signaler Posté(e) le 1 décembre Salut @jojo merci pour ta proposition, peut-être un jour j'accompagnerai madame à Nivelles (elle y travaille tous les jours) et passerai te saluer... Est-ce que la HC3 va m'aider à réussir ce que la HCL ne fait pas ? Je veux dire les scènes et les triggers fonctionneront ? Parce que si la raison est que c'est uniquement bridé sur HCL alors oui la HC3 serait une réponse. Mais si c'est possible sur HCL et que c'est juste une erreur dans ma structure de la scène alors je préfère apprendre et me corriger. Sincèrement, je peux faire fonctionner ma scène depuis Raspberry avec un simple script. Tiens juste pour le fun si ça peut aider quelqu'un, voici des exemples : #!/bin/bash valeur_test = coucou # Mise à jour d'un module virtuel dont l'ID est 123 dans Fibaro curl --user login:password 'http://IP_BOX/api/callAction?deviceID=123&name=setProperty&arg1=ui.Label1.value&arg2='$valeur_test' > /dev/null 2>&1 # Mise à jour d'une variable globale dont le nom est Variable_Bidon dans Fibaro curl --user login:password -X PUT -H "Content-Type: application/json" -d "{\"name\":\"Variable_Bidon\",\"value\":\"$valeur_test\"}" "http://IP_BOX/api/globalVariables/Variable_Bidon" > /dev/null 2>&1 # Récupération de la variable Variable_Bidon depuis Fibaro Valeur_Variable_Bidon=$(curl --silent --user login:password "http://IP_BOX/api/globalVariables/Variable_Bidon" | jq -r '.value') # Activation d'une scène dont l'ID est 321 sur Fibaro curl --user login:password -X POST "http://IP_BOX/api/scenes/321/action/start" > /dev/null 2>&1 Et avec Crontab on peut faire exécuter les scripts à l'heure et/ou la fréquence qu'on veut. En plus ça décharge le CPU de la HCL Donc avant d'aller t'ennuyer chez toi pour me faire convaincre de débourser 400 Euro pour faire ce que je sais déjà faire... je vais attendre de voir si des utilisateurs de HCL peuvent confirmer le bridage des déclencheurs par variable sur HCL ? Bonne soirée !
jojo Posté(e) le 2 décembre Signaler Posté(e) le 2 décembre Depuis cette nuit GROS stress, plus aucun ordre z-wave ne passe => je risque de devoir basculer sur ma HC3 de backup => ce n'est pas le moment d'une démo ... Si tu me décris ce que tu veux, je pourrais essayer sur ma box backup (sur laquelle, j'ai un module z-wave (un wall-plug)
fel-x Posté(e) le 3 décembre Auteur Signaler Posté(e) le 3 décembre (modifié) jojo, ton stress est passé? problème résolu ? Ma demande est très simple, mais j'ignore si tu peux la tester avec juste un module. Je veux recevoir une notification baptisée "Production PV" dès que la production électrique de mes panneaux PV dépasse 5kWh. J'ai donc créé 2 variables : ProductionPV (valeur numérique à virgule et à 2 décimales, qui est mise à jour toutes les 5 minutes par un script sur Raspberry qui récolte la production du jour des panneaux PV) NotifPVEnvoyee (pour savoir si la notification de production a déjà été envoyée ; 0 si pas encore envoyée, et 1 si déjà envoyée) Les 2 sont remises à ZERO (0) à minuit par un autre script. Ca fonctionne bien et ça permet grâce à la variable NotifPVEnvoyee de n'avoir qu'une seule notification par jour puisqu'elle fait partie de la vérification conditionnelle pour envoyer cette notification. Sinon bien sûr, chaque 5 minutes, je recevrais une notification puisque la production augmente durant la journée et chaque mise à jour de la valeur de ProductionPV serait supérieure à 5 ! Voici ma scène : Et voilà. La variable Production PV est la seule cochée comme "déclencheur", afin d'être surveillée. Si je ne me suis pas trompé, mas scène se traduit comme ceci : Citation SI de la variable Production PV passe à une valeur supérieure ou égale à 5 , ET que la variable NotifPVEnvoyee est égale à 0, ALORS la variable NotifPVEnvoyee est modifiée à la valeur 1 ET la notification Production PV est envoyée à mon iPhone. Lorsque je presse le bouton "play" de la scène (ce qui par définition ignore les conditions IF, et execute d'emblée le THEN), j'ai bien ma variable NotifPVEnvoyee qui passe à la valeur 1 et la notification sur mon iphone et mon appleWatch. Je peux même le faire plusieurs fois; je reçois toujours la notification et la variable NotifPVEnvoyee reste à 1. Donc en mode manuel la partie THEN de ma scène est fonctionnelle. Mais en mode automatique, il ne se passe RIEN !!! Pour la facilité du test, j'avais modifié le déclenchement à 1kWh (au lieu de 5) pour que ça survienne déjà ce matin, et j'ai surveillé la production qui est passée de 0,00 à 0,2 puis 0,32 puis 0,6 puis 1,1, et là on est à 1,82 ! Je n'ai pas reçu la notification et la variable NotifPVEnvoyee est toujours à 0. A noter qu'une modification de variable manuellement dans le panneau des variables, n'est pas considérée par Fibaro comme un déclenchement. Ça je le sais, c'est connu. Je m'étais alors dit que peut-être la même chose est d'application si la modification de la variable provient d'un script ? J'ai alors créé une petite scène qui se déclenche à une heure précise (13H10) et qui modifie la variable Production PV en lui donnant par exemple la valeur 12,34... Ça devrait être un bon déclencheur non ? Eh bien RIEN ! La variable Production PV a bien pris la valeur 12,34 à 13h10, mais je n'ai pas reçu de notification et NotifPVEnvoyee est restée à 0. Où est l'erreur ? Que faire? merci Fel-X Modifié le 3 décembre par fel-x
jojo Posté(e) le 5 décembre Signaler Posté(e) le 5 décembre Le 03/12/2024 à 15:04, fel-x a dit : jojo, ton stress est passé? problème résolu ? problème résolut après 2,5 j d'investigation, migration sur box de secours. J'ai passé ces 2.5 jours pour évaluer méthodiquement toutes les causes possibles, pour finalement trouver (presque par hazard) le coupable: la pile d'une vanne thermo à remplacer (normal que ça foute le brin dans tous le réseau z-wave ? - la pile avait seulement 110j (moyenne = 220j) et aucune alerte de pile faible...) => maintenant ok pour visite virtuelle par AnyDesk. Le 03/12/2024 à 15:04, fel-x a dit : mais j'ignore si tu peux la tester avec juste un module. je pourrais alors faire un test sur la box de prod (après tout, les environnements de prod sont là pour faire des tests réalistes) Le 03/12/2024 à 15:04, fel-x a dit : Je veux recevoir une notification baptisée "Production PV" dès que la production électrique de mes panneaux PV dépasse 5kWh. avec GEA (sous HC3) 30 seconde si tu traines ...
fel-x Posté(e) le 5 décembre Auteur Signaler Posté(e) le 5 décembre ok à priori vois-tu une erreur dans ma scène ci-dessus? Parfois quand on écrit soi-même un truc, et à force de le relire on en voit pas l'évidence... Alors un regard neuf dessus est bienvenu. Et je vais devoir apprendre le LUA si je passe à une HC3 ? Prochaine étape alors : je contacte Fibaro pour savoir s'ils peuvent garantir une trasnsition de HCL vers HC3 sans bug ni perte... et je préssens la réponse.
jojo Posté(e) le 5 décembre Signaler Posté(e) le 5 décembre Il y a 1 heure, fel-x a dit : à priori vois-tu une erreur dans ma scène ci-dessus? j'y regarderai ce pm. Il y a 1 heure, fel-x a dit : Et je vais devoir apprendre le LUA si je passe à une HC3 ? oui et non ; les scènes bloc existent toujours. Je n'ai aucune scène, mais que des Quick Apps (=QA), qui sont les successeurs des VD. Mais le LUA, c'est bcp plus simples que les scripts shell, et si tu maitrises le php, avec Google, tu n'auras aucun soucis en LUA. Il y a 1 heure, fel-x a dit : rochaine étape alors : je contacte Fibaro pour savoir s'ils peuvent garantir une trasnsition de HCL vers HC3 sans bug ni perte en effet, il faut qu'i:s valident qu'une migration est possible (précise bien la version du FW de ta HCL)
jojo Posté(e) le 5 décembre Signaler Posté(e) le 5 décembre tes explications sont super claires et tes tests super ! Je n'ai rien vu comme erreur (à mes yeux) dans ta scène. Et as-tu essayé sans la condition sur la variable NotifPVEnvoyee ? ou en la gardant et la cochant également comm trigger ?
fel-x Posté(e) le 5 décembre Auteur Signaler Posté(e) le 5 décembre Merci d'avoir regardé de plus près. Oui j'ai bien sûr testé avec une seule condition (sur la variable Production PV) en supprimant la seconde (variable NotifPVEnvoyee). Que ce soit en cochant la case trigger ou non pour la variable Production PV, ça ne marche pas. Idem en laissant les 2 conditions et en essayant les 4 combinaisons de cases triggers (2 cochées, 0 cochée, 1 cochée et l'autre pas, 1 pas cochée et l'autre oui) Suis-je en droit de conclure que qu'une variable ne peut pas servir de trigger sur HCL ? Et à qui poser la question . Support Fibaro ? Merci jojo
fel-x Posté(e) le 6 décembre Auteur Signaler Posté(e) le 6 décembre Bon alors j'ai trouvé la solution. Ce n'est écrit nulle par dans les documentations ou les forums mais : Une variable PEUT servir de TRIGGER à une scène sur HCL MAIS... le changement de variable n'est détecté QUE SI il est provoqué par une scène. Le changement manuel dans le panneau des variables ou un appel http pour changer la valeur de la variable, NE SONT PAS pris en compte. exemple de script qui donne la valeur 4321 à la variable "TEST_VARIABLE" : curl --user email:password -X PUT -H "Content-Type: application/json" -d "{\"name\":\"TEST_VARIABLE\",\"value\":\"4321\"}" "http://BOX_IP/api/globalVariables/TEST_VARIABLE" > /dev/null 2>&1 Voilà. Ca évitera à d'autres de perdre du temps à essayer. Solution de contournement : J'ai modifié mon script bash pour qu'il change les valeurs des variables, puis vérifie toutes les conditions, et le cas échéant, active la scène qui m'envoie une alerte. A nouveau il faut savoir que c'est un appel http à cette scène, ce qui fait que peu importe les conditions 'IF', seul le 'THEN' sera exécuté. Je peux donc décocher tous les triggers et laisser cette scène en mode MANUEL : J'aurais pu mettre n'importe quoi comme condition dans cette scène; mais pour la propreté j'ai laissé les mêmes conditions qui sont vérifiées par le script bash : # Récupération de la variable NotifPVEnvoyee depuis Fibaro notif_envoyee=$(curl --silent --user user:password "http://BOX_IP/api/globalVariables/NotifPVEnvoyee" | jq -r '.value') # Vérification si la notification a déjà été envoyée if [ "$notif_envoyee" == "0" ] && (( $(echo "$prod >= 5" | bc -l) )); then # Activation de la scène 157 sur Fibaro pour envoyer la notification curl --user user:password -X POST "http://BOX_IP/api/scenes/157/action/start" > /dev/null 2>&1 fi Bref, c'est faisable. Je reste persuadé que un Raspberry + une HCL peuvent contourner toutes les limites ;-) A+ Fel-X
jojo Posté(e) le 8 décembre Signaler Posté(e) le 8 décembre Le 06/12/2024 à 13:03, fel-x a dit : Je reste persuadé que un Raspberry + une HCL peuvent contourner toutes les limites ;-) si on y ajoute également du @fel-x ...
Messages recommandés