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&param=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&param=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