Aller au contenu
klael

Mode De Chauffage Sur La Hcl

Recommended Posts

Suite à  l'installation d'une tablette avec imperihome, je souhaitai mettre en place une solution simple pour gérer notre chauffage,j'ai vu pas mal de Tuto mais il concernait pas directement la HCL.

 

L'objectif, gérer trois modes de chauffage tout en conservant le panneau de chauffage:

- Normal, gestion par le planning du panneau

- Vacance,

- Forcé pendant une durée prédéfinie de 2h

 

Pour le mode vacance j'utilise le champs du panneau de chauffage, mais également pour le mode forcé car je n'ai pas réussi à  gérer la génération d'une valeur de timestamp demandé sans passer par une source extérieure.

Finalement, j'ai contourné le problème avec une scène qui repasse en mode normal au bout des 2 heures.

 

Fonctionnement:

 

Un panneau de chauffage, dans mon cas il se nomme Sejour et porte l'ID26

 

Une variable avec 3 valeurs (NOR,VAC,FOR)

 

Un module virtuel pour mettre à  jours le panneau de chauffage:

Capture_VD_maj_chauffage.PNG

 

Mode normal:

PUT /api/panels/heating HTTP/1.10x0D0x0AHost:192.168.1.10 0x0D0x0AAuthorization: Basic YWRtaW46NXXXXXXXXXX 0x0D0x0A0x0D0x0A {"id":26,"name":"Sejour","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":0}}

Mode vacance:

PUT /api/panels/heating HTTP/1.10x0D0x0AHost:192.168.1.10 0x0D0x0AAuthorization: Basic YWRtaXXXXXXXXXXXXX 0x0D0x0A0x0D0x0A {"id":26,"name":"Sejour","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":10}}

Mode forcé:

PUT /api/panels/heating HTTP/1.10x0D0x0AHost:192.168.1.10 0x0D0x0AAuthorization: Basic YWRtXXXXXXXXXXXX 0x0D0x0A0x0D0x0A {"id":26,"name":"Sejour","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":23}}

Au final je ne fais varier que la valeur vacationTemperature et à  ce stade cela fonctionne déjà  très bien dans le module virtuel mais je n'ai pas de temporisation pour le mode forcé.

 

Pour cela j'ai un module virtuel (Mode chauffage) qui exécute trois scènes, une pour chaque mode, qui déclenche le module (MAJ chauffage) et met à  jours la variable:

Capture_VD_mode_chauffage.PNG

 

 

Exemple de déclenchement:

GET /api/sceneControl?id=XX&action=start HTTP/1.10x0D0x0AHost:192.168.1.10 0x0D0x0AAuthorization: Basic YWRtaWXXXXXXXXXX= 0x0D0x0A0x0D0x0A

Scène normal:

Scene_normal.PNG

 

Scène Vacance:

Scene_vacance.PNG

 

 

Scène Forcé:

Scene_force.PNG

 

Au bout de 2 heures, je repasse en mode normal avec le VD mode chauffage pour que ce dernier reprenne l’icône du mode normal.

 

Optionnel:

Dans les scènes Normal et Vacance, je fait appel à  un bouton Bstop01 qui correspond au bouton Stop Timer du module virtuel MAJ chauffage. Cela me permet de stopper la scène du mode forcé, et d'éviter d'avoir une scène qui tourne pendant X temps pour rien.

 

Le code pour stopper la scène:

GET /api/sceneControl?id=XX&action=start HTTP/1.10x0D0x0AHost:192.168.1.10 0x0D0x0AAuthorization: Basic YWRXXXXXXXX 0x0D0x0A0x0D0x0A

La variable n'est pas exploité directement, mais est prévu dans le futur, pour vérifier si le chauffage n'est pas déjà  éteint avant d'envoyer des notifications à  madame quand elle ouvre les fenêtres :)

 

 

