Read the statement by Michael Teeuw here.
help converting code for module...
-
@strawberry-3-141
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) -
@strawberry-3-141
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
-
@strawberry-3-141
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.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login