Gas Station Price Module for MagicMirror2
- An installation of MagicMirror2
- OPTIONAL: Voice Control and MMM-Modal
- npm
- fs-extra
- node-fetch
- Clone this repo into
~/MagicMirror/modules
directory. - Configure your
~/MagicMirror/config/config.js
:
{
module: "MMM-Fuel",
position: "top_right",
config: {
api_key: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
lat: 52.518611,
lng: 13.408333,
types: ["diesel"],
// all your config options, which are different than their default values
}
}
- Run command
npm i --production
in~/MagicMirror/modules/MMM-Fuel
directory.
Option | Default | Description |
---|---|---|
provider |
"tankerkoenig" |
API provider (See full list below). |
lat |
REQUIRED | Decimal degrees latitude. |
lng |
REQUIRED | Decimal degrees longitude. |
types |
["diesel"] |
Fuel types in an array e.g. ["diesel", "e5"] . All valid types can be seen in the specific provider section below. |
sortBy |
"diesel" |
Price sorting by which fuel type defined in config option types . |
open |
false |
Display whether the gas station is open or not. |
radius |
5 |
Lookup Area for Gas Stations in km. |
max |
5 |
How many gas stations should be displayed. |
map_api_key |
false |
Required to show the gas stations map with traffic layer. You can get it here and don't forget to activate maps api for javascript. |
zoom |
12 |
Zoom of the map. (Min 0, Max 18 depends on the area) |
height |
600 |
Height of the map in pixel. |
width |
600 |
Width of the map in pixel. |
colored |
false |
Boolean to show the gas stations map colored or not. |
shortenText |
false |
Integer of characters to be shown for name and address. Default shows all. |
showAddress |
true |
Boolean to show the gas stations address. |
showOpenOnly |
false |
Boolean to show only open gas stations or all. |
iconHeader |
true |
Boolean to display the car icon in the header. |
rotate |
true |
Boolean to enable/disable rotation between sort by price and distance. |
rotateInterval |
60000 (1 min) |
How fast the sorting should be switched between byPrice and byDistance. |
updateInterval |
900000 (15 mins) |
How often should the data be fetched. If your value is to small, you risk to get banned from the API provider. I suggest a minimum of 15mins |
Read the Terms of Use carefully, especially the restrictions for smart mirrors, or your API access will be suspended.
Option | Default | Description |
---|---|---|
api_key |
REQUIRED | Get an API key for free access to the data of tankerkoenig.de. |
types |
["diesel"] |
Valid options are diesel , e5 and e10 . |
radius |
5 |
Valid range is 1-25. |
onlyStations |
[ ] |
Search for the gas station IDs via the finderTool. Drag the blue marker on the map to the rough location of desired gas stations. Select the gas stations and click "Tankstellen übernehmen" on the right. This will download a file holding the location IDs. For example: "a7cdd9cf-b467-4aac-8eab-d662f082511e" . Option supports multiple ID's, separated by comma (","). |
No API key required.
Option | Default | Description |
---|---|---|
types |
["diesel"] |
Valid options are diesel , e5 and gas . |
radius |
5 |
Valid range not tested yet. |
max |
5 |
The API provider returns maximum of 5 valid datasets. |
This provider gives no information if the gas stations are open or closed.
Config options should be set accordingly open
: false and showOpenOnly
: false.
Option | Default | Description |
---|---|---|
api_key |
REQUIRED | Get an API key for free access to the data of api.nsw. |
secret |
REQUIRED | You also need to add the secret visible in your dashboard on api.nsw. |
types |
["diesel"] |
Valid options are diesel , e5 . |
radius |
5 |
Valid range not tested yet. |
This module supports voice control by MMM-voice and MMM-Modal. In order to use this feature, it's required to install the voice and modal modules. There are no extra config options for voice control and modals needed.
The voice control mode for this module is FUEL
- OPEN HELP -> Shows the information from the readme here with mode and all commands.
- CLOSE HELP -> Hides the help information.
- SHOW GAS STATIONS MAP -> Shows a map with the gas stations labeled by Price starting with 1.
- HIDE GAS STATIONS MAP -> Hide the map.
npm run lint
- Lints JS and CSS files.npm run docs
- Generates documentation.
If you want to add another API provider checkout the Guide.