Une bêta pour Gladys 3.0!

J’ai du mal m’exprimer, je voulais juste que tu me donne un lien vers le fichier pour que je puisse voir ton code ^^

Ah intéressant !

c’est plus grave dans ce cas là, je savais que sails.js appelait au démarrage la fonction « configure », mais pas « config »… c’est peut être un bug, je vais regarder, heureusement que tu vois ça ! :slight_smile:

github.com/Jean-PhilippeD/gladys-fhem

En fait je me trompe peut être mais toutes les fonctions exportées dans index.js sont exécutées au lancement j’ai l’impression… ou alors je suis à coté de la plaque…

Edit: quoi que pas toute puisque j’ai essayé la fonction install.js et rien se passe (ni à l’install ni après…)
Si tu veux jeter un oeil par ailleurs voir si je m’y prends bien pour l’install :slight_smile:

Bon, j’ai tout simplement demandé au fondateur de Sails.js pourquoi la fonction “config” était appelée au démarrage, et bien il m’a répondu => https://twitter.com/mikermcneil/status/742769470028943361. Il va falloir changer de nom de fonction, je n’avais pas pensé que sails utilisait déjà la variable “config” d’un module…

Je réfléchis à un nom pas utilisé pas sails.js et je reviens vers toi. Merci d’avoir trouvé le bug :slight_smile:

Par contre les autres fonctions ne sont pas appelés au démarrage, chez moi je n’ai pas le problème…

La fonction “install” est appelée après un redémarrage de Gladys quand tu as installé le module automatiquement via Gladys ( via le store ou le panneau “avancés” dans la partie module ). Quand tu es développeur je te conseille de te faire un script gladys qui appelle ta fonction install, c’est plus simple pour tester !

EDIT: le fondateur de sails a corrigé le bug en 5 minutes sur sails.js, ça c’est de l’open source réactif :slight_smile:

hé bé !

Super !

Pour les autres fonctions, je vais vérifier, j’ai p’tet fini par m’emmeler les pinceaux.

Concernant l’install, je vais re-checker après un redémarrage, je n’ai peut être pas vérifié cela.

ok pour le script, je n’y avais pas pensé. :slight_smile:

Merci à toi aussi pour la réactivité :wink:

C’est pushé sur github ! ( on est sur la branche master d’ailleurs, j’ai mergé la branche v3, étant donné qu’elle ne sert plus à rien, c’est deprecated… et que Gladys est presque prête )

Désormais la fonction ne doit plus s’appeler “config”, mais “setup” :slight_smile: je vais corriger dans la doc et partout ! dis moi ce que ça donne chez toi.

[quote=“admin”]C’est pushé sur github ! ( on est sur la branche master d’ailleurs, j’ai mergé la branche v3, étant donné qu’elle ne sert plus à rien, c’est deprecated… et que Gladys est presque prête )

Désormais la fonction ne doit plus s’appeler “config”, mais “setup” :slight_smile: je vais corriger dans la doc et partout ! dis moi ce que ça donne chez toi.[/quote]

Ca marche nikel ! :slight_smile:

J’ai réussi à créer un device et à lui associer une valeur.
Dans mon cas un capteur de temperature.

Il faudrait par contre pouvoir enregistrer des numerique plutot que des entiers pour le champ value de la table devicestate parceque 20,2 °C se transforme en 20°C

Par ailleurs, dans la vue des Graphes, je pense que le label du device sélectionné devrait être nom + pièce plutôt qu’actuellement le nom (ou id ?) + type

Effectivement, j’ai oublié de faire le changement je m’étais fais la remarque, je change de suite. EDIT: c’est pushé

nom + piece + type dans ce cas là :slight_smile: Parce que tu peux avoir un capteur 4 en 1 qui fait température + humidité +… et tu veux savoir quel type tu sélectionne dans la liste.