Pour l'écriture des requêtes HTTP dans le module virtuel, n'hésitez pas à  lire le tuto :http://www.domotique-fibaro.fr/index.php/topic/2675-requ%C3%AAtes-http-get-sur-hcl/

 

 

Modifié par klael
  • Upvote 3

Partager ce message


Lien à poster
Partager sur d’autres sites

GENIAL !

Tu ouvres des portes sur la HCL, avec ainsi la possibilité de modifier le json !

et si tu as une variable Vacances = oui/non, tu peux gérer automatiquement tes modes de chauffage par une scène. Et c'est mode peuvent être entré dans google calendar avec le sheet sur google drive de pinou : http://www.domotique-fibaro.fr/index.php/topic/2513-google-calendar-vers-hc2hcl/

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, 

 

J'ai lu avec beaucoup d'attention ce post, et cela m'a donné un peu d'espoir car à  chaque fois que je pars en week end, il faut que je sorte le pc pour me mettre en mode vacances ... Ce serait tellement plus pratique si c'était prévu sur les appli mobiles.

 

Bref, j'ai essayé un module virtuel dans lequel j'ai mis juste un mode normal et un mode vacances mais rien ne se passe.

 

J'ai copié/collé : 

PUT /api/panels/heating HTTP/1.10x0D0x0AHost:192.168.1.10 0x0D0x0AAuthorization: Basic YWRtaW46NXXXXXXXXXX 0x0D0x0A0x0D0x0A {"id":26,"name":"Sejour","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":0}}

 

et j'ai changé mon adresse ip, mon mdp ( je tiens à  préciser que j'ai bcp d'autres modules virtuels pour lancer des scénes, et je suis sur de mon mdp), l'id et le nom du panneau de chauffage, et j'ai mis une valeur à  10 pour "vacationTemperature".

 

Rien ne se passe. A votre avis, j'ai oublié quoi ?

 

Merci

 

NB : pour éviter de chercher une heure comme moi sur le forum, pour trouver l'id du panneau de chauffage il suffit de rentrer ça dans un navigateur :

ipDeLaBox/api/panels/heating 

Partager ce message


Lien à poster
Partager sur d’autres sites

Également en 4.61 et cela fonctionne correctement. L'adresse dans le module virtuel tu as mis l'adresse en 127.0.0.1 et port 11111?

 

sinon colle voir ton HTTP dans une balise code ( en masquant le mot de passe).

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

 

Merci pour ta réponse, dans le réglage du module virtuel, j'avais mis l'ip de ma box et le port 80. 

 

J'ai changé avec 127.0.0.1  et port 11111 et ça marche nickel, merci beaucoup.

 

Par contre, sais tu expliquer pourquoi dans les modules virtuels que j'utilise habituellement (ligne de code pour lancer des scénes avec un get) il faut mettre l'ip de la box et le port 80 et dans le cas présent il faut mettre 127.0.0.1  et port 11111 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

De rien :)

 

Par contre je n'ai pas plus d'explication pour l'adresse et le port. Je soupçonne un mode de fonction particulier des home center en fonction que ce soit un requête PUT ou bien GET... Si quelqu'un sur le forum à  une explication je suis également preneur

Partager ce message


Lien à poster
Partager sur d’autres sites

si tu utilises cette IP 127.0.0.1  et ce port 11111 sur la HC2, cela permet de t'affranchir de rentre le mdp

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok,

 

