Ampoule Milight

Bonjour,

J’ai depuis quelques jours reçu mon ampoule milight avec le pont wifi, ça marche parfaitement depuis mon smartphone. Jusque là, aucun problème.
J’ai donc voulu tester le tuto des ampoules avec le script que l’admin a fourni, à savoir :

var WifiBoxModule = require('./wifibox.js'); var cmd = require('./commands.js'); var box = new WifiBoxModule("192.168.1.255", 8899 ); box.command(cmd.rgbw.on(0));(J’ai modifié l’adresse au passage, je suis en 192.168.1.X/24)

J’ai créé un réveil pour essayer d’allumer l’ampoule grâce à ce script, puis j’ai créé un scénario attaché à ce réveil qui exécuterait le script. Mais l’ampoule ne s’allume pas. 2 solutions : Le script ne fonctionne pas ou alors le script ne se lance pas.

J’ai plusieurs question par rapport à ça.
-J’ai créé le script dans la partie Scripts de Gladys, que j’ai nommé lampe.js. En revanche, j’ai aussi créé 2 scripts pour les bibliothèques wifibox.js et commands.js (j’ai juste fait des copier/coller du code trouvé sur github de ces 2 libs) dans ce même endroit. Est-ce que les scripts sont au bon endroit ? Ou bien je dois les mettre dans un autre dossier sur le rasp directement ?

J’ai cru comprendre que l’exécuteur de script web ne pouvait pas exécuter de node.js, d’où l’erreur “require is not defined”, donc ma question, les scripts sont ils au bon endroit ?

Merci d’avance

Les scripts permettent d’exécuter les méthodes de Gladys. Ils sont utiles pour mettre en relation des services ou modules.
Par exemple, faire appel à weatherService pour les infos puis envoyez ces infos à speakerService pour les écouter.

Il faut créer un module pour ce que tu veux faire.

D’accord, si je répète ce que tu viens de dire (pour être sûr que j’ai bien compris), la partie script permet juste d’exécuter des commandes internes à Gladys.

Bon, je vais me pencher sur la création d’un module dans ce cas. Mais je ne connais pas vraiment node.js :-/ Je vais essayer de retrouver le tuto que quelqu’un avait posté sur le forum pour la création d’un module.

Merci

Le module pas besoin, les bases sont là ( github.com/GladysProject/Gladys … &q=milight )

Juste un peu de patience :wink: et tu pourra bientôt gérer tout ça avec Gladys ( @admin et @Doctor je me trompes pas au moins ^^ ? )

Edit: Je me répond en citant @admin ( viewtopic.php?f=20&t=5989&p=8163&hilit=milight#p8163 )

[quote=“admin”]

Il faut que tu fasse un scénario : SI alarme sonne ALORS allumer lumière.

En revanche bête oubli de ma part, le panneau de configuration des ampoules milight n’est pas implémenté. Il faut que je le rajoute. En attendant on peut rentrer à la main dans la base de donnée mais c’est un peu sale…[/quote]

Ah ah super ! J’ai vraiment hâte qu’il soit terminé ce panneau alors :smiley:

En faisant mes tests de module, je me suis posé une question… Comment mettre à jour Gladys ? (Je ne savais pas si j’avais la dernière version en date)
Par exemple, j’imagine que quand le store sera mis en place (j’ai vraiment hâte aussi :p), il faudra bien faire une mise à jour des fichiers sources etc… Ca se passe avec un simple git pull ? Car le fichier config/connections.js a été modifié et il me demande de le push, mais je ne veux pas :slight_smile:

Merci pour vos infos !

Oui le git pull est suffisant ton fichier de conf sera intacte

@VonOx, c’est bien ça, j’ai répondu un peu rapidement.

J’ai cette erreur là quand je fais mon git pull

pi@raspberrypi ~/gladys $ git pull Updating 6aba219..f334106 error: Your local changes to the following files would be overwritten by merge: config/connections.js Please, commit your changes or stash them before you can merge. Aborting
J’ai pas envie de commit mon fichier de conf :-/

Je suis pas expert avec git, mais chez moi il fait l’update et conserve mes modifs de config

git status

On branch master

Changes not staged for commit:

(use “git add …” to update what will be committed)

(use “git checkout – …” to discard changes in working directory)

modified: config/connections.js

modified: config/machine.js

A la racine de Gladys il y a un petit fichier “update.js”, qui est censé :

  1. faire une backup des fichiers avec des modifications ( connections.js, etc… )
  2. faire un git pull
  3. remettre les fichiers à la place de ceux du git

Vous pouvez tester en faisant “node update.js”, mais c’est encore expérimental :smiley: Il faut peut être rajouter :

git reset --hard HEAD avant de faire le git pull dans le fichier update.js, pour forcer le pull.

Je ne savais pas comment intégrer le git reset --hard HEAD dans le update.js alors je l’ai lancé avant node update.js et le pull s’est bien passé !

Merci pour l’info !

EDIT : Une fois que le pull a été fait, il suffit d’actualiser Gladys dans le navigateur pour voir les changements ? Ou il faut relancer une commande depuis le raspberry ?

Aie non justement! Si tu fais le git reset --hard HEAD avant, tes fichiers ne sont pas sauvegardé ! parce qu’il fera le backup des mauvais fichiers ( ceux du git, pas les tiens )

A mon avis tu as perdu tes configurations là

Ah. Bon dans tous les cas je n’avais rien dessus encore vu que je venais de recevoir mes modules :smiley:

Sinon du coup pour le relancement de Gladys, comment ça se passe ? (Voir EDIT dans mon post d’avant) Ca pourrait me servir pour plus tard ^^

Il faut relancer Gladys qui est lancé avec pm2, un petit :

sudo pm2 restart gladys

fera l’affaire :slight_smile:

Super je vais essayer ça alors :slight_smile: Merci !
Ca serait cool de regrouper toutes ces petites astuces dans une partie précise du site ou du forum, ça pourrait éviter que tout le monde ne pose les mêmes questions, et que les nouveaux (et anciens pour memo) puisse le consulter facilement :slight_smile:

Tout a fait, c’est prévu dans le site développeur :slight_smile: une partie documentation avec une doc précise de Gladys

Je reviens ici pour demander :stuck_out_tongue:
Le module pour gérer ses Milights avec les events n’est pas encore intégré à l’interface de Gladys ?

Merci !

Toujours pas, je n’ai pas encore eu le temps de l’activer :confused: ( le module Milight est quasi fonctionnel dans Gladys en fait, il n’y a juste pas de panneau de configuration… )