Read the statement by Michael Teeuw here.
Module Developer Challenge - I surrender!
-
You know, I started out with that package but had some trouble with it. Likely, the problem was me, but I moved to the pc-stats package and had no problems. However, as you saw, that package doesn’t offer the cpu temps. I then tried unsuccessfully to use other packages along with pc-stats to get the temps but my knowledge and abilities are woefully inadequate. For whatever reason, I was able to get a return from pc-stats. That’s no small miracle where I’m concerned. I do like the data that the return gives me, especially the multicore support.
Anyway, I did give it more than a few days and more than a few attempts but I will look at systeminformation again in the hopes that I can stumble across some success. Really, I am not qualified to be doing any of this. I just find it so fascinating that I keep trying until I get something right. And then there are the few special people that have taken pity on me and taught me what I needed to know at any given moment. They have my deepest gratitude and respect.
Thanks for pointing me back to where I should have been all along. :-)
-
@Mykle1 Depending on the style/implementation you’re using, you may want to read up on Promises in JS.
Also, see this note here about the
lm-sensors
package.Alternatively, have a look at MMM-SystemStats which uses
vcgencmd
on the CLI to retrieve the system temp, which would be far easier to integrate into your current module. -
@ninjabreadman said in Module Developer Challenge - I surrender!:
Alternatively, have a look at MMM-SystemStats which uses vcgencmd on the CLI to retrieve the system temp, which would be far easier to integrate into your current module.
Thanks ninja. I will give this a shot first. In fact, I’m going to look at that right now.
-
-
@ninjabreadman said in Module Developer Challenge - I surrender!:
Hmm, it may be that vcgencmd is specific to the RPi.
Ha! I see. Ok, on to the others. :-)
-
@Mykle1 It actually might be best to run
cat /sys/class/thermal/thermal_zone*/type
to see if they’re already populating on your Ubuntu install. If so, you can runcat /sys/class/thermal/thermal_zone*/temp
to get all the values, or justcat
a specific one. Should be to three decimal places (i.e.64000
means 64.000°C).You might run it a few times to see that the values change, and if they do, then use the same
exec()
method fromMMM-SystemStats
with the right command and some math. -
@ninjabreadman said in Module Developer Challenge - I surrender!:
acpi seems like a contender, as does lm-sensors.
Made some progress with lm-sensors which gives me great hope. I can see the return in the terminal but not in the node_helper. Still, I’m encouraged. I’ll continue to work on it tomorrow. I’m feeling a bit tired tonight.
Sockets connected & modules started ... Launching application. { 'nouveau-pci-0100': { 'PCI adapter': { temp1: [Object] } }, 'coretemp-isa-0000': { 'ISA adapter': { 'Core 0': [Object], 'Core 1': [Object], 'Core 2': [Object], 'Core 3': [Object] } } } Whoops! There was an uncaught exception... TypeError: this.sendSocketNotification is not a function at /home/pop/MagicMirror/modules/MMM-PC-Stats/node_helper.js:32:9 at /home/pop/MagicMirror/modules/MMM-PC-Stats/node_modules/sensors.js/lm-sensors.js:96:12 at ChildProcess.exithandler (child_process.js:209:7) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:194:7) at maybeClose (internal/child_process.js:899:16) at Socket. (internal/child_process.js:342:11) at emitOne (events.js:96:13) at Socket.emit (events.js:191:7) at Pipe._handle.close [as _onclose] (net.js:510:12)
-
@Mykle1 Not sure what you’re doing in your code. But…
- You’ll get a temp reading for each cpu core, so you need to choose|add|average…, and
- How do you execute the script? Did you give it proper permissions?
- I’m you already know, but you also need to allow the external file to be read from node_helper.js.
-
@E3V3A said in Module Developer Challenge - I surrender!:
Not sure what you’re doing in your code. But…
Neither am I. :-)
-
@Mykle1 you might want to upload your current version to a github branch so we can see what your doing