Read the statement by Michael Teeuw here.
DHT22 Sensor
-
@Bangee go into the directory of your new module e.g.
~/MagicMirror/modules/MMM-Temperature/
and typenpm init
and follow the instructions, after that typenpm install --save node-dht-sensor
-
@strawberry-3-141 thank you! that worked for me.
But now i’ve got this error:mm-0 App threw an error during load mm-0 Error: Module version mismatch. Expected 49, got 48. mm-0 at Error (native) mm-0 at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:167:20) mm-0 at Object.Module._extensions..node (module.js:568:18) mm-0 at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:167:20) mm-0 at Module.load (module.js:458:32) mm-0 at tryModuleLoad (module.js:417:12) mm-0 at Function.Module._load (module.js:409:3) mm-0 at Module.require (module.js:468:17) mm-0 at require (internal/module.js:20:19) mm-0 at Object.<anonymous> (/home/pi/MagicMirror/modules/temperature/node_helper.js:2:17) mm-0 Whoops! There was an uncaught exception... mm-0 Error: Module version mismatch. Expected 49, got 48. mm-0 at Error (native) mm-0 at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:167:20) mm-0 at Object.Module._extensions..node (module.js:568:18) mm-0 at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:167:20) mm-0 at Module.load (module.js:458:32) mm-0 at tryModuleLoad (module.js:417:12) mm-0 at Function.Module._load (module.js:409:3) mm-0 at Module.require (module.js:468:17) mm-0 at require (internal/module.js:20:19) mm-0 at Object.<anonymous> (/home/pi/MagicMirror/modules/temperature/node_helper.js:2:17) mm-0 MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? mm-0 If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues mm-0 Launching application.
On line 2:
var sensorLib = require("node-dht-sensor");
Node Version
pi@raspberrypi:~/MagicMirror/modules $ node -v v6.3.1
-
@Bangee depending on your other post about this problem in a different thread I assume you have a newer node version installed as you had on your old sd card, so maybe this will help you https://docs.npmjs.com/cli/rebuild
-
@strawberry-3-141 I’ve tried this before, but did not work for me. I’ve also made a reboot.
Will i need to have a downgrade?
-
@Bangee never had such an issue before, did a clean install instead of copying images on sdcard, is there a reason why you copied an old image?
-
ah no, I’ve made a new installation on a brand new sd card.
I moved my own moduls. the temperature module is a new one.But I’ve got the same with @paviro PIR moudle… :-(
-
did you copy all the node_modules directories? if so this is propably the issue go to the module remove the directories and run npm install
-
No, I’ve installed the node_modules with npm install.
-
then I have no clue sry
-
I could fix this with the same workaround as the PIR Sensor.
now its runnig but electron start up everything and crashes after loading all data.
Any idea howto debug this? ther is nothing in my error logs…
/var/log/messages:
pi@raspberrypi:~/MagicMirror/modules/temperature $ tail -f /var/log/messages Sep 14 13:16:05 raspberrypi kernel: [706942.834881] gpiomem-bcm2835 3f200000.gpiomem: gpiomem device opened. Sep 14 13:16:32 raspberrypi kernel: [706969.575020] gpiomem-bcm2835 3f200000.gpiomem: gpiomem device opened. Sep 14 13:17:00 raspberrypi kernel: [706997.192894] gpiomem-bcm2835 3f200000.gpiomem: gpiomem device opened.
thats all… :-(
node_helper.js:
'use strict'; /* Magic Mirror * Module: temperatur.js * * By Benjamin Angst * MIT Licensed. */ const NodeHelper = require('node_helper'); const sensorLib = require('node-dht-sensor'); module.exports = NodeHelper.create({ start: function () { console.log('Temperatur helper started ...'); }, // Subclass socketNotificationReceived received. socketNotificationReceived: function(notification, payload) { const self = this; if (notification === 'REQUEST') { var sensor = { initialize: function () { return sensorLib.initialize(22, 27); }, read: function () { var readout = sensorLib.read(); console.log('Temperature: ' + readout.temperature.toFixed(2) + 'C, ' + 'humidity: ' + readout.humidity.toFixed(2) + '%'); setTimeout(function () { sensor.read(); }, 2000); // Send Temperatur self.sendSocketNotification('DATA',{ temp: readout.temperature.toFixed(2), humidity: readout.humidity.toFixed(2) }); } }; if (sensor.initialize()) { sensor.read(); } else { console.warn('Failed to initialize sensor'); } } } });
temperature.js
/* Magic Mirror * Module: temperatur.js * * By Benjamin Angst * MIT Licensed. */ Module.register("temperature",{ // Default module config. defaults: { gpioPIN: 27, sensorType: 22, // Can be 22 or 11 prependString: "Temperatur ", }, // Override dom generator. getDom: function() { var wrapper = document.createElement("div"); wrapper.innerHTML = "T: " + this.temperature + " °C / H: " + this.humidity + " %"; return wrapper; }, start: function() { this.temperature = 'fetching...'; this.sendSocketNotification('REQUEST'); }, socketNotificationReceived: function(notification, payload) { if (notification === 'DATA') { this.temperature = payload.temp; this.humidity = payload.humidity; this.updateDom(); } }, });