Une première alpha de Gladys 3.0

Yep c’était ça

Classe ça marche

Et alors le Ctrl+ space fonctionne ? :slight_smile:

C’est cool tout ça !

Nope…

Mais j’ai tout en anglais c’est normal ?

Ah ! C’est parce qu’à la création de compte tu as mis “english” pour la langue !

Bon j’ai un petit quick fix… Tu vide ta table “sentence”, ensuite tu fais un script :


gladys.update.getSentences({language: 'fr'})
  .then(function(){
      return gladys.brain.trainNew();
  })
  .then(function(){
     console.log('ok');
   });

ça va te mettre les phrases en français, et ré-entrainer le réseau de neurone :slight_smile: Normalement après c’est bon !

Malheureusement c’est pas ça ( j’avais les sentences en Fr c’est juste l’UI qui est en anglais )

J’ai quand même réinstallé la V3.

Mais toujours cette erreur 500:

error: Sending 500 ("Server Error") response: Error: device.command is not a function

J’ai tapé ça sur le CTRL+Space:

LivingColors étant le tag du device

Ahhh encore une fois je vois, my bad c’est de ma faute

Tout ça est encore hyper expérimental, je n’avais pas poussé mes changements au repos gladys-data, dont les nouvelles sentences.

Refais la manip de mon dernier message sur ce topic ( vide la table “sentence” et execute le script pour mettre à jour les sentences ), après ça devrait marcher :slight_smile:

( t’embête pas à tout réinstaller à chaque fois, souvent c’est juste un pb de mon côté vu que la feature n’est pas officiellement sortie ^^ )

Ouai je me doutais t’inquiètes pas j’avais backup les tables importantes ( devices etc … )

Maintenant ça marche :stuck_out_tongue:

Cool! :slight_smile:

Pour les lamps Hue, vous parlez des modèles qui font du Zigbee ?

Je ne m’étais pas intéressés aux ampoules connectées à base de wifi car je pars du principe que je ne veux pas laisser le wifi allumé non stop… Mais sur des modèles Zigbee, ca pourrait bien m’intéresser.

Oui c’est ça

Merci pour le retour !

Pour les variables d’environnements ce n’est pas possible là, je peux la rajouter oui :slight_smile: Attention néanmoins, il faut que le port de dev et de prod soient différents, car lors du script d’init le serveur est lancé quelques secondes en dev, donc si la prod tourne potentiellement il peut y avoir des conflits.

je vais voir pour safari ce qui ne va pas…

L’attribut Device.service sert à définir quel service va être appelé pour contrôler ce device. Ce service doit implémenter une fonction exec qui sera appelé pour changer l’état du device ( allumer une lampe, changer la luminosité, etc… )

Le champs device.protocol ne sert en soit à rien, il est surtout fait pour pouvoir regrouper les device par protocole ( car plusieurs services peuvent fonctionner sur le même protocole )

ça sera le cas :slight_smile: Je n’ai pas encore eu le temps, je ne suis pas chez moi en ce moment ! Le module est juste un petit poc qui n’est pas encore fonctionnel ! Il n’a d’ailleurs aucunes interface de configuration

Tu parles de ces quatres fichiers là ? => github.com/GladysProject/gladys … master/lib ?

Chaque fichier est une fonction du module, c’est une bonne pratique de faire des fichiers les plus courts possibles afin que ça reste clair.

  • Exec => la fonction appelée lorsque gladys veut contrôler le device
  • Register => lance la connexion entre gladys et le bridge, et créé un user « gladys » dans le bridge Hue. ( Nécessite d’avoir appuyé sur le bouton du bridge avant de lancer le register )
  • search => recherche les bridges sur le réseau ( Upnp search )
  • shared => retourne une instance de l’API philips hue. ( la fonction n’a pas a être utilisé par l’utilisateur, c’est juste pour le module )

Pas de date pour l’instant désolé ! Je communiquerais quand je serais certain d’une date :slight_smile:

Hello,
J’ai installé la V3 en suivant les conseils en première page de ce forum, et en lancant cette commande :

sudo grunt buildProd && sudo node init.js

Je me prends cette erreur ;

error: A hook (`controllers`) failed to load! [SyntaxError: Unexpected token ,]

Et lorsque je veux démarrer Gladys:

[code]jp@gladys:/usr/lib/node_modules/gladys$ sudo node app.js

/usr/lib/node_modules/gladys/api/controllers/ScriptController.js:63
gladys.script.exec({script, user})
^
A hook (controllers) failed to load![/code]

Tu es bien en Node.js version >= 4.2 ?

C’est une erreur car il reconnait pas le javascript ES6 ( la dernière spécification de javascript ) que j’utilise dans Gladys qui n’est présent que dans Node 4 et pas avant !

Je vais checké, ca ne doit pas être le cas.

Désolé d’avoir polué, je me souviens avoir lu ca dans le thread :mrgreen:

En fait le raisonnement est le suivant, il y a plein de périphériques qui ont souvent plusieurs fonctions ( type un détecteur de mouvements qui fait aussi température et humidité )

Un « device » correspond à un objet physique, il peut être placé dans une pièce, il a un nom précis, un protocole et un module associé.

Un « deviceType » correspond à une feature d’un device, un capteur de mouvements 3 en 1 aura donc :

  • Un deviceType pour la température
  • Un deviceType pour l’humidité
  • Un deviceType pour les mouvements

Cela permet d’enregistrer pour chaque deviceType des valeurs ( des « DeviceState » ).

Il faut juste voir ça comme de l’héritage ! Un deviceType est une spécialisation de Device. Il aurait été dommage de tout regroupé dans une table, on aurait eu de la redondance partout :slight_smile: Et puis l’utilisateur aurait du placer un par un chaque deviceType dans chaque pièce, très fastidieux!

[quote]Est-ce qu’il y a un moyen qu’un module ajoute de quoi écouté un port série en continue ? (comme le faisait nativement gladys v2 en faite).
[/quote]

Oui bien-sur, je vais faire un module pour gérer cette partie comme c’était fait dans Gladys v2 :slight_smile: L’objectif n’est pas de perdre des features !

Exactement, comme j’explique dans le tuto pour développer des modules pour la v3 ( je ne sais pas si tu as pu le lire => developer.gladysproject.com/fr/ … dys-module ), tu dois implémenter la fonction exec, et dedans elle sera appelé quand l’utilisateur veut allumer ou éteindre la prise.