Donc du coup, que devient cette ligne de commande ? (trouvée sur l'un de tes posts)

 

GET /api/sceneControl?id=20&action=start HTTP/1.10x0D0x0AHost:192.168.x.xx 0x0D0x0AAuthorization: Basic YWRxxxxxxxxxxxxx 0x0D0x0A0x0D0x0A

 

Parce que je vais peut être du coup modifier tous mes modules virtuels, car en cas de changement de mot de passe, il faut aller le changer partout.

Partager ce message


Lien à poster
Partager sur d’autres sites

je ne sais pas. Tu dois faire des essais. J'ai l'expérience de ce que je t'ai dit sur la HC2, mais pas sur la HCL.

Plusieurs pistes :

remplacer le Host:... par l'IP générique , puis test

remplacer Authorization: Basic, par quelque chose d'autre, puis test

supprimer Authorization: Basic

 

cela te prendra du temps, mais il y aura une réponse sur ce qui fonctionne et ne fonctionne pas. Puis tuto pour le partage.

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Super tuto :60:

 

Tous mes radiateurs sont pilotés par des vannes DANFOSS, et je n'ai pas de thermostat d'ambiance. J'ai 4 zones dans mon panneau de chauffage et je contrôle tous les radiateurs par zones via la HCL.

Du coup je me pose une question et n'ai pas trouvé de réponse, bien que je soupçonne qu'elle soit non :

Pouvons-nous cumuler 2 ou plusieurs PUT (ou GET) dans un bouton virtuel ?

Par exemple une ligne commande PUT par zone à  mettre en mode vacance ou forcé ?

Si oui y a-t-il une syntaxe particulière ?

 

Pourquoi je me pose cette question : parce que si je veux mettre la maison en mode vacance comme décrit dans ce tuto, je dois commander mes 4 zones pour m'éviter de créer 4 modes vacances :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci :)

 

Je n'ai pas testé le cumule mais en toute logique cela ne devrait pas fonctionner, car l'API ne traite qu'une requête HTTP à  la fois.

 

Sinon tu peux très bien avoir un seul VD qui met toutes tes zones en mode vacance. Pour cela :

 

- Tu créés un  VD avec toutes les valeurs par zone pour ton panneau de chauffage. Celui ci ne sera masqué dans le système.

- Tu créés une scène par mode de chauffage et tu regroupes tes différents déclenchement de la première VD

- Tu créés un VD avec les boutons pour déclencher les différentes scènes créées

 

Alors effectivement cela nécessite de créer beaucoup d'éléments, mais c'est le prix à  payer pour les limitations de la HCL :(

 

Sinon pour info,suite à  une demande de Madame, j'ai modifié un peu mon installation pour envoyer des valeurs pour tout le panneau de chauffage :

PUT /api/panels/heating HTTP/1.10x0D0x0AHost:192.168.x.x0 0x0D0x0AAuthorization: Basic xxxxxxxxxxxxxx= 0x0D0x0A0x0D0x0A {
  "id": 26,
  "name": "Sejour",
  "properties": {
    "monday": {
      "morning": {
        "hour": 6,
        "minute": 0,
        "temperature": 21
      },
      "day": {
        "hour": 12,
        "minute": 0,
        "temperature": 21
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperature": 21
      },
      "night": {
        "hour": 23,
        "minute": 0,
        "temperature": 20.5
      }
    },
    "tuesday": {
      "morning": {
        "hour": 6,
        "minute": 0,
        "temperature": 21
      },
      "day": {
        "hour": 12,
        "minute": 0,
        "temperature": 21
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperature": 21
      },
      "night": {
        "hour": 23,
        "minute": 0,
        "temperature": 20.5
      }
    },
    "wednesday": {
      "morning": {
        "hour": 6,
        "minute": 0,
        "temperature": 21
      },
      "day": {
        "hour": 12,
        "minute": 0,
        "temperature": 21
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperature": 21
      },
      "night": {
        "hour": 23,
        "minute": 0,
        "temperature": 20.5
      }
    },
    "thursday": {
      "morning": {
        "hour": 6,
        "minute": 0,
        "temperature": 21
      },
      "day": {
        "hour": 12,
        "minute": 0,
        "temperature": 21
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperature": 21
      },
      "night": {
        "hour": 23,
        "minute": 0,
        "temperature": 20.5
      }
    },
    "friday": {
      "morning": {
        "hour": 6,
        "minute": 0,
        "temperature": 21
      },
      "day": {
        "hour": 12,
        "minute": 0,
        "temperature": 21
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperature": 21
      },
      "night": {
        "hour": 23,
        "minute": 0,
        "temperature": 20.5
      }
    },
    "saturday": {
      "morning": {
        "hour": 7,
        "minute": 0,
        "temperature": 21
      },
      "day": {
        "hour": 12,
        "minute": 0,
        "temperature": 21
      },
      "evening": {
        "hour": 18,
        "minute": 0,
        "temperature": 21
      },
      "night": {
        "hour": 0,
        "minute": 0,
        "temperature": 20.5
      }
    },
    "sunday": {
      "morning": {
        "hour": 7,
        "minute": 0,
        "temperature": 21
      },
      "day": {
        "hour": 12,
        "minute": 0,
        "temperature": 21
      },
      "evening": {
        "hour": 18,
        "minute": 0,
        "temperature": 21
      },
      "night": {
        "hour": 0,
        "minute": 0,
        "temperature": 20.5
      }
    },
    "handTemperature": 0,
    "handTimestamp": 0,
    "vacationTemperature": 0,
    "rooms": [
      3
    ]
  }
 }

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ta réponse rapide, c'est bien ce qu'il me semblait.

Je vais étudier ta proposition, car créer beaucoup d'éléments de me dérange pas tant que ça marche correctement à  la fin avec très peu de boutons à  utiliser.

 

Je vais également étudier la modification que tu as faite suite à  la demande de ta dame :D

 

Sinon si on pouvait créer un PUT, avec un ID, mais avec plusieurs name, ça répondrait également à  ma question sur le nombre de zones à  traite :huh: 

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne pense pas, chaque ID est associé avec son NAME. Par exemple, j'ai créé une seconde zone test, voici ce que me retourne la box avec la requête http suivante :

http://192.168.XX.XX:80/api/panels/heating
[
  {
    "id": 26,
    "name": "Sejour",
    "properties": {
      "handTemperature": 0,
      "handTimestamp": 0,
      "vacationTemperature": 0
    }
  },
  {
    "id": 28,
    "name": "test",
    "properties": {
      "handTemperature": 0,
      "handTimestamp": 0,
      "vacationTemperature": 0
    }
  }
]

Partager ce message


Lien à poster
Partager sur d’autres sites

Yes tu as raison, du coup je reformule ma remarque précédente qui était :

Sinon si on pouvait créer un PUT, avec un ID, mais avec plusieurs name, ça répondrait également à  ma question sur le nombre de zones à  traite :huh:

et qui devient :

Sinon si on pouvait créer un PUT, avec plusieurs ID, ça répondrait également à  ma question sur le nombre de zones à  traite :D

 

Pour info ma box me retourne :

[
{"id":1,"name":"Salon-Séjour","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":0}},
{"id":2,"name":"Salle de bain","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":0}},
{"id":3,"name":"Chambre Parents","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":0}},
{"id":4,"name":"Chambres Enfants","properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":0}}
]

