Zorro Posté(e) le 6 octobre 2014 Signaler Partager Posté(e) le 6 octobre 2014 oui oui ça l'air d’être bon là, je vais tester sur plusieurs jours ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
JossAlf Posté(e) le 9 décembre 2014 Auteur Signaler Partager Posté(e) le 9 décembre 2014 Mise à jour du code de la première page avec la nouvelle syntaxe de HC2:PUT Voir le message de PITP2 : #8 Lien vers le commentaire Partager sur d’autres sites More sharing options...
PITP2 Posté(e) le 18 décembre 2014 Signaler Partager Posté(e) le 18 décembre 2014 Je dois être un peu idiot mais je n'arrive pas à entrer mon mot de passe admin dans la variable globale MotDePasse .... Il y a une astuce ? Peux tu me dire à quoi correspond l'id "100" stp Est ce ton thermostat de zone ? if currentTime < "23:59" and currentTime > "06:30" thenfibaro:call(100, "setTargetLevel", 20.5)elsefibaro:call(100, "setTargetLevel", 18.5)end Lien vers le commentaire Partager sur d’autres sites More sharing options...
cybersquat Posté(e) le 14 février 2015 Signaler Partager Posté(e) le 14 février 2015 Bonjour à tous, je suis comme zorro Mes srt321 et mes fgs211 fonctionne nickel sur ma hc2 et l'association des modules se sont très bien fait ! Moi ma question, sur le zonage du module de ce sujet, dans mon cas j'ai un panneau de chauffage par (chambre enfant1,) (enfant 2), etc, donc 5 en total ! Sur ton module, peux t'on ajouter tous les panneaux ? pour invité, vacances, etc.. ? Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
JossAlf Posté(e) le 15 février 2015 Auteur Signaler Partager Posté(e) le 15 février 2015 Je pense que tu devrais créer un module par zone. Chaque panneau de chauffage a un ID propre et tu modifieras son json avec un module virtuel dédié. Pour gérer les modes "invité" "vacances" "normal" d'un coup, tu pourras créer un nouveau module virtuel "Général" qui mettra à jour tous les json en une fois : Soit en programmant chaque bouton de ce MV pour modifier tous les json de chaque zone. Soit (et je privilégierais ce fonctionnement) en simulant l'appui sur les boutons des MV de chaque zone. Ainsi tu peux créer plusieurs configurations (une partie des zones en vacances et les autres non). Tu pourras ainsi gagner du temps (le MV Général traite toutes tes zones d'un coup) mais aussi garder la main sur chaque zone de façon indépendante grâce aux MV dédiés (en deuxième passe). Exemple : La famille est en congés à la maison sans invité ... Sur le MV général : Tu clique sur mode "invité" (chauffe tout le temps) ce qui va simuler l'appui sur le bouton "invité" de tout les MV dédiés. Sur le MV Chambre d'ami : Tu cliques sur mode "vacances" (chauffage à 15°C) ce qui va modifier uniquement la zone de la chambre d'ami. Tu peux aussi prévoir un bouton spécial sur le MV général -> Congés sans invité : Tu clique sur "Congés sans invité" ce qui simulera l'appui sur le bouton "invité" de tout tes MV dédiés sauf pour celui de la zone chambre d'ami où cela simulera l'appui sur le bouton "vacances". Lien vers le commentaire Partager sur d’autres sites More sharing options...
antlepilote Posté(e) le 23 octobre 2015 Signaler Partager Posté(e) le 23 octobre 2015 Bonjour à tous et à toutes, J'ai un petit problème qui commence à devenir un énorme problème J'ai essayé de le tourner dans tout les sens mais rien à y faire ! Je m'explique, je souhaite piloter mon chauffage électrique avec un AEOTEC ZW078 en association avec un SRT321. J'ai procédé comme suit (et comme indiqué dans ce sujet) : - intégration du SRT321 au HC2 - intégration du ZW078 au HC2 - association entre SRT321 et ZW078 par l'intermédiaire du HC2 (voir photos jointes) - création du PC avec d'attribution bien cochée - tout ce qui va bien normalement De plus, j'attends bien l'heure indiquée dans le PC + temps de réponse du SRT321 (300 secondes dans mon cas) mais rien n'y fait. La phrase magique "en attente de réveil" ne s'affiche pas ... J'ai juste remarqué que pour le ZW078, il y a "transfert OK" qui s'affiche à l'heure programmée dans le PC. Sinon, pour info, j'arrive à modifier la température de consigne en passant par des scènes alors pourquoi cela ne marche pas avec le PC ??? Merci pour votre aide, Bonne soirée et bon week-end, Anthony asso pc.tiff asso.tiff etat.tiff pc.tiff salle jeux.tiff therm.tiff Lien vers le commentaire Partager sur d’autres sites More sharing options...
antlepilote Posté(e) le 23 octobre 2015 Signaler Partager Posté(e) le 23 octobre 2015 Re, J'ai un peu avancé. Lorsque le paramètre temps est à 0 sur le thermostat, le panneau de chauffage envoie bien la consigne qui est prise en considération par le SRT321 dans les 300 secondes dans mon cas. Par contre, dès que je modifie la consigne de température depuis le SRT321, le température change bien mais aussi le temps qui passe à 2H00min et après cela, le panneau de chauffage ne prend plus le dessus ... Est-il possible de laisser cette variable temps en permanence à 0 ? Merci Anthony Lien vers le commentaire Partager sur d’autres sites More sharing options...
PITP2 Posté(e) le 24 octobre 2015 Signaler Partager Posté(e) le 24 octobre 2015 Je ne crois pas que cela soit possible de mettre cette valeur à0 Lien vers le commentaire Partager sur d’autres sites More sharing options...
antlepilote Posté(e) le 24 octobre 2015 Signaler Partager Posté(e) le 24 octobre 2015 Merci pour ta réponse Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 23 avril 2016 Signaler Partager Posté(e) le 23 avril 2016 Bonjour,Je souhaite comme vous pouvoir passer mon panneau de chauffage un mode vacance (rien d'autre) grâce à une module virtuel.j'utilise votre tuto pour le faire mais visiblement cela ne fonctionne pas. Voici la partie utilisée : --passe le panel en mode voyage HC2 = Net.FHttp("192.168.2.xxx",80) HC2:setBasicAuthentication("admin", "MDP") local strefa = 61 response ,status, errorCode = HC2:GET("/api/panels/heating?id="..strefa) jsonTable = json.decode(response) --je passe en mode vacances avec 10°C jsonTable.properties.vacationTemperature =10; json = json.encode(jsonTable); HC2:PUT("/api/panels/heating?id="..strefa, json) fibaro:call(65, "setProperty", "ui.Label1.value", "Voyage"); j'ai déjà un problème avec cette ligne de commande : HC2 = Net.FHttp("192.168.2.xxx",80) Quand je colle le code dans une scene LUA, il me dit :"attempt to index global 'net' (a nil value)"Vous avez une idée ? merci d'avance !!! cordialement, Lien vers le commentaire Partager sur d’autres sites More sharing options...
Moicphil Posté(e) le 23 avril 2016 Signaler Partager Posté(e) le 23 avril 2016 Bonjour Essaye avec ceci : HC2 = Net.FHttp("127.0.0.1",11111); local panel = 4 response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel); jsonTable = json.decode(response); jsonTable.properties.vacationTemperature = 10; json = json.encode(jsonTable); HC2:PUT("/api/panels/heating/"..panel, json); fibaro:call(65, "setProperty", "ui.Label1.value", "Voyage"); fibaro:log("La température est réglée à : "..jsonTable.properties.vacationTemperature.." °C") Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 24 avril 2016 Signaler Partager Posté(e) le 24 avril 2016 impec !!! merci !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 28 avril 2016 Signaler Partager Posté(e) le 28 avril 2016 je reviens vers toi car je souhaite utiliser le même principe pour envoyer une commande GET vers une caméra : voici la commande qui fonctionne très bien dans un virtual device mais qui veut pas fonctionner dans une scène : tcpSERVER = Net.FHttp("xxxxxxxx.dyndns.org", 1234); tcpSERVER:GET("/decoder_control.cgi?command=31&user=xxxxxx&pwd=xxxxxxx"); j'ai une erreur sur la première ligne "nil value" tu as une idée ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 29 avril 2016 Signaler Partager Posté(e) le 29 avril 2016 Bonjour, Dans une scene, cela doit etre cela plutot : net.HTTPClient() Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 29 avril 2016 Signaler Partager Posté(e) le 29 avril 2016 j'ai essayé avec tcpSERVER = Net.HttpClient("xxxxxxxxxx.dyndns.org", 1238) tcpSERVER:GET("/decoder_control.cgi?command=31&user=xxxxxxxxx&pwd=xxxxxxxxxxxx"); mais non toujours la même erreur àla première ligne... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lamparo Posté(e) le 30 septembre 2016 Signaler Partager Posté(e) le 30 septembre 2016 Bonsoir à vous tous, j'ai acquis un SRT321 que j'ai appairé avec la HC2. Je vois bien le thermostat dans les modules, mais lorsque je clique sur l'icône paramètre pour l'assigner, j'ai le code 403 qui s'affiche et "accès refusé". J'ai fait l'association plusieurs fois et rien n'y fait. Je suis en V4.1 Si l'un de vous a une info. mercià vous JP Edit: le prob vient de la mise à jour 4.1, il suffit de vider le cache du navigateur pour régler le problème. Lien vers le commentaire Partager sur d’autres sites More sharing options...
fmplaw Posté(e) le 16 février 2017 Signaler Partager Posté(e) le 16 février 2017 (modifié) Est il toujours nécessaire de s'authentifier sur la HC2 avec la méthode PUT ? Cela m'embête un peu de mettre mon mot de passe en clair dans une variable globale... De plus je teste le bouton normal en l'ayant modifié comme préconisé mais j'ai une erreur "[ERROR] 15:11:41: line 9: attempt to call field 'decode' (a nil value)". Voici mon code pour : local strefa = 75 -- ID du panneau de chauffage local tempJour = fibaro:getGlobal('TempJour') --Variable globale de la tempérarure de consigne jour tempJour = tonumber(tempJour) local tempNuit = fibaro:getGlobal('TempNuit') --Variable globale de la tempérarure de consigne nuit tempNuit = tonumber(tempNuit) HC2 = Net.FHttp("127.0.0.1") local NouveauPanel = ('{"id":75,"name":"Chambre Enfants","properties":{"monday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"tuesday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"wednesday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"thursday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"friday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"saturday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempJour..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"sunday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempJour..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"handTemperature":0,"handTimestamp":0,"vacationTemperature":0,"rooms":[]},"created":1487248548,"modified":1487248548}') json = json.encode(NouveauPanel); HC2:PUT("/api/panels/heating/"..strefa, json) fibaro:debug(NouveauPanel) fibaro:call(124, "setProperty", "ui.Label1.value", "Normal"); --reglage de la T° de consigne en focntion de l'heure local currentDate = os.date("*t"); local currentTime = string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min); if currentTime < "21:30" and currentTime > "06:45" then fibaro:call(115, "setTargetLevel", tempJour) fibaro:call(112, "setTargetLevel", tempJour) else fibaro:call(115, "setTargetLevel", tempNuit) fibaro:call(112, "setTargetLevel", tempNuit) end Merci pour le coup de main ! Modifié le 16 février 2017 par fmplaw Lien vers le commentaire Partager sur d’autres sites More sharing options...
fmplaw Posté(e) le 16 février 2017 Signaler Partager Posté(e) le 16 février 2017 Bon je m'auto réponds : le json.encode ne sert à rien ici. Voici le bon code : local strefa = 75 -- ID du panneau de chauffage local tempJour = fibaro:getGlobal('TempJour') --Variable globale de la tempérarure de consigne jour tempJour = tonumber(tempJour) local tempNuit = fibaro:getGlobal('TempNuit') --Variable globale de la tempérarure de consigne nuit tempNuit = tonumber(tempNuit) HC2 = Net.FHttp("127.0.0.1",11111) local NouveauPanel = ('{"id":75,"name":"Chambre Enfants","properties":{"monday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"tuesday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"wednesday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"thursday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"friday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"saturday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempJour..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"sunday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempJour..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"handTemperature":0,"handTimestamp":0,"vacationTemperature":0,"rooms":[]},"created":1487248548,"modified":1487248548}') HC2:PUT("/api/panels/heating/"..strefa, NouveauPanel) fibaro:debug(NouveauPanel) fibaro:call(124, "setProperty", "ui.Label1.value", "Normal"); --reglage de la T° de consigne en focntion de l'heure local currentDate = os.date("*t"); local currentTime = string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min); if currentTime < "21:30" and currentTime > "06:45" then fibaro:call(115, "setTargetLevel", tempJour) fibaro:call(112, "setTargetLevel", tempJour) else fibaro:call(115, "setTargetLevel", tempNuit) fibaro:call(112, "setTargetLevel", tempNuit) end Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 16 février 2017 Signaler Partager Posté(e) le 16 février 2017 Bonsoir, Pour m'amuser sur le code mais suis loin d'être expert, j'espère que les experts passeront par là pour me corriger, on peut gagner quelques lignes ;-) local strefa = 75 -- ID du panneau de chauffage local st814 = {115, 112} local tempJour = tonumber(fibaro:getGlobal('TempJour')) --Variable globale de la tempérarure de consigne jour local tempNuit = tonumber(fibaro:getGlobal('TempNuit')) --Variable globale de la tempérarure de consigne nuit --HC2 = Net.FHttp("127.0.0.1",11111) local NouveauPanel = ('{"id":75,"name":"Chambre Enfants","properties":{"monday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"tuesday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"wednesday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"thursday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"friday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempNuit..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"saturday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempJour..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"sunday":{"morning":{"hour":6,"minute":45,"temperature":'..tempJour..'},"day":{"hour":8,"minute":45,"temperature":'..tempJour..'},"evening":{"hour":17,"minute":45,"temperature":'..tempJour..'},"night":{"hour":21,"minute":30,"temperature":'..tempNuit..'}},"handTemperature":0,"handTimestamp":0,"vacationTemperature":0,"rooms":[]},"created":1487248548,"modified":1487248548}') api.put("/api/panels/heating/"..strefa, NouveauPanel) --HC2:PUT("/api/panels/heating/"..strefa, NouveauPanel) fibaro:debug(NouveauPanel) fibaro:call(124, "setProperty", "ui.Label1.value", "Normal"); --reglage de la T° de consigne en focntion de l'heure local currentTime = os.date("%H:%M"); --local currentTime = string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min); if currentTime < "21:30" and currentTime > "06:45" then for i = 1, #st814 do fibaro:call(st814[i], "setTargetLevel", tempJour) --fibaro:call(112, "setTargetLevel", tempJour) else fibaro:call(st814[i], "setTargetLevel", tempNuit) --fibaro:call(112, "setTargetLevel", tempNuit) end Lien vers le commentaire Partager sur d’autres sites More sharing options...
fmplaw Posté(e) le 16 février 2017 Signaler Partager Posté(e) le 16 février 2017 Je connaissais pas le api.put Effectivement la table est bien pensé ! Merci @pepite ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 16 février 2017 Signaler Partager Posté(e) le 16 février 2017 De rien. Il manque le end de la blucke for :-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
barnabe Posté(e) le 24 février 2017 Signaler Partager Posté(e) le 24 février 2017 Bonjour, pouvez-vous me confirmer que ce code (publié un peu plus haut) fonctionne bien en 4.110, le but étant de passer en mode vacances avec 10°c sur ma zone 1 et ca ne fonctionne pas ( je ne suis pas un pro du code !!!) HC2 = Net.FHttp("192.168.0.51",80) HC2:setBasicAuthentication("xxxxx", "xxxxxxx") local panel = 1 response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) jsonTable = json.decode(response); jsonTable.properties.vacationTemperature = 10; json = json.encode(jsonTable); HC2:PUT("/api/panels/heating/"..panel, json) Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés