Aller au contenu
ygi

Comment Commencer À Développer Pour La Hc

Recommended Posts

bonjour,

Je suis développeur, et je commence tout doucement àinstaller des devices dans la maison, mais j'ai certaines chose que j'aimerai implémenter moi meme pour des devices qui répondent a des requêtes HTTP.

J'ai un compteur d'énergie sur lequel je peux faire des queries sur les 4 compteurs, mais je doit l'authentifier avant, et je voudrais creer une telecommande et status de mon ampli Yamaha, et j'avais l'idée de faire un plugin, mais c'est quoi la différence entre un plugin et un script ?

Mais je ne trouve pas grand chose sur les framework disponibles par défaut (fibaro: et HC2:) îl y en a t îl d'autres ? J'ai vu que krikoff A ecrit (ou fourni) des complément de framework, ou les trouve t on ? Comment les installe t on ?

Poir mon probleme d'authentification, j'ai trouvé la fonction HC2::SetBasicAuthentication, mais je ne trouve nulle part le descriptif de retour de cette fonction s'il y en a, car je n'arrive pas àavoir de reponse de mon device, àla requête envoyée apres, et pourtant je suis sur des credentials utilisés.

Un petit coup de main pour me guider ?

Merci

Yves

Partager ce message


Lien à poster
Partager sur d’autres sites

Tellement de questions, est-ce que tu peux juste les numéroter en éditant ton message, je tenterai de répondre àcelles que je peux.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui je sais et je pense que je n'écris pas la,moitié de ce qui me passe par la tête :)

On pourrait résumer par :

- quel est la différence entre un script et un plugin (point de vue dev), comment procède t ton pour faire un plugin ? Quand doit on décider de faire un plugin ?

- quels sont les frameworks disponibles par défaut ? Ou trouve t on l'aide les concernant ? Comment en ajoute t on ?

- îl y a t îl des Tuto pour nous guider dans le dev ?

Voila, merci laser, tu as toujours repondu a chacune de mes questions :)

Partager ce message


Lien à poster
Partager sur d’autres sites

1/ Entre un "module virtuel" et un "plugin" tu veux dire je suppose ? Parce qu'un script c'est juste du code, que tu mets dans ce que tu veux.

Je ne vais pas redécrire le module virtuel qui est déjà  traité en long en large et en travers sur ce forum et les blogs.

En ce qui concerne le plugin, c'est une nouveauté de la v4. Disons que le plugin s'intègre bien mieux dans l'interface qu'un module virtuel, par exemple il peut agir comme un capteur (température, etc) ou un actionneur (volet roulant, etc), au même titre qu'un module Z-Wave. Si tu regardes les plugins Virtual Sensor et Virtual Switch de Krikroff tu verras ce que ça permet de faire.

Par contre le developpement est bien plus complexe car Fibaro n'a toujours pas publié le kit de développement, et la doc disponible n'est pas simple à  comprendre (https://developer.fibaro.com/)

 

2/ A part celui de Krikroff (toujours lui...) je ne connais rien d'autre. Tu copies/colles son code dans chaque bouton/scène où tu veux l'utiliser, vu que l'interface de la HC2 ne permet de créer de librairie réutilisable. Ce qui limite beaucoup l'intérêt du framework... Pas vraiment d'aide dispo du coup, à  part le topic où Krikroff partage son toolkit.

 

3/ Regarde :

- dans la section pour les nuls du forum

- l'API Fibaro dispo dans le menu en haut de page

- https://developer.fibaro.com/

- le site fibaro.co.uk donne quelques indications sur certaines fonctions

- http://<adresse_IP_de_ta_box>/docs

- Google pour trouver de l'aide sur le langage LUA

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Lazer pour ces informations.

 

 

j'avais trouvé le descriptif du framework fibaro: sur le .co.uk  mais je ne trouve nulle part la desriptif du framework HC2:, celui qui contient SetBasicAuthentication, par exemple.

 

Je viens de m'inscire sir le forum developer.fibaro.com   merci de l'info.

 

Il y a t il un XML Parser ? les retour de mes devices sont en xml, et je ne sais pas si je dois moi meme faire un string parser, ou si je peux utiliser des fonctions xml.

 

 

bien à  toi

 

yves

Partager ce message


Lien à poster
Partager sur d’autres sites

Non, pas de XML en natif. A toit de te développer ton parser.

 

Je ne suis pas développer, mais j'ai quand même l'impression que le XML est en perte de vitesse par rapport au JSON.

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est bien possible, mais il faut avouer que c'est une autre facon de communiquer dont les messages sont moins longs.  

La difference c'est que json a l'air de devenir un standr pour communiquer des etats / données, alors que le xml reste le moyen le plus conventionele pour communiquer les données aux web browser. donc pas prevu pour des requetes exterieures genre Fibaro.

Helas mes devices n'interpretent pas le JSON, je suis bon a faire mon parser XML... en voila un beau defis :(

 

yves

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,
Lazer a raison, perds pas trop de temps avec un parser XML, JSON est visiblement devenu
incontournable. Appli IPHONE, FRAMEWORK WATCH (Apple) et PEEBLE, HC2, SENCHA,
API diverses contructeurs, tous passe par du JSON.
Sous chrome, tu as un plugin parser de JSON qui est bien pratique !

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Pilou,

 

Comme je le disais, je vois que Json arrive a se standardiser, mais je ne peux l'eviter, mes devices ne repondent pas au format JSon, mais en XML

 

yves

Partager ce message


Lien à poster
Partager sur d’autres sites
Comment puis-je déboguer un plugin? Existe-t-il un moyen simple (par exemple) d'envoyer des messages à l'aide de HTTP POST?

P.S. Pardonne mon mauvais français

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @codowd, je ne suis pas certain de bien comprendre la demande, tu souhaites faire du debug à l'aide de "print" comme dans une scène ? si c'est le cas alors non, ce n'est actuellement pas supporté.

Partager ce message


Lien à poster
Partager sur d’autres sites
Excuses si je n'étais pas clair. Oui c'est "debug.print" que je veux. 

Comment imiter cela? Peut-être pour changer un label dans un périphérique virtuel? 
Ou utiliser http pour envoyer un message à une autre application?
Modifié par codowd

Partager ce message


Lien à poster
Partager sur d’autres sites

×