Read the statement by Michael Teeuw here.
help converting code for module...
-
I defined Temps. then got this in console…
MMM-PC-Stats.js:104 Uncaught (in promise) TypeError: Cannot read property ' ootwmi:MSAcpi_ThermalZoneTemperature' of undefined at Class.getDom (MMM-PC-Stats.js:104) at main.js:110 at new Promise (<anonymous>) at updateDom (main.js:109) at Object.updateDom (main.js:514) at Class.updateDom (module.js:358) at Class.socketNotificationReceived (MMM-PC-Stats.js:213) at module.js:246 at r.<anonymous> (socketclient.js:25) at r.emit (index.js:133)
-
I had a syntax error in the declaration of Temps.
I’m totally thinking this isn’t going to work.
I will probably need to find a different way,
figured if I could pull it from the SIMBIOS using a simple script, that maybe it could be pulled using a module for MM.there are some open source apps for Windows that work to get the data, I will just have to study them and see what I can come up with.
Thanks for trying to help.
-
@justjim1220 if you don’t even have the data in js, you can also execute it in the node helper and parse the response https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback
-
What are the chances of being able to do what I had been attempting with this?
https://github.com/moxystudio/node-cross-spawnAnd would it be possible to add to a current node_helper being used for linux, or would a separate node_helper or script need made?
-
exec(“YOUR-SHELL-COMMAND”, (error, stdout, stderr)=>{ console.log(stdout) // do your job with `stdout` })
I think you can get the result of any execution of shell script.
-
@sean
Not sure I follow …
what would be my ‘shell command’?
-
@justjim1220
**
PS C:\WINDOWS\system32> get-temperature
**
I don’t know anything about your intention, but ‘get-temperature’ could be executable in your shell or terminal, it could be the one. -
@sean
Yes, that is the command to get the temps from the PC using powershell or command prompt…
BUT, where to use the command in node_helper.js?
OR, where to use the command in the module.js file?
-
@justjim1220 let’s look at the design of your module.
How often do u need to get the temps?
Is it on a timer, or some other mechanism?Anyhow, on that cycle, you would issue the ‘run’ of the powershell app in the node_helper.js, and capture it’s output.
Then process the output, remove all the useless data. Then send the raw data to the module.js, who will then format the HTML in the get_dom() function for display
-
const exec = require('child_process').exec var NodeHelper = require("node_helper") module.exports = NodeHelper.create({ socketNotificationReceived: function(noti, payload) { if (noti == "GIVE_ME_RESULT") { setTimeout(()=>{ exec("C:\WINDOWS\system32\get-temperature", //I don't know WINDOWS system at all. Is it right? (err, sto, ste) => { if (!err) { this.sendSocketNotification("HERE_IS_RESULT", sto) } else { console.log("Error", err) } } ) }, 1000) } } })
It isn’t tested. But you can catch the idea.