Read the statement by Michael Teeuw here.
.txt file include
-
this works for me you had everywhere weird quotes and the updateinterval was also wrong
Module.register("sensor",{ defaults: { updateInterval: 30 * 60 * 1000 //reads the file every 30 mins }, start: function(){ this.sendSocketNotification("START", this.config); }, socketNotificationReceived: function(notification, payload) { if(notification === "DATA"){ this.dataFile = payload; this.updateDom(); } }, getDom: function(){ var wrapper = document.createElement("div"); if(this.dataFile){ wrapper.innerHTML = this.dataFile; } else { wrapper.innerHTML = "No data"; } return wrapper; } });const NodeHelper = require("node_helper"); const fs= require("fs"); module.exports = NodeHelper.create({ //here comes the part of the nodehelper after the 3 dots as posted above socketNotificationReceived: function(notification, payload) { if(notification === "START"){ this.config = payload; this.readData(); setInterval(() => { this.readData(); }, this.config.updateInterval); } }, readData: function(){ //to read a file to do the following fs.readFile("Test-temp.txt", "utf8", (err, data) => { if (err) throw err; this.sendSocketNotification("DATA", data); }); } }); -
@strawberry-3.141
Mh… than i don´t know…
i have copy your code but it doesen´t work…
I need to change anything els?And thank you for your patience :)
-
@strawberry-3.141 1_1472575446381_sensor.js 0_1472575446381_node_helper.js 0_1472575579268_config.js
Here are my code files. Maybe this can help?
-
do you get any error in the console or in the electron console (cmd+shift+I)
did you place your Test-temp.txt in ~/MagicMirror or somewhere else?
-
@strawberry-3.141
Sorry i hade no time the last days.I put the Test-temp.txt in ~/MagicMirror and for tests ind~/MagicMirror/modules/sensor.
But nothing happens.I get only an error about the weatherforecast bu nothing els…
-
@dominic can you remove the weatherforecast from the config when its causing issues, so we can troubleshoot this module?
-
Hm, maybe you could try this.
Put the file in the modules folder and open it with “./Test-temp.txt“
Additionally i would suggest to go with lowercase during testing to exclude case sensitive mistakes. -
@yawns electron is running in
~/MagicMirror, so putting the file in the modules directory and do./Test-temp.txtwon’t work. The code is generally working I tested it on my rpi -
@strawberry-3.141 Hi :) it works :)
i don´t know why, but it works. I have reseted the system and after taht ist works.
Thank you very mutch.i want to display not all the text out of the .txt file.
Do you know what i must change in the node_helper.js? -
i think this depends on the content of the file
-
@strawberry-3.141 in the file are values from a dht22 temp.sensor.
but i only need the values for Humidity = xx and Temperature =xx.is there any why to get only this values ?
-
@yawns Danke für deinen Tipp. Aber es läuft nun.
Habe aber nun ein anderes Problem ;)
gibt es eine Möglichkeit, die asugabe der txt Datei zu beregenzen, so dass mir nur bestimmte Werte angezeigt werden.
In der Datei stehen Werte von einem dht22 sensor und ich möchte nur diese werte ausgeben ohne die den anderen INhalt. -
are these all in seperate lines?
if so then you could check in a for loop if there is the word humidity or temperature otherwise ignore the line
-
@strawberry-3.141
No. There is only one line. -
can you please upload your txt file i have no clue how it looks like, so we can help you out with that
-
@strawberry-3.141
Raspberry Pi wiringPi DHT22 reader www.lolware.net Data not good, skip Data not good, skip Data not good, skip Humidity = 47.10 % Temperature = 24.50 *C .This is the contetn of the .txt file. And its all in one line.
-
@strawberry-3.141 Hi, do you have any idea?
-
getDom: function(){ var wrapper = document.createElement("div"); if(this.dataFile){ var humidityRegExp = /Humidity = (.*?) %/ig; var humidity = humidityRegExp.exec(this.dataFile)[1]; var temperatureRegExp = /Temperature = (.*?) *C/ig; var temperature = temperatureRegExp.exec(this.dataFile)[1]; wrapper.innerHTML = "Humidity: " + humidity + "% and Temperature: " + temperature + "°C"; } else { wrapper.innerHTML = "No data"; } return wrapper; } -
@strawberry-3.141 HI Thanks. Sorry but, where do I insert the code?
I´m new in this… -
in sensor.js you have the function getdom replace it with this
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