[quote=“admin”]
nom + piece + type dans ce cas là :slight_smile: Parce que tu peux avoir un capteur 4 en 1 qui fait température + humidité +… et tu veux savoir quel type tu sélectionne dans la liste.[/quote]

C’est juste !

Tant que je suis dans les questions, comment puis-je récupérer l’id du devicetype lorsque je veux insérer une valeur recue sur un device, sans avoir à faire un gladys.utils.sql() ?

Je n’ai pas trouvé de fonction pour cela.

getByIdentifier: 'SELECT * FROM device WHERE identifier = ?;'

Ne me renvoie l’id du device mais pas du devicetype, hors c’est la jointure sur devicetype qui est fait vers devicestate, si j’ai bien tout pigé :smiley:

Héhé pas bête, tu découvre les fonctions qui manque (c’est l’intérêt de cette bêta), je n’avais pas encore eu ce cas mais je vois très bien qu’une fonction manque.

Je verrais bien une fonction dans deviceState pour créer un state à partir d’un identifier et d’un type, genre :

gladys.deviceState.createByIdentifier(identifier, service, type, state); 

Je m’y pense de suite. Je te dis dans ce thread quand c’est pushé :slight_smile:

Bon j’ai avancé, j’ai créé cette fameuse fonction, revu pas mal de trucs à droite à gauche.

Pour me mettre dans ta peau, j’ai créé un module qui fait la même chose que toi mais avec une autre techno, j’ai fais le module “gladys-serial” qui permet de recevoir des signaux 433Mhz sur un arduino branché en USB à la machine.

La caractéristique intéressante, c’est que comme toi il n’y a rien a configurer, c’est le module qui au fil des signaux qu’il reçoit créé des devices ( si les devices n’existent pas déjà ), donc a mon avis ce module peut pas mal t’aider !

En le développant je me suis rendu compte de quelques carences dans Gladys, il manquait des fonctions, que j’ai rajouté. Désormais par exemple gladys.device.create ne créé le device QUE si le device n’existe pas. Pour tester l’existence d’un device, je me base sur le couple (identifier, service), pour chaque service tu ne peux avoir qu’un identifier par device, c’est normal.

J’ai créé aussi la fonction :

gladys.device.getByService({service: 'NOM'}) .then(function(devices){ });

Ce qui te permet d’aller chercher tes devices si besoin…

Le module en question est ici => https://github.com/GladysProject/gladys-serial

Ok je vais regarder ca.

C’est vrai que j’utilisais la fonction device.createIfNotExist pour ne pas créer le device s’il existe déjà.

Pour l’auto discover, j’avais laissé la création de device via le setup.js mais c’est vrai que je pourrais créer le device dés qu’une data est recue, parceque la justement, lorsque je recois une donnée d’un device non connue (ie; pas ajouté via la configuration) je ne traite pas la donnée, alors que ca n’est pas utile…

Hop nouvelle question.
Pour mon capteur de température, comment je peux afficher la valeur seule et pas une slidebar a la quelle aucune action n’est affectée ?

[quote]Hop nouvelle question.
Pour mon capteur de température, comment je peux afficher la valeur seule et pas une slidebar a la quelle aucune action n’est affectée ?
[/quote]

Bonne question ! c’était tout simplement un bug, si tu as bien définir ton deviceType comme étant un sensor ( sensor: true à la création ), et bien il devrait afficher la dernière valeur et pas une slidebar ( je viens de corriger )

Ok !

Nouvelle question :mrgreen:

J’ai un capteur d’ouverture de porte, c’est binaire: open ou closed
Quel type dois-je choisir, j’ai essayé avec sensor: true mais il attend un float et pas un string forcément…
Si je laisse a false, je risque d’avoir un bouton inutile puisque c’est tout de même un sensor ? :smiley:

Par ailleurs, je ne suis pas encore sur cet équipement mais j’ai un interupteur 4 voies (AI A0 / BI B0 en valeur recue), as-tu prévu un tel équipement ? ^^

