Salut.
Peux être un pb de refresh chez moi. J’ai vu ce matin qu’il était passé à l’état 1. Par contre la prise était éteinte…Ton dehumidicateur est alimenté en continue ou il se lance que par moment ?
Salut.
Peux être un pb de refresh chez moi. J’ai vu ce matin qu’il était passé à l’état 1. Par contre la prise était éteinte…Ton dehumidicateur est alimenté en continue ou il se lance que par moment ?
Il se lance via un scénario et une alarme.
Bonjour à tous,
Nouveau chez Gladys je viens tout juste d’installer la Beta et de paramétrer le module Xiaomi.
Ma Gateway a été détectée directement ainsi que mes capteurs (5). Cependant dans le paramétrage il me dit que les capteurs mesurent la température, l’humidité et le niveau de batterie mais je ne retrouve pas ces infos dans le dashboard, seule la température apparaît.
Également, j’ai quelques 3 capteurs sur les 5 qui n’ont pour l’instant pas eu de valeurs de relever. Ce que je trouve étonnant car j’ai déjà un autre système perso sous NodeRed qui lit la Gateway et les valeurs sont récupérées plus régulièrement.
Bon boulot en tout cas.
Kevin
Salut @Xerses!
Tu as attendu un peu petit peu ? En général ça prend un peu de temps avant que les valeurs arrivent et s’affichent. Si tu as attendu et que toujours rien, je serais intéressé de voir tes logs Gladys pour vérifier qu’il n’y a pas un bug dans l’intégration
Après 1 jour d’attente, toujours pas valeurs
Et maintenant il ne me reste qu’1 seul capteur avec une température.
Concernant les logs, je ne trouve pas comment les afficher. Je vois partout sur le forum des “pm2 logs” mais cela ne marche pas chez moi car la commande pm2 n’existe pas. J’ai pourtant pris l’image Gladys V4 sous HypriotOS.
Ok il doit y avoir un petit souci.
pm2 logs c’était pour Gladys v3, maintenant pour aller voir les logs Gladys c’est docker logs gladys
@Hamtaro toi tu as bien les valeurs chez toi?
Effectivement il y a des retours de logs étranges.
Finalement, j’ai 3 capteurs sur les 5 qui marchent. Dans l’intégration, je vois que ces 2 capteurs n’ont pas de Features comme les autres. Cela provient probablement de là. Ce sont pourtant les mêmes modèles.
2019-10-21T11:55:14+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) Unable to save new state of deviceFeature xiaomi:158d00010ffd46:humidity, state = 63
2019-10-21T11:55:14+0200 device.newStateEvent.js:23 (DeviceManager.newStateEvent) { Error: DeviceFeature not found
at DeviceManager.newStateEvent (/src/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:198:13)
at Event.emit (/src/server/lib/event/index.js:8:16)
at XiaomiManager.newValueTemperatureSensor (/src/server/services/xiaomi/lib/event/xiaomi.newValueTemperatureSensor.js:111:23)
at XiaomiManager.onMessage (/src/server/services/xiaomi/lib/event/xiaomi.onMessage.js:34:12)
at Socket. (/src/server/utils/functionsWrapper.js:13:13)
at Socket.emit (events.js:198:13)
at UDP.onMessage [as onmessage] (dgram.js:628:8) message: ‹ DeviceFeature not found › }
Okay …
Bon, finalement, dans l’intégration, je viens de supprimer tous les devices y compris la gateway.
Je les ai ensuite connectés 1 à 1 et maintenant ils ont tous les Features, donc les valeurs devront remonter d’ici quelques temps. Je vous tiens au courant.
Voilà, après 25min, toutes les valeurs sont apparues !
Maintenant, si je peux faire une suggestion sur l’interface dans le dashboard c’est le manque d’informations du capteur :
Voici une capture d’écran de mon interface perso (NodeJS) :
Pour chaque pièce, j’ai la valeur de la batterie, la température avec une précision supp’, l’humidité, l’humidex (une valeur qui permet de mesurer le confort de la pièce) avec une indication si on monte en confort ou on descend, et surtout la date et l’heure de dernière mise à jour de ces éléments, ce qui permet de toujours savoir si notre système tourne.
Si cela peut inspirer !
Bonne journée
J’ai eu un retour similaire de @Hamtaro, il y a un petit problème d’enregistrement des features, c’est noté je vais fixé ça
Merci de ton retour sur l’interface!
Pour te donner un peu mon point de vue, la ligne directrice de Gladys 4 c’est de faire quelque chose d’assez design et d’éviter le dashboard trop « geek » et plein de data dans tous les sens, donc j’essaie de réfléchir à chaque usage: à quoi sert chaque donnée, et comment on la présente pour éviter l’effet « fouilli ».
Au niveau d’une box « pièce », c’est sympa d’avoir la température et l’humidité à mon sens (d’ailleurs une question qui se pose, toi tu n’as qu’un capteur par pièce, comment fait on quand il y a plusieurs capteurs par pièce? Il y a la possibilité de faire une moyenne, après certains utilisateurs comme @Hamtaro mettent un capteur de température dans le frigo, donc ça fausse les moyennes – il faut penser à tous ces cas – )
Au niveau de la batterie, je ne pense pas que la donnée soit utile. Ce qui est utile de savoir, c’est quand ton périphérique arrive en fin de batterie, d’avoir une notification que la batterie est faible, après pouvoir s’embêter à devoir checker à la mano visuellement l’état des batteries quand une machine peut le faire pour toi, en permanence?
Pareil pour la date de la dernière valeur, ce qui est utile, c’est de savoir si un capteur arrête d’envoyer des valeurs (et auquel cas recevoir une notification), sinon pourquoi devoir s’encombre l’interface + une charge mentale à vérifier dans ta tête chaque date?
C’est mon point de vue, après il y a largement moyen d’améliorer les boxs actuelles, mais sans trop surcharger l’interface: on veut garder un produit léger
Alors effectivement, je n’avais pas en tête un système de notifications. S’il y a la possibilité d’avoir cela, cela enlève effectivement le besoin d’avoir ces infos (niveau de batterie et dernier relevé) en visu directe.
Je continue de tester cette Beta pour vous faire des retours. Je déménage dans quelques mois et j’ai l’ambition d’utiliser le système à plein régime avec d’autres devices (caméras, capteurs, lumières, etc.) et pourquoi pas développer mes propres modules si je trouve le temps (avec 2 enfants, c’est plus compliqué qu’avant).
Bonne continuation
Super! Merci pour tes supers retours en tout cas N’y vois de négatif si je confronte tes propositions aux réflexions qu’on a lors de la conception, chaque retour fait réfléchir et j’essaie de prendre le meilleur de tous ces feedbacks.
Génial ça. Tiens nous au courant de l’avancé de ton projet, et n’hésite pas à poster ton installation / projet sur le forum. Pour l’aide sur les services ce sera avec plaisir, on est jamais trop !
Re,
Finalement, j’ai toujours des soucis. Un des capteurs ne se met plus à jour et j’ai ça dans les logs :
2019-10-21T16:41:54+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) Unable to save new state of deviceFeature xiaomi:158d00010ffd46:temperature, state = 21.5
2019-10-21T16:41:54+0200 device.newStateEvent.js:23 (DeviceManager.newStateEvent) { SequelizeTimeoutError: SQLITE_BUSY: database is locked
at Query.formatError (/src/server/node_modules/sequelize/lib/dialects/sqlite/query.js:420:16)
at afterExecute (/src/server/node_modules/sequelize/lib/dialects/sqlite/query.js:119:32)
at Statement.errBack (/src/server/node_modules/sqlite3/lib/sqlite3.js:16:21)
name: ‹ SequelizeTimeoutError ›,
parent:
{ Error: SQLITE_BUSY: database is locked
errno: 5,
code: ‹ SQLITE_BUSY ›,
sql:
‹ INSERT INTOt_device_feature_state
(id
,device_feature_id
,value
,created_at
,updated_at
) VALUES ('4bda35aa-b103-4463-b4e3-48db162f9780','215500a7-ecef-40e0-b095-082c0a1f1ead',21.5,'2019-10-21 14:41:52.535 +00:00','2019-10-21 14:41:52.535 +00:00'); › },
original:
{ Error: SQLITE_BUSY: database is locked
errno: 5,
code: ‹ SQLITE_BUSY ›,
sql:
‹ INSERT INTOt_device_feature_state
(id
,device_feature_id
,value
,created_at
,updated_at
) VALUES ('4bda35aa-b103-4463-b4e3-48db162f9780','215500a7-ecef-40e0-b095-082c0a1f1ead',21.5,'2019-10-21 14:41:52.535 +00:00','2019-10-21 14:41:52.535 +00:00'); › },
sql:
‹ INSERT INTOt_device_feature_state
(id
,device_feature_id
,value
,created_at
,updated_at
) VALUES ('4bda35aa-b103-4463-b4e3-48db162f9780','215500a7-ecef-40e0-b095-082c0a1f1ead',21.5,'2019-10-21 14:41:52.535 +00:00','2019-10-21 14:41:52.535 +00:00'); › }
Pas de soucis à mon niveau.
Mais bon, tu as dev sur mon matos ^^
Intéressant comme retour, je comprends ce qui se passe!
J’ai créé une issue, je vais bosser dessus:
Salut,
comme le “Xiaomi wall plug” a l’air d’être intégré seulement lecture, j’ai voulu modifier le service pour qu’on puisse commander cette prise commandée depuis le gladys.
Je me suis donc attaqué à la modification du fichier xiaomi.setValue.js afin de le gérer :
case 'xiaomi-plug':
msg = {
cmd: 'write',
model: this.sensorModelBySensorSid.get(sid),
sid,
data: JSON.stringify({
status: state,
key,
}),
};
break;
Je me rend maintenant dans le dashboard, je clique sur le bouton pour allumer et j’obtiens ceci dans les logs serveur :
2020-01-14T20:52:26+0100 <warn> scene.executeSingleAction.js:18 (SceneManager.executeSingleAction) There was an error executing action device.set-value
2020-01-14T20:52:26+0100 <warn> scene.executeSingleAction.js:19 (SceneManager.executeSingleAction) { Error: Function device.setValue in service xiaomi does not exist.
at DeviceManager.setValue (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\lib\device\device.setValue.js:19:11)
at Object.device.set-value (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\lib\scene\scene.actions.js:16:24)
at executeAction (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\lib\scene\scene.executeActions.js:29:33)
at SceneManager.executeSingleAction (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\lib\scene\scene.executeSingleAction.js:16:11)
at EventEmitter.Trigger.event.on (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\lib\trigger\index.js:15:65)
at EventEmitter.emit (events.js:189:13)
at Event.emit (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\lib\event\index.js:8:16)
at setValueFeature (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\api\controllers\device.controller.js:90:18)
at C:\Users\Thibaut\Documents\GitHub\GladysDev\server\api\middlewares\asyncMiddleware.js:4:19
at Layer.handle [as handle_request] (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\node_modules\express\lib\router\route.js:137:13)
at AuthMiddleware.asyncMiddleware (C:\Users\Thibaut\Documents\GitHub\GladysDev\server\api\middlewares\authMiddleware.js:28:7)
message: 'Function device.setValue in service xiaomi does not exist.' }
j’ai beau vérifier partout, la fonction setValue semble correctement écrite dans le service Xiaomi. De plus, je vois que le cas du “xiaomi-duplex-wired-switch” a été intégré. @Hamtaro, j’imagine que c’est un de tes équipements. Pas de souci à signaler quand tu veux le piloter via le dashboard?
Si un l’un de vous à une idée je suis preneur. Quelque chose m’échappe.
Bizarre tu édites avec quoi, vscode ? L’encodage du fichier n’a pas changé ?
oui je suis avec vscode. encodage en UTF-8
@link39 Le service Xiaomi n’expose pas d’attribut “device”, cf xiaomi/index.js
! Le setValue que tu as vu est encore clairement WIP, ce n’est pas fonctionnel ! Il faut le rajouter
Salut, j’arrive un peu tard mais voici mon point de vue.
Si tu penses te servir de l’anneau lumineux ou du haut parleur intégré dans la gateway xiaomi penche sur celle ci. Elle te permet aussi de créer des scénarios entre tes équipements xiaomi.
Si tu veux quelque chose de moins cher et capable de s’interfacer avec d’autres matériel zigbee, Philips hue et ikea par exemple, penche toi plutôt sur une gateway zigbee couplée avec le projet zigbee2mqtt.
Pour ma part, je n’ai que la gateway xiaomi (acheté sous forme de pack lors de mes débuts en domotique) . Je n’ai donc pas trop exploré l’autre piste, je laisse donc les pro des gateway zigbee me corriger si je fais erreur sur les possibilités que ça offre.