Dragoniacs Posté(e) le 10 janvier 2018 Signaler Posté(e) le 10 janvier 2018 (modifié) Bonjour à tous, J'ai bien progressé dans mon installation de ce "super" module Je vous partage mon VD, largement inspiré de celui de @Did Il permet de gérer 2 températures de consigne "Confort" et "Eco", avec une fonction de "marche forcée" (par pas de 30min). Et pour le passage automatique des modes "Eco" à "Confort", j'utilise le GEA : -- Temperature dans la salle de bain GEA.add({{"Label!",644,"lblMode","Eco"},{"Label!",644,"lblMode","Forcée"},{"Time","08:00","17:30"},{"Time","23:30","05:30"}},30,"",{{"Label",644,"lblMode","Eco"}}) GEA.add({{"Label!",644,"lblMode","Confort"},{"Label!",644,"lblMode","Forcée"},{"Time","06:00","07:30"},{"Time","18:00","23:00"}},30,"",{{"Label",644,"lblMode","Confort"}}) En espérant que cela puisse resservir pour d'autres utilisateurs Thermostat_SdB_V2.0.vfib Modifié le 29 mars 2018 par Dragoniacs EDIT : publication d'une V2.0 (la V1.0 buggait à minuit...) 1 1
Dragoniacs Posté(e) le 23 janvier 2018 Signaler Posté(e) le 23 janvier 2018 Grumpf de grumpf!!!!La mise a jour pour passer en 4.160 à buggé mon qubino!!!!Il est repassé en "non configuré " et mon VD ne fonctionne plus car il n'arrive plus à récupérer le paramètre value!!!Envoyé de mon SM-A520F en utilisant Tapatalk
BenjyNet Posté(e) le 24 janvier 2018 Signaler Posté(e) le 24 janvier 2018 Ah bon ? Tout marche bien ici pourtant.
Dragoniacs Posté(e) le 24 janvier 2018 Signaler Posté(e) le 24 janvier 2018 Alors je sais pas ce qui a merdé, mais j'ai perdu un switch fibaro, du coup réseau zwave en rade à l'étage et pilote qubino déconfiguré .J'ai réussi à remettre le qubino mais le switch bug.. va falloir que je bidouille ce soir parce qu'à distance j'arrive à rien...Envoyé de mon SM-A520F en utilisant Tapatalk
pepite Posté(e) le 24 janvier 2018 Signaler Posté(e) le 24 janvier 2018 perdu un switch ? tu ne le vois plus dans l'interface ? Au fait super ton VD ;-)
Dragoniacs Posté(e) le 24 janvier 2018 Signaler Posté(e) le 24 janvier 2018 J'ai un FGS double qui ne m'affiche plus que 1 lampe.... J'ai essayé de refaire une configuration complète, mais la 2e lampe n'apparait toujours pas ! Merci pour mon VD
Dragoniacs Posté(e) le 26 janvier 2018 Signaler Posté(e) le 26 janvier 2018 Pour le FGD, j'ai mis un message ici ->
frixo Posté(e) le 23 juin 2018 Signaler Posté(e) le 23 juin 2018 Bonjour, j'ouvre un nouveau sujet sur le module Qubino zmnhjd1 pour controller un radiateur avec le fil pilote en mode 6 ordres. Je voudrais vous donner mon retour d'expérience et je suis preneur de vos remarques/suggestion. Avant propos Pour commencer, j'ai un maison avec plus de 10 radiateur noirot Bellagio tout neuf ! J'ai hésité à acheter le module de noirot pour les connecter (ici) mais il s'agissait d'une techno propriétaire. De plus , j'ai un chauffe-eau thermodynamique Thermor, qui peut être connecté avec la techno IO homecontrol (somfy, encore une techno propriétaire) , et un portail CAME où je dispose de contact à sec pour déclencher l'ouverture à distance. La maison est en Île-de-france, mais à la campagne, j'ai une box ADSL avec un débit de 2M, et j'ai une box 4G avec un débit variant de 21M à 0 (en temps d'orage/pluie , donc surtout en hivers en fait) 1 - le choix de la solution domotique J'ai longtemps hésité, je me suis intéressé à toutes les solutions de domotique. J'ai hésité entre : Somfy : pour avoir le control sur le chauffe-eau Eedomus : francais , pas trop cher, grosse comunauté, stable Home-Center 2 : Programmable - grosse communauté, stable , non dépendant du cloud. (mais cher) Jeedom/domoticz : trop peu stable - infrastructure à mettre en place (monter un mini pc, et ca me gavait :S ) Finalement j'ai éliminé Somfy car propriétaire , Eedomus pour sa dépendance au cloud, Jeedom/Domotics pour son côté trop geek (je suis un gros geek, mais la je cherchais surtout quelque chose de stable, faut pas que mes lumières clignotent à minuit ! ) et j'ai été séduit par la HC2 car je pouvais créer mes propres scripts, et surtout pas de dépendance au cloud/internet. (alors que si le serveur de Eedomus tombe en rade, bein .... 2 - Achat Bon, j'ai passé commande sur xxxxx (je sais pas si j'ai le droit de le dire), j'ai acheté la box HC2 (et surtout pas la lite où on peut pas programmer), et un module ZMNHID1 (oui , vous avez bien lu , ZMNHID1 et non le zmnhjd1 , bref je m'étais planté d'une lettre !). Et j'ai attendu avec impatience de tout recevoir 3 - Réception et installation La box HC2 est absolument magnifique, et son installation est triviale, franchement, on dirait du Apple ! Je n'ai rien eu à redire. Je déballe mon module ZMNHID1, je fais le branchement et tente l'association, bon bref , je galère, j'arrive pas à l'associer, je lis dans la notice qu'il faut pas appuyer sur le bouton si on le branche sur du 230V... bon je vous passe les détails pour finalement me rendre compte après 2jours de tentative que ... c'est pas le bon module ! Je le retourne, et en achète un sur Amazon (le bon, le zmnhjd1 ) pour le recevoir le lendemain. Le lendemain, mon bon module en main, je le branche et tente de l'associer à la box. J'y arrive pas, j'ai pourtant cocher la case comme quoi le module était 'loin' de la box (on parle de 3m) , mais rien n'y fait. Je parcours les forum, je vois que je suis pas le seul. Après des tonnes de tentatives , voila mon conseil pour y arriver du premier coup (oui car depuis j'en ai installer 6 , et ca marche du premier coup ) Comment appairer/associer un module Qubino zmnhjd1 avec la Home Center 2 (HC2) - Mettre hors-tension le radiateur - Effectuer les branchements (voir notice, le neutre, puis la phase, puis le fil pilote) sur la prise du radiateur si vous avez une BOX 4G , sinon, branchez le sur une prise électrique juste à côté de votre box ADSL/Fibre <<<<<---- ce détail est super important, donc je le redis, si vous avez une box ADSL/Fibre , donc une box qu'on ne peut pas déplacer car dépendante de la prise téléphone/fibre de votre maison, il faut prendre voter module zmnhjd1, et le brancher juste à côté de la box, tant pis s'il n'est pas relié au radiateur via le fil pilote. trouvez une phase et un neutre (prise de courant/interrupteur que sais-je) à côté de voter box, et faite un montage temporaire (hors tension évidemment) - Donc je résume avant de mettre le courant : vous avez votre Box HC2 qui se trouve à moins de 1mètre (très important) de votre module Qubino, branché à minima à la phase et au neutre. - Mettez la tension - Allez sur la page Device de la HC2, et cliquez sur 'Ajouter un device' - Cochez la case 1 et 3 (Device is located far from the Home Center - Add in security mode if device supports it) - Cliquez sur le bouton 'Add' (la box affiche : ] Home Center in learning mode ) - Appuyez sur le bouton d'association du Module Qubino zmnhjd1 => 3 secondes montre en main. surtout pas 4 ou 5 ! ( il faut impérativement pas arriver à 6 secondes , sinon vous êtes foutu !) - Attendez 5 secondes ( important , car c'est pas instantané ! ), si vous ne voyez rien à l'écran (en gros si il n'y a pas du texte qui défile , et qu'il y a juste et toujours la meme phrase : Home Center in learning mode ) , vous pouvez retenter l'opération. (chez moi ca marche à 40% lors de la première tentative , et 60% la seconde) - Lorsque plein de texte se met à défiler ( si c'est pas le cas lisez ci-dessous la rubrique (mon module s'est mal associé) ), il faut être patient. Dès fois très patient. Il m'est arrivé de devoir attendre 30 min . Mais en moyenne ça met 8 minutes. Je déconseille de cliquer sur CLOSE, ni d'ouvrir un nouvel onglet sur le HC2. Juste attendre. - Vous pouvez constater (ou pas) que l'association s'est bien passé si vous avez : Un device carton ( qui sert à rien , à cacher ) Un device variateur de lumière ( à garder (puis ensuite vous pourrez le cacher ) ) Un device capteur de température ( à cacher sauf si vous avez branché une sonde de température sur votre module, moi c'était pas le cas ) 3 devices de capteur de présence ( à cacher , sert à rien , c'est du factice evidement ) mon module s'est mal associé Ca m'est beaucoup arrivé pour mon premier et second module, ensuite j'ai compris la technique détaillé. Le soucis vient du fait que j'appuyais trop longtemps sur le bouton, souvent bien plus de 6 secondes, ou que je m'excitais sur le bouton en donnant plein de petites pressions sur le bouton d'association. Il faut bien avoir en tête qu'il peut y avoir une latence de 5 seconde entre la fin de l'appui de 3 secondes sur le bouton et le début du défilement du texte qui confirme que c'est bien parti pour l'association . Bon, le module s'est mal associé, vous n'avez pas le variateur de lumière qui est l'élément clé pour controller le fil pilote, il faut donc supprimer le device. La ca marchote ... Il faut tenter de le supprimer. Utilisez la fonction de suppression de device (présent sur la même page que l'ajout) , et cette fois ci il faut appuyer 6 secondes ( voir 8 ) sur le bouton du module. Bref , pour moi ca marchait pas vraiment, et je finissais par forcer la suppression des modules en echec ! (souvent j'en avait 1 ou 2 , lorsque l'association marchait pas) 4 - Le paramétrage de mes radiateurs C'est là ou les choses marrantes commencent. Contrairement à la eedomus, la HC2 ne gère pas nativement ce module qubino (je crois que les 2 marques on un différent) , du coup, au lieu d'avoir un module tout prêt avec les 6 ordres, on a un variateur de lumière ( les autres modules, vous les avez caché hein ? ). Ce variateur de lumière, si vous le positionnez à 0, le radiateur se met en Délestage (Arrêt) Puis plus vous allez monter le curseur du variateur,vous allez passer d'un ordre à l'autre les ordres Arrêt : 0 - 10 Hors-Gel : 11-20 Eco : 21-30 Confort-2 : 31-40 (met environ 5 min à être détecté par le radiateur, c'est normal) Confort-1 : 41-50 (met environ 5 min à être détecté par le radiateur, c'est normal) Confort : 51-100 Du coup, c'est un peu pourri, et je voulais un super module avec : Une icone qui montre l'état du radiateur Un texte qui décrit l'état du radiateur 6 boutons (avec les 6 ordres pardis) J'ai donc créé un module virtuel , et avec un peu de LUA , si on cliquait sur un bouton 'Arrêt' , ca envoyait l’ordre : fibaro:call(id_radiateur, 'setValue', valeur) Evidemment la variable id_radiateur contient l’identifiant du radiateur et la variable valeur contient '0' (pour Arrêt !) Et j'avais demandé que lorsqu'on appuis sur le bouton 'Arrêt' ca change l'icone du module virtuel pour mettre un dessin de radiateur avec un symbole OFF devant ! C'est pas mal, c'est d'ailleurs ce que recommande beaucoup de tuto, mais honnêtement ça fait pas l'affaire ! Les défauts : - Le module n'est pas capable de détecté l'état du radiateur (et oui , si on reboot la box HC2, ou même si on ouvre tout simplement un nouvel onglet, on a pas la bonne icone et le pas le bon texte (oui j'ai pas parlé du texte, j'y viendrais) - Si jamais la communication n'est pas passé (et oui ca arrive en Z-Wave, la HC2 est super forte pour construire correctement le maillage, mais lorsqu'on je la déplace pour ajouter un nouveau module, bein je perd temporairement des liaisons , que la HC2 reconstruit par la suite, mais bon il m'est arrivé 2 fois qu'un device réponde pas pendant 1H, c'est rarissime je précise) , je voudrais pas que le radiateur reste en mode confort alors que je suis parti 3 semaines en vacances en ayant demandé que tout le monde soit en HG ! Donc j'ai procédé autrement ! La cible actuelle - J'ai créé une variable globale : l_radiateurs , c'est en fait un tableau qui liste mes 'objets' radiateurs (objet au sens programmation) - d'autre viaraible globale pour les ID des images des radiateurs i_radiateur_cmu i_radiateur_cmd i_radiateur_c i_radiateur_eco i_radiateur_hg i_radiateur_off Pour uploader des icones personnalisé , il faut : Être en local (genre http://http://192.168.1.113 , et pas passer par http://dom.fibaro.xxxxxx), que les images soient en png , et qu'elles fassent 128x128px (on peut redimmensionner une image avec Paint3D sout Windows 10) Pour récupérer l'ID du icone, effectuer un clic droit sur l'icone, faire 'ouvrir l'image dans un nouvel onglet', regarder l'url, et http://192.168.1.113/fibaro/n_vicons/User1007.png l'ID est marqué juste après le User Vous trouverez mes imgs en pj Comment créer une variable gloable ? -Il faut créer à la main via le pannel 'viariable globale' via l'IHM de la HC2 : Onglet Pannels => Variabels Pannel => Variables ( et pas Predefined Variables) Un objet radiateur étant : un ID (l'ID du radiateur, du 'variateur de lumière qui permet de piloter le radiateur') un état ordonné : l'ordre donné , j'ai demandé à ce radiateur d'être en mode hors gel par exemple sa position : du texte qui dit ou est le radiateur dans la maison ( et je pense prochainement un champ : type programmation, mais j'y reveindrais une autre fois) - J'initialise cette variable avec une scene --[[%% properties%% events%% globals--]] function get_radiateur (id,position_si_vide) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then return v; end end fibaro:debug('Création du radiateur car introuvable !') local un_r = {id = tostring(id), Etat = 0 , Position = position_si_vide} return un_r;end function save_radiateur (id,radiateur) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) local cmp=1; for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('>found') l_radiateurs[cmp] = radiateur fibaro:debug('> ' .. l_radiateurs[cmp]['Position']) fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); break; end cmp=cmp+1; end return;end --je declare les radiateurlocal un_r = {id = "23", Etat = 11 , Position = "salon droite cheminée"} -- capitalization in "Message" may matterl_radiateurs[1] = un_r local un_r = {id = "73", Etat = 11 , Position = "salon gauche cheminée"} -- capitalization in "Message" may matterl_radiateurs[2] = un_r local un_r = {id = "54", Etat = 11 , Position = "salon côté escalier"} -- capitalization in "Message" may matterl_radiateurs[3] = un_r local un_r = {id = "80", Etat = 11 , Position = "chambre 3"} -- capitalization in "Message" may matterl_radiateurs[4] = un_r local un_r = {id = "88", Etat = 11 , Position = "chambre 2"} -- capitalization in "Message" may matterl_radiateurs[5] = un_r local un_r = {id = "95", Etat = 11 , Position = "chambre 1"} -- capitalization in "Message" may matterl_radiateurs[5] = un_r jsonString = json.encode(l_radiateurs) -- après encodage variable de jsonString contient '{ "value2": null, "value1": 512 }'fibaro:debug('encoding')fibaro:debug(jsonString)fibaro:debug(tostring(json.encode(l_radiateurs))) fibaro:debug('saving > ' .. #l_radiateurs .. ' radiateurs !')fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); Dans mon exemple on voit que j'ai déclaré 5 radiateurs Ensuite, pour mon module virtuel de radiateurs (présent en pj), pour chaque bouton 'etat' (genre Eco/Confort) j'ai le code suivant local id_radiateur=23; --<====Mettre l'ID du variateur de lumière correspondant au radiateurlocal valeur='11'; --<====Mettre l'odre voulu , 0 , 11,21,31,41 ou 100, pas d'auter valeurs, pas de 1,2,3, 51,76, vous comprendrez pourquoi ensuite function get_radiateur (id,position_si_vide) fibaro:debug(tostring(fibaro:getGlobal("l_radiateurs"))) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('Radiateur trouvé') return v; end end fibaro:debug('Création du radiateur ' .. id .. ' car introuvable !') local un_r = {id = tostring(id), Etat = 0 , Position = position_si_vide} return un_r;end function save_radiateur (id,radiateur) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) local cmp=1; for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('>found') l_radiateurs[cmp] = radiateur fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); return; end cmp=cmp+1; end fibaro:debug('Création du radiateur ' .. id .. ' car introuvable !') l_radiateurs[#l_radiateurs + 1] = radiateur fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); returnend --je positionne le radiateur à l'état voulufibaro:call(id_radiateur, 'setValue', valeur)-- je positionne le bon nom pour le titrefibaro:call(fibaro:getSelfId(), "setProperty", "ui.letat.value", "Hors Gel");--j'enregistre dans la variable globale l'état du radiateur, comme cela s'il la communication s'est mal passé, le script de rattrapage rattrape le tout !local radiateur=get_radiateur(id_radiateur,'salon droite cheminée');radiateur['Etat']=valeur;save_radiateur(id_radiateur,radiateur); Et dans le main loop du module virtuel j'ai le code suivant local id_radiateur=23 function get_radiateur (id,position_si_vide) fibaro:debug(tostring(fibaro:getGlobal("l_radiateurs"))) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('Radiateur trouvé') return v; end end fibaro:debug('Création du radiateur ' .. id .. ' car introuvable !') local un_r = {id = tostring(id), Etat = 0 , Position = position_si_vide} return un_r;end function save_radiateur (id,radiateur) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) local cmp=1; for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('>found') l_radiateurs[cmp] = radiateur fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); return; end cmp=cmp+1; end fibaro:debug('Création du radiateur ' .. id .. ' car introuvable !') l_radiateurs[#l_radiateurs + 1] = radiateur fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); returnend fibaro:debug('Go')local radiateur=get_radiateur(id_radiateur,'');local etat_r=radiateur['Etat'];fibaro:debug('Go 2')fibaro:debug('etat_r:' .. tostring(etat_r)) local id_icone="";if tostring(etat_r) == "100" then --confort fibaro:debug('Confort') id_icone=tostring(fibaro:getGlobal("i_radiateur_c")); fibaro:call(fibaro:getSelfId(), "setProperty", "ui.letat.value", "Confort");endif tostring(etat_r) == "41" then --confort -1 id_icone=tostring(fibaro:getGlobal("i_radiateur_cmu")); fibaro:call(fibaro:getSelfId(), "setProperty", "ui.letat.value", "Confort-1");endif tostring(etat_r) == "31" then --confort -2 id_icone=tostring(fibaro:getGlobal("i_radiateur_cmd")); fibaro:call(fibaro:getSelfId(), "setProperty", "ui.letat.value", "Confort-2");endif tostring(etat_r) == "21" then --eco id_icone=tostring(fibaro:getGlobal("i_radiateur_eco")); fibaro:call(fibaro:getSelfId(), "setProperty", "ui.letat.value", "Eco");endif tostring(etat_r) == "11" then --hg id_icone=tostring(fibaro:getGlobal("i_radiateur_hg")); fibaro:call(fibaro:getSelfId(), "setProperty", "ui.letat.value", "Hors Gel");endif tostring(etat_r) == "0" then --arret id_icone=tostring(fibaro:getGlobal("i_radiateur_off")); fibaro:call(fibaro:getSelfId(), "setProperty", "ui.letat.value", "Arrêt");endfibaro:debug('Icone : '..id_icone) --je met a jour l'iconelocal id_v=fibaro:getSelfId();fibaro:debug('id_v : '..id_v)fibaro:call(id_v, "setProperty", "currentIcon", id_icone) Pour finir - tous les contrôler en 1 clic J'ai pu créer par exemple une scene pour mettre d'un coup tous mes radiateurs en mode Hors-Gel Et on peut imaginer une autre scene, qui met en mode Confort de 7H à 9H puis Confort-2 , pour revenir à Confort à partir de 18H jusqu'à 23H. --[[%% properties%% weather%% events%% globals--]] --Radiateurs HGfunction get_radiateur (id,position_si_vide) fibaro:debug(tostring(fibaro:getGlobal("l_radiateurs"))) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('Radiateur trouvé') return v; end end fibaro:debug('Création du radiateur ' .. id .. 'car introuvable !') local un_r = {id = id, Etat = 0 , Position = position_si_vide} return un_r;end function save_radiateur (id,radiateur) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) local cmp=1; for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('>found') l_radiateurs[cmp] = radiateur fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); return; end cmp=cmp+1; end fibaro:debug('Création du radiateur ' .. id .. 'car introuvable !') l_radiateurs[#l_radiateurs + 1] = radiateur fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); returnend --je parcours les radiateurs de la var globalfunction main_function()local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) for _,v in pairs(l_radiateurs) do local valeur_constate = fibaro:getValue(v['id'], 'value') fibaro:debug(' ') fibaro:debug('Check Radiateur : ' .. v['id']) fibaro:debug(v['id'] .. 'valeur_constate : ' .. valeur_constate) local valeur_ordonnee = 11; fibaro:debug(v['id'] .. 'valeur_ordonnee : ' .. valeur_ordonnee) if tostring(valeur_ordonnee) ~= tostring(valeur_constate) then fibaro:debug('Radiateur ordre a rectifier : ' .. v['id']) fibaro:call(v['id'], 'setValue', valeur_ordonnee) local radiateur=get_radiateur(v['id'],'salon droite cheminée'); radiateur['Etat']=valeur_ordonnee; save_radiateur(v['id'],radiateur); api.post('/mobile/push', {["mobileDevices"]={4}, ["message"]='Etat rattrapé !', ["title"]=v['Position'], ["category"]='YES_NO', ["data"]={["sceneId"]=0}}); else fibaro:debug('Radiateur ordre OK') end endend main_function()fibaro:debug('Fin') Et voila, j'arrive à la fin de mon post, vous êtes encore la ? C'est la première fois que je publie un truc , soyez indulgent s'il vous plait. Et n'hésitez pas à me faire des retours . Je terminerais en disant que j'ai un regret avec la HC2 => Pourquoi diable on ne peut pas créer de fonction partagée, je suis obligé de dupliquer mes 2 fonctions partout c'est horrible !!!!! cdt Radiateur_Droite_Ch.vfib 2
Lazer Posté(e) le 23 juin 2018 Signaler Posté(e) le 23 juin 2018 Merci @frixo pour ton retour détaillé. J'ai fusionné ton message avec le topic unique du module dans cette section, et ajouté un lien vers ton tuto en première page.
pepite Posté(e) le 23 juin 2018 Signaler Posté(e) le 23 juin 2018 Bonjour, Super tuto:-) Et oui les Qubino sont un peu réfractaires :-) Envoyé de mon BND-L21 en utilisant Tapatalk
BenjyNet Posté(e) le 23 juin 2018 Signaler Posté(e) le 23 juin 2018 Moi je passe l'interface en anglais et je décoche tout pour pas les inclure en sécurisé notamment. Et j'ai toujours 100% de réussite en les incluant à côté de la box avant de les poser à leur place. Pour le code, je vois ça plus simple moi en mettant un VD par radiateur qui après est commandé par une scène et j'ai toujours l'état du radiateur même après un reboot de la box ou une perte de com grâce au main loop du VD... mais bon après chacun code comme il le sent et comme ça lui semble le plus facile.
frixo Posté(e) le 26 juin 2018 Signaler Posté(e) le 26 juin 2018 Bonjour merci pour vos retours.C'est super sympas ! je me rend compte que j'ai oublié un script ! J'ai une scene qui tourne toutes les heures pour s'assurer que l'odre donné à un radiateur est bien l'ordre appliqué, sinon on relance l'ordre. Oui il m'est arrivé (rarement mais arrivé) que je donne un ordre et que ca passe pas, va savoir. Du coup , grace a ce script ca passe ! --[[%% autostart%% properties%% weather%% events%% globals--]] local currentDate = os.date("*t");local startSource = fibaro:getSourceTrigger(); function get_radiateur (id,position_si_vide) fibaro:debug(tostring(fibaro:getGlobal("l_radiateurs"))) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('Radiateur trouvé') return v; end end fibaro:debug('Création du radiateur ' .. id .. 'car introuvable !') local un_r = {id = id, Etat = 0 , Position = position_si_vide} return un_r;end function save_radiateur (id,radiateur) local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) local cmp=1; for _,v in pairs(l_radiateurs) do if v['id'] == tostring(id) then fibaro:debug('>found') l_radiateurs[cmp] = radiateur fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); return; end cmp=cmp+1; end fibaro:debug('Création du radiateur ' .. id .. 'car introuvable !') l_radiateurs[#l_radiateurs + 1] = radiateur fibaro:setGlobal("l_radiateurs", tostring(json.encode(l_radiateurs))); returnend --je parcours les radiateurs de la var globalfunction main_function() local l_radiateurs = json.decode(tostring(fibaro:getGlobal("l_radiateurs"))) for _,v in pairs(l_radiateurs) do local valeur_constate = fibaro:getValue(v['id'], 'value') fibaro:debug(' ') fibaro:debug('Check Radiateur : ' .. v['id']) fibaro:debug(v['id'] .. 'valeur_constate : ' .. valeur_constate) local valeur_ordonnee = v['Etat']; fibaro:debug(v['id'] .. 'valeur_ordonnee : ' .. valeur_ordonnee) --si les valeurs diffèrent, je rattrape if tostring(valeur_ordonnee) ~= tostring(valeur_constate) then fibaro:debug('Radiateur ordre a rectifier : ' .. v['id']) fibaro:call(v['id'], 'setValue', valeur_ordonnee) local radiateur=get_radiateur(v['id'],'salon droite cheminée'); radiateur['Etat']=valeur_ordonnee; save_radiateur(v['id'],radiateur); --api.post('/mobile/push', {["mobileDevices"]={4}, ["message"]='Etat rattrapé !' .. tostring(valeur_ordonnee) .. ' <= ' .. tostring(valeur_constate), ["title"]=v['Position'], ["category"]='YES_NO', ["data"]={["sceneId"]=0}}); else fibaro:debug('Radiateur ordre OK') end endend function tempFunc() fibaro:debug('tempFunc 0') local currentDate = os.date("*t"); if ( (math.floor(os.time()/60)-math.floor(1528820040/60))%60 == 0 ) then main_function() end setTimeout(tempFunc, 60*1000)end local sourceTrigger = fibaro:getSourceTrigger();if (sourceTrigger["type"] == "autostart") then fibaro:debug('tempFunc') tempFunc() endfibaro:debug('Fin')
frixo Posté(e) le 26 juin 2018 Signaler Posté(e) le 26 juin 2018 Le 23/06/2018 à 22:30, BenjyNet a dit : Moi je passe l'interface en anglais et je décoche tout pour pas les inclure en sécurisé notamment. Et j'ai toujours 100% de réussite en les incluant à côté de la box avant de les poser à leur place. Pour le code, je vois ça plus simple moi en mettant un VD par radiateur qui après est commandé par une scène et j'ai toujours l'état du radiateur même après un reboot de la box ou une perte de com grâce au main loop du VD... mais bon après chacun code comme il le sent et comme ça lui semble le plus facile. Salut oui , via le main loop j'ai effectivement l'état, je fais un get, et avec l'état je met à jour le label ETAT et l'IMAGE. Si j'ai fait le tableau, c'est principalement pour pouvoir tous les commander via d'autre scene , sans a avoir a saisir leur ID cdt
sjouff Posté(e) le 21 septembre 2018 Signaler Posté(e) le 21 septembre 2018 Bonsoir, concernant ce module qubino fil pilote Zmnhjd1 , y a t'il des risques avérés de perte de reconnaissance lors d'une simple mise à jour de la HCL comme j'ai pu le lire sur le forum? je suis en version 4.130 et j'hesite à donc passer à une mise à jour ultérieure car tout mon chauffage marche parfaitement avec les modules virtuels associés et des scenes blocs... merci Cordialement S.
Dragoniacs Posté(e) le 23 septembre 2018 Signaler Posté(e) le 23 septembre 2018 Je suis en 4.510 avec 2 modules pilotes et ça c'est très bien passé.
Dragoniacs Posté(e) le 23 septembre 2018 Signaler Posté(e) le 23 septembre 2018 Par contre je suis en HC2 avec des scènes en LUA....
gregosder Posté(e) le 6 octobre 2018 Signaler Posté(e) le 6 octobre 2018 (modifié) Bonjour à tous, Bon je viens d’acquérir le fameux Qubino-ZMNHJD1. Après quelque début chaotique, notamment pour l'association à la HC2 j'ai réussi. Celui ci pilote un sèche serviette SAUTER ASAMA de 750 Watts. En fait pilote pas d'ou mon post. J'ai créé un VD avec six boutons et avec le code type suivant : fibaro:call(92.0,'setvalue',99) (exemple pour le mode confort) et bien cela ne fonctionne pas, j'ai testé avec ou sans la programmation du radiateur, idem. La version de HC2 est la 4.510, je ne suis pas expert mais j'avoue je bloque. De plus lorsque je met le mode arrêt sur mon VD je devrais avoir sur l'ecran du programmateur inscrit OFF, et bien là ce n'est pas le cas. Merci d'avance pour votre aide. Greg Modifié le 6 octobre 2018 par gregosder
BenjyNet Posté(e) le 6 octobre 2018 Signaler Posté(e) le 6 octobre 2018 Dans chaque bouton tu mets : - confort : fibaro:call(92, "setValue", "99"); - conf -1° : fibaro:call(92, "setValue", "45"); - conf -2° : fibaro:call(92, "setValue", "35"); - eco : fibaro:call(92, "setValue", "15"); - arrêt/delestage : fibaro:call(92, "setValue", "0") Puis dans ta boucle principale : local rad_dimmer = tonumber(fibaro:getValue(92, "value")); local status = tonumber(fibaro:getValue(92, "dead")); if (status == 0) then if (rad_dimmer < 11 ) then fibaro:call(fibaro:getSelfId(),"setProperty","currentIcon","1025"); elseif (rad_dimmer > 10 and rad_dimmer < 21) then fibaro:call(fibaro:getSelfId(),"setProperty","currentIcon","1004"); elseif (rad_dimmer > 20 and rad_dimmer < 31) then fibaro:call(fibaro:getSelfId(),"setProperty","currentIcon","1005"); elseif (rad_dimmer > 30 and rad_dimmer < 41) then fibaro:call(fibaro:getSelfId(),"setProperty","currentIcon","1024"); elseif (rad_dimmer > 40 and rad_dimmer < 51) then fibaro:call(fibaro:getSelfId(),"setProperty","currentIcon","1023"); elseif (rad_dimmer > 50) then fibaro:call(fibaro:getSelfId(),"setProperty","currentIcon","1001"); end else fibaro:call(fibaro:getSelfId(),"setProperty","currentIcon","1026"); end Les numéros 10xx correspondent aux icones des différents états des radiateurs.
gregosder Posté(e) le 6 octobre 2018 Signaler Posté(e) le 6 octobre 2018 (modifié) Merci pour ta réponse rapide. J'ai fais exactement ce qui est noté, j'ai passé mon radiateur en OFF, je l'ai mis en mode confort sur la box, il reste en off sur l’écran de contrôle du radiateur. Je vais tout de même attendre 15 min pour voir si il chauffe. C'est peut être juste que le retour d'état ne se fait pas sur l'écran de contrôle du radiateur....mais j'en doute. On est bien d'accord que le device ID correspond à celui identifié comme le variateur de lumière ? Modifié le 6 octobre 2018 par gregosder
BenjyNet Posté(e) le 6 octobre 2018 Signaler Posté(e) le 6 octobre 2018 T'es sur de ton id 92 pour le module ? Est-ce que tu pilotes le module directement ou par le VD. Faut déjà qu'on voit si le problème vient du VD ou du module.
gregosder Posté(e) le 6 octobre 2018 Signaler Posté(e) le 6 octobre 2018 Oui après vérification l'ID est 93, j'ai fait la modif mais pareil pas de changement. Et je pilote le module par la VD uniquement
BenjyNet Posté(e) le 6 octobre 2018 Signaler Posté(e) le 6 octobre 2018 Essaye déjà de piloter uniquement par le module sans toucher au VD. Regarde juste si les ordres CONF et ARRET passe ; donc ON/OFF. Regarde aussi que ton branchement électrique est bon (marron/phase, bleu/neutre, noir fil pilote à brancher sur la borne avec la sinusoïde (entre le L et I3)). Si tout ça est ok on regardera la config de ton radiateur.
gregosder Posté(e) le 6 octobre 2018 Signaler Posté(e) le 6 octobre 2018 Alors le ON/OFF fonctionne, du moins quand je suis en OFF le chauffage passe sur DEL (delestage) et en ON sur confort. Donc je confirme tout est bien branché comme tu l'indique.
BenjyNet Posté(e) le 6 octobre 2018 Signaler Posté(e) le 6 octobre 2018 Donc pas de soucis alors. C'est quoi le problème finalement ?
Messages recommandés