Skip to content

Commit

Permalink
Merge pull request #529 from Martin-Gleiss/develop
Browse files Browse the repository at this point in the history
Release Candidate v3.1
  • Loading branch information
wvhn authored May 7, 2021
2 parents c7b673d + c426588 commit 0c7d7ca
Show file tree
Hide file tree
Showing 342 changed files with 189,852 additions and 58,896 deletions.
70 changes: 70 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,69 @@
## 3.0.a
### New / Changed Widgets
- new weather service API met.no for deprecated yr.no
- new widget status.activelist to display json messages as active listview
- device.uzsuicon can be displayed as button with additional "type" parameter (micro, mini or midi)
- basic.symbol provides button design as additional options btn-micro, btn-mini or btn-midi with additional text on icon
- basic.slider provides a new silent mode. Live mode (default) sends changed values constantly, silent mode only if change is completed.
- plot.period provides stacked plots for line, area and column
- image / data exporting via context menu in plot.period
- status.collapse supports a list of multiple values for control of collapsing / hiding
- device.rtrslider supports offset temperature for MDT RTR and supplements (like device.rtr)
- multimedia.slideshow now refreshes available images in a defineable time
- basic.offset rounds result to the count of decimals given by "step" attribute
- weather service openweathermap.org accepts location by ID (id=...), postal code (zip=...) or latidude&longitude (lat=...&lon=...) in adddition to city name

### Other New Features
- php8 compatibility (mainly solved by new management of warnings and 'nullsafe' programming)
- parameter [debug = "1"] in config.ini enables error reporting for php warnings
- new public functions in weather.php plus new language category [weather] to centrally determine verbal wind direction and strength
- weather services use humidity and air pressure as additional data (has been max. one out of both)
- demoseries in offline driver have been synchronized to the minute in order to enable stacking of demoseries
- new function Number.prototype.decimals() to determine count of decimals of a number
- new page ./pages/base/widget_docu.html displays parameter info for all widgets (tool to optimize custom widgets docstrings)

### Improvements
- error reporting for weather services and CalDav / iCloud calendars shows answers from remote
- error reporting for phone service improved
- error notification avoids duplicate messages (weather and phone services)
- error notification is cleared if service is running again (weather and phone services)
- complete review of all parameter definitions in order to improve results in template checker
- improved autocomplete lists and styling in widget assistent

### Updated Libraries
- Highcharts updated to v9.1
- ICal ICS Parser updated to v2.2.2

### Deprecated
- weather service yr.no (use met.no as replacement)
- weather service wunderground (use weather.com as replacement)
- fritz!box services other than TR-064
- custom widgets using sliders ( <input type="range" ... >) must use attributes "data-orientation" and "data-handleinfo" instead of "orientation" and "handleinfo"

### Removed Features
- support for older widgets (non jQuery mobile types) has been finally removed
- unsued Google Closure compiler has been removed
- deprecated ov.colordisc and ov.rgb removed from example3.graphics. Use ovbasic.color instead

### Fixed Bugs
- plot.pie did not show series titles as labels / legend
- some weather services did not use correct language if user defined language extension file was used
- some weather services did not use the units specified in the language file
- default repeat interval for phone services was 15 months. Corrected to 15 minutes.
- design colors where not defined in 'pages' and 'device' options of the config page
- config options selectable with flip switches where not stored properly in "device" tab (cookie mode)
- cache folders where deleted completely regardless of source (global / cookie)
- met.no weather service showed no icon if started directly after midnight and had problems with chages to summer time
- when leaving a page via the "back" button, widgets exit method and cancellation of plot data subscriptions didn't work.
- conflicts between exit method and older versions of back-to-home functions
- templatechecker did not consider widgets in the pages subfolder
- plot.gauge threw warnings due to faulty "data-axis" parameter.
- 100% check of docu pages and widgets with W3C validator revealed some issues - fixed.
- widget assistant threw errors with nested curly brackets (e.g. in plot options)

### Known Bugs


## 3.0.1
### New / Changed Widgets

Expand All @@ -19,6 +85,10 @@
- php errors thrown in calendar service due to usage of deprecated join() statement
- outline render page for widget assistant has been fixed, also for Apple devices

### Known Bugs
- when leaving a page via the "back" button, widgets exit method and cancellation of plot data subscriptions won't work.
(root cause documented in base.js line 1804)


## 3.0

