Merge pull request #1510 from fewieden/feature/weather-module-improvements

Fixed issues with the new weather module
This commit is contained in:
Michael Teeuw 2019-01-05 12:29:12 +01:00 committed by GitHub
commit fdf3691c87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 56 additions and 28 deletions

View File

@ -21,6 +21,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- Fixed unhandled error on bad git data in updatenotiifcation module [#1285](https://github.com/MichMich/MagicMirror/issues/1285). - Fixed unhandled error on bad git data in updatenotiifcation module [#1285](https://github.com/MichMich/MagicMirror/issues/1285).
- Weather forecast now works with openweathermap in new weather module. Daily data are displayed, see issue [#1504](https://github.com/MichMich/MagicMirror/issues/1504). - Weather forecast now works with openweathermap in new weather module. Daily data are displayed, see issue [#1504](https://github.com/MichMich/MagicMirror/issues/1504).
### New weather module
- Fixed weather forecast table display [#1499](https://github.com/MichMich/MagicMirror/issues/1499).
- Dimmed loading indicator for weather forecast.
- Implemented config option `decimalSymbol` [#1499](https://github.com/MichMich/MagicMirror/issues/1499).
- Aligned indoor values in current weather vertical [#1499](https://github.com/MichMich/MagicMirror/issues/1499).
- Added humidity support to nunjuck unit filter.
- Do not display degree symbol for temperature in Kelvin [#1503](https://github.com/MichMich/MagicMirror/issues/1503).
## [2.6.0] - 2019-01-01 ## [2.6.0] - 2019-01-01
**Note:** This update uses new dependencies. Please update using the following command: `git pull && npm install`. If you are having issues updating, make sure you are running the latest version of Node. **Note:** This update uses new dependencies. Please update using the following command: `git pull && npm install`. If you are having issues updating, make sure you are running the latest version of Node.

View File

@ -4,31 +4,30 @@
<span class="wi wi-strong-wind dimmed"></span> <span class="wi wi-strong-wind dimmed"></span>
<span> <span>
{% if config.useBeaufort %} {% if config.useBeaufort %}
{{current.beaufortWindSpeed() | round}} {{ current.beaufortWindSpeed() | round }}
{% else %} {% else %}
{{current.windSpeed | round}} {{ current.windSpeed | round }}
{% endif %} {% endif %}
{% if config.showWindDirection %} {% if config.showWindDirection %}
<sup> <sup>
{% if config.showWindDirectionAsArrow %} {% if config.showWindDirectionAsArrow %}
<i class="fa fa-long-arrow-up" style="transform:rotate({{current.windDirection}}deg);"></i> <i class="fa fa-long-arrow-up" style="transform:rotate({{ current.windDirection }}deg);"></i>
{% else %} {% else %}
{{current.cardinalWindDirection() | translate}} {{ current.cardinalWindDirection() | translate }}
{% endif %} {% endif %}
&nbsp; &nbsp;
</sup> </sup>
{% endif %} {% endif %}
</span> </span>
{% if config.showHumidity and current.humidity %} {% if config.showHumidity and current.humidity %}
<span>{{ current.humidity }}</span><sup>&nbsp;<i class="wi wi-humidity humidityIcon"></i></sup> <span>{{ current.humidity | decimalSymbol }}</span><sup>&nbsp;<i class="wi wi-humidity humidityIcon"></i></sup>
{% endif %} {% endif %}
<span class="wi dimmed wi-{{current.nextSunAction()}}"></span> <span class="wi dimmed wi-{{ current.nextSunAction() }}"></span>
<span> <span>
{% if current.nextSunAction() == "sunset" %} {% if current.nextSunAction() == "sunset" %}
{{current.sunset | formatTime}} {{ current.sunset | formatTime }}
{% else %} {% else %}
{{current.sunrise | formatTime}} {{ current.sunrise | formatTime }}
{% endif %} {% endif %}
</span> </span>
</div> </div>
@ -36,31 +35,37 @@
<div class="large light"> <div class="large light">
<span class="wi weathericon wi-{{current.weatherType}}"></span> <span class="wi weathericon wi-{{current.weatherType}}"></span>
<span class="bright"> <span class="bright">
{{current.temperature | roundValue | unit("temperature")}} {{ current.temperature | roundValue | unit("temperature") | decimalSymbol }}
</span> </span>
</div>
<div class="normal light indoor">
{% if config.showIndoorTemperature and indoor.temperature %} {% if config.showIndoorTemperature and indoor.temperature %}
<span class="fa fa-home"></span> <div>
<span class="bright"> <span class="fa fa-home"></span>
{{indoor.temperature | roundValue | unit("temperature")}} <span class="bright">
</span> {{ indoor.temperature | roundValue | unit("temperature") | decimalSymbol }}
</span>
</div>
{% endif %} {% endif %}
{% if config.showIndoorHumidity and indoor.humidity %} {% if config.showIndoorHumidity and indoor.humidity %}
<span class="fa fa-tint"></span> <div>
<span class="bright"> <span class="fa fa-tint"></span>
{{indoor.humidity | roundValue}}% <span class="bright">
</span> {{ indoor.humidity | roundValue | unit("humidity") | decimalSymbol }}
</span>
</div>
{% endif %} {% endif %}
</div> </div>
{% if config.showFeelsLike and not config.onlyTemp %} {% if config.showFeelsLike and not config.onlyTemp %}
<div class="normal medium"> <div class="normal medium">
<span class="dimmed"> <span class="dimmed">
{{ "FEELS" | translate }} {{ current.feelsLike() | roundValue | unit("temperature") }} {{ "FEELS" | translate }} {{ current.feelsLike() | roundValue | unit("temperature") | decimalSymbol }}
</span> </span>
</div> </div>
{% endif %} {% endif %}
{% else %} {% else %}
<div class="dimmed light small"> <div class="dimmed light small">
{{"LOADING" | translate}} {{ "LOADING" | translate }}
</div> </div>
{% endif %} {% endif %}

View File

@ -1,25 +1,27 @@
{% if forecast %} {% if forecast %}
<table class="{{config.tableClass}}"> <table class="{{ config.tableClass }}">
{% for f in forecast %} {% for f in forecast %}
<tr {% if config.colored %}class="colored"{% endif %}> <tr {% if config.colored %}class="colored"{% endif %}>
<td class="day">{{f.date.format('ddd')}}</td> <td class="day">{{ f.date.format('ddd') }}</td>
<td class="bright weather-icon"><span class="wi weathericon wi-{{f.weatherType}}"></span></td> <td class="bright weather-icon"><span class="wi weathericon wi-{{ f.weatherType }}"></span></td>
<td class="align-right bright max-temp"> <td class="align-right bright max-temp">
{{f.maxTemperature | roundValue | unit("temperature")}} {{ f.maxTemperature | roundValue | unit("temperature") }}
</td> </td>
<td class="align-right min-temp"> <td class="align-right min-temp">
{{f.minTemperature | roundValue | unit("temperature")}} {{ f.minTemperature | roundValue | unit("temperature") }}
</td> </td>
{% if config.showRainAmount %} {% if config.showRainAmount %}
<td class="align-right bright rain"> <td class="align-right bright rain">
{{f.rain | unit("rain")}} {{ f.rain | unit("rain") }}
</td> </td>
{% endif %} {% endif %}
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
{% else %} {% else %}
{{"LOADING" | translate}} <div class="dimmed light small">
{{ "LOADING" | translate }}
</div>
{% endif %} {% endif %}
<!-- Unclomment the line below to see the contents of the `current` object. --> <!-- Unclomment the line below to see the contents of the `current` object. -->

View File

@ -36,6 +36,10 @@
padding-right: 0; padding-right: 0;
} }
.weather tr .weathericon {
line-height: 25px;
}
.weather tr.colored .min-temp { .weather tr.colored .min-temp {
color: #bcddff; color: #bcddff;
} }

View File

@ -30,6 +30,7 @@ Module.register("weather",{
lang: config.language, lang: config.language,
showHumidity: false, showHumidity: false,
degreeLabel: false, degreeLabel: false,
decimalSymbol: ".",
showIndoorTemperature: false, showIndoorTemperature: false,
showIndoorHumidity: false, showIndoorHumidity: false,
@ -184,7 +185,9 @@ Module.register("weather",{
this.nunjucksEnvironment().addFilter("unit", function (value, type) { this.nunjucksEnvironment().addFilter("unit", function (value, type) {
if (type === "temperature") { if (type === "temperature") {
value += "°"; if (this.config.units === "metric" || this.config.units === "imperial") {
value += "°";
}
if (this.config.degreeLabel) { if (this.config.degreeLabel) {
if (this.config.units === "metric") { if (this.config.units === "metric") {
value += "C"; value += "C";
@ -200,6 +203,8 @@ Module.register("weather",{
} else { } else {
value = `${value.toFixed(2)} ${this.config.units === "imperial" ? "in" : "mm"}`; value = `${value.toFixed(2)} ${this.config.units === "imperial" ? "in" : "mm"}`;
} }
} else if (type === "humidity") {
value += "%"
} }
return value; return value;
@ -208,5 +213,9 @@ Module.register("weather",{
this.nunjucksEnvironment().addFilter("roundValue", function(value) { this.nunjucksEnvironment().addFilter("roundValue", function(value) {
return this.roundValue(value); return this.roundValue(value);
}.bind(this)); }.bind(this));
this.nunjucksEnvironment().addFilter("decimalSymbol", function(value) {
return value.replace(/\./g, this.config.decimalSymbol);
}.bind(this));
} }
}); });