All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Bug fix: If inverted, the status wasn't displayed correctly
- Thanks to https://github.com/joomoz!
- Added check for Shelly time change
- If time changes more than 5 minutes, prices and logic are updated
- Bug fix: After Shelly boot, the script had invalid time from the past for a while
- This caused issues with prices etc.
- Changed to use another workaround to check if clock is valid
- See issue #33 (Finnish)
- Bugfix: If active hour isn't found from price data, getting the prices again
- Bug fix: If max. price limit was smaller than always on limit, the status was displayed wrong. Control worked correctly.
NOTE: Settings are lost when updating v.2 -> v.3.
- Support for up to three controls
- Displaying ** if hour has override
- Improved operation if Elering has issues
- If page load fails, confirms if should try again
- Default VAT set to 25.5% (Finland)
- Country selection
- Lot's of improvements under the hood
- Settings are saved as JSON (can be edited from KVS)
- When day changes, the price data is always updated (See issue #26)
- Before the already known prices were used
- Before, if Nordpool had faulty price data at 15:00, the corrected data was never updated. Now it will always be up-to-date.
- Bugfix: Next day prices were read after 16:00 after DST change (instead of 15:00)
- Bugfix: Fixed issues with
only on change
output setting
- Added option for
USER_OVERRIDE
to request a re-run of logic by returningnull
with the callback - New example:
shelly-porssisahko-open-meteo-api.js
- New feature: custom hour ranges
- Can configure one or two custom time ranges and number of cheapest hours for each
- Bug fix: Average price calculation
- Bug fix: Script didn't always start after boot / power reset
- Next day prices and control at the frontpage
- New setting to select if output should be always written or only when changed
- Own tab for history
- Added a safety check that period hours <= period length
- Possible to manualyl force both on and off
- Forced hours commands can be selected both on and off
- New setting: how many first minutes of the hour to command output
- Added more parameters to
USER_CONFIG
call - Possible to show status of additional script / user script at UI. Updated examples.
- Added example how to use Shelly H&T temperature to fine adjust control
- New feature: Controlling multiple outputs
- Multiple output IDs can be configured by separating with commans. For example
0,100
-> script controls outputs 0 and 100 - NOTE: Separate price settings for outputs aren't possible, it's in backlog. See issue #16
- Multiple output IDs can be configured by separating with commans. For example
- Device name is also displayed in browser title
- Checkbox user experience is updated
- If device has no name, a description about it is shown
- New feature: Device name is shown in status page
- New feature: User can add scripts to change the output command
- New feature: user can add settings to the script instead of UI
- Bug fix: Fetching prices failed between 00:00-02:00 AM
- Time zone detection updated to a better solution
- Bug fix: If timezone was selected so that prices weren't received for the whole 24h period, the script didn't operate correctly
- However worked fine for Finland/Estonia timezones
- Change/fix: If manual mode, the script works even when we have no prices nor time - just follows the manual command
- Bugfix: If time wasn't known and script started, the control didn't work until time was acquired or hour was changed
- New feature: automatic timezone detection (also automatic DST)
- Calculating time difference between UTC and local time -> if time difference changes, prices are updated
- Handles changing of DST automatically
- Firmware requirement: 1.0.7 or newer
- Bugfix: Quick patch to fix problem with DST
- Better fix under development
- Added new feature: using day average price instead of static price limit (by setting value to
avg
)
- Bugfix: Setting override hour using button caused an error (however it worked)
- Added new setting: maximum price
- Added setting: sequential hours
- Inceased history 12h -> 24h
- Bug fix: It was possible to click buttons of settings page when it was not shown
- Optimized memory usage
- New setting: invert output
- Optimized memory usage
- New feature: forced hoursLisätty uusi ominaisuus: pakko-ohjatut tunnit
- Thanks for the idea petri1973 (issue #4)
- Better operation in problem situations
- Optimized memory usage
- Bug fix: If reading prices failed, script crashed
- Bug fix: Fixed backup hour operation
- Added buttons to config page
- Manual forcing feature (output can be set ON for next x hours - no matter what the price is / logic does)
- Link to Shelly web admin
- Removed
Access-Control-Allow-Origin
header for security- Needed for local web UI development
- For developing and external API usage, the line needs to be uncommented from
src/shelly-porssisahko.js
- README updated
- Bug fix: Setting manual mode command and error command to ON weren't working
- Version 2 released (total rewrite)