flacon030 Posté(e) le 28 janvier 2017 Signaler Posté(e) le 28 janvier 2017 (modifié) ok pour la valeur, j'en ai une aussi mais elle n'est pas figé pour ton cas? ta connexion au site netatmo est OK? Modifié le 28 janvier 2017 par flacon030
Sakkhho Posté(e) le 28 janvier 2017 Signaler Posté(e) le 28 janvier 2017 (modifié) la est bien celle de la station netatmo si je passe par l'appli netatmo donc ça remonte toujours chez moi (9.2° là) Modifié le 28 janvier 2017 par Sakkhho
Berale64 Posté(e) le 28 janvier 2017 Signaler Posté(e) le 28 janvier 2017 Pas de problème chez moi. Dans le panneau événements on voit que ça change régulièrement.
Lazer Posté(e) le 28 janvier 2017 Signaler Posté(e) le 28 janvier 2017 Bah comme d'habitude, plugins planté, rebooter la box
Lazer Posté(e) le 28 janvier 2017 Signaler Posté(e) le 28 janvier 2017 moi aussi (pour une fois), je disais cela pour Flacon
flacon030 Posté(e) le 28 janvier 2017 Signaler Posté(e) le 28 janvier 2017 (modifié) humm. curieux je l'ai rebouté 2 fois mon HC2, mais c'est toujours pareil Et sans savoir pourquoi elle a fini par bien vouloir se connecter, blackout durant pres de 24h??? Modifié le 28 janvier 2017 par flacon030
Nico Posté(e) le 29 janvier 2017 Signaler Posté(e) le 29 janvier 2017 Tu as tenté d'aller voir sur le site Netatmo quand tu avais le souci, pour voir si tu avais encore accès ?
flacon030 Posté(e) le 2 février 2017 Signaler Posté(e) le 2 février 2017 oui je m’était connecté au site et tous était OK Il faut pas chercher a comprendre parfois....
Titof_44 Posté(e) le 23 avril 2017 Signaler Posté(e) le 23 avril 2017 Avec le thermostat, Comment faire pour effectuer les actions du plugin en code LUA (pour une gestion de fenêtres ouvertes). J'ai bien vu turnOff, turnOn, setVolume, ... J'aurais aimé passé en mode absence ou hors gel, voir modifier la t° courante par LUA. J'ai fait plein de test mais rien. . Quelqu'un a réussi sans passer par le VD de Steven ?
Sakkhho Posté(e) le 23 avril 2017 Signaler Posté(e) le 23 avril 2017 salut @Titof_44 en effet le plugin ne sert à rien ... @Moicphil avait développé un VD mais ça marchait pas correctement, car ça plantait au bon d'un moment. après plusieurs tests, il semblerait que le VD seul (sans avoir le plugin installé) ça fonctionne. j'ai pas retenté car la flemme supprimer le plugin (j'ai tout la station météo dessus)
sebcbien Posté(e) le 23 avril 2017 Signaler Posté(e) le 23 avril 2017 J'en ai fait un aussi, voir ma signature, mais il faut héberger une page PHP quelque part et savoir ajuster le code pour ses besoins. Mais j'ai accès à toutes les fonctions.Maintenant la gestion de mon thermostat est confiée à Jeedom, le plugin est très bien fait, et je peux commander et lire à partir de la hc2Sent from my SM-N910F using Tapatalk
Titof_44 Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 @Sakkhho et @sebcbien, merci pour vos réponses. Comme j'aime bien mon thermostat et ma HC2 et que mon besoin est de jouer avec le thermostat sur des actions précises, je vais garder le plugin et je poste ici une petite scène pour gérer le thermostat : Utilisation : fibaro:startScene(idg["SCN_SETTHERMOSTAT"],{ {setpoint_mode="away"} }) --exemple pour le mode absent. (idg["SCN_SETTHERMOSTAT"]= id de la scène) Vu que je n'ai qu'un thermostat je ne passe pas le device_id et module_id car ils sont mis par défaut dans la scène sinon il faudrait les passer en paramètres. Code de la scène SCN_SETTHERMOSTAT : --[[ %% properties %% globals %% killOtherInstances --]] local idg=json.decode((fibaro:getGlobal('idTable'))) --ids de mes modules local client_id = 'XXXXXXXXXXXXXXXXXXXX' local client_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' local username = 'xxxxxxxxxxxxxxx' local password = 'xxxxxxxxxxxxxxxxxxxxx' --local homeId = 'xxxxxxxxxxxxxxxxxxxxxxx' -- homeId trouver sur site : https://my.netatmo.com/app/camera -- a droite profil puis survol maison regarder sur barre chrome local device_idDefault="xx:xx:xx:xx:xx:xx" --Relay -- Relay trouvé sur site : https://my.netatmo.com/app/energy -- Il suffit de remplacer le g par 70:ee:50. --Par example g002460 a pour adresse MAC 70:ee:50:00:24:60 local module_idDefault="xx:xx:xx:xx:xx:xx" --Thermostat -- Thermostat trouvé sur site : https://dev.netatmo.com/resources/technical/reference/thermostat/getthermostatsdata -- try it et dans le resultat aller à body devices _id modules _id local debug = 1 local token = '' local request_body = '' Debug = function ( color, message ) if (debug == 1) then fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) elseif (debug == 0) then end end DebugChange = function ( color, message ) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) end DebugError = function ( color, message ) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) end local sourceTrigger = fibaro:getSourceTrigger(); function oAuth(nextFunction) local request_body = 'grant_type=password&client_id=' .. client_id .. '&client_secret=' .. client_secret .. '&username=' .. username .. '&password=' .. password .. '&scope=write_thermostat' getResponseData('https://api.netatmo.net/oauth2/token', request_body, function(data) if (data.access_token ~= nil) then token = data.access_token SetAction() else DebugError( "red", "oAuth-API-Call n'a donné aucune valeur de retour"); end end ) end function getResponseData(url, body, func) local http = net.HTTPClient() http:request(url, { options = { method = 'POST', headers = { ['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' }, data = body }, success = function(response) func(json.decode(response.data)) end }) end function SetAction() DebugChange( "green", "Action : "..setpoint_mode) request_body_cam = 'access_token=' ..token.. '&device_id='..device_id ..'&module_id='..module_id ..'&setpoint_mode='..setpoint_mode --Not Required if setpoint_endtime~=nil then request_body_cam =request_body_cam ..'&setpoint_endtime='..setpoint_endtime end if setpoint_temp~=nil then request_body_cam =request_body_cam ..'&setpoint_temp='..setpoint_temp end getResponseData('https://api.netatmo.net/api/setthermpoint', request_body_cam, function(getData) end ) end --recupération des arguments local params = fibaro:args() if (params) then for k, v in ipairs(params) do if (v.device_id) then device_id = v.device_id end if (v.module_id) then module_id = v.module_id end if (v.setpoint_mode) then setpoint_mode = v.setpoint_mode end if (v.setpoint_endtime) then setpoint_endtime = v.setpoint_endtime end if (v.setpoint_temp) then setpoint_temp = v.setpoint_temp end end end if setpoint_mode==nil then fibaro:debug("Abort") fibaro:abort() end if device_id==nil then device_id=device_idDefault end --Required mac address of the relay if module_id==nil then module_id=module_idDefault end --Required mac address of the thermostat --setpoint_mode --Required --program : Currently following a weekly schedule --away : Currently applying the "away" temperature as defined by the user --hg : Frost-guard --manual : Currently applying a manually set temperature setpoint --off : Currently off --max : eating continuously --setpoint_endtime --Not Required --If setpoint_mode is max or manual, defines the validity period of the setpoint. Default is null. --setpoint_temp --Not Required --If setpoint_mode is manual, returns the temperature setpoint in °C. DebugChange( "green", "device_id : "..device_id) DebugChange( "green", "module_id : "..module_id) DebugChange( "green", "setpoint_mode : "..setpoint_mode) oAuth() 1
sebcbien Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 Merci Titof,Suis sur mobile, donc un peu difficile de lire le code.Quel est l'avantage principal de cette scène ?Sent from my SM-N910F using Tapatalk
pepite Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 Bonjour,@sebcbien a priori passage en mode absent du plugin :-)Envoyé de mon Nexus 5X en utilisant Tapatalk
Titof_44 Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 cette scène est indépendante du plugin. un autre exemple : pour repasser en mode programmation standard : fibaro:startScene(idg["SCN_SETTHERMOSTAT"],{ {setpoint_mode="program"} }) et c'est tout Les possibilités sont détaillées dans la scène. Il faut évidement mettre les bons paramètres au début de la scène 1
sebcbien Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 Ah OK, du plugin Officiel ?Sent from my SM-N910F using Tapatalk
sebcbien Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 Parce-que avec mon script je fais ça tout le temps, away, hors gel, present etc...Sent from my SM-N910F using Tapatalk
Titof_44 Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 (modifié) oui cela fait la même chose que ton script mais sans php et web server , sans vd et sans plugin et sans jeedom. la scène est autonome. exemple d'utilisation : sur une plage de confort, le week end par exemple et si on part de l'habitation et qu'il n' y plus personne j'utilise cette scène pour passer en mode absence (17°). des qu'on arrive je repasse en confort. Modifié le 29 avril 2017 par Titof_44 1
pedia Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 Alors moi je dis BRAVO ! Ça ma réconcilie avec mon thermostat. J'ai réussi à le commander via mon HC2, sans passer par le plugin de *¨%£¨% qui m'avait fait m'arracher les cheveux. Et j'ai failli verser une petite larme quand la température de consigne s'est modifiée après avoir lancé la scène sur ma box. J'entrevoie à nouveau la lumière... Merci.
pepite Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 J'ai lu vite fait, mais il y a bien des variables cam dans le code non ? pour la Welcome ?
Titof_44 Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 pour cette scène je me suis inspiré de la scène présence de la welcome de boomx normalement il n'i a plus de variable de welcome sauf en commentaire. Pour ma part la welcome marche du tonnerre avec la reconnaissance des personnes (idéal pour des message personnalisé : arrivée, anniversaire, ...) et le flux video.
sebcbien Posté(e) le 29 avril 2017 Signaler Posté(e) le 29 avril 2017 Ahhh génial !!!Et ça fonctionnera aussi si on a plusieurs Netatmo ? (J'ai deux weather et deux thermostats)Ça me fera plaisir d'arrêter le serveur web de.mon Synology qui ne tourne que pour ça...Sent from my SM-N910F using Tapatalk
pedia Posté(e) le 30 avril 2017 Signaler Posté(e) le 30 avril 2017 J'essaie de récupérer la température mesurée par le thermostat en ajoutant ce que je croyais "simplement" la même syntaxe pour température. Je voulais tout d'abord la faire apparaitre dans le debug. J'ai donc fait : --[[ %% properties %% globals %% killOtherInstances --]] local client_id = 'xx' local client_secret = 'xx' local username = 'xxx' local password = 'xxxx' --local homeId = 'xxxxxxxxxxxxxxxxxxxxxxx' -- homeId trouver sur site : https://my.netatmo.com/app/camera -- a droite profil puis survol maison regarder sur barre chrome local device_idDefault="xxx" --Relay -- Relay trouvé sur site : https://my.netatmo.com/app/energy -- Il suffit de remplacer le g par 70:ee:50. --Par example g002460 a pour adresse MAC 70:ee:50:00:24:60 local module_idDefault="xxxx" --Thermostat -- Thermostat trouvé sur site : https://dev.netatmo.com/resources/technical/reference/thermostat/getthermostatsdata -- try it et dans le resultat aller à body devices _id modules _id local debug = 1 local token = '' local request_body = '' Debug = function ( color, message ) if (debug == 1) then fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) elseif (debug == 0) then end end DebugChange = function ( color, message ) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) end DebugError = function ( color, message ) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) end local sourceTrigger = fibaro:getSourceTrigger(); function oAuth(nextFunction) local request_body = 'grant_type=password&client_id=' .. client_id .. '&client_secret=' .. client_secret .. '&username=' .. username .. '&password=' .. password .. '&scope=write_thermostat' getResponseData('https://api.netatmo.net/oauth2/token', request_body, function(data) if (data.access_token ~= nil) then token = data.access_token SetAction() else DebugError( "red", "oAuth-API-Call n'a donné aucune valeur de retour"); end end ) end function getResponseData(url, body, func) local http = net.HTTPClient() http:request(url, { options = { method = 'POST', headers = { ['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' }, data = body }, success = function(response) func(json.decode(response.data)) end }) end function SetAction() DebugChange( "green", "Action : "..setpoint_mode) request_body_cam = 'access_token=' ..token.. '&device_id='..device_id ..'&module_id='..module_id ..'&setpoint_mode='..setpoint_mode ..'&temperature'..temperature --Not Required if setpoint_endtime~=nil then request_body_cam =request_body_cam ..'&setpoint_endtime='..setpoint_endtime end if setpoint_temp~=nil then request_body_cam =request_body_cam ..'&setpoint_temp='..setpoint_temp end if temperature~=nil then request_body_cam =request_body_cam ..'&temperature='..temperature end getResponseData('https://api.netatmo.net/api/setthermpoint', request_body_cam, function(getData) end ) end --recupération des arguments local params = fibaro:args() if (params) then for k, v in ipairs(params) do if (v.device_id) then device_id = v.device_id end if (v.module_id) then module_id = v.module_id end if (v.setpoint_mode) then setpoint_mode = v.setpoint_mode end if (v.setpoint_endtime) then setpoint_endtime = v.setpoint_endtime end if (v.setpoint_temp) then setpoint_temp = v.setpoint_temp end if (v.temperature) then temperature = v.temperature end end end if setpoint_mode==nil then fibaro:debug("Abort") fibaro:abort() end if device_id==nil then device_id=device_idDefault end --Required mac address of the relay if module_id==nil then module_id=module_idDefault end --Required mac address of the thermostat --setpoint_mode --Required --program : Currently following a weekly schedule --away : Currently applying the "away" temperature as defined by the user --hg : Frost-guard --manual : Currently applying a manually set temperature setpoint --off : Currently off --max : eating continuously --setpoint_endtime --Not Required --If setpoint_mode is max or manual, defines the validity period of the setpoint. Default is null. --setpoint_temp --Not Required --If setpoint_mode is manual, returns the temperature setpoint in °C. DebugChange( "green", "device_id : "..device_id) DebugChange( "green", "module_id : "..module_id) DebugChange( "green", "setpoint_mode : "..setpoint_mode) fibaro:debug('la température est ' ..temperature) oAuth() J'ai également fait avec la dernière ligne en mettant : DebugChange( "green", "temperature : "..temperature) Et j'obtiens toujours le message d'erreur : [DEBUG] 10:21:07: line 128: attempt to concatenate global 'temperature' (a nil value) Le nom de la variable me semble la bonne si on se réfère au site Netatmo. Mes compétences en code LUA étant plus limitée que je ne croyais, je sèche. Si quelqu'un peut m'aider ? Après, je cherche surtout à récupérer la donnée pour l'intégrer dans d'autres scènes et GEA notamment, si on peut la récupérer "simplement".
Titof_44 Posté(e) le 30 avril 2017 Signaler Posté(e) le 30 avril 2017 Pour récupérer les valeurs du thermostat, j'ai gardé le plugin pour lire ses valeurs : (attention au polling du thermostat) exemple : bModeAway=fibaro:getValue(idg["THERMOSTATNETATMO"], "ui.Away_Switch.value") --idg["THERMOSTATNETATMO"]=id du vd thermostat du plugin si bModeAway="1" alors on est en mode absence je pense que pour le t° c'est tempcur=fibaro:getValue(idg["THERMOSTATNETATMO"], "ui.Current__Temperature_Value_Label.caption") pour connaitre toutes les propriétés du plugin thermostat : http://IP/docs/#!/devices/getDevice sinon la scène est que pour écrire &scope=write_thermostat et pas lire &scope=read_thermostat
Messages recommandés