Hallo,
in einem Raum habe ich zwei Temperaturen, die gemeldet werden: eine von einem herkömmlichen Sensor und die andere vom Heizkörperthermostatmodul, das immer bei -999°C bleibt, da es nicht verwendet wird.
Und ich erhalte manchmal eine völlig unrealistische Durchschnittstemperatur:
Hallo,
je komme mit einem weiteren Check zurück, der zu erledigen ist.
In meiner Wohnzimmertemperatur habe ich einen Zigbee-Sensor, meine Netatmo und meinen Dyson (über Matterbridge).
Bisher hat mein Dyson keinen Wert (weil ich das entsprechende Plugin von Matterbridge deaktiviert habe) und ich erhalte dies, mit einem offensichtlich falschen Durchschnittswert:
Gibt es eine Möglichkeit, einen Check auf dem Gerät hinzuzufügen, um zu überprüfen, ob es OK oder KO ist, und seinen Wert auszuschließen, wenn es KO ist?
Ich möchte klarstellen, dass die beiden anderen Sensoren mir 24,7°C und 25,5°C zurückgeben.
Ich habe an einem PR mit Claude Haiku gearbeitet und hier ist das Ergebnis:
Allerdings schaffe ich es nicht, die Tests über VSCode auszuführen. Ich bekomme Fehler wie diese und verstehe absolut nichts (da ich kein Entwickler bin, tue ich mich hier wirklich schwer):
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 falls du mir helfen kannst, sage ich nicht nein.
EDIT:
Mit Hilfe von Copilot konnte ich ein wenig vorankommen:
Haïku 4.5, das ist github und vscode, die es kostenlos anbieten, also nehme ich es, ich habe kein kostenpflichtiges Konto.
Und man muss ihm ein bisschen auf die Sprünge helfen, aber das Ergebnis war ganz gut, finde ich.
Das hatte ich schon gemacht und es hatte nicht funktioniert… und jetzt funktioniert es, aber es hat 81 Dateien geändert, ist das normal?
Was muss ich tun? Validieren und commit?
EDIT: okay, ich komme langsam voran, ich habe alles verworfen und nur meine Datei geändert. Jetzt muss ich noch eslint bearbeiten.
EDIT2: ich bin am Ende meiner Improvisationskünste
Jetzt funktioniert alles (prettier, eslint) außer codecov/patch
Laut dem, was ich Perplexity gefragt habe, müsste ich spezifische Tests in der Datei server/test/lib/device/temperature-sensor/temperature-sensor.test.js hinzufügen.
Ich habe mir das angesehen und weiß absolut nicht, welchen Code ich dort einfügen soll, um meine Ergänzungen zu testen, obwohl ich sehe, dass es bereits Tests gibt, die aber nicht dem entsprechen, was ich in der anderen Datei hinzugefügt habe.
Kurz gesagt, ich könnte etwas Hilfe bei diesem Teil gebrauchen, vielen Dank im Voraus.
Ich habe einen Windsurf-Referral-Link, wenn du möchtest: Discord
Es ist jederzeit kündbar, es gibt eine Testphase, und ansonsten sind es im schlimmsten Fall nur 12€ (15$) für einen Monat Nutzung, und ehrlich gesagt sind die 12€ bei der Qualität der Modelle mehr als rentabel
Nein, nur die Dateien, die du geändert hast, sollten geändert werden.
Genau!
Frag die KI, die Tests zu schreiben
Aber gut, vielleicht kommen wir an die Grenze des Vibe-Codings, in jedem Fall muss man nachlesen und wissen, was man tut…
@mutmut Ich habe den PR überprüft und denke, dass die KI völlig daneben liegt. Was sie produziert hat, ist total überkompliziert. Die gleiche Entwicklung könnte in… einer einzigen Zeile geschrieben werden (gegenüber 56 in deinem PR!! 55 Zeilen zu viel!)
Bevor ich dir helfe, möchte ich dein Anliegen verstehen, denn beim Lesen deiner ursprünglichen Nachricht denke ich, dass dieser PR nicht einmal dein Problem gelöst hat!
Keine Ahnung, ob das over ist oder nicht, weil ich kein Dev bin
Ich habe 2 Pilotkabelmodule in Z-Wave, die eine Temperatur melden.
Diese Temperatur ist korrekt, wenn ein Sensor angeschlossen ist (mein Fall ist das nicht), sonst beträgt die Temperatur -999°C.
Da ich diese Module in Räume mit Zigbee-Temperatursensoren gestellt habe, erhalte ich völlig verrückte Durchschnittswerte (-489,6°C in meinem Beispiel).
Und mit diesen verrückten Werten kann ich meine Heizungen nicht richtig basierend auf diesem Durchschnittswert steuern.
Ich habe also die KI gebeten, die Temperaturen, die außerhalb der Grenzen für den Durchschnitt liegen, auszuschließen, nämlich eine Mindest- und eine Maximaltemperatur.
Ich habe eine weitere PR gemacht, die Lösung besteht aus wenigen Zeilen, man musste nur die SQL-Abfrage ändern, um die Fantasiewerte auszuschließen, anstatt viel JS-Code hinzuzufügen Die Lösung von Claude Haiku war zu komplex und ineffizient.
Die PR:
Ich merge das, es geht in die nächste Version von Gladys!