Module gladys-Netatmo

Bonjour à tous !
Je suis actuellement en train de développer un module pour que gladys puisse interagir avec mon thermostat Netatmo.

Jusque là tout va bien, mais je souhaiterais ajouté une box ayant comme visuel celui du thermostat avec une liste déroulante comportant les différents mode du thermostat pour pouvoir le changer.
C’est a dire :

Température mesuré

Température souhaité =>

Je voulais faire ça en angularJs, mais je ne comprend pas comment mon contrôleur est incorporé par Gladys.

Le module est utilisable pour ceux qui souhaite l’utiliser :slight_smile:.

N’hésité pas à me faire des retours :stuck_out_tongue:

4 Likes

super ca.
de manière générale, je regarde pour faire un module “thermostat” pour pouvoir gérer les radiateur directement depuis Gladys

1 Like

Alors pour faire ça, tu peux placer dans le dossier “assets” de ton module n’importe quoi, Gladys le copiera dans le dossier “./assets/hooks/TON_MODULE” lors de l’init et ils seront disponible dans le navigateur du coup :wink:

Ensuite, lors que tu créé ta box, tu peux passer dans l’attribut “ngcontroller” le nom de ton controller, regarde comment ça a été fait avec d’autres box ici par exemple =>

Je ne sais pas si c’est très clair… N’hésite pas si tu as des questions :slight_smile:

Salut @isokar, @pierre-gilles,

Tu ferais une sorte d’interface pour les différents modèle de thermostat c’est ça ?
Si oui, je pense que l’on pourrait en faire des interfaces aussi pour les lumières(milight,philips…) et le son (bose, sonos), comme ça l’utilisateur n’aurait plus qu’a télécharger un module “Lumière”, et ce dernier communiquerait de manière autonome avec les bonnes ampoules.

Ce l’est déjà bien plus et je t’en remercie :slight_smile: !
Je vais tenter de mettre ça en pratique ce soir :smiley:.
Merci de votre aide :stuck_out_tongue:

Encore merci à vous tous !

Salut @spenceur,
non ce n’était pas ça…Mais c’est une très bonne idée quand même :wink:
l’idée c’est qu’un thermostat c’est bêtement un relais connecté à un thermomètre.
Donc, gladys pouvant déjà d’un coté activer des relais prises et autres actionneurs et d’un autre recevoir des températures des différentes pièces, le but est de faire un module dans lequel on fixe une température désirée et Gladys gère les-dit relais selon la vrai température. Un vrai thermostat intégré et multi-voies en clair

Salut @isokar,
Effectivement ton module pourrait m’être très intéressant !

Sinon j’ai tenté de regardé pour créer une box mais malgré les quelques information je rencontre un problème :

Voici mon contrôleur qui à bien été déplacer dans le dossier assets de gladys (gladys/api/hooks/netatmo/assets/js/netatmoCtrl.js) :

(function () {
  'use strict';

  angular
  .module('gladys')
  .controller('netatmoCtrl', netatmoCtrl);

  netatmoCtrl.$inject = ['deviceService', 'paramService', '$scope', '$q', 'moment'];

  function netatmoCtrl(deviceService, paramService, $scope, $q, moment){

    var vm = this;

    vm.thermostat.temperature = 19
    vm.thermostat.consigne = 19

  }
 })();

et voici l’erreur rencontré :

http://errors.angularjs.org/1.5.0/ng/areq?p0=netatmoCtrl&p1=not%20a%20function%2C%20got%20undefined

Peut on me dire ce que je fais de mal ^^’? @pierre-gilles

Pour info, je tente juste de faire l’affichage en dure je verrais après comment faire pour la récupération des données :slight_smile:.

Salut,

peux-tu regarder que ton netatmoiCtlr.js est bien présent sous:

<RACINE DE GLADYS>/.tmp/public/hooks/netatmo/js/

Salut @Jean-Philippe !

Malheureusement il n’est pas présent dans les sous dossier de .tmp.
Je suppose qu’il n’est donc pas chargé. Connais tu la marche à suivre ?
Merci à toi :slight_smile:

Pour mes modules, j’implémente une copie au lancement, cependant @pierre-gilles semblait indiquer dans son post que la copie était automatique donc je n’ai pas d’explication.

As tu un exemple cela m’interesse en attendant la réponse de @pierre-gilles ?

Hello! Tu peux essayer de faire :

grunt copyHooksAssets

Avant de lancer Gladys ? ça devrait copier les assets dans le bon dossier. C’est bizarre normalement c’est fait automatiquement, je checkerais si jamais ce n’est pas le cas :slight_smile:

Salut @pierre-gilles !

J’ai donc lancer pm2 stop gladys avec succès avant de faire ta commande.
Cependant j’ai une erreur comme quoi grunt ne serais pas installé :

[email protected]:~ $ grunt copyHooksAssets
grunt-cli: The grunt command line interface (v1.2.0)

Fatal error: Unable to find local grunt.

If you’re seeing this message, grunt hasn’t been installed locally to
your project. For more information about installing and configuring grunt,
please see the Getting Started guide
http://gruntjs.com/getting-started

Pour info mon image gladys provient de ton site :slight_smile:.
Ai je mal fait un truc ^^’ ?

Ah oui d’accord tu développe sur le’ raspberry pi toi ?

Je pensais que tu étais en mode dev sur ton laptop…

Sur ton Raspberry Pi, il faut déjà que tu te mette dans le dossier gladys avant de lancer la commande ( cd gladys )

Et tu fais :

grunt buildProd

Si tu as à nouveau l’erreur grunt ( je pense pas ), tu peux faire :

sudo npm install -g grunt-cli

Après je te cache pas que développer sur ton Raspberry Pi ça va être hyper laborieux, moi je dev gladys 100% sur mon laptop :wink:

Effectivement j’ai deux raspberry un qui me sert à développer et l’autre qui me sert comme environnement de prod.

Après si tu me le déconseille j’écouterai ton conseil :slight_smile:

Je testerais ta commande a mon retours

Tu peux dev dessus ( tout est possible ) mais ça va te prendre un temps fou j’imagine pas !

Moi mon process de dev, j’ai cloné le repo git sur mon Mac, j’ai fais npm install et ensuite je lance gladys en mode dev, tu peux même avoir du hot reload automatique avec des tools comme nodemon, du coup tu dev bien plus vite :slight_smile:

Sous Mac et Linux c’est cool. Quid de Windows ? Je crois que l’installation de l’environnement est plus touchy, non ?

Je peux te dire que non @Boimb ^^

1 Like

non c’est pas plus touchy ou non pas possible?

Non c’est pas plus touchy ^^

Cool. J’avoue que depuis que j’ai le mac du taf, mon PC ne sert que pour steam :sunglasses:

1 Like