Merci d’avance !

[quote]J’ai un capteur d’ouverture de porte, c’est binaire: open ou closed
Quel type dois-je choisir, j’ai essayé avec sensor: true mais il attend un float et pas un string forcément…
Si je laisse a false, je risque d’avoir un bouton inutile puisque c’est tout de même un sensor ? [/quote]

Les capteurs binaires, c’est simple : 0 => fermé , 1 => ouvert :slight_smile:

Donc tu mets sensor = true, et min: 0, max : 1, tout simplement!

Le plus simple serait de donner des valeurs entières à chaque possibilité, de 0 à 4 du coup, c’est le mieux à mon avis ! A voir si il n’y a pas des cas où ça pose problème, dans ce cas je stockerais les valeurs en string, mais bon pour l’instant je ne vois pas de cas…

Dans le même genre, il faudrait ajouter la pièce dans le label du menu déroulant pour la sélection du device dans le menu de création d’un scénario :slight_smile:
Parcque j’ai plusieurs interupteurs donc je sais pas lequel est lequel :slight_smile:

Par ailleurs, ajouter le choix d’un icone (genre fa-) pour les devices, par exemple:

type: ‘brightness’,
sensor: true,
tag: ‘brightness’,
unit: ‘Lux’,
min: 0,
max: 2048,
icon: ‘sun’

Et pour finir, la possibilité d’afficher sur le dashboard, certains status de devices :mrgreen:

Coté scénario, je n’ai pas d’options pour sélectionner mes actions, juste un tableau vide et le bouton “enregistrer” le scénario, normal ?
PS: il reste des console.log dans le script angular scenario.controller.js ligne 130 et 131 :slight_smile:

[quote]Dans le même genre, il faudrait ajouter la pièce dans le label du menu déroulant pour la sélection du device dans le menu de création d’un scénario :slight_smile:
Parcque j’ai plusieurs interupteurs donc je sais pas lequel est lequel :slight_smile:[/quote]

Pas bête, je vais regarder !

A voir ou pourrait être affichée cette icone, mais ça peut être pas mal oui

ça après c’est que du HTML dans les « boxTypes », j’en ai pas mis pour l’instant mais il faut que j’en rajoute. L’avantage est que ces boxs ne sont pas dans le code de Gladys mais sur github, donc on peut mettre à jour à tout moments boxs sans mettre à jour Gladys ( dans les paramètres → mise à jour des datas Gladys )

Pas normal, tu as deux actions normalement. Pour remédier à ça, va dans « Paramètre » et clique sur mettre à jour les data gladys :slight_smile: Normalement ça devrait rajouter deux actions, il y en aura plus par la suite là encore c’est juste des fichiers de conf qu’il faut que je remplisse…

[quote=“admin”]
Pas normal, tu as deux actions normalement. Pour remédier à ça, va dans “Paramètre” et clique sur mettre à jour les data gladys :slight_smile: Normalement ça devrait rajouter deux actions, il y en aura plus par la suite là encore c’est juste des fichiers de conf qu’il faut que je remplisse…[/quote]

C’est pas ce fichier la ?

github.com/GladysProject/Gladys … onTypes.js

Parceque tout es commenté, ce qui expliquerait qu’après update des data, j’ai toujours 0 actions :slight_smile:

Ah non non, ça me fait penser qu’il faut que je supprime ce fichier, tous les fichiers de config ça date de la dernière version :slight_smile:

Désormais toutes les data sont sur le repo Gladys-data ( github.com/GladysProject/Gladys-data ), et quand tu clique sur “mettre à jour”, ça download les jsons du repo et ça update les actions que tu as localement :slight_smile:

Bon j’ai compris, j’ai juste pas encore ajouté dans le front la synchro de cette partie, je ferais ça quand j’aurais du temps, je suis dans mes examens finaux là ^^