No one?
I got mmm-backlog working but it breaks other modules and does not sow up in my remote module so I assume it is missing something.
And I tried MMM-HTTPRequestDisplay but cant get it to pull from a local file.
Here is my mmm-backlog module (renamed MMM-samslist)
MMM-samslist.js
Module.register('MMM-samslist',{
defaults: {
title: 'List',
fileUrl: '',
units: config.units,
animationSpeed: 1000,
updateInterval: 360000, //update every hour
refreshInterval: 360000 , //refresh every minute
timeFormat: config.timeFormat,
lang: config.language,
initialLoadDelay: 0, // 0 seconds delay
retryDelay: 2500,
//fileUrl: "http://192.168.43.159:8080/modules/MMM-shoppinglist/list.json"
},
// Define required scripts.
getScripts: function() {
return ["moment.js"];
},
// Define requird styles
getStyles: function() {
return ["font-awesome.css"];
},
start: function() {
Log.info('Starting module: ' + this.name);
this.loaded = false;
this.sendSocketNotification('CONFIG', this.config);
},
getDom: function() {
//var wrapper = document.createElement("ticker");
//Added
var wrapper = document.createElement("ticker");
wrapper.className = 'dimmed small';
var data = this.result;
var statElement = document.createElement("header");
var title = this.config.title;
statElement.innerHTML = title;
wrapper.appendChild(statElement);
//Added
if (!this.loaded) {
wrapper.innerHTML = this.translate('LOADING-Jason');
wrapper.className = "dimmed light small";
return wrapper;
}
if (!this.data) {
wrapper.innerHTML = "No data";
wrapper.className = "dimmed light small";
return wrapper;
}
var t = this.data.list;
var content = document.createElement("div");
content.innerHTML = "";
for (var i in t.datasequences) {
content.innerHTML += t.datasequences[i].title + "<br />";
//content.innerHTML += t.title + " - " + t.datasequences[i].title + "<br />";
//for (var j in t.datasequences[i].datapoints) {
// content.innerHTML += t.datasequences[i].datapoints[j].title + ": " + t.datasequences[i].datapoints[j].value + "<br />";
//}
}
wrapper.appendChild(content);
return wrapper;
},
socketNotificationReceived: function(notification, payload) {
if (notification === "STARTED") {
this.updateDom();
}
else if (notification === "DATA") {
this.loaded = true;
this.processData(JSON.parse(payload));
this.updateDom();
}
},
/* processData(data)
* Uses the received data to set the various values.
*
* argument data object - tide information received form worldtides.info
*/
processData: function(data) {
if (!data) {
// Did not receive usable new data.
// Maybe this needs a better check?
return;
}
this.data = data;
this.loaded = true;
this.updateDom(this.config.animationSpeed);
}
});
and node_helper.js
'use strict';
const NodeHelper = require('node_helper');
var request = require('request');
module.exports = NodeHelper.create({
start: function() {
this.started = false;
this.config = null;
},
getData: function() {
var self = this;
var myUrl = this.config.fileUrl;
request({
url: myUrl,
method: 'GET',
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
self.sendSocketNotification("DATA", body);
}
});
setTimeout(function() { self.getData(); }, this.config.refreshInterval);
},
socketNotificationReceived: function(notification, payload) {
var self = this;
if (notification === 'CONFIG' && self.started == false) {
self.config = payload;
self.sendSocketNotification("STARTED", true);
self.getData();
self.started = true;
}
}
});