Partager ce message


Lien à poster
Partager sur d’autres sites

Par exemple :

PUT /api/panels/heating HTTP/1.1
Host:192.168.x.x
Authorization: Basic xxxxxxxxxxxxxx=
{
  "id": 1,
  "name": "Salon-Séjour",
  "properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":21}  
  "id": 2,
  "name": "Salle de bain",
  "properties":{"handTemperature":0,"handTimestamp":0,"vacationTemperature":21}  
}

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai essayé ton exemple et d'autres syntaxes mais sans succès. C'est peut être une limitation de l'API, elle ne permet peut être d'envoyer qu'une requête par ID àla fois?

Partager ce message


Lien à poster
Partager sur d’autres sites

Dommage, ça aurait été beau :P

 

Merci beaucoup d'avoir essayé :74:

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Je cherche à m'appuyer sur ce tuto pour piloter un sèche-serviette avec fil pilote 6 ordres et module rail DIN Qubino depuis ma HCL.

Malheureusement, les captures d'écran ne sont plus visibles. Y a-t-il moyen pour un admin de les remettre en place ?

 

J'essaye d'avancer sans pour le moment mais je butte sur l'ID de mon panneau de chauffage. Apparemment il faut passer ce paramètre dans les PUT. Où trouve-t-on cet ID ?

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Faut demander à l'auteur de l'articlle @klael de remettre les images, elles ne sont plus en ligne.

 

