Welcome to Domotique-fibaro

 

Inscrivez-vous maintenant pour accéder à toutes nos fonctionnalités. Une fois inscrit et connecté, vous serez en mesure de contribuer à ce site en soumettant votre propre contenu ou en répondant au contenu existant. Vous serez en mesure de personnaliser votre profil, de recevoir des points de réputation comme une récompense pour la soumission de contenu, tout en communiquant avec d'autres membres via votre boîte de réception privée, et bien plus encore! Ce message sera supprimé une fois que vous vous êtes connecté.

 

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

MAM78

Membres confirmés
  • Compteur de contenus

    478
  • Inscription

  • Dernière visite

Réputation sur la communauté

68 Excellent

À propos de MAM78

  • Rang
    Membre passionné

Profile Information

  • Sexe :
    Homme
  • Ville :
    IDF
  • Intéret :
    Tutos : Vacances Scolaires​​​​​​​
  • Box
    Home Center 2
  • Version
    4.121
  1. @Plap3014 Le code est disponible dans le VD version 4.5. Regarde mes messages précédents, tu le trouveras.
  2. Pour le moment, je n'ai pas constaté de PB, mais dans le doute, je préférerais avoir la même chose que l'interface utilisateur. Si possible [emoji846]
  3. Allo les experts, l'un de vous aurait la solution ?
  4. Hello @pepite j'ai bien réussi à intégrer les fonctions api.get et api.put mais j'ai un souci pour mettre à jour un objet tableau dans le json de ma requête. dans le json, j'ai ceci (un tableau qui correspond aux pièces associés 6 & 7 à mon panneau) : "rooms":[6,7]} Je voudrais effacer les données de la propriété rooms. si je la fais depuis l'interface utilisateur, j'ai ça : "rooms":[]} J'ai essayé de multiples façons, mais aucune ne me donne le résultat équivalant à l'interface utilisateur. Voici ce que j'ai essayé : jsonTablePanellEV.properties.rooms = "" résultat = "rooms":[6,7]} (aucune MAJ) jsonTablePanellEV.properties.rooms = "[0]" résultat = "rooms":[6,7]} (aucune MAJ) jsonTablePanellEV.properties.rooms = "[]" résultat = [ERROR] 23:58:56: line 19: attempt to index field 'rooms' (a string value) jsonTablePanellEV.properties.rooms = {} résultat = "rooms":[6,7]} (aucune MAJ) jsonTablePanellEV.properties.rooms[1] = nil jsonTablePanellEV.properties.rooms[2] = nil résultat = "rooms":[6,7]} (aucune MAJ) jsonTablePanellEV.properties.rooms[1] = 0 jsonTablePanellEV.properties.rooms[2] = 0 jsonTablePanellEV.properties.rooms[1] = "" fait planter la boxe, obligé de faire un reboot jsonTablePanellEV.properties.rooms[1] = 0 jsonTablePanellEV.properties.rooms[2] = 0 "rooms":[0]} c'est presque bon, le zéro ne devrait pas poser de PB, puisque cette room n'existe pas count = #jsonTablePanellEV.properties.rooms for i=0, count do jsonTablePanellEV.properties.rooms=nil end résultat = "rooms":[6,7]} (aucune MAJ)
  5. @Nico oui j'ai bien accès à la propriété rooms. @pepite,tu veux dire quelque chose comme ça ? local HC2 = Net.FHttp("127.0.0.1",11111) local panelHorsVacances = 194 local panelEnVacances = 234 local VarVacances = "Oui" responseHV ,status, errorCode = HC2:GET("/api/panels/heating/"..panelHorsVacances) jsonTableHV = json.decode(responseHV) responseEV ,status, errorCode = HC2:GET("/api/panels/heating/"..panelEnVacances) jsonTableEV = json.decode(responseEV) if VarVacances == "Oui" then SaveRooms = jsonTableEV.properties.rooms jsonTableEV.properties.rooms = jsonTableHV.properties.rooms jsonTableHV.properties.rooms = SaveRooms else SaveRooms = jsonTableHV.properties.rooms jsonTableHV.properties.rooms = jsonTableEV.properties.rooms jsonTableEV.properties.rooms = SaveRooms end json = json.encode(jsonTableHV) HC2:PUT("/api/panels/heating/"..panelHorsVacances, json) json = json.encode(jsonTableEV) HC2:PUT("/api/panels/heating/"..panelEnVacances, json)
  6. Je pense avoir trouvé la solution et du coup celle-ci sera plus WAF puisqu'elle conserve la possibilité de faire des modifications de planification depuis les panneaux. L'idée est d'avoir 2 panneaux : l'un pour les vacances (A) l'autre pour le reste du temps (B) Utiliser la propriété rooms (qui contient les identifiants des pièces pilotées par le panneau) pour déterminer le panneau qui sera actif. Seul l'un des deux panneaux aura sa propriété rooms renseigné. L'autre sera vide et sera donc pas effet inactif. Il suffira lors de la bascule en vacances scolaires : de lire le json du panneau (B) de sauvegarder dans une variable la propriété rooms de modifier le json panneau vacance (B) en vidant la propriété rooms sauvegarder le json panneau vacance (B) de lire le json du panneau vacance (A) de modifier le json panneau vacance (A) en modifiant la propriété rooms par le contenu de la variable sauvegardée précédemment sauvegarder le json panneau vacance (A) Et du coup, c'est le panneau (A) qui devient actif. Idem pour la période hors vacances en inversant l'ordre de panneaux. Qu'est-ce que vous en pensez ? Y a plus qu'à coder cela et vérifier que cela marche. Bien évidement, cela devrait également fonctionner pour la panneau climatisation (AV).
  7. C'est bon, j'ai trouvé la base du code à utiliser. Cf. Exemple ci-dessous. Il y a plus qu'à coder une scène qui va s'occuper de détecter les changements d'état d'une variable globale qui varie lors d'entrée et de sortie de vacances scolaires. local HC2 = Net.FHttp("127.0.0.1",11111) local panel = 194 response ,status, errorCode = HC2:GET("/api/panels/heating/"..panel) jsonTable = json.decode(response) jsonTable.properties.monday.morning.hour = 8 jsonTable.properties.monday.morning.minute = 0 jsonTable.properties.monday.morning.temperature = 21 json = json.encode(jsonTable) HC2:PUT("/api/panels/heating/"..panel, json)
  8. Je viens de faire quelques tests en activant/désactivant le mode vacance sur un panneau par code LUA. La conclusion est la suivante : Pour activer le mode vacance, il faut modifier la propriété vacationTemperature avec une valeur différence de 0, qui devient la consigne de température quelque soit le jour ou l'horaire. Pour désactiver le mode vacance, il faut modifier la propriété vacationTemperature avec une valeur égale à 0, et là ce sont les valeurs renseignées dans le tableau qui s'appliquent. C'est donc la valeur de cette propriété qui détermine le mode vacance, il n'y a pas de flan pour indiquer un mode vacance en plus de cette propriété vacationTemperature. Il n'est donc pas possible d'utiliser cette fonction pour désactiver un panneau. Je vais donc être obligé de modifier les paramètres des plages horaires et de température de mon panneau pour faire varier le chauffage selon les périodes de vacances scolaires Y plus qu'a trouver le code json pour le faire.
  9. Merci @Nico toi tu as tout compris. Sachant effectivement que je souhaiterais pouvoir toujours utiliser les nouvelles fonctionnalités (Mode manuel et Mode vacances). Ma demande est bien de pouvoir désactiver l'un ou l'autre panneau selon la condition vacances scolaires oui/non. Si toutefois, il n'est pas possible de jouer sur une désactivation complète d'un panneau, je pense qu'il sera nécessaire de configurer le panneau par du code LUA. Est-ce que vous auriez un exemple de code qui modifie le paramétrage (par jour de la semaine, plage horaire, consigne tmp) des données d'un panneau.
  10. Je ne vois pas comment cela va répondre à mon besoin. Pour rappel mon besoin c'est que le chauffage de la chambre d'enfant soit modulé à la hausse sur une tranche horaires lorsqu'il s'agit d'une période de vacances scolaires en opposition des jours où les enfants sont à l'école
  11. @Nico, si tu regardes le bouton "Alumer" est désactivé lorsque tu sélectionne vide. Donc impossible d'activer par l'interface utilisateur le mode vacance sans sélectionner un consigne de température. Peut-être qu'en LUA c'est possible, mais est-ce que cela ne risque pas de faire planter le panneau de chauffage ?
  12. hello @jojo Est-ce qu'il est possible selon toi de configurer 2 zones que correspondant à la même pièce et avec les mêmes composants de chauffage (thermostats et détecteurs de température) mais avec des paramètres de température et plages horaires différentes. L'idée étant d'activer l'une ou l'autre des 2 zones (en l'occurence une chambre d'enfant) selon que nous sommes en période de vacances scolaires ou non. Est-il possible de désactiver l'une ou l'autre des 2 zones afin qu'elle n'entre pas en confit vis-à-vis de l'autre en envoyant toutes les deux des consignes contradictoires. J'ai bien remarqué que sur la dernière version du panneau de chauffage il y a maintenant la possibilité de définir une zone en mode vacance, mais il est toujours nécessaire de définir une consigne de température pour la durée des vacances. Du coup cette fonctionnalité, il me semble, ne peut pas répondre à mon besoin puisque cette consigne va être en conflit les consignes de ma deuxième zone. Est-ce que avec ton VD, il est possible de définir une consigne de vacance avec un niveau de température qui serait vide et qui du coup ne viendrait pas en conflit de ma deuxième zone.
  13. Tuto Chauffage

    Yes, merci, j'ai retrouvé le VD de Jojo. En fait il m'avait déjà répondu à cette question que je n'avais pas vu. Y a plus qu'à adapter le VD à mes spécificités.
  14. Tuto Chauffage

    Savez-vous s'il est possible de modifier en LUA les paramètres du panneau de chauffage. Par exemple : Déclencher automatiquement le mode vacance pour désactiver le chauffage pendant les périodes non hivernales Configurer 2 zones que correspondent à la même pièce avec les mêmes composants de chauffage (thermostats et détecteurs de température) mais avec des paramètres de température et plage horaires différentes. L'idée étant d'activer l'une ou l'autre des 2 zones selon que nous sommes en période de vacances scolaires ou non. En l'occurence les chambres des enfants. Même si c'est pas urgent (compte-tenu de la saison actuelle), merci d'avance pour votre retour.
  15. corrigé