Page 8 sur 10
Re: Planning de chauffage
Publié : 16 nov. 2019, 19:59
par Wolfen38
Tu partages ?
Envoyé de mon Mi A1 en utilisant Tapatalk
Re: Planning de chauffage
Publié : 16 nov. 2019, 20:04
par Neutrino
Wolfen38 a écrit : 16 nov. 2019, 17:54
Bah je vois pas la différence....
Par exemple avec ton script, ça évite de mettre 5 end à la fin.
C'est beaucoup plus simple à debugger.
Re: Planning de chauffage
Publié : 16 nov. 2019, 20:06
par Wolfen38
Neutrino a écrit :Wolfen38 a écrit : 16 nov. 2019, 17:54
Bah je vois pas la différence....
Par exemple avec ton script, ça évite de mettre 5 end à la fin.
C'est beaucoup plus simple à debugger.
Ah ok la je comprends. Merci
Envoyé de mon Mi A1 en utilisant Tapatalk
Re: Planning de chauffage
Publié : 16 nov. 2019, 20:56
par froglock30
Pour le script python, j'en ai collé un bout dans la partie bilblio et tuto :
viewtopic.php?f=17&t=9113
Pour le script version 2 avec le changement de planning
Il faut que je nettoie le code des mes identifiants, j'essaye de faire ça demain.
Il faut déjà avoir créé une appli sur le site de Netatmo afin d'avoir les codes d'accès (mais ça tu as déjà du le faire ?)
Re: Planning de chauffage
Publié : 17 nov. 2019, 02:05
par lmet
Salut,
Sinon pour ton script il y a plus simple que d'appeler quatre fois la même commande (Pas testé) :
Code : Tout sélectionner
commandArray={}
-- Récupère le jour.
local weekday = os.date('%A')
-- Récupère l'heure actuelle.
local heure = os.date('%H:%M')
-- Le dimanche augmenter de 1 la semaine
if (weekday == 'Sunday' and heure == '23:55') then
NumSem = tonumber(uservariables['Numsemaine'])
NumSem = NumSem + 1
if NumSem == 5 then NumSem = 1 end
commandArray['Variable:Numsemaine'] = tostring(NumSem)
end
-- Le lundi appliquer le nouveau planning
if (weekday == 'Monday' and heure == '01:00') then
NumSem = tostring(uservariables['Numsemaine'])
commandArray['OpenURL'] = "http://127.0.0.1:8080/json.htm?type=command¶m=setactivetimerplan&ActiveTimerPlan=" .. NumSem
end
return commandArray
Ensuite on doit pouvoir calculer ce qui doit être la semaine un dans le mois puis la deux …
Si c'est ce que tu souhaites

Re: Planning de chauffage
Publié : 17 nov. 2019, 08:26
par lost
Pour info, si qqun a le besoin d'invalider globalement toutes les entrées planning attaché à un switch donné (un truc qui manque cruellement), j'avais fait ceci y'a déjà presque 3 ans en python:
https://www.domoticz.com/forum/viewtopi ... 05#p109305
Ca me sert pour ma part quand je mets l'insert en route: arrêt et invalidation des plannings tous radiateurs pour une durée donnée via un switch selecteur. Et remise en route au bout du temps selectionné.
La partie python invalidation globale de tous les timers attachés à un switch peut néanmoins être utile dans beaucoup d'autres cas, même si désormais switcher un planning inactif peut faire le job plus simplement selon le contexte (dépends en fait du nb de plannings à invalider vs total, car cela peut devenir un générateur de doublons partiels pénible à synchroniser).
Re: Planning de chauffage
Publié : 17 nov. 2019, 11:26
par skarab22
Wolfen38 a écrit : 15 nov. 2019, 15:59
T'as défini tes plannings dans les inter pour chaque profil ?
Envoyé de mon Mi A1 en utilisant Tapatalk
Oui, j'ai 4 profils différents. Lorsque j'en remplis, que je switch sur le 2e et que je reviens sur le 1er il à disparu. Pour infos, j'utilise le planning hebdomadaire trouvé sur cette
page. Est ce que cela peut avoir un lien ?
Edit : je pense que cela à effectivement un lien. Lorsque je crée un planning de manière classique, aucun soucis. Lorsque je crée un nouveau planning avec l'add on les anciens sont écrasés.
Re: Planning de chauffage
Publié : 18 nov. 2019, 05:23
par Wolfen38
Bon, y a eu un os....
Code : Tout sélectionner
2019-11-17 23:55:00.576 Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_RAZ-semaine1.lua
2019-11-18 01:00:00.218 Status: EventSystem: Fetching URL http://127.0.0.1:8080/json.htm?type=command¶m=setactivetimerplan&ActiveTimerPlan=2 after 0.2 seconds...
2019-11-18 01:00:00.218 Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_RAZ-semaine1.lua
A 23h55, le script c'est bie n lancé est ma variable utilisateur est bien passé à 2.
A 1h00 le script c'est bien lancé, pas d'erreur, mais mon profil de gestion n'a pas changé. Il est resté sur le profil 1.
Re: Planning de chauffage
Publié : 18 nov. 2019, 07:31
par lost
Wolfen38 a écrit : 18 nov. 2019, 05:23
Bon, y a eu un os....
(...)
A 1h00 le script c'est bien lancé, pas d'erreur, mais mon profil de gestion n'a pas changé. Il est resté sur le profil 1.
Il faut tester la commande exacte en local sur le PI, du shell hors Domoticz/Lua etc, par exemple via la commande "curl" (éventuellement à installer avant) suivie de ta commande: L'interface setactivetimerplan n'est pas documentée dans le wiki de l'API HTTP/JSON mais existe depuis au moins 3 stables. Sur la dernière stable c'est toujours OK car comme déjà dit j'ai un switch virtuel sélecteur qui l'utilise et fonctionne parfaitement.
Cela peut-être un pb d'utilisateur/mot de passe http si c'est pas désactivé pour le localhost (voir son LAN).
Si pas de pb de ce côté, c'est que Lua n'accepte pas cette commande http/json; Il semble y avoir d'autres exemples, je n'en connais pas la raison. Mais d'autres chemins mènent à Rome: Par exemple passer, comme je le fais, par un switch virtuel sélecteur avec ses entrées semaine1..4 et en action les lignes http qui vont bien. De Lua, cela se ramène alors à changer classiquement un switch et on contourne le problème.
En prime, ca évite d'utiliser une variable utilisateur pour conserver l'état courant... car on a l'état courant du sélecteur qui se lit de manière tout aussi classique! De même, la semaine actuellement sélectionnée est visible via l'état du switch sélecteur et en cas de besoin de commuter manuellement on peut le faire.
Re: Planning de chauffage
Publié : 18 nov. 2019, 08:02
par Wolfen38
En fait j'ai juste un décalage.
Au lieu que mon 1er profil soir 0 c'est 1 donc ça fonctionne faut juste que je règle ce décalage d'idx
Et un problème ip, ça ne fonctionne pas avec le 127.... Mais on avec IP publique de la box
Envoyé de mon Mi A1 en utilisant Tapatalk