Zorro 20 Signaler ce message Posté(e) 6 octobre 2014 oui oui ça l'air d’être bon là, je vais tester sur plusieurs jours ... Partager ce message Lien à poster Partager sur d’autres sites
JossAlf 164 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
PITP2 1 593 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
cybersquat 47 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
JossAlf 164 Signaler ce message Posté(e) 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". Partager ce message Lien à poster Partager sur d’autres sites
antlepilote 1 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
antlepilote 1 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
PITP2 1 593 Signaler ce message Posté(e) 24 octobre 2015 Je ne crois pas que cela soit possible de mettre cette valeur à0 Partager ce message Lien à poster Partager sur d’autres sites
antlepilote 1 Signaler ce message Posté(e) 24 octobre 2015 Merci pour ta réponse Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 603 Signaler ce message Posté(e) 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, Partager ce message Lien à poster Partager sur d’autres sites
Moicphil 1 118 Signaler ce message Posté(e) 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") Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 603 Signaler ce message Posté(e) 24 avril 2016 impec !!! merci !! Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 603 Signaler ce message Posté(e) 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 ? Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 29 avril 2016 Bonjour, Dans une scene, cela doit etre cela plutot : net.HTTPClient() Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 603 Signaler ce message Posté(e) 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... Partager ce message Lien à poster Partager sur d’autres sites
lamparo 56 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites
fmplaw 3 Signaler ce message Posté(e) 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é 16 février 2017 par fmplaw Partager ce message Lien à poster Partager sur d’autres sites
fmplaw 3 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
fmplaw 3 Signaler ce message Posté(e) 16 février 2017 Je connaissais pas le api.put Effectivement la table est bien pensé ! Merci @pepite ! Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 16 février 2017 De rien. Il manque le end de la blucke for :-) Partager ce message Lien à poster Partager sur d’autres sites
barnabe 0 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites