Release 1.9.3 - 31. Okt 2022
Dieses Release ist ein Wartungs-Release. Außer Bugfixes gibt es einige neue Features im Core von SmartHomeNG, sowie Updates zu einigen Plugins.
Überblick
Dieses ist neues Release für SmartHomeNG. Die Änderungen gegenüber dem Release v1.9.2 sind im folgenden in diesen Release Notes beschrieben.
Minimum Python Version
Die absolute Minimum Python Version in der SmartHomeNG startet, ist Python 3.7.
Für das SmartHomeNG Release 1.10 wird die absolute Minimum Python Version auf Python 3.8 angehoben, da der Community Support für Python 3.7 am 27. Juni 2023 endete.
Bei einer Neuinstallation wird jedoch empfohlen auf einer der neueren Python Versionen (3.8 oder 3.9) aufzusetzen.
Unterstützte Python Versionen
Die älteste offiziell unterstützte Python Version für SmartHomeNG Release 1.9.x ist Python 3.7. Automatisierte Tests von SmartHomeNG werden nur in den unterstützten Python Versionen durchgeführt. (Siehe auch Hard- u. Software Anforderungen im Abschnitt Installation zu unterstützten Python Versionen)
Allgemeine Änderungen
Achtung
ACHTUNG: Nach dem Update unbedingt den Browser Cache löschen !!!
Sonst können die Darstellungen des Webinterfaces fehlerhaft sein,
Die automatisierten Unit Tests von SmartHomeNG wurden von Travis auf Github Workflows umgestellt.
Änderungen am Core
Libs:
lib.db:
Fixed deprecation warnings
lib.item:
Fixed deprecation warnings
Small fix/improvement for logging caller on initialization
lib.logic:
Implemented r/o attributes as properties
Implemented some logic properties to distinguish them from the list of local variables of that logic
lib.metadata:
Fixed deprecation warnings
lib.scheduler:
Setting up a global environment when executing a logic (containing e.g. logger and logic variables)
lib.shpypi:
Extended logging of potential problem when consolidating requirements
lib.shtime:
Got rid of use of pytz module
lib.smarthome:
Fixed deprecation warnings
log stop when restarting in interactive, foreground or debug mode, see #493
lib.userfunction:
Bugfix
lib.utils:
Added running_virtual() function
Modules:
modules.admin:
Bugfix to show logs with old and new naming convention
Loglevels adjusted in api_loggers.py
modules.http:
Improve datatables, implement new auto refresh functionality
modules.websocket:
Prevent event listener for event type log from being registered multiple times. Otherwise, this error could lead to multiple entries in status.log widgets.
Änderungen bei Plugins
Allgmein
Workflows:
Disabled unittests on PRs for the moment because the workflow didn’t handle it correctly
Removed lines that trigger test on pull_request
Removed disabled triggers on test_dispatch_workflow.yml
Changed comment for ‚PR to wrong branch‘
Neue Plugins
Für Details zu den neuen Plugins, bitte die Dokumentation des jeweiligen Plugins unter http://www.smarthomeng.de/user/plugins_all.html konsultieren.
solarforecast:
Initial version of new solar forecast cloud plugin
rpi_info:
Initial Release
Plugin Updates
Für Details zu den Änderungen an den einzelnen Plugins, bitte die Dokumentation des jeweiligen Plugins unter http://www.smarthomeng.de/user/plugins_all.html konsultieren.
avm:
Improvement for HKRs: Allow set temperature to be set directly to value 126.5 (off/frost protection mode).
Minor fix for error handling
backend:
Fixed deprecation warnings
casambi:
Minor fix for casambi_id (now integer instead of num)
darksky:
Added database_maxage: 731 to items in struct, which had no max_age before.
database:
Reinserted ‚duplicate_use‘ to metadata for item_attribute ‚database‘
Added new feature to suppress standard db rewrite on plugin shutdown via item attribute database_write_on_shutdown; E.g. useful for constantly increasing items that are sampled at low frequency. The attribute is optional. By default, a rewrite for all db items on smarthomeNG shutdown is enabled.
Added documentation for new database_write_on_shutdown feature
Enhanced cleaning process for maxage
Updated and improved web interface to automatically refresh datatables, implement webif_pagelength config parameter
Fix webinterface to show pages even when no connection to database is possible, disable CSV export if item not found (e.g. database not connected)
Make table invisible on init to load faster
Improved rounding in web interface
Set default webif_pagelength to 0 = pageResize
Fix column widths and optimize responsive priority for webif
Added parameter removeold_cycle
Added log entry when dumping data, if dump was skipped before
Added total count of log entries to web interface
Fix bug with timestamp being None
Translate rest of user_doc into german
Added parameter default_maxage
Increased default value for max_delete_logentries to 1500
enocean:
Added plausibility check for powermeters
hue2:
Changed requirements to resolve conflict with appletv plugin
Added feature to change multiple functions at once
husky2:
Added aioautomower version to requirements
Corrected item structure
Fixed type error, corrected cases and updated valid lists
Removed unused command from list
Corrected cases
Added version info to doc
Changed login method to client credentials using apisecret
Added possibility to store last gps points in gpspoints item
Updated version of openlayers
Switched order of lat lng in gpspoints item
Switched order of lat lng for webif
Changed aioautomower version to 2022.9.0
Fixed token refresh by doing a re login
Removed unused items.yaml file
Updated user doc
Corrected token expiration in webif and close asyncio event loop on plugin stop
Added debug messages to plugin logger on token refresh
Raised plugin version to 2.1.0
Added missing activity and added note to user doc
Added unknown command to error log
Fixed to early closing of session on plugin stop
Added SV widget to show actual position and path of mower in google maps
Added eventloop stop before close
Added zoom level and path color to widget options
Removed not existing park command
Renamed SV widget
Packed asyncio eventloop into thread
influxdb2:
Reduced logging level in initialization phase
knx:
Fixed deprecation warnings
Add handling for knxd message being too short, e.g. for cache read
Recognize incomplete knx telegrams delivered by knxd cache read
Show items without knxd cache responses in red in webinterface
Bump up version number
Make log level for knxd cache problems configurable
user_doc: Webinterface section describes knxd cache read problems at start and log levels
modbus_tcp:
Keep connection open and use locking to ensure thread safety
Fixed bug undeclared variable (TypeStr)
mpd:
Fixed bugs with network data receive and parsing
Increase version number
mqtt:
simplify webif index.html based on newest changes in http module
Use datatables in web interface
neato:
Added decoding of command availability status, e.g. „start“ command available
If start command with persistent map is rejected due to „not_on_charge_base“ error, retry start with non-persistent map
nut:
Fixed initialization of parent class (smartPlugin)
openweathermap:
Update SV widget import
Added matchstring for dt_weekday
pluggit:
Created a previous version (v1.2.3) before accepting pull request
Plugin Rewrite as version v2.0.3
resol:
Minor improvement-> cleaned-up update_item method
Added frame CRC check
rtr:
Update SV widget import
rtr2:
Update SV widget import
russound:
Provide two functions to suspend and activate plugin without reload
simulation:
Update SV widget import
smlx:
Update user_doc.rst
Update plugin.yaml
Create WebIF
Code Cosmetics
Add lock, that just one poll cycle can be active
sonos:
Added appdirs to requirements.txt (needed for SoCo framework)
improved webinterface - list discovered speakers
Fixed play_tunein command; catched ConnectionResetError
Catched WebIf exception occurring for offline speaker
Fixed speaker discovery and handling in the case of single offline speakers
Updated SoCo framework to version 0.28.1
Added lxml python package to requirements (needed for SoCo version 0.28.1)
stateengine:
Fix release state (issue when defined after suspend state)
Fix release state
Adapt widget to new SV icon handling
Fix typo in log
Improve laststate and lastconditionset handling
Update laststate after running entry actions instead of before
Fix handling of relative item declarations plus minor improvements
Introduce option to get previous state (before laststate) and previous conditionset being used for actions and conditions
Add SV widget namespace import
Set proper defaults in widget Twig / php otherwise throws warnings
telegram:
Restrict version be <14.0 since then async will be used
uzsu:
If uzsu is updated by update_sun, no dry run is triggered to limit unneccessary CPU load
Fixes: * If one series entry has an error other entries are now still calculated (previously seriesCalculation was canceled on first issue) * If no end or starttime is given (e.g. in visu) for a series automatically start and end of the day are set to 00:00 and 23:59 * If series interval is too high for multiple series triggers the UZSU is now still correctly scheduled once at the given start time * Minor log improvement * Scheduler now also gets created if time series is more than 1 day in the future * Minor code improvements * Add maxCalculatedCount to series dict (for visu and debugging), fix issues with time series starting in the past * Improved internal dict handling. Dict gets updated correctly on run. Interpolation dict always gets extended if necessary. * Internal fix update seriesCalculated: implement correct maxCountCalculated * Improved web interface. Items get filles at start correclty (without init … bla bla) * Improve log handling and fix maxCountCalculated if interval is set too high * Fix and improve datatable handling in webif * Changed min shng version to 1.6 and get rid of some code lines checking for lower versions * Updated requirements for scipy to hopefully solve issues with installs on Raspis * Improve code, data handling, webIF and series calculation
vacations:
Added try catch to catch current issue with lib and (potentially) changed api. plugin however not working so far, until lib is updated.
Bumped dependency to ferien-api>=0.3.7
Fixed table layout
viessmann:
Corrected method „_bytes2int“
Writing values back to Heating Controller need to be in byteorder = ‚little‘
Bumped version to 1.2.3
xiaomi_vac:
Fix issue if no cleaning details are found.
Fix issue when no cleaning details are found (after new firmware flash or reset).
Bump to version 1.2.1
Outdated Plugins
Die folgenden Plugins wurden bereits in v1.6 als deprecated (veraltet) markiert. Das bedeutet, dass diese Plugins zwar noch funktionsfähig sind, aber nicht mehr weiter entwickelt werden. Sie werden in einem kommenden Release von SmartHomeNG entfernt werden. Anwender dieser Plugins sollten auf geeignete Nachfolge-Plugins wechseln.
System Plugins
backend - use the administration interface instead
sqlite_visu2_8 - switch to the database plugin
Web Plugins
wunderground - the free API is not provided anymore by Wunderground
Die folgenden Plugins wurden in v1.7 als deprecated (veraltet) markiert, weil kein Nutzer oder Tester dieser Plugins gefunden werden konnte:
Gateway Plugins
ecmd
elro
iaqstick
snom
tellstick
Interface Plugins
easymeter
smawb
vr100
Web Plugins
nma
Weiterhin wurde das bisherige mqtt Plugin zu mqtt1 umbenannt und als deprecated markiert, da das neue mqtt Plugin diese Funktionalität übernimmt. Das neue mqtt Plugin nutzt dazu das mqtt Modul des aktuellen Cores von SmartHomeNG.
Retired Plugins
Die folgenden Plugins wurden retired (in den RUhestand geschickt). Sie waren in einem der vorangegangenen Releases von SmartHomeNG als deprecated markiert worden. Diese Plugins wurden aus dem plugins Repository entfernt, stehen jedoch als Referenz weiterhin zur Verfügung. Diese Plugins wurden in das plugin_archive Repositiory aufgenommen.
…
Weitere Änderungen
Tools
…
Dokumentation
Update logging filters reference: make clear the entries have to be regular expressions
Added additional example for logging filters in logging best practices
Added include /etc/nginx/proxy_params; to reverse proxy docu
Multiple updates
Allow shpinx versions 5.x (<6)