2 méthodes pour voir l'ID de ton panneau de chauffage :

- tu vas éditer la zone qui t'intéresse, et tu regardes l'URL, et tu trouveras l'ID à la fin : /fibaro/fr/panels/temperature.html?id=1

- tu peux attaquer directement l'API pour voir tous les ID existant dans le Json affiché : /api/panels/heating/

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

 

J'ai mis à jours le liens vers les images.

 

Par contre n'ayant plus ma HCL je ne serais pas d'une grande aide en cas de problème.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci klael, j'ai effectivement pu retrouver les images et ça m'aide bien !

Je n'ai en revanche pas toutes les réponses à de nombreuses questions que je me pose. Attention, niveau "grand débutant qui a lu plein de choses sur ces forums sans pour autant tout comprendre mais qui est prêt à apprendre" !!

 

J'ai créé mon panneau de chauffage ainsi que les 3 variables prédéfinies. J'ai ensuite créé le VD équivalent à "MAJ Chauffage" et inséré les chaines en les adaptant à ma configuration.

- dans le VD "MAJ Chauffage", à quoi correspond le paramètre "vacationTemperature" ? S'agit-il d'une valeur en °C de la température attendue dans ce mode ?

Si oui, à quoi correspond la valeur 0 du mode Normal (j’imagine que ce n'est pas 0°C !) ? Si c'est bien une température de consigne, sur quel capteur s'appuie-t-elle ? Est-ce que je peux m'appuyer sur la température de n'importe quel type de device qui en retourne une (j'ai un capteur de fumée qui pourrait me servir à ça) et comment appelle-t-on la température mesurée par ce device spécifique ?

 

- pour le bouton "Stop Timer" dans le VD "MAJ Chauffage", la chaîne à lui indiquer est-elle celle donnée en fin d'article ("Le code pour stopper la scène") ?

 

- dans la scène "Forcé", à quoi correspond "Button11" ?

 

Pour la partie de tuto de klael, je vais m'en tenir déjà à ces premières questions (mais il y en aura surement d'autres !).

 

Je cherche maintenant à comprendre le fonctionnement du Module Rail Din Fil pilote Qubino Zmnhud1.

A la lecture de nombreux sujets, dont le topic 7475, et après quelques essais de mon côté, je comprends que :

 

- l'inclusion de ce module fait apparaitre 2 modules dimmers de lumières et 1 module détecteur de mouvement

- faute d'avoir un template de la part de Fibaro, c'est en fixant une valeur de dimmer qu'on fixe la valeur à donner au fil pilote

- le module détecteur de mouvement peut être utilisé avec un bouton pour permettre de forcer le fil pilote sur un ordre

 

Dites-moi si déjà j'ai bon, ça m'évitera de partir de travers !

 

Voici ce que j'obtiens après inclusion:

qubino1

 

J'imagine que "68" représente le module Qubino dans son intégralité (donc avec tout ce qu'il sait faire).

"68.0" et "68.1" sont les 2 dimmers et "68.2" le détecteur de mouvement.

Pourquoi 2 modules dimmers ? Lequel utiliser ?

 

Au final, ma grande inconnue est: comment associer le VD "MAJ Chauffage" à ce module Qubino ??

 

Grand merci par avance à ceux qui voudront bien m'aider, je sens que je touche au but mais il me manque les dernières marches !

 

Modifié par fredfit

Partager ce message


Lien à poster
Partager sur d’autres sites

×