Expand Down
11 changes: 9 additions & 2 deletions driver/io_offline.js
Original file line number Diff line number Diff line change
Expand Up @@ -261,8 +261,15 @@ var io = {
max = 1;
}

tmin = new Date().getTime() - new Date().duration(tmin);
tmax = new Date().getTime() - new Date().duration(tmax);
//tmin = new Date().getTime() - new Date().duration(tmin);
//tmax = new Date().getTime() - new Date().duration(tmax);

//synchronize timestamps for demoseries to the minute in order to allow stacked plots
var actualTime = new Date()
var actualMinute = Math.round(actualTime/60000) * 60000;
tmin = new Date (actualMinute) - new Date().duration(tmin);
tmax = new Date (actualMinute) - new Date().duration(tmax);

var step = Math.round((tmax - tmin) / (cnt-1));
if(step == 0)
step = 1;
Expand Down
6 changes: 3 additions & 3 deletions driver/io_offline.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class driver_offline
public function __construct($request)
{
$this->item = explode(",", $request['item']);
$this->val = $request['val'];
$this->val = (isset($request['val'])) ? $request['val'] : '';
$this->filename = const_path.'temp/offline_'.config_pages.'.var';
}

Expand Down Expand Up @@ -113,7 +113,7 @@ public function json()
$data = $this->fileread();

