Aller au contenu

Bebitoo

Membres confirmés
  • Compteur de contenus

    139
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Bebitoo

  1. Bonjour, Mon premier projet domotique concerne mes volets... battants. Au préalable, il me faut motoriser ces volets. J'étudie actuellement la solution Wibat, de Wimove, avec les moteurs dissimulés dans les gonds. Voici une vidéo de présentation : https://www.youtube.com/watch?v=7vviHmnx454 Mon problème est qu'avant de me lancer (le budget est conséquent), je veux être sà»r que je parviendrai ensuite à domotiser (i.e. créer des scenarii d'ouverture / fermeture des volets au lever / coucher du soleil, par exemple). Les moteurs existent en version filaire, et en version radio. Mais la version radio est dans un format propriétaire. J'envisage donc les moteurs avec interrupteurs filaires, et des modules Z-Wave. Et la je sèche, et me demandais si quelqu'un ici voudrait bien me donner un coup de main. Quel module Z-Wave (Fibaro, de préférence) me faut-il ? je crois comprendre que ce serait un double relay switch (FGS-221), êtes-vous également de cet avis ? et comment le brancher ? Et je crois comprendre q'un module universel (FGBS-321) ne conviendra pas, car ce n'est qu'un capteur, et que donc le seul moyen d'avoir quelque chose en sortie est d'avoir quelque chose sur l'entrée associée, impossible de commander une sortie depuis la box, est-ce bien ça ? Je ne parviens pas à choisir un module et dessiner un schéma de câblage complet seul (ah comme les cours d'électricité de collège/lycée me paraissent loin). Est-ce qu'une bonne âme pourrait me dessiner (ou me donner des instructions pour que je dessine) ce schéma de câblage ? Je joins la notice technique du moteur. Les notices techniques des modules Fibaro sont accessibles ici : Manuel utilisation FGS-221.pdf Universal Sensor FGBS321 v12 ENG.pdf Wimove Wibat, notice de pose.pdf
  2. Bonjour sebueno, Sur ta photo, on vois que les gonds sont (alignés et) très proches du bord. Trop proches, je pense. Il écarter les gonds, et allonger les pentures (les ferrailles plates fixées sur les volets). "60 mm" c'est la préco du vendeur de moteurs (me souviens plus) ? Je sais que moi, je suis un peu en dessous des précos, et on a galérer à cause de ça : mes murs sont en briques, et la brique cassait jusque dans l'angle. Par contre, si tu écarte les gonds du bas, faut écarter pareil les gonds du haut : sinon, les volets ne pourront pas s'ouvrir (ce sont là les dures lois de la physique ).
  3. Bebitoo

    Redémarrages aléatoires HC3

    Bonjour, J'ai une HC3 depuis quelques semaines, et monte en compétence et bascule mes modules de la HC2 à la HC3, doucement. L'une de mes premières scènes déployée est celle de @mprinfo (merci :)) notifiant du démarrage de la HC3. Eh bien... cette scène me permet de m'apercevoir que ma box redémarrage parfois... toute seule. Je dirais que ça m'arrive 1 fois ou 2 par semaines. Est-ce que d'autres possesseur de HC3 sont dans le même cas ? Merci d'avance.
  4. Bebitoo

    Support Gea

    Bonjour, J'avais raté cette portion de la doc Si ça peut en aider d'autres, la voici (en v7.36) : -- "Time" : Teste l'heure courante -- SYNTAXE : {"Time", <from>, <to>} -- CONDITIONS : GEA.add( {"Time", "22:00", "23:00"} , 30, "", {ACTIONS} ) -- Ne vérifie QUE si nous sommes dans la tranches horaires \\ Check only if in schedule GEA.add( {"Time", "07:00", "08:00"}, {"Time", "22:00", "23:00"}, 30, "", {ACTIONS} ) -- Ne vérifie QUE si nous sommes dans LES tranches horaires \\ Check only if in THE schedule GEA.add( {"Time", "Sunrise+30", "Sunset-15"} , 30, "", {ACTIONS} ) -- Si tranche horaire : lever du soleil + 30 mins, coucher du soleil - 15 minutes \\ Check only if Sunrise more than 30 mins and sunset less 15 mins GEA.add( {"Time", "Sunrise>07:30", "Sunset<21:00"} , 30, "", {ACTIONS} ) -- Si tranche horaire : AU lever du soleil SI après 7h30, sinon à 7h30; Au coucher du soleil SI AVANT 21h SINON à 21h \\ Check if Sunrise is after 7:30 otherwise 7:30 ; check if Sunset is before 21:00 otherwise 21:00 GEA.add( {"Time", "Sunrise-10>07:30", "Sunset+10<21:00"} , 30, "", {ACTIONS} ) -- Si tranche horaire : AU lever du soleil moins 10 minutes SI après 7h30, sinon à 7h30; Au coucher du soleil plus 10 minutes SI AVANT 21h SINON à 21h \\ Check if Sunrise less 10 minutes is after 7:30 otherwise 7:30 ; check if Sunset more 10 minutes is before 21:00 otherwise 21:00 GEA.add( {"Time", "22:00"} , 30, "", {ACTIONS} ) -- Équivaut à {"Time", "22:00", "22:00"} \\ Idem to {"Time", "22:00", "22:00"} -- ACTIONS : Ne peut pas être utilisé comme ACTION Et j'ai bien aimé la proposition de nasp, en exprimant l'horaire de fin également avec Sunrise, et un test. Du coup, j'ai ça : {"Time", "Sunrise - 15 > 07:00", "Sunrise > 07:15"} et cela fonctionne bien depuis quelques jours, avec actuellement (en hiver) une ouverture des volets vers 7:45. A confirmer (mais y'a pas de raisons) que cela continuera de fonctionner cet été, avec une ouverture à 7:00 seulement, bien que le le soleil se lève bien avant . Et il n'y a que sur les 15 minutes suivant l'ouverture des volets qu'un redémarrage de la box ou de GEA provoquerait une (nouvelle) ouverture des volets : ça va (et rien ne m'empêche de réduire cette durée). Merci pour ces aides collectives
  5. Bebitoo

    Support Gea

    Bonsoir, Oui, mais comment comprendre ce test dans l'heure de début et/ou de fin ? Je comprends qu'ainsi j'obtiendrais une ouverture des volets si je relance GEA entre 7:00 et 10:00, ou entre Sunrise et 10:00, mais comme tu le proposes dojo, je verrais cette partit plus tard. J'essaie. J'essaie aussi NB : d'après mes précédents tests, les espaces n'influent pas. J'ai d'ailleurs les règles suivantes, qui fonctionnent très bien : -- gestion de la variable globale Soleil GEA.add({"Time", "Sunrise - 15", "Sunrise" }, 0, "", {"Global", "Soleil", "levant" }, "Soleil : [levant] levé couchant couché ") GEA.add({"Time", "Sunrise" , "Sunset" }, 0, "", {"Global", "Soleil", "levé" }, "Soleil : levant [levé] couchant couché ") GEA.add({"Time", "Sunset" , "Sunset + 15"}, 0, "", {"Global", "Soleil", "couchant"}, "Soleil : levant levé [couchant] couché ") GEA.add({"Time", "Sunset + 15", "Sunrise - 15"}, 0, "", {"Global", "Soleil", "couché" }, "Soleil : levant levé couchant [couché]") Mais j'essaie sans espaces désormais. Résultats des tests demain matin
  6. Bebitoo

    Support Gea

    Bonjour, Je rencontre une difficulté à la mise en oeuvre d'une condition qui me parait totalement prévue et supportée par GEA. Je dois rater quelque chose. Je sollicite votre aide. Je souhaite ouvrir mes volets, le matin, lorsque les 2 conditions suivantes ont remplies : il est l'heure le soleil se lève (NB : ma traduction de "soleil levant", en GEA, est : Sunrise - 15) Par exemple, un jour de semaine, l'heure qui me va est 7h. Eh bien, je souhaite que : l'été, les volets s'ouvrent à 7h seulement - bien qu'il fasse jour depuis 6h30 par exemple (pour ne pas être réveillé en avance), l'hiver, les volets s'ouvrent au lever du soleil, vers 7h30 par exemple - pour préserver l'intimité (volets ouverts, lumière allumée, mes voisins voient super chez moi) le tout sans qu'une relance de GEA ou de la box, en journée, n'ouvre ou ne ferme les volets* (GEA est en autostart), et sans changer la condition entre les saisons, bien sûr * j'ai une règle similaire, pour fermer les volets le soir : dès qu'il fait nuit (l'hiver) ou à 21h Il y a quelques mois (c'était quand je testais GEA sur ma HC3, et avait encore toute ma domotique sur la HC2), j'avais testé avec succès (pour autant que je me souvienne), la condition suivante : {"Time", "07:00", "Sunrise - 15 > 07:00"} mais actuellement, elle m'ouvre les volets à 7h00 J'avais un peu galéré à aboutir à cette condition, et étais noté : -- NB : ne semblent pas fonctionner ou produire le résultat attendu -- les syntaxes sans heures de début et de fin - ex : {"Time", "Sunrise - 15 > 07:00"} -- les créneaux horaires sans test sur l'heure de levé/couché du soleil - ex : {"Time", "Sunrise - 15", "07:00"} Qu'est-ce que je rate ?
  7. Bebitoo

    Petits bug de la HC3

    Bonjour, C'est fait. Merci de m'avoir fourni l'adresse
  8. Bebitoo

    Petits bug de la HC3

    Bonjour, Pour info, idem chez moi : HC3 depuis février, mais seulement (je dirais) 5% de la bascule effectuée (quelques modules et un peu de code), pour essayer, mais la HC2 est toujours en service, car j'ai des reboot intempestifs de temps en temps.
  9. @Lazer, en faisant une passe pour remettre les photos qui avaient disparues de mes messages, j'ai réalisé que je n'avais pas répondu à cette question, désolé. Les moteurs à l'arrêt sont assez forts : - pour garder les volets en position ouverte, sans devoir les attacher avec les loquets, - et les garder en position fermée, sans devoir verrouiller avec la crémone. Mais ils ne sont pas verrouillés "aussi fort" qu'avec une crémone (bien ajustée). Un voleur réussira probablement à glisser ses doigts derrière la partie en recouvrement, pour tirer un grand coup... et tout arracher. Bon, ce faisant, il fera du bruit. Avec la crémone verrouillée il devrait casser quelques lamelles (mes volets sont persiennés) pour glisser une main et déverrouiller la crémone. Ce serait bruyant également (plus ? moins ?). Lors d'absence plus longues (incluant une nuit d'absence), je verrouille les crémones, et obtient ainsi (j'ai l'impression) une meilleure sécurité : crémone + moteurs. Et (dispositif de sécurité imparable) : je continue de croiser les doigts
  10. Bonjour @ablyes, Oui J'ai vu que les photos de mes précédents posts ne s'affichaient plus (sauf à cliquer dessus), donc peut-être n'a-tu pas lu tout ce fil de discussion. Je viens de prendre le temps de modifier tous mes messages pour ré-inclure les photos. Je te conseille à minima la lecture du message suivant : Le montage est simple (surtout, maintenant qu'il est connu à l'époque je questionnais le fabriquant des motorisations, qui disait ne pas connaitre et pouvoir s'engager sur la domotique, et posait des questions sur ce forum et à Fibaro directement, où personne ne connaissais mes motorisations). Il est durable aussi : ça fait maintenant 7 ans qu'il fonctionne. Et voir le massage de @Lazer ci-dessus : Mes doubles switch Fibaro sont alimentés en 24V ! Je pense aussi qu'il n'y a pas de 230V au niveau du bouton filaire : sans domotique, et n'est branché qu'au module de gestion des 2 volets (que tu appelles switch dans ton message précédent), qui est alimenté en 24V, et avec domotique, il est branché sur le double switch Fibaro, lui-même branché sur le module de gestion et le 24V. Moi je n'ai pas placé le double switch Fibaro derrière l'interrupteur, mais dans une boite étanche placée dans les combles perdus, au dessus de la paire de volets. - Cette boite contient le double switch Fibaro et le mode de gestion des volets (et le câblage entre les deux). - En entrée de cette boite : 2 fils qui apportent le 24V. - En sortie de cette boite : les 3 fils qui descendent vers l'interrupteur (et éventuellement un repiquage des 2 fils d'entrée pour amener le 24V à la boite suivante).
  11. Bonjour, Je ne suis pas sûr de comprendre la question Si c'est pourquoi pas des Qubino, au lieu des Fibaro... je ne connais pas les Qubino, ne sait pas quels avantages ils peuvent avoir sur les Fibaro. Les Qubino existaient déjà à l'époque ? Je suis partis sur des Fibaro, après avoir fait le choix de Fibaro pour la box (une HC2). Et les modules fonctionnent très bien encore aujourd'hui (7 ans après), et je devrais pouvoir les basculer sur ma nouvelle HC3 sans problèmes. Donc plutôt content de mon choix. Si c'est pourquoi pas des 24v... mes modules (Fibaro) sont alimentés en 24V. J'ai 1 transfo (1 seul) pour alimenter mes 5 motorisations de volets, et mes 5 modules Fibaro. Si c'est pourquoi pas uniquement des Qubino 24V sans les modules des moteurs des volets battants... chaque paire de moteur (1 moteur par volet battant) est fourni avec 1 (et un seul) module qui gère le timing d'ouverture des 2 battants (le volet avec recouvrement s'ouvre en premier et se ferme en dernier, une fois la procédure d'apprentissage/initialisation réalisée). Ils étaient inclus ; je ne pense pas qu'on puisse acheter les moteurs sans. Il "suffit" de brancher des relais double switch dessus pour lancer les commandes d'ouverture et fermeture, en gardant les interrupteurs d'origine fonctionnels. Un montage sans les modules des moteurs ne diminue probablement pas les coûts, et ajoute des em...m3rd3s (à supposer que c'est possible). C'est sans intérêt je pense. Si j'ai répondu à côté, précises la question SVP.
  12. Bebitoo

    Quick App : Arrosage Automatique

    Excellent merci ! Je regardais de mon côté en parallèle, et : API OpenWeatherMap : la version gratuite de l'API semble permettre d'obtenir le volume de précipitations de la veille... mais pas pour ma géolocalisation (pas de champ current.rain dans la réponse, lors de mon test) Weatherbit : sauf erreur, les données historiques sont soumises à souscription (et c'est pas donné). AccuWeather : le endpoint get24HoursConditionsByLocationKey semble être là pour ça (une fois sa "location key" récupérée, par requête sur un autre endpoint), mais n'ai pu tester encore : je me suis inscrit, mais n'ai pas reçu ma clé d'usage de l'API. Modification du QA Un fork de la toute version 1.2, en utilisant pour J-1 le volume de précipitation prévisionnel obtenu la veille pour J (et ainsi de suite pour J-2) ? Ou bien (nouvelle idée) : création un autre Quick App simulant le pluviomètre Netatmo - valorisé à partir de l'une des méthodes ci-dessus, et indiquer son ID dans les paramètres du QA Arrosage ? Comme ça, pas de motif / fork du QA arrosage Je continue de fouiller dès que possible. --- David
  13. Bebitoo

    Quick App : Arrosage Automatique

    Bonjour, Un peu la même question que un peu plus haut : faute de pluviomètre (Netatmo), que conseilleriez-vous ? Une API Web qui donne la quantité d'eau sur les deniers jours (en mm/jour) ? Modifier le QA pour mémoriser, chaque jour, la prévision WeatherBit du lendemain ? Merci d'avance. --- David PS : je télécharge et installe en parallèle
  14. En effet Et je viens de les enlever. Ce Quick App en l'état est bien pour des ouvertures et fermetures totales, pour éclairer / assombrir la pièce lorsqu'on en ressent le besoin. Mais il reste basique. Le slider ne fonctionne pas (sauf si positionné à 0 ou 100), et il semble mal réagir sur des enchainements de commandes (c'est peut-être à cause des mes setTimeout pour mettre à jour les icônes seulement à la fin des ouvertures/fermetures). J'y reviendrais...
  15. Bonjour, C'est une super idée l'interrupteur branché sur le double relais lui même branché sur le KLF-050 du vélux : c'est aussi pratique que la télécommande (qu'on laisse toujours au même endroit), et les "retours d'état" deviennent fiables. Mais j'ai tout ce petit matériel dans les combles perdus, donc ça demanderait un peu de travail à passer des câbles. Sinon, pour le QA volet, je me suis lancé, et j'ai fais quelque chose de très simpl(ist)e. J'utilise le modèle Fibaro d'un roller shutter. Le Quick App est ainsi listé comme un volet dans les IHM Fibaro (cool), et l'icône est bien mis à jour. Alexa le reconnait, et le rideau obéit aux commandes "Alexa, ouvre/ferme le rideau du vélux". Un retour d'état (ou plus exactement une mémorisation de la dernière commande reçue, ou de la position actuelle du rideau) est facilement réalisable. Par contre je ne gère pas les positions intermédiaires pour le moment (je n'en ai pas besoin, mais il le faut pour que les IHM avec les sliders fonctionnent), et sauf erreur les boutons que j'ai créé... ne servent à rien -- Roller shutter type should handle actions: open, close, stop -- To update roller shutter state, update property "value" with integer 0-99 function QuickApp:open() fibaro.call(self.openDeviceId, "turnOn"); fibaro.setTimeout(self.openDelay, function() self:debug("roller shutter opened") self:updateProperty("value", 99) end) end function QuickApp:close() fibaro.call(self.closeDeviceId, "turnOn"); fibaro.setTimeout(self.closeDelay, function() self:debug("roller shutter closed") self:updateProperty("value", 0) end) end function QuickApp:stop() fibaro.call(self.openDeviceId, "turnOff"); fibaro.call(self.closeDeviceId, "turnOff"); self:debug("roller shutter stopped ") end -- Value is type of integer (0-99) -- NB : bizaremment, cette méthode elle celle invoquée par Alexa, avec les valeurs : -- 0 sur "Alexa, ferme le rideau du vélux", et -- 99 sur "Alexa, ouvre le rideau du vélux" function QuickApp:setValue(value) if (value <= 0) then self:close() elseif (value >= 99) then self:open() else self:debug("roller shutter set to: " .. tostring(value)) self:updateProperty("value", value) end end -- To update controls you can use method self:updateView(<component ID>, <component property>, <desired value>). Eg: -- self:updateView("slider", "value", "55") -- self:updateView("button1", "text", "MUTE") -- self:updateView("label", "text", "TURNED ON") -- This is QuickApp inital method. It is called right after your QuickApp starts (after each save or on gateway startup). -- Here you can set some default values, setup http connection or get QuickApp variables. -- To learn more, please visit: -- * https://manuals.fibaro.com/home-center-3/ -- * https://manuals.fibaro.com/home-center-3-quick-apps/ function QuickApp:onInit() self:debug("onInit") -- Les id des devices déclenchant l'ouverture et la fermeture du rideau de vélux, -- et les délais d'ouverture et fermeture sont des variables de ce Quick App ; -- on récupère leur valeurs... self.openDeviceId = tonumber( self:getVariable("openDeviceId" ) ) self.closeDeviceId = tonumber( self:getVariable("closeDeviceId") ) self.openDelay = tonumber((self:getVariable("openDelay" ) - 2)*1000) self.closeDelay = tonumber((self:getVariable("closeDelay" ) - 2)*1000) end -- Release Notes -- 03/05/2021 -- Première version d'un Quik App "rideau vélux" -- de type Roller Shutter => il apparait bien en tant que volet dans les IHM Fibaro -- ToDo : gérer les positions intermédiaires ?
  16. @Lazer, Tu listes (vous listez ?) en première page, dans la catégorie "à faire" : Je suis fortement et doublement intéressé - "doublement", parce que j'ai cet exact besoin (1 volet roulant sur un vélux avec un KLF-050 et un double-switch), mais aussi des volets battants motorisés avec également des double-switch, - "fortement" parce que c'est la fonctionnalité majeure en domotique chez moi : la gestion des volets (5 battants, 2 roulants, et 1 rideau de vélux). J'ai envie de me lancer dans la création de QA ad'hoc, et me demandais si tu pouvais me conseiller en amont - histoire que j'arrive plus rapidement et plus facilement à un bon résultat, et qui serait pour pour toi au moins, je l'espère, une v1. Es-tu d'accord ? Perso, j'en suis à prendre connaissance de la HC3 et des QA, mais par la pratique (autrement dit : je me suis amusé, jusque maintenant, avec ma HC3 toute neuve). Prochaine étape : lire les documentations qui vont bien sur les QA, comprendre le fonctionnement et l'intérêt de QA enfants, et décider si c'est utile dans ce cas (pour la télécommande de centralisation ?). Ce que j'ai aujourd'hui, sous HC2 : des modules virtuels comme celui-ci : Autrement dit, pour chaque volet battant et pour le rideau du vélux : - Un bouton Ouvrir (respectivement Fermer) qui fait simplement un call "turnOn" sur l'entrée du double switch qui ouvre (resp. ferme). - Notez l'icône du VD lui-même : volets ni ouverts ni fermés avec un point d'interrogation par dessus. C'est pour l'init, il n'est affiché qu'au redémarrage de la box, le temps d'ouvrir ou de fermer. - Et notez l'icône des boutons : volets mi-ouverts mi-fermés. - Et j'ai également une scène (unique) qui surveille les ouvertures et fermetures de ces volets battants, et (entre autres) change l'icône du VD pour un icône représentant les volets ouverts (respectivement : fermés) à l'ouverture (resp. fermeture). - Enfin, je cache les doubles switch de l'interface. Au final, j'obtiens : - Non pas un retour d'état au sens strict du terme, mais une mémorisation de la dernière commande réalisée (ouverture ou fermeture) - ce qui correspond, quasi systématiquement, à la position réelle des volets. - Une animation assez cool (raison d'être des icônes) : pour des volets ouverts par exemple (l'icône représente les volets ouverts), lorsque je clique le bouton Fermer, l'icône change d'abord pour les volets mi-ouverts mi-fermés (c'est l'icône du bouton) puis par l'icône représentant les volets fermés (une fois que la scène s'est déclenchée) . Ce qu'il manque : - La possibilité de "typer" ces VD comme des volets, pour bénéficier des avantages inhérents dans les IHM Fibaro : voir en un coup d'oeil si tous les volets sont fermés, pouvoir les ouvrir tous d'un coup, etc. Chose qui devrait être possible avec les QA, n'est-ce pas ? - Pour le rideau du vélux, un icône (et une mémorisation de la position) qui ne correspond pas toujours avec la réalité, car l'utilisation de la télécommande d'origine ne me mets par à jour l'icône du VD (contrairement à l'usage des boutons des volets battants et roulants). Mais là, c'est lié au montage double switch et KLF-050, rien de mieux n'est possible (sauf erreur). @Lazer, comment vois-tu la conversion en QA de tels VD ? Merci d'avance. --- David
  17. Bebitoo

    Redémarrages aléatoires HC3

    Bonjour @Lazer Et désolé pour la réponse tardive (je n'ai pas été notifié, pour une raison que j'ignore). J'ai moi aussi très peu de charge sur cette HC3, étant au tout début de la migration depuis la HC2 : 3 devices Z-Wave, 2 de plus encore sur la HC2 et "simulés" par QA, 2 caméras, et 5 QA, trouvés ici principalement, parfois bruts (uniquement paramétrés), parfois customisés : GEA, Karotz, Jour Férié, iCalendar, Onduleur. Pas de reboot depuis mon post initial, il y a une semaine (comme quoi ). Pourtant, aucun changement ces derniers jours (par manque de temps). Je reste attentif, et poste ici les nouveaux éléments. N'hésitez pas à en faire autant --- David
  18. Bebitoo

    [HC3] Gestion du lapin Karotz

    Bonjour @manuxenon, Oui, j'ai résolu ce point pour moi, en même temps que j'ai un peu modifié le QA de @Dragoniacs pour le prendre en main et le mettre "à ma sauce" (et du coup, les noms des méthodes et variables du code ci-dessous ne correspondent peut-être pas au QA original - mais ce sont les principes qui importent). Comme le dit @Dragoniacs, le cas d'usage n°1 est d'appeler le code TTS depuis... n'importe où . Pour cela, le QA du lapin expose une fonction Parler qui prend en argument la phrase à prononcer : function QuickApp:Parler(phrase) self:setVariable("TTS", phrase) -- mémorisation de la phrase à prononcer self:openKarotzTTS(phrase) end et que l'on appelle, depuis GEA par exemple, avec : GEA.add(true, 0, push, {"QuickApp", id["Lapinou"], "Parler", "G.E.A. est actif sur votre HC3"}, "Démarrage GEA") Et pour les tests ou vérification de bon fonctionnement (cas d'usage n°2), le QA du lapin dispose d'un bouton configuré pour appeler une fonction onParler lorsque relâché, dont le code est : function QuickApp:onParler() -- on récupère le contenu de la variable TTS, pour la faire prononcer... phrase = self:getVariable("TTS") self:Parler(phrase) end J'ai donc : cas d'usage n°2 = clic sur bouton du QA : onParler, qui récupère la valeur courante de la variable TTS, pour la passer en argument de Parler. cas d'usage n°1 = TTS depuis n'importe où : Parler qui, pour info ou analyse/debug si besoin, mémorise la phrase passée en argument dans la variable TTS (oui, c'est ridicule dans le cas d'usage 2 : elle y est déjà ), puis appelle la fonction "interne" pour faire prononcer la phrase au lapin sous OpenKarotz (nécessite la construction de l'URL tts de OpenKarotz, raison pour laquelle je l'ai nommé OpenKarotzTTS). Le code de OpenKarotzTTS (largement inspiré de celui de @Dragoniacs - encore merci ) : function QuickApp:openKarotzTTS(text2speech) tools:Message("trace", text2speech) -- voice voice = "1" -- text text = text2speech text = string.gsub(text, "\n", "\r\n") text = string.gsub(text, "([^%w %-%_%.%~])", function (c) return string.format("%%%02X", string.byte(c)) end) text = string.gsub(text, " ", "+") -- cache nocache = 0 -- ToDo: utiliser le cache ? -- URI local URI = "tts?voice="..voice.."&text="..text.."&nocache="..nocache -- appel self:openKarotz(URI) end
  19. Bebitoo

    Numéro de série / Date d'Achat des box HC3, HC2 et HCL

    HC3-00015897 Commandée le 28/01/2021 (hors stock - expédiée le 05/02)
  20. Bebitoo

    [HC3] Gestion du lapin Karotz

    Bonjour, Sauf erreur, le bouton TTS (qui doit faire prononcer au lapin le texte de la variable TTS du QA) ne fonctionne pas, et fait crasher le QA, qui se relance ensuite (et le lapin fait faire un tour à ses oreilles). Je vois dans la console : [09.03.2021] [19:03:55] [TRACE] [QA_KAROTZ_31]: UIEvent: {"elementName":"btnTTS","values":[],"eventType":"onReleased","deviceId":31} [09.03.2021] [19:03:55] [DEBUG] [QA_KAROTZ_31]: ./include/main.lua:65: attempt to concatenate a table value (field 'TTS') [09.03.2021] [19:03:55] [ERROR] [QUICKAPP31]: QuickApp crashed [09.03.2021] [19:03:55] [ERROR] [QUICKAPP31]: Unknown error occurred: handleJsonRpc [09.03.2021] [19:04:00] [TRACE] [QA_KAROTZ_31]: QuickApp OpenKarotz - Initialization [09.03.2021] [19:04:01] [DEBUG] [QA_KAROTZ_31]: onAction: {"deviceId":31,"args":[],"actionName":"onReset"} [09.03.2021] [19:04:01] [DEBUG] [QA_KAROTZ_31]: onAction: {"deviceId":31,"args":[],"actionName":"onSPEED"} Par contre, aucun soucis pour le faire parler depuis le QA GEA, avec la ligne suivante : GEA.add(true, 0, "test TTS OpenKarotz", {"QuickApp", id["MonOpenKarotz"], "onTTS", "Bonjour. Je suis la voix de votre HC3 !"}, "test TTS OpenKarotz") Suis-je le seul ? Bon, après rien de très grave, parce que l'usage principal (voire unique) est depuis d'autre QA ou scènes Edit: le code qui pose problème : function QuickApp:onTTS(message) self.TTS = self:getVariable("TTS") if message ~= nil then self.TTS = message end tools:Message("debug","Enonciation de la phrase : "..self.TTS) local voice = "1" self.TTS = string.gsub(self.TTS, "\n", "\r\n") self.TTS = string.gsub(self.TTS, "([^%w %-%_%.%~])", function (c) return string.format("%%%02X", string.byte(c)) end) self.TTS = string.gsub(self.TTS, " ", "+") local URL = "http://"..self.IP_KAROTZ.."/cgi-bin/tts?voice="..voice.."&text="..self.TTS:gsub(" ", "+").."&nocache=0" if (self.TTS ~= "") then self:sendKarotz(URL) end end Sauf erreur, l'idée est que ce soit le même code qui soit exécuté lorsque appelé depuis l'extérieur, ou lors d'un clic sur le bouton interne du QA (avec l'usage de la variable TTS). Mais dans le cas interne, le self:getVariable("TTS") renvoie une table (et non un string) qui pose problème à la concaténation avec "Enonciation de la phrase : " pour le message de debug, et pour le gsub 2 lignes après, etc...
  21. Bebitoo

    [HC3] Gestion du lapin Karotz

    Et moi qui me disais que j'étais peut-être l'un des derniers à avoir l'un des ces 'ti lapin dans la famille, et qu'il (elle, c'est une fille ) pourrait être "le thème" mon premier QA... Non... je ne suis pas déçu, super content, au contraire ! Merci Je teste de ce pas ! Et je m'exercerai aux QA plus tard...
  22. Bebitoo

    Petits bug de la HC3

    Après avoir vidé le cache : Pour info : mon navigateur est Safari, sous MacOS. Je n'ai pas la HC3 depuis bien longtemps, mais ce vidage de cache y a fait. Merci
  23. Bebitoo

    Support Gea

    Mais ou est-elle, cette doc ? Je suis débutant en GEA, sous la HC3 (avec le QA de Lazer en v7.11). J'ai trouvé : la page du QA : https://www.domotique-fibaro.fr/topic/14651-quick-app-gestionnaire-dévénements-automatique-gea-pour-hc3/, qui ne documente que les différences/améliorations par rapport à la HC2, et référence le topic du support et le topic faisant référence pour la syntaxe GEA, qui est en fait... le précédent topic de publication du GEA, en v6.13 : https://www.domotique-fibaro.fr/topic/11421-gestionnaire-devénements-automatique-gea-–-version-613/, qui lui documente aussi les différences par rapport aux versions précédentes (dont les conditions Time, Days, Dates, DST, NODST à placer désormais dans les conditions, et non dans les actions), propose au téléchargement le fichier syntaxe_GEAV6_11.lua <= je comprends que c'est la doc la plus à jour, et, dans les posts suivants, apporte également des éléments documentaires... de ce topic, j'ai rebondi sur celui de la version précédente (v5) : https://www.domotique-fibaro.fr/topic/1082-gea-gestionnaire-dã©vã©nements-automatique/, qui contient également des éléments documentaires très utiles, le topic de support : https://www.domotique-fibaro.fr/topic/1211-support-gea/, qui est super pour obtenir de l'aide, mais qui (sauf erreur : je n'ai pas parcouru ses 450 pages :)) ne contient pas de doc le topic de showroom : https://www.domotique-fibaro.fr/topic/2143-showroom-configs-gea/, super pour se donner des idées de quoi faire, et comprendre ce que ça peut faire, mais... pas de doc, et souvent les conditions Time etc. sont placées dans les actions, "à l'ancienne" (normal) j'ai vu passer également (sur l'un des topics ci-dessus) l'information du Wik sousi https://gea.piccand.me, avec la mention qu'il n'est pas toujours accessible... et en effet, je n'ai pas encore réussi à l'afficher je suis aussi tombé sur https://github.com/sjauquet/GEA, https://blog.domadoo.fr/guides/fibaro-hc2-gestionnaire-evenements-automatiques-gea/, https://spiccand.wordpress.com/2014/07/21/gestionnaire-devenements-automatique-gea/ Pour connaitre/comprendre la signature de la méthode, j'ai utilisé le topic de la v5 : Condition simple : GEA.add(<condition>, <durée en secondes|-1>, <message a notifier>[, <options>]) Exemple : GEA.add(100, 10*60, "Lampe allumée de puis plus de 10mn, on l'éteint", {{"turnOff"}}) Condition multiple : GEA.add( { <condition_principale>[, <condition2>[, ...]] } , <durée en secondes|-1>, <message a notifier>[, <options>]) Exemple : GEA.add( { 100, {"Global", "JourNuit", "Nuit"} } }, 10*60, "Lampe allumée de puis plus de 10mn ET la variable global JourNuit indique Nuit alors on éteint la lampe", {{"turnOff"}}) et j'ai été voir directement le code de la dernière version v7.11, et me suis noté : GEA.add(condition, duration, message, actions, log) J'ai réussi quelques conditions (mais n'ai pas bien compris quand saisir des durées à 0 ou -1), n'ai pas fait encore grand chose en actions (normal, je commence par les conditions), utilises bien les notifications (push et email), et ne sait pas encore trop quoi logger (j'ai l'impression que ça log que les conditions soient remplies ou non). Bref, c'est un super taf que vous apportez à la communauté (et j'espère que ce message pourra aider des débutants comme moi - c'est la seule contribution que je puisse apporter pour le moment sur le GEA). Mais il est pas super facile de "renter dans tout ça", je trouve Est-ce que j'ai raté quelque chose qui me faciliterait l'apprentissage de GEA ?
  24. Bebitoo

    Petits bug de la HC3

    Bonjour, Je ravive un peu ce thread avec des bugs d'affichage. Voici un exemple (c'est la seconde page d'inclusion d'un module Nice, l'écran le pire constaté jusqu'à ce jour) : Des manques sur l'internationalisation (i18n) ? C'est comme si l'IHM devait afficher (par exemple) la valeur de la variable settings.devices.addNiceBindingModal.buttons.bindMode, mais celle-ci n'est pas définie, alors l'IHM affiche le nom de la variable. Je suis en v5.050.13. Et en anglais. J'ai un peu cherché sur le forum, mais n'ai rien trouvé. Suis-je le seul ? Merci d'avance.
  25. Bebitoo

    Support Gea

    Bonjour @Lazer, Je suis également sur la dernière version stable (v5.050.13), je ne prends pas le temps/risque de jouer avec les betas. D'ailleurs, existe-t-il un moyen que l'IHM ne nous notifie pas d'une nouvelle version beta disponible ? Je ne pense pas non plus que mes quotes ou backquotes puissent avoir participer au plantage de ma HC3. Le but de ma remarque était de dire que je suis sûr que le code que j'ai copié collé précédemment est celui qu'exécutait GEA au moment du plantage. Et il contient peut-être autre chose de douteux ?
×