Included support for temperature/humidity display on weather widget from sensor events

This commit is contained in:
Fabio Manganiello 2018-05-07 18:55:50 +02:00
parent e4269a8d5d
commit 20a9224ab5
3 changed files with 32 additions and 3 deletions

View file

@ -16,3 +16,8 @@ h1.temperature {
font-size: 22px; font-size: 22px;
} }
.widget.date-time-weather * > .sensor-temperature,
.widget.date-time-weather * > .sensor-humidity {
display: none;
}

View file

@ -2,12 +2,22 @@ $(document).ready(function() {
var $widget = $('.widget.date-time-weather'), var $widget = $('.widget.date-time-weather'),
$dateElement = $widget.find('[data-bind=date]'), $dateElement = $widget.find('[data-bind=date]'),
$timeElement = $widget.find('[data-bind=time]'), $timeElement = $widget.find('[data-bind=time]'),
$sensorTempElement = $widget.find('[data-bind=sensor-temperature]'),
$sensorHumidityElement = $widget.find('[data-bind=sensor-humidity]'),
$forecastElement = $widget.find('[data-bind=forecast]'), $forecastElement = $widget.find('[data-bind=forecast]'),
$tempElement = $widget.find('[data-bind=temperature]'); $tempElement = $widget.find('[data-bind=temperature]');
var onEvent = function(event) { var onEvent = function(event) {
if (event.args.type == 'platypush.message.event.weather.NewWeatherConditionEvent') { if (event.args.type == 'platypush.message.event.weather.NewWeatherConditionEvent') {
updateTemperature(event.args.temperature); updateTemperature(event.args.temperature);
} else if (event.args.type == 'platypush.message.event.sensor.SensorDataChangeEvent') {
if ('temperature' in event.args) {
updateSensorTemperature(event.args.temperature);
}
if ('humidity' in event.args) {
updateSensorHumidity(event.args.humidity);
}
} }
}; };
@ -15,6 +25,16 @@ $(document).ready(function() {
$tempElement.text(Math.round(temperature)); $tempElement.text(Math.round(temperature));
}; };
var updateSensorTemperature = function(temperature) {
$sensorTempElement.text(Math.round(temperature*10)/10);
$sensorTempElement.parent().show();
};
var updateSensorHumidity = function(humidity) {
$sensorHumidityElement.text(Math.round(humidity));
$sensorHumidityElement.parent().show();
};
var initEvents = function() { var initEvents = function() {
window.registerEventListener(onEvent); window.registerEventListener(onEvent);
}; };

View file

@ -11,8 +11,12 @@
<div class="forecast" data-bind="forecast"></div> <div class="forecast" data-bind="forecast"></div>
<!-- <p class="sensor-temperature"> --> <div class="sensor-temperature">
<!-- <span data-bind="sensor-temperature">N/A</span>&deg; --> Sensor temperature: <span data-bind="sensor-temperature">N/A</span>&deg;
<!-- </p> --> </div>
<div class="sensor-humidity">
Sensor humidity: <span data-bind="sensor-humidity">N/A</span>%
</div>
</div> </div>