Aller au contenu

Bloug

Membres confirmés
  • Compteur de contenus

    1351
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par Bloug

  1. oki, donc comme suggéré, J'ai donc : 1 - Modifié mon code pour attribué une variable : nommée : Nappe_Child_ID avec comme valeur l'ID_du_Child_enfant child:setVariable("Nappe_Child_ID" , child.id) -- Fonction pour le Child BSS_3 function QuickApp:createChild_BSS_3(Nom) self:debug("Child devices Nappe BSS3 : ") for id,device in pairs(self.childDevices) do end local child = self:createChildDevice({name = Nom, type = "com.fibaro.multilevelSensor",}, BSS_3) child:setVariable("Nappe_Child_ID" , child.id) end 2 - J'ai ajouté un table dans le Oninit , sous le initChildDevices : j'ai donc local i = 0 self.sondes = {} for id,device in pairs(self.childDevices) do i=i+1 self:debug("[", id, "]", device.name, ", type of: ", device.type) self.sondes[i] = id end -- Appareil enfant self:initChildDevices({ ["com.fibaro.multilevelSensor"] = BSS_1, -- Niveau Nappe BSS_1 ["com.fibaro.multilevelSensor"] = BSS_2, -- Niveau Nappe BSS_2 ["com.fibaro.multilevelSensor"] = BSS_3, -- Niveau Nappe BSS_3 }) local i = 0 self.sondes = {} for id,device in pairs(self.childDevices) do i=i+1 self:debug("[", id, "]", device.name, ", type of: ", device.type) self.sondes[i] = id end if i == 0 then local Nom = "BSS 1" self:createChild_BSS_1(Nom) local Nom = "BSS 2" self:createChild_BSS_2(Nom) local Nom = "BSS 3" self:createChild_BSS_3(Nom) end J"arrive donc avec l'exemple trouvé dans le topic : for _, childDevice in pairs(self.childDevices) do self:debug(childDevice:getVariable("Nappe_Child_ID")) end ou avec ma table sondes{} print("------ S O N N D E S ------") ID1 = self.sondes[1] ID2 = self.sondes[2] ID3 = self.sondes[3] print(ID1) print(ID2) print(ID3) Même avec la variable récupéré il est difficile de savoir qui est qui. J'ai hésité et tenté d'utiliser une nom bien distinctif avec le nom de la variable Child : Nappe_Child_ID_1 -- Nappe_Child_ID_2 -- Nappe_Child_ID_3 n mais j'ai encore plus de mal avec le lua : for _, childDevice in pairs(self.childDevices) do self:debug(childDevice:getVariable("Nappe_Child_ID_1")) self:debug(childDevice:getVariable("Nappe_Child_ID_2")) self:debug(childDevice:getVariable("Nappe_Child_ID_3")) end et si dans la variable, à la place de l'ID_du_Child_enfant je donne une valeur avec un nom plus explicite comme : Child_ID_1 -- Child_ID_2 -- Child_ID_3 je perds alors l'id pour l'indiquer dans la mise à jour du child y'a t'il un moyen en lua d'obtenir plus d'informations avec getVariable("Nappe_Child_ID_1") pour avoir : le résultat de ma variable et l'ID ? je dois me gourrer surement ailleurs ou rater un truc énorme ^^ merci
  2. @mprinfo je l'utilise comme l'indique @jojo avec l'eau, cest du " litre " j'ai donc passé mes volumes en litres
  3. @LazerJ'ai besoin d'aide pour l'histoire de la map et récupérer les ID des childs Stp j'ai testé pleins de trucs pour voir les résultats donc c'est légèrement le bazar voici mon code : function QuickApp:createChild_BSS_3(Nom) self:debug("Child devices Nappe BSS3 : ") for id,device in pairs(self.childDevices) do self:debug("[", id, "]", device.name, ", type of: ", device.type) end local child = self:createChildDevice({name = Nom, type = "com.fibaro.multilevelSensor",}, BSS_3) child:setVariable("Nappe_Child_ID_3", child.id) -- <---------------------------------------------------- Ajout d'une variable dans le child ID_Child_3 = child.id -- <------------------------------------------------------------------------------ Tentative d'attribuerune variable ... oui mais non :p elle disparait self:storeDevice(uid, child.id) self:trace("Child device BSS_3 created: ", child.id) end function QuickApp:storeDevice(uid, hcId) self.devicesMap[uid] = hcId -- <------------------------------------------------------------------------- Cette ligne plante la QA **Err-1** - self:setVariable("devicesMap", self.devicesMap) end ** Err-1 ** : main.lua:112: attempt to index a nil value (field 'devicesMap') J'ai cette erreur en utilisnat la methode de Fibaro ( Keeping your devices synchronized ) Ensuite, en fin de script ( lors de l'update des label et des childs) j'ai testé de récupérer la liste des childs avec : for id,device in pairs(self.childDevices) do self:debug(id , device.name ) end ok j'ai la liste de mes ID ( c'est bien la MAP ???? ) [22.01.2023] [09:17:31] [DEBUG] [QA826_NAPPE]: 841 BSS 1 [22.01.2023] [09:17:31] [DEBUG] [QA826_NAPPE]: 842 BSS 2 [22.01.2023] [09:17:31] [DEBUG] [QA826_NAPPE]: 843 BSS 3 mais j'arrive pas à récupérer soit : les variables dans les childs : self:debug(childDevices:getVariable("Nappe_Child_ID_3")) OU directement l'ID du child pour lui donner/ou manipuler avec une autre variable genre : Child_ID_3 = childDevices:getVariable("Nappe_Child_ID_3") Un grand merci si tu as 2 minutesss pour m'aiguiller Bon Dimanche !
  4. Pose une photo/schema de tes portes et murs. En plus t'as de la chance pour tes questions ! Nous avons ici un expert Nice : @lfl
  5. voici Je ne rencontre aucun problème ou avec un groupe : Voici le code de la seconde image : ---- Fenetre DÉCLARATIONS (Conditions/Déclencheurs) { conditions = { { id = 768, isTrigger = true, operator = "==", property = "centralSceneEvent", type = "device", value = { keyAttribute = "Pressed", keyId = 1 } } }, operator = "all" } ----- Fenetre ACTIONS hub.call({[1] = 89, [2] = 86, [3] = 93, [4] = 99, [5] = 132, [6] = 142, [7] = 202, }, 'close') et les paramètres du module :
  6. Me voila avec une nouvelle pile et un donc un Bouton dans la box. Choix le l'action : Création de la scène : quand je Buzz X1 Pas de pb particulier avec la scène bloc. Si tu as besoin d'autres tests n'hésite pas !
  7. Oui pas de pb avec 3 m J'ai un nice popkit et j'ai pas de pb. Après il faut voir ta porte, le type ( paumelles...gonds), comment elle se ferme (serrure... gache ) etc.. Sur un portail battant il n'y a pas de verouillage, c'est la motorisation qui bloque l'ouverture.
  8. Attention à la distance quand même j'ai du installé le bidi .... pour avoir du natif :p
  9. Bon ... désolé me faut une pile er14250 Edit : je viens de faire un amazon pour en avoir une demain
  10. Je regarde demain si j'ai encore les piles qui fonctionnent pour te confirmer le truc
  11. Quel thermostat puis-je raccorder ? GRETEL propose 3 types de thermostat d’ambiance.Le TA, un thermostat mécanique filaireLe TEPP, un thermostat électronique programmable filaireLe THRADIO, un thermostat électronique programmable sans fil.Les thermostats d’ambiance connectés sont aussi parfaitement compatibles avec l’ensemble de nos modèles.Pour une régulation optimale et régulation dite par “loi d”eau” avec une courbe de chauffe, la régulation modulante REGULC est alors indiquée. REGULC : Equipées de l’option REGULC, les chaudières GRETEL modulent leur puissance en fonction de la température extérieure et procurent une chauffe douce et progressive particulièrement appréciée en même temps qu’une économie optimale. Au regard de ton premier post sur le coût de l'énergie qui explose... regulC est la meilleure solution. Mais pour tes besoins de connectivité sur le Aibnb la solution d'un thermostat zwave semble plus simple a mettre en place et plus pertinente pour de la domotique (capteur température, humidité, réglage thermostat....) Plus q'un simple on/off d'un fgs 214. Là, tu modules la température à distance au degré près Après pour le JojoCalendar .... tu as Jojo ! Tu l'invites 15jours sur ton airbnb pour qu'il puisse programmer le tout
  12. C'est quoi ta chaudière et ton régulateur actuel ?
  13. bof bof j'y crois pas avec un PC
  14. Bloug

    Tradition : Bonne année

    Mes meilleurs veux ! avec un vrai calendrier en maj pour la HC3 ! ( merde c'est fini noël ! )
  15. Normalment avec un PC ... tu touches à rien ?! La régule est normalement "intelligente" et elle est réalisée par loi d'eau grâce à ta sonde extérieure; De plus avec ta sonde intérieure (thermostat) tu affines/triangules l'ensemble. L'avantage d'un plancher chauffant est justement l'économie d'énergie grâce cette circulation régulière à basse température. Mais effectivement, il est possible de "jouer " sur les vannes pour contraindre certaine pièce avec moins de circulation d' eau (donc moins de chauffe ) mais pas de manière rapide à cause de l'inertie de ton plancher. Mais normalement une fois le bon réglage trouvé tu touches plus. Après, il existe des solutions zwave pour jouer sur les vannes : https://www.domadoo.fr/fr/peripheriques/4623-danfoss-controleur-z-wave-pour-plancher-chauffant-hc5-5-sorties-5702425190513.html tu as aussi des solutions chez Airzone. Il faut donc voir avec tes autres solutions que propose ton installation ( clim réversible ) pour gérer l'ensemble. souhaites-tu trouver une solution pour régler tes vannes Ou intégrer ton plancher à ton installation sur ta hc2 ? that is the question! Pour mon cas je récupère juste les données de ma chaudière. La vannes de la chambre a ma fille est légèrement fermée pour réduire la température + le paquet, j'ai trouvé le bon réglage. C'est quoi ta chaudière / thermostat ? Edit: un test de vannes sur un PC c'est minimum 24-48h pour en ressentir l'effet !
  16. merci beaucoup
  17. merci pour les pistes 1 - J'ai donc déplacé la fonction initChildDevices() en premier dans le onInit. 2 - Pour la fonction loop() elle est bien dans un setTimeout function QuickApp:loop() print("<font color=grey>**** R E F R E S H **** " .. os.date("Dernière mise à jour le %d/%m à %H h : %M").. " ****") self:multimatic() fibaro.setTimeout(self.refresh * 1000, function() self:loop() end) end 3 - j'ai déposé l'ensemble dans une fonction , pour l'exécuter avec un bouton function QuickApp:CreateChild() local i = 0 self.sondes = {} for id,device in pairs(self.childDevices) do i=i+1 self:debug("[", id, "]", device.name, ", type of: ", device.type) self.sondes[i] = id end if i == 0 then local Nom = "T° Couloir" self:createChildTmpsCouloir(Nom) local Nom = "T° Exterieur" self:createChildTmpsExterieur(Nom) local Nom = "Pression" self:createChildPressure(Nom) local Nom = "T° Sonde Départ" self:createChildTempEauDepart(Nom) local Nom = "T° ECS" self:createChildTempECS(Nom) local Nom = "Conso Gaz " self:createChildConsoGazBoiler(Nom) local Nom = "Conso Gaz ECS" self:createChildConsoGazECS(Nom) local Nom = "Conso Elec Chaudière" self:createChildConsoElecBoiler(Nom) local Nom = "Conso Elec ECS " self:createChildConsoElecECS(Nom) local Nom = "Consigne Chaudière " self:createChildConChaudiere(Nom) local Nom = "Consigne ECS " self:createChildConECS(Nom) local Nom = "Etat ECS " self:createChildEtatECS(Nom) end end j'ai donc mon onInit : function QuickApp:onInit() self:initChildDevices({ ["com.fibaro.temperatureSensor"] = VaillantTempCouloir, ["com.fibaro.temperatureSensor"] = VaillantTempExterieur, ["com.fibaro.multilevelSensor"] = VaillantPressure, ["com.fibaro.temperatureSensor"] = VaillantTempDepEau, ["com.fibaro.powerSensor"] = VaillantConsoGazBoiler, ["com.fibaro.powerSensor"] = VaillantConsoGazECS, ["com.fibaro.powerSensor"] = VaillantConsoElecBoiler, ["com.fibaro.powerSensor"] = VaillantConsoElecECS, ["com.fibaro.temperatureSensor"] = VaillantConChaudiere, ["com.fibaro.temperatureSensor"] = VaillantConECS, ["com.fibaro.temperatureSensor"] = VaillantEtatECS }) __TAG = "QA"..plugin.mainDeviceId.."_Vaillant" self:updateProperty("deviceIcon", 1054) -- Icone API Offline log = self:getVariable("UserName") pass = self:getVariable("Password") serial = self:getVariable("Serial") self.refresh = tonumber(self:getVariable("Update")) self.http = net.HTTPClient({ timeout = 5000 }) self:loop() end -- - - - - - OnInit et quand je clique sur mon bouton j'ai toujours : [30.12.2022] [13:50:46] [TRACE] [QA741_VAILLANT]: UIEvent: {"values":[null],"eventType":"onReleased","elementName":"CreateChild","deviceId":741} [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 752 ] Consigne ECS , type of: com.fibaro.temperatureSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 742 ] T° Couloir , type of: com.fibaro.temperatureSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 743 ] T° Exterieur , type of: com.fibaro.temperatureSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 744 ] Pression , type of: com.fibaro.multilevelSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 745 ] T° Sonde Départ , type of: com.fibaro.temperatureSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 746 ] T° ECS , type of: com.fibaro.temperatureSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 747 ] Conso Gaz , type of: com.fibaro.powerSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 748 ] Conso Gaz ECS , type of: com.fibaro.powerSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 749 ] Conso Elec Chaudière , type of: com.fibaro.powerSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 750 ] Conso Elec ECS , type of: com.fibaro.powerSensor [30.12.2022] [13:50:46] [DEBUG] [QA741_VAILLANT]: [ 751 ] Consigne Chaudière , type of: com.fibaro.temperatureSensor où il me manque le dernier child ajouté Avant le onInit j'ai bien : Mes constructeurs : -- == Constructeur __init pour la classe VaillantEtatECS function VaillantEtatECS:__init(device) QuickAppChild.__init(self, device) end les classes class 'VaillantEtatECS' (QuickAppChild) -- Class VaillantEtatECS pour "com.fibaro.temperatureSensor" et la fonction -- == Fonction pour l etat de chauffe ECS : function QuickApp:createChildEtatECS(Nom) self:debug("Child devices Etat ECS :") for id,device in pairs(self.childDevices) do self:debug("[", id, "]", device.name, ", type of: ", device.type) end local child12 = self:createChildDevice({name = Nom, type = "com.fibaro.temperatureSensor",}, VaillantEtatECS) self:trace("Child devices Consigne ECS created: ", child12.id) end le pb n'est pas du coté de mon if i == 0 then ? Edit : je pense que oui car j'ai modifié en : if i ~= 10 then j'ai eu un tsunami de 10 nouveaux child ..... j'en ai donc supprimé 9 et j'ai bien mon dernier .... faut surement améliorer le truc avec une condition
  18. Bonjour, Je souhaite ajouter un child supplémentaire, après avoir modifier mon QA rien ne se passe comme prévu Je suis toujours obligé de " supprimer " mon QA puis de le " recharger " Est il possible de m'expliquer pourquoi ? je suppose que le pb est vers le onInit ? function QuickApp:onInit() __TAG = "QA"..plugin.mainDeviceId.."_Vaillant" self:updateProperty("deviceIcon", 1054) -- Icone API Offline log = self:getVariable("UserName") pass = self:getVariable("Password") serial = self:getVariable("Serial") self.refresh = tonumber(self:getVariable("Update")) self.http = net.HTTPClient({ timeout = 5000 }) self:loop() self:initChildDevices({ ["com.fibaro.temperatureSensor"] = VaillantTempCouloir, ["com.fibaro.temperatureSensor"] = VaillantTempExterieur, ["com.fibaro.multilevelSensor"] = VaillantPressure, ["com.fibaro.temperatureSensor"] = VaillantTempDepEau, ["com.fibaro.powerSensor"] = VaillantConsoGazBoiler, ["com.fibaro.powerSensor"] = VaillantConsoGazECS, ["com.fibaro.powerSensor"] = VaillantConsoElecBoiler, ["com.fibaro.powerSensor"] = VaillantConsoElecECS, ["com.fibaro.temperatureSensor"] = VaillantConChaudiere, ["com.fibaro.temperatureSensor"] = VaillantConECS, ["com.fibaro.temperatureSensor"] = VaillantEtatECS }) local i = 0 self.sondes = {} for id,device in pairs(self.childDevices) do i=i+1 self:debug("[", id, "]", device.name, ", type of: ", device.type) self.sondes[i] = id end if i == 0 then local Nom = "T° Couloir" self:createChildTmpsCouloir(Nom) local Nom = "T° Exterieur" self:createChildTmpsExterieur(Nom) local Nom = "Pression" self:createChildPressure(Nom) local Nom = "T° Sonde Départ" self:createChildTempEauDepart(Nom) local Nom = "T° ECS" self:createChildTempECS(Nom) local Nom = "Conso Gaz " self:createChildConsoGazBoiler(Nom) local Nom = "Conso Gaz ECS" self:createChildConsoGazECS(Nom) local Nom = "Conso Elec Chaudière" self:createChildConsoElecBoiler(Nom) local Nom = "Conso Elec ECS " self:createChildConsoElecECS(Nom) local Nom = "Consigne Chaudière " self:createChildConChaudiere(Nom) local Nom = "Consigne ECS " self:createChildConECS(Nom) local Nom = "Etat ECS " self:createChildEtatECS(Nom) end end -- - - - - - OnInit merci
  19. Bloug

    variable global ou self.xxx ?

    Bon OK !! je laisse @Lazer repondre ... ...
  20. perso je n'utilise plus car pas très fiable, j'utilise plutôt Alexa
  21. Bloug

    Tradition : Joyeux Noël

    De très bonnes fêtes !
  22. ahh !! Un grand merci ! je test immédiatement Edit : c'est Top ! ...moi c'est déjà le cimetière des ID dans /admin.php
  23. petite question SQL pour faire du ménage Si je souhaite dans la table domocharts_temperature renommer le device ID 725 par le nouveau device ID 800 . y'a t'il une commande en SQL ? sinon il faut supprimer DELETE FROM domocharts_temperature WHERE device_id="725";
  24. Je reste sur les icones dans la partie log ! trop besoin de DomoCharts !
  25. avec self.childDevices[674]:updateProperty("unit", "*") le site n'accèpte pas l'emoji dans le code du coup j'ai indiqué "*"
×
×
  • Créer...