// write if a value is given
if ($this->val != '' or $this->writeall)
if ((isset($this->val) && $this->val != '') or $this->writeall)
{
foreach ($this->item as $item)
{
Expand All @@ -125,7 +125,7 @@ public function json()

foreach ($this->item as $item)
{
$ret[$item] = $data[$item];
$ret[$item] = isset($data[$item]) ? $data[$item] : null;
}

return json_encode($ret);
Expand Down
4 changes: 2 additions & 2 deletions index.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
$request = array_merge($_GET, $_POST);

// override configured pages if a corresponding request parameter is passed
$config_pages = ($request['pages'] != '') ? $request['pages'] : config_pages;
$config_pages = (isset($request['pages']) && $request['pages'] != '') ? $request['pages'] : config_pages;

// if page is not in $request use default index page defined in defaults.ini
if ($request['page'] == '')
if (!isset($request['page']) || $request['page'] == '')
$request['page'] = config_index;

// Caching
Expand Down
130 changes: 104 additions & 26 deletions lang/de.ini
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ extends = "en"
[format]
int = "%d"
float = "%01,2f"
weathertemp = "%01,0f °C"
temp = "%01,1f °C"
° = "%01,1f °"
°c = "%01,1f °C"
Expand Down Expand Up @@ -110,6 +111,50 @@ axis = "Temperatur, Feuchtigkeit"
; -----------------------------------------------------------------------------
; S E R V I C E S
; -----------------------------------------------------------------------------
[weather]
lang = "de"

n = "Nord"
nne = "Nordnordost"
ne = "Nordost"
ene = "Ostnordost"
e = "Ost"
ese = "Ostsüdost"
se = "Südost"
sse = "Südsüdost"
s = "Süd"
ssw = "Südsüdwest"
sw = "Südwest"
wsw = "Westsüdwest"
w = "West"
wnw = "Westnordwest"
nw = "Nordwest"
nnw = "Nordnordwest"

calm = "still"
light air = "leiser Zug"
light breeze = "leichte Brise"
gentle breeze = "schwache Brise"
moderate breeze = "mäßige Brise"
fresh breeze = "frische Brise"
strong breeze = "starker Wind"
near gale = "steifer Wind"
strong gale = "Sturm"
gale = "stürmischer Wind"
violent storm = "orkanartiger Sturm"
storm = "schwerer Sturm"
hurricane = "Orkan"

from = "aus"
at = "mit"

humidity = "rel. Luftfeuchte"
air pressure = "Luftdruck"
precipitation = "Niederschlag"
wind_gust = "Böen"
wind_speed = "Geschwindigkeit"
wind = "Wind"

[yr.no]
n = "Nord"
nne = "Nordnordost"
Expand Down Expand Up @@ -148,7 +193,7 @@ snow = "Schnee"
fog = "Nebel"

calm = "still"
light air = "leichter Zug"
light air = "leiser Zug"
light breeze = "leichte Brise"
gentle breeze = "schwache Brise"
moderate breeze = "mäßige Brise"
Expand All @@ -163,6 +208,50 @@ hurricane = "Orkan"

from = "aus"

[met.no]
clearsky = "klarer Himmel"
fair = "Schönwetter"
partlycloudy = "leicht bewölkt"
cloudy = "bewölkt"
lightrainshowersandthunder = "leichte Regenschauer mit Gewitter"
heavyrainshowersandthunder = "starke Regenschauer mit Gewitter"
rainshowersandthunder = "Regenschauer mit Gewitter"
lightrainshowers = "leichte Regenschauer"
heavyrainshowers = "starke Regenschauer"
rainshowers = "Regenschauer"
lightrainandthunder = "leichter Regen mit Gewitter"
heavyrainandthunder = "starker Regen mit Gewitter"
rainandthunder = "Regen mit Gewitter"
lightrain = "leichter Regen"
heavyrain = "starker Regen"
rain = "Regen"
lightsnowshowersandthunder = "leichte Schneeschauer mit Gewitter"
heavysnowshowersandthunder = "starke Schneeschauer mit Gewitter"
snowshowersandthunder = "Schneeschauer mit Gewitter"
lightsnowshowers = "leichte Schneeschauer"
heavysnowshowers = "starke Schneeschauer"
snowshowers = "Schneeschauer"
lightsnowandthunder = "leichter Schneefall mit Gewitter"
heavysnowandthunder = "starker Schneefall mit Gewitter"
snowandthunder = "Schneefall mit Gewitter"
lightsnow = "leichter Schneefall"
heavysnow = "starker Schneefall"
snow = "Schneefall"
lightsleetshowersandthunder = "leichte Graupelschauer mit Gewitter"
heavysleetshowersandthunder = "starke Graupelschauer mit Gewitter"
sleetshowersandthunder = "Graupelschauer mit Gewitter"
lightsleetshowers = "leichte Graupelschauer"
heavysleetshowers = "starke Graupelschauer"
sleetshowers = "Graupelschauer"
lightsleetandthunder = "leichter Graupel mit Gewitter"
heavysleetandthunder = "starker Graupel mit Gewitter"
sleetandthunder = "Graupel mit Gewitter"
lightsleet = "leichter Graupel"
heavysleet = "starker Graupel"
sleet = "Graupel"
fog = "Nebel"


[wunderground]
lang = "DL"

Expand Down Expand Up @@ -195,33 +284,12 @@ from = "aus"
lang = "de"
units = "si"

humidity = "Luftfeuchte"
wind_gust = "Böen"
wind_speed = "Geschwindigkeit"
wind = "Wind"
from = "aus"

dir_n = "Nord"
dir_nne = "Nordnordost"
dir_ne = "Nordost"
dir_ene = "Ostnordost"
dir_e = "Ost"
dir_ese = "Ostsüdost"
dir_se = "Südost"
dir_sse = "Südsüdost"
dir_s = "Süd"
dir_ssw = "Südsüdwest"
dir_sw = "Südwest"
dir_wsw = "Westsüdwest"
dir_w = "West"
dir_wnw = "Westnordwest"
dir_nw = "Nordwest"
dir_nnw = "Nordnordwest"

[openweathermap]
lang = "de"
humidity = "Luftfeuchte"
wind = "Wind"
units = "metric"

[weather.com]
units = "m"

[phone]
phonelist = "Telefonliste"
Expand Down Expand Up @@ -286,6 +354,16 @@ default_img_list[color] = "rgb(32, 178, 170)"
default_img_waste[icon] = ''
default_img_waste[color] = "rgb(32, 178, 170)"

[status_event_format]
info[icon] = info_info
info[color] = green
warning[icon] = info_warning
warning[color] = gold
error[icon] = info_error
error[color] = red
default_img_status[icon] = ''
default_img_status[color] = "rgb(32, 178, 170)"

[configuration_page]
configuration[label] = "Einstellungen"
globaltab[label] = "Global"
Expand Down
4 changes: 4 additions & 0 deletions lang/en-gb.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
extends = "en"

[format]
weathertemp = "%01.0f °C"
temp = "%01.1f °C"
° = "%01.1f °"
°c = "%01.1f °C"
Expand All @@ -17,3 +18,6 @@ long = "d/m/Y H:i:s"

[darksky]
units = "uk2"

[weather.com]
units = "h"
Loading

0 comments on commit 0c7d7ca

Please sign in to comment.