Page 2 sur 2
Re: enregistré état d'un selecteur dans variable
Publié : 09 févr. 2018, 10:00
par lekeb
Merci beaucoup pour tout vos commentaires très instructives.
Landaisbenj, effectivement ton script est plus propre que le mien et correspond exactement à ce que je souhaite. J'avais deja essaye par le passe les commande du type off AFTER .... et sans grand succès. Je vais creuser donc.
Des parties de ton message m'interpelle :
landaisbenj a écrit :
Exemple: Si tu est en mode confort de 6h a 8h et eco de 8h a 19h. Alors si tu ferme ta fenetre a 7h45 alors forcement tu doit revenir au mode confort.... Si tu la ferme a 12h forcement ce sera le mode eco... D’où la question.
Mon planning sur le sélecteur est implementé dans l'interface web de domoticz, mon script de detection d'ouverture est un script_device, donc quand je ferme la fenêtre comment le selecteur pourrait revenir automatiquement dans la position souhaité suivant le planning? Un truc m'échappe
landaisbenj a écrit :
De plus pour un planning, si tu ouvre la fenetre a 7h45 et que tu la ferme a 8h15 dans quel etat doit tu te trouvé?
Tres bonne remarque, à mediter
landaisbenj a écrit : Car si c'est planifié alors suivant l'heure ou tu ferme tu reprend un etat logique,
La tu m'as perdu,et se rapproche de ma première interrogation, je pense que quelques choses m'echappent dans les plannings.
Vil1driver, je fais regarder les scripts_time, pour l'instant je m'était intéressé seulement au device.
Merci a vous
Re: enregistré état d'un selecteur dans variable
Publié : 09 févr. 2018, 10:18
par landaisbenj
En fait il ne faut pas que tu fasse la relation entre le script de la fenêtre et le planning en lui même, mais tout simplement à l'heure.
Je pense que très peu de monde passe par le planning du device. Justement parce qu'il n'est pas trop gérable (par exemple tu ne peux pas récupérer l'heure des bascules). Tu ne peux pas dire à un device d'aller vérifier son propre planning. Par contre tu peux gérer le planning en lua plutôt. Il y a aussi quelque part dans le forum un plugin special pour le chauffage. Qui se rajoute au planning d'un selector.
Tout ça pour dire que si ton chauffage est planifié comme dans mon poste précédent, alors au moment où tu fermes la fenêtre il te suffit de comparé avec l'heure. Si tu ferme ta fenêtre et que l'heure est comprise entre 8 et 19 alors tu doit être en eco. Sinon confort...
Re: enregistré état d'un selecteur dans variable
Publié : 09 févr. 2018, 10:41
par lekeb
ok je comprends l'idée.
J'ignorais la possibilité de planning en lua.
je vais donc me documenter sur cela pour pouvoir comparer avec l'heure.
Pour l'instant, je vais deployer mes door/windows sensors avec le script proposé et update pour plus de flexibilité avec les plannings au fur et a mesure.
Merci beaucoup
Re: enregistré état d'un selecteur dans variable
Publié : 09 févr. 2018, 12:25
par landaisbenj
En fait tu peux tout faire en lua. Tu as aussi le Dzvent qui est dans la même ligné, un peu plus flexible pour des scripts a base de temps, mais plus lourd en syntaxe. Quitte a en apprendre un, apprend le deuxième. Meme si le premier est plus simple a l’écrit et tout aussi complet.
Tu dois avoir des script planning partout sur le forum. En gros c'est un script de type timer. Ou a chaque fois tu doit vérifier la correspondance entre l'horaire de ta bascule (que tu auras renseigner en string c'est a dire a l’écriture non numérique) et la chaîne exacte retournée par l'heure courante.
L'heure courante est retournée avec os.date, mais elle est retourné dans le format MM/DD/YY HH:MM:SS.
Du coup il faut qu'elle est le même format que ta chaîne de bascule.
Pour retourner une date formatée:
os.date([format])
Exemple:
Code : Tout sélectionner
bascule1 = "06h00"
bascule2 = "08h00"
bacule3 = "16h00"
bascule4 = "22h00"
horaire = os.date(%Hh%M)
Si horaire < bascule1 alors radiateur off
Sinon si horaire < bascule2 alors radiateur confort
Sinon si horaire < bascule3 alors radiateur eco
Sinon si horaire < bascule4 alors radiateur confort
Sinon radiateur off
Je pense que ca devrait fonctionné mais ca merite verification xD
Re: enregistré état d'un selecteur dans variable
Publié : 09 févr. 2018, 12:33
par landaisbenj
Et ce dont je parlais dans l'avant dernier poste est ici:
https://easydomoticz.com/forum/viewtopi ... =17&t=5731
Re: enregistré état d'un selecteur dans variable
Publié : 09 févr. 2018, 13:20
par lekeb
super. merci
Pour l'instant j'avoue que la prise en charge des heures, différence, ... sont assez obscur.
Mais effectivement, je m’étais déjà fais un petit script pour activer un type d’éclairage que pendant des heures précises, c'est le même principe pour un planning (tout ne se percute pas dans ma tête parfois) :
Code : Tout sélectionner
if (os.date('%H') > '20' or os.date('%H') < '01' ) then
if (otherdevices['Plex'] == 'Playing') then
commandArray['LEDSalon'] = 'Set Level: 20'
end
de plus avec ce que tu m'as donné, je devrais m'en sortir pour faire un planning.
Par contre ce qui est compliqué c'est de tester un système qui en production (si je plante ma gestion chauffage avec les temperatures actuelles ....), il faudrait que je duplique mon serveur domoticz pour en avoir un en développement recevant exactement les même choses que celui en production. Comment fais-tu pour tester, ameliorer, etc ton systeme?
Re: enregistré état d'un selecteur dans variable
Publié : 09 févr. 2018, 16:33
par landaisbenj
Je galere lol.
Déjà je fais ligne de code par ligne de code et au lieu d'activer le device en question j'active une lampe ou un log et j'attend de voir en temps reel. Si ca plante j’arrête tout donc autant dire que des fois c'est pas waf du tout, mais j'essai d’être réactif.
Genre toi tu peux fait le squelette du planning en lua et au lieu de changer le mode de radiateur tu change un autre device virtuel... Apres t'as plus qu'a regarder ses logs en temps reel. Si au bout d'une semaine t'es convaincu alors tu change le virtuel par ton vrai selecteur.
Sinon tu installe un domoticz sur un pc windows, tu recupere ta base de donnée et quand tu veux tester tu lance le logiciel sur windows et tu arret celui que tu as en prod... (si tu peux faire ca..)