-
Compteur de contenus
14 825 -
Inscription
-
Dernière visite
-
Jours gagnés
197
Tout ce qui a été posté par jojo
-
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
action GEA à exécuter au démarrage de GEA (= démarrage box ou sauvegarde config GEA) Je me posais la question de quelle était la signification d'une durée de 0. Car dans la doc il est fait clairement mention que les durées doivent être : >0 -1 : si instantané et je viens de lire cette particularité (similaire à la particularité -1) GEA.add( {"Weather" , "WeatherCondition", "Cloudy"}, 0, "#value#", {ACTIONS} ) -- Ne vérifie QUE si la météo indique "Cloudy" ET retourne la valeur de "Weather" au démarrage de GEA (durée :"0") \\ Check only if Weather is Cloudy and return the value of the Weather si vous confirmez, je pense qu'il faudrait le préciser au début de la doc, là où on parle des durées -1 -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
afin de garder la même logique dans les instructions pour -- "PictureToEmail" - "PhotoToMail" : Envoi une capture d'une caméra à une adresse email ne rajouterait-on pas les synonymes suivants (partout Mail ou Email) -- "PictureToMail" - "PhotoToEmail" : Envoi une capture d'une caméra à une adresse email Sorry, @Lazer, ma proposition initiale de relecture de la doc n'avait pas pour objectif d'allonger ta ToDo list ... -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
je découvre cette super fonctionnalité : -- "HeatingThermostatSetpoint" : Teste/modifie la température de consigne de chauffage d'un thermostat -- SYNTAXE : {"HeatingThermostatSetpoint", <id_thermostat>, <temperature>} -- CONDITIONS : GEA.add( {"HeatingThermostatSetpoint+", 72, 21}, -1, "Consigne #value# trop chaude", {ACTIONS} ) -- Vérifie si la température de consigne du thermostat 37 est supérieure à 21 degrés ne faudrait-il pas (pour être exhaustif) ajouter ceci : GEA.add( {"HeatingThermostatSetpoint", 72, 21}, -1, "Consigne #value#", {ACTIONS} ) -- Vérifie si la température de consigne du thermostat 37 est égale à 21 degrés GEA.add( {"HeatingThermostatSetpoint+", 72, 21}, -1, "Consigne #value# trop chaude", {ACTIONS} ) -- Vérifie si la température de consigne du thermostat 37 est supérieure à 21 degrés GEA.add( {"HeatingThermostatSetpoint-", 72, 21}, -1, "Consigne #value# trop froide", {ACTIONS} ) -- Vérifie si la température de consigne du thermostat 37 est inférieur à 21 degrés GEA.add( {"HeatingThermostatSetpoint!", 72, 21}, -1, "Consigne #value# diffère de 21°C", {ACTIONS} ) -- Vérifie si la température de consigne du thermostat 37 est différente de 21 degrés si ces fonctionnalités existent, mais j'imagine que oui. EDIT2 : idem pour : ? -- "VariableQuickApp" - "VariableQA" : Teste/modifie une variable d'un QuickApp EDIT1 : du coup je me demand quelle est la différence entre ces 2 instructions : -- "HeatingThermostatSetpoint" : Teste/modifie la température de consigne de chauffage d'un thermostat -- "CoolingThermostatSetpoint" : Teste/modifie la température de consigne de climatisation d'un thermostat et si on ne pourrait pas rajouter simplement -- "ThermostatSetpoint" : Teste/modifie la température de consigne d'un thermostat qui soit synonyme des 2 autres, car : un thermostat n'a qu'un seul point de consigne (peut importe que ce soit un Heating ou Cooling thermostat) c'est le thermostat lui-même (donc pas GEA) qui prend les actions nécessaires. j'imagine que c'est le même code GEA mettre en synonyme ne doit pas être si complexe que ça au niveau de GEA (ce sont "simplement" différentes façons d'appeler la même méthode/fonction. -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
quels sont les <keyAttribute> possibles ? -- "CentralSceneEvent" : Utilisable en déclenchement instantané uniquement -- SYNTAXE : {"CentralSceneEvent", <id_module>, <keyID>, <keyAttribute>} -- CONDITIONS : GEA.add( {"CentralSceneEvent", 72, 1, "Pressed"}, -1, "", {ACTIONS} ) -- SI le CentralSceneEvent du module 72 a pour keyID : 1 et pour keyAttribute "Pressed" -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
ne maîtrisant pas parfaitement vette fonction, je n'ose pas changer la doc sans confirmation : -- "Transpose" : Transpose les conditions -- SYNTAXE : {"Transpose", {"valeurs_sources"}, {"valeurs_attendues"}, {"Valeurs à transposer"}} -- CONDITIONS : GEA.add( {"Transpose!", {true, false}, {"allumée", "éteinte"}, {"TurnOn", 73}, ""}, 0, "La lampe est #value[1]#") -- Si 73 est true, le message retourné sera : "La lampe est allumée" // Si 73 est false, le message retourné sera : "La lampe est éteinte" exemple à remplacer par ? -- CONDITIONS : GEA.add( {"Transpose", {true, false}, {"allumée", "éteinte"}, {"TurnOn", 73}, ""}, 0, "La lampe est #value[1]#") -- Si 73 est true, le message retourné sera : "La lampe est allumée" // Si 73 est false, le message retourné sera : "La lampe est éteinte" -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
ces 2 fonctions ne sont-elles pas similaire (redondantes) -- "Switch" : Allume ou éteint un module -- SYNTAXE : {"Switch", <id module>} -- CONDITIONS : Ne peut pas être utilisé comme CONDITION -- ACTIONS : GEA.add( {CONDITIONS}, 30, "", {"Switch", 73} ) -- Allume OU Éteint le module 73 en fonction de son état (si allumé, on éteint ; si éteint, on allume.) \\ TurnOn or TurnOff device 73 depending on the state of the device GEA.add( {CONDITIONS}, 30, "", {"Switch", {73, 74}} ) -- Allume OU Éteint le module 73 ET le module 74 en fonction de leur état (si allumé, on éteint ; si éteint, on allume.) \\ TurnOn or TurnOff deviceS 73 and 74 depending on the state of the devices -- "OnOff" : Allume ou éteint un module selon son état -- SYNTAXE : {"OnOff", <id_module>} -- CONDITIONS : GEA.add( {"OnOff!", 73, ""}, 30, "Le module 73 est #value#", {ACTIONS}) -- Retourne si le module 73 est ON ou OFF selon son état\\ Return the state ON or OFF of the device 73 -- ACTIONS : GEA.add( {CONDITIONS}, 30, "", {"OnOff", 73} ) -- Allume ou éteint le module selon son état, ON ou OFF \\ Switch the device depend of his state (On or OFF) GEA.add( true , 0, "", {"Global", "ETAT_LUMIERE", {"OnOff", 73}}) -- Assigne ON ou OFF selon l"etat" du module 73 à la variable "ETAT_LUMIERE" \\ Assign On or OFF depend of the state of the deice 73 to the global variable Ne faudrait-il pas merger les fonctions "Switch" et "OnOff" avec les fonctionnalités de "OnOff". et donc également mettre à jour le tableau initial -- │ "Switch" │ │ │ X │ Allume ou éteint un module -- │ "OnOff" │ X │ │ X │ Allume ou éteint un module selon son état et ainsi on garderait la rétrocompatibilité -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
il n'y a pas de turnOn ? -- "Filters" : Exécute une action sur plusieurs modules -- SYNTAXE : {"Filters", "Lights|Blinds", "turnOff|Close|Open"} et les valeurs TunOn et TurnOff sont-elles également acceptées (histoire d'être consistant avec les fonctions TurnOn et TurnOff ? -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
étant en pleine relecture de la doc/syntaxe GEA, -- "Program" - "StartProgram" : Teste/démarre l'exécution d'un programme d'un module RGBW -- SYNTAXE : {"Program", <id_module>} {"Program+", <id_module>} {"Program-", <id_module>} {"Program!", <id_module>} {"Program", <id_module>, <id_program>} -- CONDITIONS : GEA.add( {"Program", 72}, 30, "", {ACTIONS} ) -- Retourne le programme en cours du RGB dont l'ID est 72 -- ACTIONS : GEA.add( {CONDITIONS}, 30, "", {"Program", 72, 6} ) -- Démarre le programme 6 du RGB 72 GEA.add( {CONDITIONS}, 30, "", {"Program", {72, 73}, 6} ) -- Démarre le programme 6 DES RGBS 72 ET 73 je ne vois pas d'exemple (et je n'ai pas de tel module sur ma HC3) pour {"Program+", <id_module>} {"Program-", <id_module>} {"Program!", <id_module>} et je n'ai pas l'intuition de à quoi cela pourrait servir ... Quelqu'un prut m'aider ? -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
Pour ceci , l'exemple est-il correct ? -- Je souhaite vérifier l'arrivée des enfants après l'école à midi et le soir. Comment faire au plus simple ? -- -- Vous pouvez vérifier l'ouverture de la porte à des plages horaires et jours précis GEA.add({17, {"Days","Monday,Tuesday,Thursday,Friday"}, {"Time","11:30","13:30"}, {"Time","16:30","18:30"}}, -1, "Porte ouvertes le #date# à #time#") car GEA exécute les action de conditions multiples si elles sont toute à true., or iciil faudrait que l'heure soit comprise entre 1:30 et 13:30 ainsi que entre 16:30 et 18:30, ce qui est impossible. Je l'aurais fait en 2 lignes : GEA.add({17, {"Days","Monday,Tuesday,Thursday,Friday"}, {"Time","11:30","13:30"}}, -1, "Porte ouvertes le #date# à #time#") GEA.add({17, {"Days","Monday,Tuesday,Thursday,Friday"}, {"Time","16:30","18:30"}}, -1, "Porte ouvertes le #date# à #time#") Mais comme celà vient de maître @Steven, il y a quelque chose que je dois avoir loupé ? -
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
Je relis la doc ... Je souhaiterait y ajout une précision : Quand on dit SUPERIEUR c'est "strictement supérieur" (>) ou "supérieur ou égal" (>=) ? Idem pour INFERIEUR. -
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
merci, mais je ne vois pas la différence/ Envois le PSD avec les différentes couleurs, j'y rajouterais un bouton On Vert) dans un coins de ceux allumés. Merci
-
j'utilise cette solution également (cfr tuto que j'avais écrit TTS pour assistant vocaux - lien dans ma signature) Maintenant, dès que je suis prêt avec ma migration vers HC3, je vais regarder une autre solution : j'ai vu ici une solution avec nodered, ce qui semblerait simplifier l'architecture
-
chacun (évidemment) sa façon de voir : chez moi, la box c'est aussi un must, et donc elle doit toujours être ok. Mais madame acceptera une panne d'électricité, mais pas le fait que la lumière du couloir ne s'allume pas (s'il y a de l'électricité) parce qu'il y aurait un soucis avec la box (même si je suis là et que je dis que je travaille dessus et que ce sera ok dans 15 min - ce sera trop tard, car c'était au moment où elle a appuyé sur l'interrupteur qu'elle avait besoin de lumière, pas 15 min (ou 10 sec) après ...)
-
et pourquoi ne pas pousser l'idée encore plus loins ? Carle soucis que je vois ici, c'est que s'il y a un soucis avec la box (et il existe TOUJOURS un scénario où il peut y avoir un soucis). la sortie du FGS vers la lampe c'est toujours uniquement O1. la sortie de l'interrupteur vers le FGS, c'est S1 & S2. Ainsi avec S1, cela fonctionne même sans box. avec de la logique dans la box (GEA, scènes, QA), on sait que si O2 est ON, c'est qu'on a appuyé sur l'interrupteur. Et dès que O1 repasse à Off on met Q2 à Off (mais on ne sait pas savoir si on éteint par l'interrupteur). Mon raisonnement est-il ok ?
-
merci, mais avec yeux de m... il n'y a pas assez de contraste avec le ruban éteint. As-tu une idée ?
-
sorry pour la réponse tardive, je n'ai pas eu de notif de ta réponse. Je venais pour supprimer mon post car ça fonctionne, sauf (validé après des 10zaines d'essais) quand j'ai un H (majuscule, pas minuscule) dans mon paramètre value1. C'est tellement étrange/spécifique qu'on oublie, bien que quand j'entre la même url dans mon browser, c'est ok. Je GEA démarre bien automatiquement, mais l'instruction ne fait juste rien ...
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
en fait je le fais par ce biais, car ça ne fonctionnait pas par GEA. Maintenant ok, je crois avoir vu ce qui n'allait pas (comment reproduire le problème dans GEA)
-
ma ligne en commentaire me permet de faire paler mes GH. Je sais, ce n'est pas beau. Mais en la réactivant et en supprimant tout les caractères spéciaux, ça ne fonctionne toujours pas. Mon url modifiée : local url = "https://maker.ifttt.com/trigger/xxx/with/key/xxx?value1=supairdefairedirececonveutasesGoogleHome&value2=&value3=TestDepuisHC3" url = string.gsub(url, "\n", "\r\n") url = string.gsub(url, "([^%w %-%_%.%~])", function(c) return string.format("%%%02X", string.byte(c)) end) url = string.gsub(url, " ", "+") http:request(url, { ... l'erreur 01.06.2022] [15:40:00] [DEBUG] [QUICKAPP173]: onInit [01.06.2022] [15:40:00] [ERROR] [QUICKAPP173]: QuickApp crashed [01.06.2022] [15:40:00] [ERROR] [QUICKAPP173]: Unknown error occurred: std::runtime_error: 'Invalid argument' ce sont mes chats noir qui reviendraient ? Pour des requètes POST et PUT, je vais regarder, mais il faudrait d'abord que je comprenne la différence avec du GET ...
-
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
en effet, c'était de la version de la doc. As-tu trop bu ou quoi, que j'allais adapter la version LUA.... Ceci dit, tant qu'à faire des modifs dans la doc, je regardais à l'instruction {"Repeat"}, elle ne fonctionne pas avec l'action {"Inverse", #} (mais bien avec {"Inverse"}). Quand je ,dis ne fonctionne pas, c'est que GEA ne se met pas automatiquement en "Running: Yes" lors de la sauvegarde. Est-ce que j'ajoute une remarque dans ce sens dans la doc ou tu regardes à corriger le bug ? -
mais justement, ton bout de code ce n'est pas pour que les caractères spéciaux passent ? en tout cas ce code passe (avec le "è" et une instruction mise en commentaire) local http = net.HTTPClient() local url = "https://maker.ifttt.com/trigger/Message/with/key/bZ5dr5MH9lcZ8c53F4AXau?value1=supèr de faire dire ce qu'on veut à ses Google Home&value2=&value3=Test Depuis HC3" url = string.gsub(url, "\n", "\r\n") -- url = string.gsub(url, "([^%w %-%_%.%~])", function(c) return string.format("%%%02X", string.byte(c)) end) url = string.gsub(url, " ", "+") http:request(url, { success = function(response) if response.status == 200 then print('OK, réponse : '.. response.data) else print("Erreur : status = " .. tostring(response.status)) end end, error = function(err) print("Erreur : " .. err) end, options = { method = 'GET' } }) donc je ne crois pas que mes chats noirs soient revenus (et je ne suis pas pressé de les revoir)
-
Domotiser portail
jojo a répondu à un(e) sujet de Eddino dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
non, mais on en connait d'autreS -
J'ai voulu utiliser cette fonction et à la ligne url = string.gsub(url, "([^%w %-%_%.%~])", function(c) return string.format("%%%02X", string.byte(c)) end) (url = local url = "https://maker.ifttt.com/trigger/xxxx/with/key/xxxxx?value1=supèrde&value2=&value3=TestDepuisHC3" ) J'ai l'erreur suivante [30.05.2022] [17:53:00] [ERROR] [QUICKAPP173]: QuickApp crashed [30.05.2022] [17:53:00] [ERROR] [QUICKAPP173]: Unknown error occurred: std::runtime_error: 'Invalid argument' qu'ai-je mal fait ?
-
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
La version en page 1 est-elle toujours d'actualité ? Je peux alors faire les modifs ainsi que quelques fautes de typo (héritage du passé ?) que j'ai vues en commençant à lire (mais pas toutes, tu me connais) -
Magnifique (comme d'hab ), pourrais-tu également faire une allumée blanche (car du coup j'ai des idées ...) ?