Hello,
dans une pièce, j’ai 2 températures qui remontent : l’une d’un capteur classique, l’autre du module de fil pilote de radiateur qui reste tout le temps à -999°C car non utilisée.
Et je me retrouve avec une température moyenne délirante de temps en temps :
Hello,
je reviens avec un check de plus à faire.
Dans ma température de Salon, j’ai une sonde zigbee, ma netatmo et mon dyson (via matterbridge).
Pour l’instant mon Dyson n’a pas de valeur (car j’ai désactivé le plugin idoïne de matterbridge) et j’obtiens ceci, avec une temp moyenne erronnée forcément :
J’ai travaillé sur une PR avec Claude Haiku et voici le résultat :
Par contre je n’arrive pas à lancer les tests via VSCode, j’ai des messages d’erreur de ce type et je n’y comprends absolument rien (n’étant pas dev, là j’ai vraiment du mal) :
DualStef:server stef$ pwd
/Users/stef/CloudStation/github/Gladys/server
DualStef:server stef$ npm test
> test
> cross-env NODE_ENV=test ./node_modules/mocha/bin/mocha --recursive ./test/bootstrap.test.js "./test/**/*.test.js" --exit
node:events:497
throw er; // Unhandled 'error' event
^
Error: spawn ./node_modules/mocha/bin/mocha ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:285:19)
at onErrorNT (node:internal/child_process:483:16)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
Emitted 'error' event on ChildProcess instance at:
at ChildProcess._handle.onexit (node:internal/child_process:291:12)
at onErrorNT (node:internal/child_process:483:16)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
errno: -2,
code: 'ENOENT',
syscall: 'spawn ./node_modules/mocha/bin/mocha',
path: './node_modules/mocha/bin/mocha',
spawnargs: [
'--recursive',
'./test/bootstrap.test.js',
'./test/**/*.test.js',
'--exit'
]
}
Node.js v22.21.1
DualStef:server stef$ pwd
/Users/stef/CloudStation/github/Gladys/server
DualStef:server stef$ npm run eslint
> eslint
> eslint .
(node:82347) ESLintIgnoreWarning: The ".eslintignore" file is no longer supported. Switch to using the "ignores" property in "eslint.config.js": https://eslint.org/docs/latest/use/configure/migration-guide#ignore-files
(Use `node --trace-warnings ...` to show where the warning was created)
Oops! Something went wrong! :(
ESLint: 10.0.0
ESLint couldn't find an eslint.config.(js|mjs|cjs) file.
From ESLint v9.0.0, the default configuration file is now eslint.config.js.
If you are using a .eslintrc.* file, please follow the migration guide
to update your configuration file to the new format:
https://eslint.org/docs/latest/use/configure/migration-guide
If you still have problems after following the migration guide, please stop by
https://eslint.org/chat/help to chat with the team.
@pierre-gilles si jamais tu peux m’aider, je ne dis pas non.
EDIT :
avec l’aide de copilot, j’i pu avancer un peu :
Haïku 4.5, c’est github et vscode qui propose en free alors je prends, je n’ai pas de compte payant.
Et il faut l’aider un peu mais le résultat était pas mal je trouve.
Je l’avais fait déjà aussi et ça n’avait pas fonctionné … et maintenant ça marche mais ça a modifié 81 fichiers, c’est normal ?
Je dois faire quoi ? valider et commit ?
EDIT : bon j’avance doucement, j’ai discard tout et modifié mon fichier seulement. Maintenant c’est eslint que je dois retravailler.
EDIT2 : j’arrive à la fin de ma débrouillardise
Tout passe maintenant (prettier, eslint) sauf codecov/patch
D’après ce que j’ai demandé à Perplexity, il faudrait que j’ajoute des tests spécifiques dans le fichier server/test/lib/device/temperature-sensor/temperature-sensor.test.js.
J’ai regardé et je ne sais absolument pas ce que je dois y mettre comme code pour tester mes ajouts malgré le fait que je vois bien qu’il y a des tests déjà en place mais qui ne correspondent pas à ce que j’ai ajouté dans l’autre fichier.
Bref je veux bien un coup de main sur cette partie, merci d’avance.
C’est annulable à tout moment, il y a une période d’essai, et sinon au pire c’est juste 12€ (15$) pour un mois d’usage, et franchement vu la qualité des modèles les 12€ sont très largement rentabilisés
Non, uniquement les fichiers que tu as modifié doivent être modifiés.
Exact !
Demande à l’IA d’écrire les tests
Mais bon, on arrive peut-être à la limite du vibe-coding, dans tous les cas il faut relire et savoir ce que tu fais…
@mutmut J’ai regardé la PR, et je pense que l’IA est à côté de la plaque, ce qu’elle a pondu est totalement over-engineered, le même développement pourrait être écrit en… 1 seule ligne (contre 56 dans ta PR!! 55 de trop !)
Avant de t’aider, j’aimerais comprendre ton besoin, car en relisant ton message original, je pense que même cette PR ne répondait pas à ta problématique !
Aucune idée si c’est over ou pas car je ne suis pas dev
J’ai 2 modules fil-pilote en zwave qui remontent une température.
Cette température est bonne si il y a une sonde de branchée (ce n’est pas mon cas), sinon la température est de -999°C.
Comme j’ai mis ces modules dans des pièces avec des capteurs de températures zigbee, je me retrouve avec des moyennes délirantes (-489,6°C dans mon exemple).
Et avec ces valeurs délirantes, je ne peux pas piloter mes chauffages correctement en me basant sur cette température moyenne.
J’ai donc demandé à l’IA d’exclure les températures qui étaient hors bornes pour la moyenne, à savoir une température min et une maxi.
J’ai fais une autre PR du coup, la solution tient en quelques lignes, il fallait juste modifier la requête SQL pour exclure les valeurs fantaisistes, plutôt que de rajouter beaucoup de codes JS La solution de Claude Haiku était trop complexe et peu efficiente.
La PR :
Je merge ça, ça part dans la prochaine version de Gladys !