From 886e7b29b126a0f86dbcaa0d0564d1c3500977c1 Mon Sep 17 00:00:00 2001 From: Simon Crnko Date: Tue, 27 Nov 2018 20:21:12 +0100 Subject: [PATCH 1/3] Refactorig; add icons; change source URL; --- CHANGELOG.md | 8 +- README.md | 35 ++++--- mvgmunich.css | 39 ++++++- mvgmunich.js | 244 +++++++++++++++++++++++++------------------ node_helper.js | 197 +++++++++++++++------------------- package.json | 4 +- resources/bus.svg | 23 ++++ resources/s-bahn.svg | 15 +++ resources/sbahn.svg | 15 +++ resources/tram.svg | 32 ++++++ resources/u-bahn.svg | 30 ++++++ translations/de.json | 7 ++ translations/en.json | 7 ++ 13 files changed, 416 insertions(+), 240 deletions(-) mode change 100644 => 100755 mvgmunich.js mode change 100644 => 100755 node_helper.js create mode 100644 resources/bus.svg create mode 100644 resources/s-bahn.svg create mode 100644 resources/sbahn.svg create mode 100644 resources/tram.svg create mode 100644 resources/u-bahn.svg create mode 100644 translations/de.json create mode 100644 translations/en.json diff --git a/CHANGELOG.md b/CHANGELOG.md index dbe389f..7faf276 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,13 @@ +## [1.0.4] - 2018-11-27 +- change data source URL +- add icons for transport type +- add option to show/hide transport type icons +- small refactoring + ## [1.0.3] - 2017-12-15 - change approach how to read data from MVG - optimize couple of lines -- change approach of sending data between main js and helper +- change approach of sending data between main js and helper ## [1.0.2] - 2017-12-01 - improve approach how to handle parsed data diff --git a/README.md b/README.md index 9f5d585..7f70e49 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,15 @@ MagicMirror² Module to monitor public transport (U-bahn, tram, bus, S-Bahn) in header: "MVG", config: { haltestelle: "Hauptbahnhof", - maxEntries: 25, // 10 items on screen + maxEntries: 10, // 10 items on screen updateInterval: 60000, // 60 s - showUbahn: true, // show ubahn route - showBus: true, // show bus route - showTram: true, // show tram route - showSbahn: true, // show sbahn route + showIcons: true, // Show transport type icon + transportTypesToShow: { + "ubahn": true, // show ubahn route + "sbahn": true, // show sbahn route + "bus": true, // show bus route + "tram": true // show tram route + }, ignoreStations: [], // destination not to be shown timeToWalk: 10, // 10 min walking time to station. Default is 0 includeWalkingTime: false // if the walking time should be included and the starting time is displayed @@ -35,15 +38,15 @@ MagicMirror² Module to monitor public transport (U-bahn, tram, bus, S-Bahn) in ``` ## Config Options -| **Option** | **Description** | +| **Option** | **Description** | | --- | --- | -| `haltestelle` | Station for which you want to display data.
**Default:** `Hauprbanhof`
**Source:** http://www.mvg-live.de/MvgLive/MvgLive.jsp | -| `maxEntries` | Number of items shown in table.
**Default:** `8` | -| `updateInterval` | Update interval
**Default:** `60000` | -| `showUbahn` | Show data for U-Bahn.
**Possible values:** `true` or `false`
**Default:** `true` | -| `showBus` |Show data for Bus.
**Possible values:** `true` or `false`
**Default:** `true` | -| `showTram` |Show data for Tram.
**Possible values:** `true` or `false`
**Default:** `true` | -| `showSbahn` |Show data for S-Bahn.
**Possible values:** `true` or `false`
**Default:** `true` | -| `ignoreStations` |Ignore destinations based on a array list.
**Possible values e.g.:** `["Feldmoching", "Hauptbahnhof"]`
**Default** `[]` | -| `timeToWalk` | Time to walk to the station from your current location
**Default:** `0` minutes | -| `includeWalkingTime` | If the time to leave should be displayed which includes the walking time.
**Default:** `false` | +| `haltestelle` | Station for which you want to display data.
**Default:** `Hauprbanhof`
**Source:** http://www.mvg-live.de/MvgLive/MvgLive.jsp | +| `maxEntries` | Number of items shown in table.
**Default:** `8` | +| `updateInterval` | Update interval
**Default:** `60000` | +| `ubahn` | Show data for U-Bahn.
**Possible values:** `true` or `false`
**Default:** `true` | +| `bus` | Show data for Bus.
**Possible values:** `true` or `false`
**Default:** `true` | +| `tram` | Show data for Tram.
**Possible values:** `true` or `false`
**Default:** `true` | +| `sbahn` | Show data for S-Bahn.
**Possible values:** `true` or `false`
**Default:** `true` | +| `ignoreStations` | Ignore destinations based on a array list.
**Possible values e.g.:** `["Feldmoching", "Hauptbahnhof"]`
**Default** `[]` | +| `timeToWalk` | Time to walk to the station from your current location
**Default:** `0` minutes | +| `includeWalkingTime` | If the time to leave should be displayed which includes the walking time.
**Default:** `false` | diff --git a/mvgmunich.css b/mvgmunich.css index 5d8d72c..648018c 100644 --- a/mvgmunich.css +++ b/mvgmunich.css @@ -5,15 +5,46 @@ * MIT Licensed. * */ + .stationColumn { color: white; padding-left: 10px; padding-right: 10px; + min-width: 240px; +} + +.mvgmunich td.tram { + background: url(resources/tram.svg) no-repeat 0 0; + width: 60px; + text-align: right; + padding-bottom: 5px; + background-size: 25px; +} + +.mvgmunich td.sbahn { + background: url(resources/s-bahn.svg) no-repeat 0 0; + width: 60px; + text-align: right; + padding-bottom: 5px; + background-size: 25px; +} + +.mvgmunich td.bus { + background: url(resources/bus.svg) no-repeat 0 0; + width: 60px; + text-align: right; + padding-bottom: 5px; + background-size: 25px; } -.mvgmunich .inMinColumn { - font-family: "Roboto Condensed", "sans-serif"; - font-weight: 300; - padding-left: 14px; +.mvgmunich td.ubahn { + background: url(resources/u-bahn.svg) no-repeat 0 0; + width: 60px; text-align: right; + padding-bottom: 5px; + background-size: 25px; } + +.mvgmunich td.timing { + text-align: right; +} \ No newline at end of file diff --git a/mvgmunich.js b/mvgmunich.js old mode 100644 new mode 100755 index ef99216..5e8b8f5 --- a/mvgmunich.js +++ b/mvgmunich.js @@ -12,108 +12,144 @@ const MS_PER_MINUTE = 60000; Module.register("mvgmunich", { - // Default module configuration - defaults: { - maxEntries: 8, // maximum number of results shown on UI - updateInterval: 1000 * 60, // update every 60 seconds - retryDelay: 5000, - apiBase: "http://www.mvg-live.de/ims/dfiStaticAnzeige.svc?", - errorBase: "http://www.mvg-live.de/ims/dfiStaticAuswahl.svc?", - haltestelle: "Hauptbahnhof", // default departure station - showUbahn: true, //show ubahn route - showBus: true, // show bus route - showTram: true, // show tram route - showSbahn: true, // show sbahn route - ignoreStations: [], // list of destination to be ignored in the list - timeToWalk: 0, // walking time to the station - includeWalkingTime: false // if the walking time should be included and the starting time is displayed - }, - - getStyles: function () { - return ["mvgmunich.css"]; - }, - - start: function () { - this.resultData = []; - var self = this; - this.config.identifier = this.identifier; - this.getData(); - setInterval(function () { - self.updateDom(); - }, this.config.updateInterval); - }, - - /* - * getData - * function call getData function in node_helper.js - * - */ - getData: function (identifier) { - this.sendSocketNotification("GETDATA", this.config); - }, - - // Override dom generator. - getDom: function () { - var wrapperTable = document.createElement("table"); - wrapperTable.className = "small"; - wrapperTable.innerHTML = this.resultData[this.identifier]; - return wrapperTable; - }, - - processData: function (payload) { - // we have a runner - if (payload.error !== "undefined" && payload.error) { - this.resultData[payload.uuid] = payload.error; - // we have a data object; Just Do Something - } else if (payload.transportItems !== "undefined" && payload.transportItems) { - var transportItems = payload.transportItems; - payload.transportItems.sort(function (a, b) { - return a.time - b.time; - }) - var transport = ""; - var currentdate = new Date(); - - var numOfEntries = 0; - - for (var i in transportItems) { - - // check if current station is not part of the ignore list - if (!this.config.ignoreStations.includes(transportItems[i].station)) { - - // format time string - var time = new Date(currentdate.valueOf() + transportItems[i].time * MS_PER_MINUTE - this.config.timeToWalk * MS_PER_MINUTE); - var hoursStr = (time.getHours() < 10 ? '0' : '') + time.getHours(); - var minutesStr = (time.getMinutes() < 10 ? '0' : '') + time.getMinutes(); - - transport += ""; - transport += "" + transportItems[i].line + "" + "" + transportItems[i].station + "" + "" + transportItems[i].time + ""; - - if (this.config.includeWalkingTime) { - transport += "" + hoursStr + ":" + minutesStr + ""; - } - - transport += ""; - - numOfEntries++; - - if (numOfEntries === this.config.maxEntries) { - break; - } - } - } - this.resultData[payload.uuid] = transport; - } - }, - - // Override getHeader method. - getHeader: function () { - return this.data.header + " Munich: " + this.config.haltestelle; - }, - - socketNotificationReceived: function (notification, payload) { - if (notification === "UPDATE") { - this.processData(payload); - this.updateDom(); - } - } + // Default module configuration + defaults: { + maxEntries: 8, // maximum number of results shown on UI + updateInterval: MS_PER_MINUTE, // update every 60 seconds + apiBase: "https://www.mvg.de/fahrinfo/api/departure/", + stationQuery: "https://www.mvg.de/fahrinfo/api/location/queryWeb?q=", + haltestelle: "Hauptbahnhof", // default departure station + haltestelleId: 0, + haltestelleName: "", + ignoreStations: [], // list of destination to be ignored in the list + timeToWalk: 0, // walking time to the station + includeWalkingTime: false, // if the walking time should be included and the starting time is displayed + showIcons: true, + transportTypesToShow: { + "ubahn": true, + "sbahn": true, + "bus": true, + "tram": true + } + }, + + getStyles: function() { + return ["mvgmunich.css"]; + }, + + // Load translations files + getTranslations: function() { + return { + en: "translations/en.json", + de: "translations/de.json" + }; + }, + + start: function() { + var self = this; + Log.info("Starting module: " + this.name); + this.loaded = false; + this.getData(); + setInterval(function() { + self.updateDom(); + }, this.config.updateInterval); + }, + + /* + * getData + * function call getData function in node_helper.js + */ + getData: function() { + // get first stationId based on station name + this.sendSocketNotification("GETSTATION", this.config); + }, + + // Override dom generator. + getDom: function() { + var wrapperTable = document.createElement("div"); + if (this.config.haltestelle === "") { + wrapperTable.className = "dimmed light small"; + wrapperTable.innerHTML = "Please set value for 'Haltestelle'."; + } + if (!this.loaded) { + wrapperTable.className = "dimmed light small"; + wrapperTable.innerHTML = "Loading data from MVG ..."; + return wrapperTable; + } + var wrapperTable = document.createElement("table"); + wrapperTable.className = "small"; + wrapperTable.innerHTML = this.dataRequest; + return wrapperTable; + }, + + getHtml: function(jsonObject) { + var htmlText = ""; + var noOfItems = 0; + + for (var i = 0, len = jsonObject.departures.length; i < len; i++) { + // get one item from api result + var apiResultItem = jsonObject.departures[i]; + // get transport type + var transportType = apiResultItem.product.toLocaleLowerCase(); + + // check if we should show data of this transport type + // check if current station is not part of the ignore list + if (!this.config.transportTypesToShow[transportType] || + this.config.ignoreStations.includes(apiResultItem.destination)) { + continue; + } + + var timingForCurrentTrain = Math.floor((new Date(apiResultItem.departureTime).getTime() - new Date().getTime()) / 1000 / 60); + + this.htmlText += ""; + // check if user want's icons or not + if (this.config.showIcons) { + htmlText += "" + apiResultItem.label + ""; + } else { + htmlText += "" + apiResultItem.label + ""; + } + htmlText += "" + apiResultItem.destination + ""; + htmlText += "" + + (timingForCurrentTrain <= 0 ? this.translate("JETZT") : this.translate("IN") + + " " + timingForCurrentTrain + " " + this.translate("MIN") + ) + ""; + htmlText += ""; + + noOfItems++; + if (noOfItems == this.config.maxEntries) { + break; + } + } + + return htmlText; + }, + + // Override getHeader method. + getHeader: function() { + return this.data.header + " Munich: " + this.config.haltestelleName; + }, + + socketNotificationReceived: function(notification, payload) { + if (notification === "UPDATE") { + this.dataRequest = this.getHtml(payload); + this.loaded = true; + this.updateDom(); + } + if (notification === "ERROR") { + this.dataRequest = payload; + this.loaded = true; + this.updateDom(); + } + if (notification === "ERROR_NO_STATION") { + this.dataRequest = this.translate("NO_STATION"); + this.loaded = true; + this.updateDom(); + } + if (notification === "STATION") { + console.log("Payload: " + payload); + this.config.haltestelleName = payload.name; + this.config.haltestelleId = payload.id + this.sendSocketNotification("GETDATA", this.config); + } + } }); diff --git a/node_helper.js b/node_helper.js old mode 100644 new mode 100755 index 80850ee..88789e6 --- a/node_helper.js +++ b/node_helper.js @@ -1,6 +1,6 @@ /* * Magic Mirror - * Node Helper: MMM-mvgmunich + * Node Helper: mvgmunich * * By Simon Crnko * MIT Licensed @@ -8,125 +8,96 @@ */ var NodeHelper = require("node_helper"); - -var cheerio = require('cheerio'); -var filter = require('array-filter'); -var request = require('request'); +var request = require("request"); +var globals = { + "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36", + "Content-Type": "application/x-www-form-urlencoded", + "Accept": "application/json, text/javascript, */*; q=0.01", + "X-Requested-With": "XMLHttpRequest", + "X-MVG-Authorization-Key": "5af1beca494712ed38d313714d4caff6", + "Referer": "https://www.mvg.de/dienste/abfahrtszeiten.html", + "Accept-Encoding": "gzip", + "Accept-Language": "en-US,en;q=0.9,de;q=0.8" +}; module.exports = NodeHelper.create({ - start: function() { - this.updating = false; - this.started = false; - this.config = []; - }, - - socketNotificationReceived: function(notification, payload) { - const self = this; - if (notification === "GETDATA") { - this.config[payload.identifier] = payload; - this.updating = true; - - var url = payload.apiBase + "haltestelle=" + payload.haltestelle + - ((payload.showUbahn) ? "&ubahn=checked" : "") + - ((payload.showBus) ? "&bus=checked" : "") + - ((payload.showTram) ? "&tram=checked" : "") + - ((payload.showSbahn) ? "&sbahn=checked" : ""); - self.getData(url, payload.identifier); - self.scheduleUpdate(url, payload.updateInterval, payload.identifier); - } - }, - - getDepartureInfo: function(url, identifier) { - var self = this; - var retry = true; - request(url, { - encoding: 'binary' - }, function(error, response, body) { - // if we have response.code == 200 and no error - if (!error && response.statusCode === 200) { - $ = cheerio.load(body); - var transportItems = []; - $('tr').each(function(i, elem) { - if ($(this).html().includes('lineColumn')) { - $(this).each(function(j, element) { - var transportItem = new Object(); - transportItem.station = $(this).find('td.stationColumn').text().trim(); - transportItem.line = $(this).find('td.lineColumn').text().trim(); - transportItem.time = $(this).find('td.inMinColumn').text().trim(); - - transportItems.push(transportItem); - }) - } - }); + start: function() { + this.config = null; + }, - self.sendSocketNotification("UPDATE", { - "transportItems": transportItems, - "uuid": identifier - }); - $('div').each(function(i, elem) { - if ($(this).html().includes('Fehler')) { - self.getHaltestelleInfo(identifier); - } - }); - } - // if error - if (error) { - self.scheduleUpdate(url, 30000, identifier); - // Error while reading departure data ... - // send update request with error and identifier - self.sendSocketNotification("UPDATE", { - "error": "Error while reading data: " + error.message, - "uuid": identifier - }); - return; - } - }); - }, + socketNotificationReceived: function(notification, payload) { + const self = this; + this.config = payload; + if (notification === "GETDATA") { + self.getDepartureInfo(); + self.scheduleUpdate(this.config.updateInterval); + } + if (notification === "GETSTATION") { + self.getStationInfo(); + } + }, - getHaltestelleInfo: function(identifier) { - var self = this; + getDepartureInfo: function() { + var self = this; - request(this.config[identifier].errorBase + "haltestelle=" + this.config[identifier].haltestelle, { - encoding: 'binary' - }, function(error, response, body) { + request({ + headers: globals, + uri: self.config.apiBase + self.config.haltestelleId + "?footway=" + self.config.timeToWalk, + method: "GET", + gzip: true + }, function(error, response, body) { + if (error) { + // Error while reading departure data ... + self.sendSocketNotification("ERROR", "Error while reading data: " + error.message); + } else { + // body is the decompressed response body + var jsonObject = JSON.parse(body); + self.sendSocketNotification("UPDATE", jsonObject); + } + }); + }, - if (response.statusCode === 200 && !error) { - var transport = ""; - $ = cheerio.load(body); - transport += "Station " + self.config[identifier].haltestelle + " is not correct, please update your config!
Hints for your station are: "; - $('li').each(function(i, elem) { - $(this).each(function(j, element) { - transport += "" + $(this).text().trim() + ""; - }); - }); - // send update request with error message and identifier - self.sendSocketNotification("UPDATE", { - "error": transport, - "uuid": identifier - }); - } - if (error) { - // Error while reading departure data ... - self.sendSocketNotification("UPDATE", 'Error while reading data: ' + error.message); - } - }); - }, + getStationInfo: function() { + var self = this; - /* updateTimetable(transports) - * Calls processTrains on succesfull response. - */ - getData: function(url, identifier) { - this.getDepartureInfo(url, identifier); - }, + request({ + headers: globals, + uri: self.config.stationQuery + self.config.haltestelle, + method: "GET", + gzip: true + }, function(error, response, body) { + if (error) { + // Error while reading departure data ... + self.sendSocketNotification("ERROR", "Error while reading data: " + error.message); + } else { + // body is the decompressed response body + try { + var jsonObject = JSON.parse(body); + if(jsonObject.locations[0].id === undefined) { + self.sendSocketNotification("ERROR_NO_STATION", ""); + } else + self.sendSocketNotification("STATION", jsonObject.locations[0]); + } catch (e) { + self.sendSocketNotification("ERROR_NO_STATION", ""); + } + } + }); + }, - /* scheduleUpdate() - * Schedule next update. - */ - scheduleUpdate: function(url, updateInterval, identifier) { - var self = this; - setInterval(function() { - self.getData(url, identifier); - }, updateInterval); - } + /* scheduleUpdate() + * Schedule next update. + * argument delay number - Milliseconds before next update. If empty, this.config.updateInterval is used. + */ + scheduleUpdate: function(delay) { + var nextLoad = this.config.updateInterval; + if (typeof delay !== "undefined" && delay >= 0) { + nextLoad = delay; + } + nextLoad = nextLoad; + var self = this; + setInterval(function() { + self.getDepartureInfo(); + }, nextLoad); + } }); diff --git a/package.json b/package.json index 2e7518c..148e932 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "MMM-mvgmunich", - "version": "1.0.2", + "version": "1.0.4", "description": "", - "main": "mvgmunivh.js", + "main": "mvgmunich.js", "author": "Simon Crnko", "license": "MIT", "homepage": "https://github.com/mrVragec/MMM-mvgmunich", diff --git a/resources/bus.svg b/resources/bus.svg new file mode 100644 index 0000000..88ef4c8 --- /dev/null +++ b/resources/bus.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + diff --git a/resources/s-bahn.svg b/resources/s-bahn.svg new file mode 100644 index 0000000..aa1ba3e --- /dev/null +++ b/resources/s-bahn.svg @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/resources/sbahn.svg b/resources/sbahn.svg new file mode 100644 index 0000000..aa1ba3e --- /dev/null +++ b/resources/sbahn.svg @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/resources/tram.svg b/resources/tram.svg new file mode 100644 index 0000000..ad7f01d --- /dev/null +++ b/resources/tram.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/resources/u-bahn.svg b/resources/u-bahn.svg new file mode 100644 index 0000000..b67ef17 --- /dev/null +++ b/resources/u-bahn.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/translations/de.json b/translations/de.json new file mode 100644 index 0000000..02e57c5 --- /dev/null +++ b/translations/de.json @@ -0,0 +1,7 @@ +{ + "MIN": "Min.", + "IN": "in", + "JETZT": "Jetzt", + "LOADING": "Laden ...", + "NO_STATION": "Der Name der Haltestelle ist nicht korrekt, bitte überprüfen Sie auf MVG." +} diff --git a/translations/en.json b/translations/en.json new file mode 100644 index 0000000..d09e5fc --- /dev/null +++ b/translations/en.json @@ -0,0 +1,7 @@ +{ + "MIN": "min", + "IN": "in", + "JETZT": "now", + "LOADING": "Loading ...", + "NO_STATION": "The name of the station is not correct, please check on MVG." +} From 437288f587ff19c33a6c9b7cda3d8bc09c8bff2f Mon Sep 17 00:00:00 2001 From: Simon Crnko Date: Tue, 27 Nov 2018 20:30:19 +0100 Subject: [PATCH 2/3] Change readme; add new screenshot; --- .github/Example_3.png | Bin 0 -> 61729 bytes README.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .github/Example_3.png diff --git a/.github/Example_3.png b/.github/Example_3.png new file mode 100644 index 0000000000000000000000000000000000000000..bdea507ba852f06da11a048fe4fc5bb232ac30d4 GIT binary patch literal 61729 zcmbTdWmFu|->un5kOX&!;O_3ho!~CP-Q6L(=od;|ah$g(mLssI4gF8}}<2>}|ihH%{B3^Idp z6_Zs*KtNdCR^Eav;=4&|yQw)^xOskaF$Y*WINF;txth9|n>)B#Il7(0^auk0WB^%- zFX~>|CtZQ+YFZoT?{AZ67-HesZBb?txYB0{X5&@cqW^zqts*iqzO7r^ zjlKra={gryU+$`W4G?=_qjVsdZ^d^Hh39<45k96Vd{3!5<_YQxCT1!L=&_5lm~q}cwQU=Q zu8nji>E1UWumb~~WY^BSUfV;@sQHDFJ->NNu2tlk`$|-G?a^O6cK4bv%Do%^biN#= z$rxW&eej>a73RNDF}=^9);D#qoJW-G?fc-nI4t~RodK9F|7Z(Gr9pfJ^j85mLyYN7>`*HXzurdCUJhQ4|KhX)y^X zl#wjx=66XqWGhR3RsAgvzjfqLx?k3UIJ(MEy4Ci+3woN@T}oOTk3GkJ+48MRMGyV) zLAiQ7jqgQa^oUUuE@A#i~cg_?3CJoBo*7+XP=BZEAG9bZz+f7iI|I%mRCLR8FS z#1?3=(Di(VxJmZ=`JKdSbB!{}ED^W!!DO;J?2`QFudRv{o6R9TKR$4CP3D5z#d;+- zt@{82s0-mbwTSpo=>DyldPYm;YZW68y>69-?-=Abp*^X|b{4__cMs}JT|lv5=b8EL z3y@T2^IL~xhP)O|?Yn!3_gI0z*P7yRP^W%p{%O(ugq>)2W2@IhbfIUQ32Y zmvf`34Ge6^Z%-2?x=}MM@vDq{V|K|R$Ujl9^;rw3MxHl^mC^9Hzh6A$V%Dvu!F9_- zoI|Xb2lAVZQMe6(1w<5jun$BGmzHOw-=YOES`HLp-tDWVhh#5n0#&ormYY>Hg}s@$@F0A6~!lUq4Sz;|&w3GoXmiw>3wNpSmr)6-QVMsw|pO zD@w~#jcy)|*>x*AhHp-1&;Y!XuH|*ev`oD92fjVr{!?4VBLb{f#?K6RfOWLH2o6`^ z)m!A?-DF(q(|2jYmxhdi3{k8`#Mnf+V%dm;6k zW5xYAX}~SeAGc5dx*OPCKm#YEYGw)N*Ybb|zN1=Y0tuz$V7=D+1?ywA^6xZ09-n9| zs)fWv7Ft39imR8}1K)cDiC(=kZ>{Q-Hv9*lE)$HBeol-ZWaUh92fRsS4qd+#Q(Zxk zkRRQX8=R2&9uha)hKShAo=u(sR4vA+D}>qcLvJ+uhN=Q@SSHMhg`Th|o~}#}yyEG< zBmzZ0t#S`v3!)yK46h?|lll+6ywMpIw`1xkLhgn_prx?G$6@SaPO>k#bkd&Es|klF z%{i5ID`5Y+c_(tOTxr!P#w!hX-usNr*H(MhrT%8wh3FIsbVN2xAQ_zAl0`)bI!V>z z@<$a{(^adkV>_#MDudr<(4rw?Idtu#+#e*+(IY+tVuG_uaI%50ACmB`tZm}iz{W!r z@!G7)id&RX5`}CFcqex4P6g(L4q$|?s_UZoN&VQ;O*+(CKlX^cMCnUpr*KvcPT$lCAl>)81h=W$#J|^{Axd4erH8_O zeO%H~7A=>5w5!&=d6YXTtcDGKjUjhkh1bNtxQ}Qj? zCACBx&d#u!9&!!GX)&0QCgg@)j5hKJEB4bC{Vl0gcFvys9bp4hZWdvP*{$}QnnPVN6RCvyu+S1SpupqDI2qpgX9?aw|Zu-c{~ z1sjS48Sg$jcDlOn$*pH@GBI_pT-2?lHuogoLVd2 z$A~y1k2n7{;1Dp>;u8ubmCFN|5#9{c(U%v^wFDAd8>P<_B=O+kcD(aha;N`lqZU0Bx`0f{V)? zT#qel*^VDtKCr<)te{acW4KvSbTaF%4BihUx<*FUYd!WWJJ$c(mb70(2U1Lh`Msd# zJ5`L0%fj^b*mj!d3F*^6RU#Y~THK(GvtH%#sW}SjB)t$|s%~@QSG;EI{*5~f@+9_; zeUzEJOY2@Q@v(tQItkZim!mr_-m~CU=~tf@uZi4OTi7D4DV_VA!)y)C!~z|grff&o zW+d{Z*`+~Tj^kv^986oSexb&VGZJWWm7fS*;`ZySE<3M0N<`WBzZ~{PA)}k%bI!2f z*=d6r09J%+dUgp8iM#1RlgWHu78!F98qa~b;O}^uAtybxqOiiRSA~f?4*0ow`8;Ny z3JMpX^u$j|Po7Rxz}TG#Sz8 z%vv%D`GY1w_J2MtLj|h>R`w ztWlu*G=KdF)DrN4_gw{}c74|oh>2%5aN7C$JPn%nd$|3sCwJk4iF3r6IR==IEeO}I9>n#C+?H3;+P3nnf?t<{iFru*5Y|R`xsT;r=>zwP*gydul-caUlMEoQHr0>zuQ5?f^Hv` z&Qoq*5Wn5Od-Yj#-BQ?kD{!24Xe^_)Z%F=Nijc%O`JhH$?WJ503h*YpAfzne`1<)d z&2N8hFt1Efn=Br@andI(HLFBoyqoc9*aA?P# zuYV3?5}#|qqtjRvqX+e;I+RoPhp1!1O&VeyhE~2f&+2^E~906RSI(F`Ya~mGBYfC75OXi2-Him!KXHin|Ns}=ZK9fa4 z3a)Tcs3POBb;YSbNHsnz49Bo^xYgrW-th77G4yR`W8(+ZTKzhcQw!G?C3GYPb(~3#wpPao@+K{ zV7a$fCH+1l<{(!&(#`cNu?mvf*>pycPC0(df~Ux{ef!noxu?cp=%+}%^V;3)x=8;F z8xSG78cH2_R`to0XgUt_ygPa)MY;Q-!vxl$iA#GkV_NFIt?1yR;UuOol1Sm7((kLl z5J_e1o=)|s-__iUPiKEh>8Pclidoys+*{g}xsJc8b9m9pSzDq6G(LC&a}96((Q6iC zwNLCVYIo?Qa;_eiq@AZhN8v7CEI#u4P%tm}89X*`7liMB&uTtDW%BXa8Dnf14Bzyo|zT>88f~0J#|Afcq^!szQTTGQq(u_dYLO;QaKBE zPXdcSQsM7jdy$gs&6&EJ#Nryo7w(m8VtgPb8EdXwVQ) zF%Wkx_0B9EYENp<6(#@o(1676El(Rm=>6r|vx5W@Cpd+7-f#Hcw}1Tq5-kMb8Lf*~ zm=1odnx9IigJcrvD#KCBkRzZ4BalN93W@YdjNuzb>qv{Yi=pZ~?)Yxq%VK&Wlutuk zXTXg!0OXXmzZhqRXkQlFJnZs*S-bk-^3Yn-l=ZK**HZ%5K*Lqv1RtZ3NSHn9op|`V z>u>{>yK0aCqRG#rP#x>te9Ev9E@vLr_rP#G0jv}xr;|VSzJz5;f+UxfMcIlh&IA=h zwl9}vNTFi-wEdxge2zDlGRZr=v}Kota?HuD2T}l{B!_Nw-RwZQ+e+H;&NEn%ftCR@Bb;XbT*u&9miq%9BXGU> z;J7r2jq5&zsZ@F&Y0b{Wz(7#alCJ)zbh~x^!=5`r_cze>JLg2_<@N7Rg`633uut6% zUphUVYNBS{51yd_J14QsEjns8%+>mxUEWbKrU|z4iqt7uJHLoJW&^d3WgoadkLfk+ zC-T8C!5gjnoQ$6KX;jEhYxts8VvC@@;E|_fA|b(g(OY_t9Nz-vQxD8!diLqf{3iBd zr#H2&om~=G`A=Wj6J#Iu(Vp>4j(_@5HW#WgO{gWYH;_%xesNGp{;_$T)5hJcP9E&=#LYx*Y3_`%SVp>-p83F`h;pBVw7-} zb4Er#@WUSAALCyKSCFl<37WrD9{hH9X6hw(R4mMwsTRsseM7d5F9rvS9I-6`U%TDe zh)|6DfceEwJF#1_$I#BnPcbxqubqQ_6jspU4&a9h#2a;@BZYq#I>n857?+0uIB#^{ z{bI$FO=}n1zVnan2lNBu;QCrrdQ|WSShoqs4rQ@ruA7%m?{Xw{bRNwedpx&(2OqCz zMdNJLBo#7-!98`xR?i%;)7iu%k&mw0wXAyLm|Nm@lc%q@wK)}F%~tL89^7v*k4>Q= zmymE(gq-guYpkB0S5Hn3>%9)19mBv^diK=uTMm-k!yBPVis^agtlF~IFdAN0rtFCd z)t6FwQm;ukZz!epRcQsgYZEi#8MIAUPiD!KS(%pT>^AAr8wf|rX*swOd8!leh7asq z$l!GiSl~}q=-ayL#1cdfS-ZB2)BCqg)Va#ASQjl6ejnO%@-{gdmHX@R5y5$5H5|z- zG=(`_R@#*rxNua0*R_1Kl#YDkON`@MG6o;ysyAWL(6@@3zX@)PGj{cc`h9Twuw%#B z%Y#hs`TDfh-4G{UqZxoww0R+R<|SK9Tfyou5WR14z{JAHI8HjJf*Fb7$di@%9-^|o z=Q3Y!Q0P|b)fcA4oo4O5==^uh9lgtJBCL>c<}?GgcsvvL3X^4lgwMMoUX_u7K~LE9 z=RGO&y)a_DKU&fK_$1%il9j`gDCMx3e|ku#JdY>LNJ|mlPY))xZxslF!v0i{D+AP?J>oY66`nz!1NTq5RvFiqoB`m zLfS0=@U-rri~s;?dqi8IH<(YWY;&7lcJE*9inJM1WyAo0k$Jwh zuLub-#eZAT0Fl|yHPc9nP}4f(SNOq&-S_M1Hj->Ure+cRf3I7su(9_#3J2DZvPC-I zU&>d8%!mN9ni&jk>cggNIy;%I)PC37k5CHJFmSD|8otWSSAd#%jfKCgge3S^Yo&*k zm;QpNlqO3y#>N2AdQR_SW8%-kD)fp(6j*bXnIT?#A|d$iRI(4P*J&aFb_Y7l!)mgH zGYkUykMUc?2s>Pkxan^E(SvP^+YPR`vm?JJY(XCyw1Pr`n?P-;I^UR8a^X&^xQl%` zkV60VFiwijcnN>397#tm03bG_^pTr35;kZ`$IyY0OAvQQkT`QxTfvustFqu%)`%>_ zl2rxm0vji`^r`s=Y>V$ihQJE)QZa;0sX=eT5Des-4`Ebv(=JB@Br4+tYQfAm&ihIUep{5qyRj;vr&3#kjNh+!{hn${Y>liEvYmVmTnj{~a^pro= zxZ4EOaTB*Le&r!g1nJfyGZxjS{vAF(egT;Ac`LAQnJ){FKC3#owT}}-f~>hU+dGLk zvAG+#SL_`0e~5hsT+}sZVwz$}SG1|k6`_xKwi8if3pRiJo^l(S&m*8nK_&4T3Ev+* zIw3_MEbZ+b)0Yk_CUNmodWs5?%ZXCTSZ=l7=g!*_D5#-T-v-XnTcFlP$;e9T4xG#& z+N^0o)^#Lh8t~PF{@Bd`L7iP3;r8v3Zd^r5$|M*3cO(Qe;tx~Ad=*nZAvz7a$YHnS zDI+R0yQSc*5dqR~6Wj!x7!P*TucfB1fd2Uyg;pPJ7I>*iR!*h0F6N2{=}$NGh@B}? zyLZ=+?QTfS4fXRTCY0F?y>1U+AJW7NWHP69U(92^qZ@rrsW8Gh4pk^O=U&&P<918; z=%gd%N<7;)dvMvr+tya=HRMBHx|?(HWi>|wX-f~a>xpoz%*ZXW-X)c3tU%Jh$j|0+ z0vJ9x$bXq;W4LbP-h@(oV3oEv-TD@~J5lXRXlYhLh!`|IEx>9bHMUmgi;%x*?dl9r zvl%5M;7}UV>#$K_R0($`d#Zs23^|A3($85-_k4&ojDrzXDLSVu>R0`;uZl32zu+C}du5Od&8fQQ~fDdc} z0&6Uy)PomSy7bNu2gp)p>XkWs)~0r8H}_oHJNM{Uj4N(*b=n5YK{C8Sg|x?$-A3=* zS5d0fl6uE(Kq80QAB$E^l?f9q?&>N`4x63cL1RODVy|9)eTA_6(pApMJ++ zfFo0wEBn%600d<#Up|icoR&m6I+A|}w=je53>rbUA$D9h`XZHp;PwyG% zdSr<1CX?_Ig=s+iKlz9szOr`C5tyvc((`r;_f(t8elpC8GIDrGC;@w)e)zyS7@W23 zJuaR+Nsys+(?M>dJ&~N(zM%seO2vo5F=MBT+M)OTjwPY>D0BqaUXbEi2yFpIpnmf0 zG^&*5Q{q@a0(Ep1`T9dkbP;BtJH^Fb!6F)uQ+N|48p4m-;0M^t0#ccbgX9p?hlGa$ zBS!YafUDwcf(E~PBLTg)*^{Sh?^Uf=BPhuE)GtgJt*39d5J0Zy+hC+P8kPD^A9x{z z;Eh%B@`=MSKB;%c5BupkulwQG{`fNh?)!J#J8pE5L{YM}gZ|GEsI^+3g!aPwQT-oS zhDd(;p^6&4YxOks^cp_$09=+)18B7%U;Y=vJU5|aUm@jI0XwMH0ham1KJ)Py6LM|i z=-?}(tGr1P5+2TdA(ryb0NZun5CZ6nN5_X3p0`>3`##Qr+SFHmf!%lF$+v0LV#v;S z1~GvttjoQ7gN1uYLNxgPJhd&{yj9_o$d2~ux(|1`Cj7eGlehcVz9akru+X1LObkx< z!^aL#Nx}7bM8YJRgEKEp4Ffkl^2#sIG)2m@@dG_-`HW>J6CZam2te9tz(3J#fBRp#DVOuB1s8pPJIHZGhyy{P^uFne`Y0XM2VUs79#-(Qb#g^N0fwou zuHhAua9wiHc?-Vc~(f^?eD z+qb+1Cigy==%l5{M2VSUl6k+my2?uVNd0-H+*xTB4gSZl-DxvHS$5(Ep?L0#Jsgn+C*HiCrZcnCkuWeMHP+eSSaH*LC9aCTZ7GNRqGCb% z0|)|bV_ZncfCN_ESUf;KlDIsec8H^ElV?_qTClZWI4r%LGEa6;5mc~3Yl9F`pPo^X zNb6~FqM)DT3n^Pn9mgdwK*d_9{$A}|l)Soj z>Doi*o5NtS(bvj5L~8H+l4kC>L}3x|B{W9nw|;;b0W!>kpRnj8LWjpk0TyQx9tJZs z%d`^#|3@iSBBYI0KOZAmkH$!(<##VWA{RVbfNnGkQTIbC#!hdM(6-Z5IMoNj_?CNE z@EE(4T`0t{-Y(eUBCqFqEzIO5%+bRCP8Zs~7>Jbvpjl#dyWi}@<{I-7bvi#jOlpkQ zg{oyXks3m*E}SnjX&{iy-YpcT8oSi9_YYy3@;TuoEpvG{I!QAr9Ul=2C=IcVhC!uD zzv;U5>oa=RvZDb~c;Bsg^v4bUfPW`@(&p!9y79`!tsD{g&z|qw*R7rkMAz3}jco*+ z{|<&(=-|O+>U@31GH2tQKCrio?WV()jJ^CJ;hlBr@jO|0a?+~>+aSP$%bYBh*`)vQ zvaxFZh+kMRUqr2Ov7TLT)A8E1u#E2w+*~s7-x9q&# zaE_h#aIZ|AHh`P@`V?**C3~XqWlMDe*i+{>x`8z#AEhWzx#4T-A0Xw%;_A?yIw)$p zj_Z8-_1xK)SF}b|rFU=)!^t5!Hr6fkvnC>nNpWA5KG;cDzR6{B fSt$F^~tx99V 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 Date: Tue, 15 Jan 2019 21:49:08 +0100 Subject: [PATCH 3/3] Add implementation for timeFormat and re-enable walking time. --- .github/Example_4.png | Bin 0 -> 65667 bytes README.md | 12 ++++++-- mvgmunich.js | 66 +++++++++++++++++++++++++++++++++--------- package.json | 8 +++-- 4 files changed, 67 insertions(+), 19 deletions(-) create mode 100644 .github/Example_4.png diff --git a/.github/Example_4.png b/.github/Example_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a69a10d944a432b7268a6501a3cd9eab4abf92 GIT binary patch literal 65667 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

>E;?5f*x0{!=FhW<=fQ#&H)-E=JQd1#~Fl=9k^ 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 gf7@!?ZGJ@Da-wI+lW$Q5%M<}J5(?r)Zw **Possible values:** `true` or `false`
**Default:** `true` | | `ignoreStations` | Ignore destinations based on a array list.
**Possible values e.g.:** `["Feldmoching", "Hauptbahnhof"]`
**Default** `[]` | | `timeToWalk` | Time to walk to the station from your current location
**Default:** `0` minutes | -| `includeWalkingTime` | If the time to leave should be displayed which includes the walking time.
**Default:** `false` | +| `showWalkingTime` | If the time to leave should be displayed which includes the walking time.
**Default:** `false` | +| `showTrainDepartureTime` | If the time of train departure should be displayed.
**Default:** `true` | +| `trainDepartureTimeFormat` | Train departure time format. Absolute: 21:10; Relative: in 8 min;
**Default** `relative` | +| `walkingTimeFormat` | Walking time format. Absolute: 21:08; Relative in 6 min;
**Default** `relative` | diff --git a/mvgmunich.js b/mvgmunich.js index 5e8b8f5..8d15649 100755 --- a/mvgmunich.js +++ b/mvgmunich.js @@ -10,7 +10,6 @@ */ const MS_PER_MINUTE = 60000; - Module.register("mvgmunich", { // Default module configuration defaults: { @@ -23,7 +22,10 @@ Module.register("mvgmunich", { haltestelleName: "", ignoreStations: [], // list of destination to be ignored in the list timeToWalk: 0, // walking time to the station - includeWalkingTime: false, // if the walking time should be included and the starting time is displayed + showWalkingTime: false, // if the walking time should be included and the starting time is displayed + showTrainDepartureTime: true, + trainDepartureTimeFormat: "relative", + walkingTimeFormat: "relative", showIcons: true, transportTypesToShow: { "ubahn": true, @@ -99,22 +101,58 @@ Module.register("mvgmunich", { continue; } - var timingForCurrentTrain = Math.floor((new Date(apiResultItem.departureTime).getTime() - new Date().getTime()) / 1000 / 60); - this.htmlText += ""; - // check if user want's icons or not + // check if user wants icons if (this.config.showIcons) { - htmlText += "" + apiResultItem.label + ""; - } else { - htmlText += "" + apiResultItem.label + ""; - } + htmlText += ""; + } + // add transport number + htmlText += "" + apiResultItem.label + ""; + + // add last station aka direction htmlText += "" + apiResultItem.destination + ""; - htmlText += "" + - (timingForCurrentTrain <= 0 ? this.translate("JETZT") : this.translate("IN") + - " " + timingForCurrentTrain + " " + this.translate("MIN") - ) + ""; + + if(this.config.showTrainDepartureTime) { + // add departure time + htmlText += ""; + var departureTime = new Date(apiResultItem.departureTime) + + // check what kind of time user wants (absolute / relative) + if(this.config.trainDepartureTimeFormat == "absolute") { + htmlText += (departureTime.getHours() < 10 ? '0' : '') + departureTime.getHours() + + ":" + (departureTime.getMinutes() < 10 ? '0' : '') + departureTime.getMinutes(); + } else if (this.config.trainDepartureTimeFormat == "relative") { + var timingForCurrentTrain = Math.floor((departureTime.getTime() - new Date().getTime()) / 1000 / 60); + htmlText += (timingForCurrentTrain <= 0 + ? this.translate("JETZT") + : this.translate("IN") + " " + timingForCurrentTrain + " " + this.translate("MIN")); + } else { + htmlText += "trainDepartureTimeFormat config is wrong" + } + htmlText += ""; + } + // check if user want's to see walking time + if (this.config.showWalkingTime) { + htmlText += " / "; + var startWalkingTime = new Date(apiResultItem.departureTime + - this.config.timeToWalk * MS_PER_MINUTE); + // check what kind of walking time user wants (absolute / relative) + if(this.config.walkingTimeFormat == "absolute") { + var hoursStr = (startWalkingTime.getHours() < 10 ? '0' : '') + startWalkingTime.getHours(); + var minutesStr = (startWalkingTime.getMinutes() < 10 ? '0' : '') + startWalkingTime.getMinutes(); + // add walking time timing + htmlText += hoursStr + ":" + minutesStr; + } else if (this.config.walkingTimeFormat == "relative") { + var timingForStartWalking = Math.floor((startWalkingTime.getTime() - new Date().getTime()) / 1000 / 60); + htmlText += (timingForStartWalking <=0 + ? this.translate("JETZT") + : this.translate("IN") + " " + timingForStartWalking + " " + this.translate("MIN")); + } else { + htmlText += "walkingTimeFormat config is wrong" + } + htmlText += ""; + } htmlText += ""; - noOfItems++; if (noOfItems == this.config.maxEntries) { break; diff --git a/package.json b/package.json index 148e932..0e859c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "MMM-mvgmunich", - "version": "1.0.4", + "version": "1.0.4", "description": "", "main": "mvgmunich.js", "author": "Simon Crnko", @@ -16,5 +16,9 @@ "type": "git", "url": "https://github.com/mrVragec/MMM-mvgmunich" }, - "contributors": "" + "contributors": "", + "dependencies": { + "cheerio":"~1.0.0-rc.2", + "array-filter":"~1.0.0" + } }