Aller au contenu

configurer HC depuis Internet avec JSON


Messages recommandés

Posté(e)

Bonjour,
Je suis intrigué par la perspective de mettre à jour à distance la configuration d'un module de clavier en envoyant un paquet TCP/IP spécifique à mon HC3 (Home Center 3), accessible depuis n'importe où dans le monde. Pour réaliser cela, je comprends l'importance d'avoir une adresse IP fixe ou d'utiliser un service DDNS (Dynamic Domain Name System).

Pour illustrer davantage, considérons un scénario où les informations suivantes sont stockées dans HC3 : Code : 12345, Début : 25/06/23 10:00, Fin : 27/06/23 10:00, Module de commutation : 23.
Dans ce cas, si le code 12345 est saisi entre le 25/06/23 10:00 et le 27/06/23 10:00, le module de commutation 23 devrait s'activer pendant 10 secondes.

Voici deux approches que je propose :

**Approche 1 :**
Ajouter plusieurs numéros de 4 à 10 chiffres ainsi que des dates/heures de début et de fin, ainsi qu'un ID de module de commutation, à un fichier de configuration nommé "config."
Une tâche planifiée (Cron), exécutée toutes les heures, lira les dates de début/fin à partir du fichier "config." Lorsque la date/heure actuelle correspond à cette plage, le clavier sera mis à jour avec le code correspondant, lui permettant d'accepter ce code à partir de ce moment-là. Une fois que le HC3 reçoit un message "code ok" du clavier, il croisera le module de commutation associé dans le "config" et le déclenchera pour s'activer pendant 10 secondes.

**Approche 2 :**
De manière similaire, intégrer plusieurs codes de 4 à 10 chiffres, dates/heures de début/fin et ID de module de commutation dans le fichier "config."
Mettre à jour le clavier pour accepter tous les codes du "config." Lorsqu'il reçoit un signal "code ok" du clavier, le HC3 vérifiera si la date/heure actuelle est comprise dans la plage spécifiée dans le "config." Si cette condition est vraie, le HC3 identifiera le module de commutation associé et l'activera pendant 10 secondes.

Maintenant, pour répondre à mes questions :
a) Est-il possible de transmettre ces paramètres au HC3 en utilisant un paquet JSON via Internet ? D'autres suggestions ?
b) Comment et où ces informations seraient-elles stockées dans le HC3 ?
c) Y a-t-il des exemples de scripts disponibles présentant cette fonctionnalité ?

Je suis un ingénieur logiciel C++ expérimenté, même si j'avoue manquer de familiarité avec le HC3 et ses capacités. Si une explication complète nécessite plus que quelques phrases ou exemples, je suis prêt à vous dédommager pour votre temps précieux.

Cordialement,
Steve

Posté(e)

Beaucoup de choses.... tu es bien motivé de te lancer dans un projet pareil sans connaitre les rudiments de la HC3.
Pour répondre tout simplement : oui c'est faisable.

Mais il faut que tu te familiarises avec l'API HTTP de la HC3.
C'est une API REST assez standard (requêtes de type Get Post Put Delete) avec un échange de données en JSON.

Si tu crées un QuickApp, tu peux communiquer avec lui via l'API, et ainsi lui envoyer les données que tu veux.

Bon par contre, pas de tutoriel tout fait de A à Z, donc il va te falloir décomposer ton projet, commencer par les QuickApp, puis leur API, et à la fin tu arriveras à faire tout ce que tu veux.
Il y a beaucoup de ressources sur le forum, mais il faut pas mal chercher car c'est dilué dans les différents sujets.

 

Et pour commencer, la doc Fibaro, même si elle est loin d'être parfaite :

 

Ah oui, et aussi, sur la HC3 on code en LUA.

Cela ne devrait pas être une difficulté pour toi, c'est un langage à la syntaxe très simple, et quand on connait le C et C++, on sait d'adapter à n'importe quel langage.

×
×
  • Créer...