-
Notifications
You must be signed in to change notification settings - Fork 104
Release v2.9
First of all: It is likely that you don't have to change anything immediately, as compatibility was a concern while developing v2.9. But be aware of widgets and services marked 'deprecated' as they may be removed in later versions.
jQuery Mobile has been updated to version 1.4.5 and widgets shipped with smartVISU v2.9 are working well in this environment. If you are using your own jQuery Mobile based widgets in your pages and notice any issues please consult the jQuery Mobile 1.4 Upgrade Guide.
In the following cases, slight adjustments of your widget's call will be needed:
- Instead of using the deprecated
basic.formula
to inject html code, you should usebasic.print
and pass 'html' as unit, since html code will be encoded now.basic.formula
can still be used in v2.9 (also with 'html' as unit) but may be removed in later versions. - Users of 3rd party
uzsu_icon
need to change to newly integrateddevice.uzsuicon
as the popup in 3rd party version does not work with jQuery Mobile 1.4. Please mind the stripped of underline in widget name and the removed parameter designType (this depends now automatically on selected I/O-driver). - See the inline documentation - now available directly from the configuration page - for the replacement of deprecated widgets. In addition, the examples in the
pages
folder have been updated to use the actual widgets.
Users of calendar service GoogleV3
(now called Google API
) have to do some configuration changes, as the authorization has no longer to be done manually but is integrated on configuration page now.
- If you update by calling
git pull
execute agit checkout lib/calendar/service/googleV3.php
first to discard your manual changes of client ID etc. in code file. - On Google Developer Console new credentials of type Webserver have to be created. This is done by:
- Choose Credentials in menu on the left side.
- Click on Create credentials on top and select Help me choose.
- Open smartVISU configuration page in an other window and click on Authorize under Other Data Sources -> Calendar (only visible if
Google API
is selected). - Follow instructions in dialog starting at step 6.
- In 2.8 calendars could get selected by entering the calendar ID in URL field. This is simplified to enter calendar display names comma-separated in field Calendar.
Warning: If you don't enter any name, all your calendars are shown (before only your primary one was shown).
If you used any non-integrated widgets or services (as e.g. hiddenswitch widget or nextcloud calendar) please have a look at the changes below and the inline documentation. There are lots of new widgets, features and possibilities. Some widgets are very powerful and versatile now (namely basic.stateswitch and basic.symbol) being able to cover many use cases.
Please check changelog.md in develop branch for latest version.
- ID is now optional in most widgets
- New: basic.stateswitch (improves and replaces basic.button, basic.dual, basic.multistate and basic.switch)
- New: basic.icon (shows an icon, optionally colored statically or dynamically by item)
- New: basic.input (displays an input field for text, number or date/time/duration)
- New: basic.print (improves and replaces basic.float, basic.formula and basic.value)
- New: basic.select (select a value by menu or array of buttons)
- New: basic.color (replaces basic.colordisc and basic.rgb) with new parameter 'colormodel' for HSV or HSL model and possibility to pass values as list in one item
- New: status.badge (displays a notification badge)
- New: basic.offset (button to increase or decrease a value)
- New: device.roofwindow (to show and control a roof window)
- New: device.uzsuicon and device.uzsugraph (to control UZSU in smarthomeNG and FHEM)
- New: device.smallshut (a line of small control and monitoring elements for shutters)
- New: calendar.waste (compact view of waste collection dates)
- New: multimedia.audio (plays a soundfile)
- New: multimedia.timeslider (to show and control the current time of a media file)
- New: multimedia.playpause (toggle between play and pause to control a music/video player)
- New: plot.gauge and plot.pie
- New: dynamic icons icon.cistern, .garagedoor, .roofwindow and icon.heating (displays a heating colored with dynamic gradient)
- New: popup.extpopup (to mix widgets in one popup)
- New: popup.locks (motion sensor and/or light priority in one popup)
- basic.symbol: Can also be used to show text only and to render as link, mode extended to adaptable formula (including thresholds), and - most important - may have multiple states now (so eventually, no series of symbols is needed anymore to cover multiple states)
- plot.period: Among other things: merged functionality of plot.minmaxavg and plot.multiaxis, more options like logarithmic and boolean scale, units, an advanced zoom mode as in Highstock, individual count and mode per series and the possibility to set any additional chart options
- plot.temprose: New parameters 'series_label' and 'unit'
- plot.rtr: New parameters 'tmin', 'tmax' and 'state_max' (last one is used to set datatype of state item). Additionally the algorithm for guessing dataype has been improved.
- basic.slider: New parameters 'value_display', 'min_display' and 'max_display'
- device.blind & device.shutter: item_move is now optional
- basic.shutter & device.shutter: min/max are renamed to value_top/bottom and value_top may be less than value_bottom
- device.shutter: Value and text for pos1 and pos2 can be set by parameter
- basic.tank & icon.* (dynamic icons): min is now implemented and max may be less than min
- device.dimmer: New parameters to specify pic, color, 'min_display', 'max_display' and position of the switch (left or right)
- device.rtr: New parameters to specify separate offset item and additional content
- Use of dynamic icons in other widgets possible (e.g. basic.stateswitch or basic.symbol)
- calendar.list: New parameters to select and colorize calendars
- basic.checkbox & basic.flip: Value_on and value_off can be set by parameters
- multimedia.slideshow: Fix items, add control buttons and reverse parameter
- clock.miniclock: New parameter 'format'
- status.notify: New items for title, signal, level and acknowledgement
- multimedia.image: add items to define imgage source and trigger for refresh
- Inline documentation can be called directly in system menu now (i.e. w/o changing pages in configuration)
- Allow pages selection by url parameter (e.g. index.php?pages=foo)
- Configuration can be overridden per page and per client. Options stored in .ini now. Redesign of configuration page
- Clear pagecache (by button and on disabling on configuration page)
- New dropins folder to add custom extensions and overrides (see details in README.md inside dropins/)
- Custom widgets in a folder
widgets
inside own pages will be imported automatically (like in dropins) - Language files can be overridden. This allows regional variations and custom extensions. And they are stored in clearer ini format
- Timezone is configurable now (was hardcoded to 'Europe/Berlin')
- Configurable time source (show time of server or client)
- Automatically return to home page after a configurable duration
- Template Checker
- Added 50 icons of jQuery Mobile - before they were just available on buttons as background (aka inline) icons
- New CalDav calendar service
- Auto-loading of any .js file inside subfolder 'js' and any .css file inside 'css' in current pages folder
- New driver for ioBroker
- New weather service darksky.net
- New Fritz!Box phone service using TR-064
- Updated Quad design with new features
- Twig function 'asset_exists' checks availability of files (to be used before importing these files)
- Documentation of custom widgets will be imported from dropins/widgets
- New structure of updated examples
- Replaced make.php by on-the-fly minification (needs page cache set on)
- Replaced Twig cache by output cache (makes html files cachable)
- Some performance optimizations
- ICal service: Multiple URLs and calendar naming possible
- Calendar coloring in configuration
- Google calendar authorization on configuration page
- Date format allows more patterns: l, D, j, F, M, n, G (the meaning is same as in php date function)
- Notification corner shows messages ordered by severity
- jQuery Mobile to 1.4.5
- jQuery to 2.1.4
- Highcharts changed to Highstock (which includes Highcharts), updated to 6.2.0 and migrated to styled mode