- Added shell script based powermeter interface (USE_SCRIPT)
- Added parameters for shell script based powermeter interface (SCRIPT_)
- Added example shell script for usage with Victron Multiplus II (GetPowerFromVictronMultiplus.sh)
- Updated supported interface list in README.md with new shell script based powermeter
- Add support for priority mixed-mode (combination of battery powered and non-battery powered inverters).
- Bugfix fallback value
- added comment
- read the power rating of each inverter from config file.
- calculate HOY_MIN_POWER based on the inverter power rating.
- add HOY_INVERTER_WATT to INVERTER_x section
- add option to enable/disable to set the inverter to min watts when the powermeter can´t be read out. reserve85#28 (comment) + reserve85#74
- add
COMMON
:SET_INVERTER_TO_MIN_ON_POWERMETER_ERROR
- add ESPHome for intermediate power meter
- use absolute value for intermediate power value
- add ESPHome fields
- fix intermediate meter (HA, IOBroker): define a fallback value for POWER_CALCULATION (reserve85#144)
- openDTU: don´t override serialnumber every time a inverter gets available
- optional field in :
INVERTER_x
:SERIAL_NUMBER
: If you use more than one inverter you should define the serialnumber(s) in the config. Else a mix-up of the inverters possible (only openDTU)
- fixed wrong calculation "RemainingDelay"
- removed SetLimitDelay + SetLimitDelayMultipleInverter
- improved loop-code
- removed
SET_LIMIT_DELAY_IN_SECONDS
+SET_LIMIT_DELAY_IN_SECONDS_MULTIPLE_INVERTER
- refactoring, all DTU commands moved into DTU class
- support newest version of openDTU (API changed, see https://github.com/tbnobody/OpenDTU/releases/tag/v24.2.12)
- set min Version of openDTU to v24.2.12
- support newest version of AhoyDTU (Authentication, removed Factor, see lumapu/ahoy#1415)
- set min Version of AhoyDTU to 0.8.80
- renamed
AHOY_PASSWORD =
toAHOY_PASS
(like openDTU)
- reverted script to support AHOY >= '0.7.29'
- Support of AHOY-DTU Authentication, reserve85#132 and lumapu/ahoy#1415
- added
AHOY_PASSWORD =
toAHOY_DTU
- Emlog fix reserve85#134 -> calculate power
- added
EMLOG_JSON_POWER_CALCULATE
toEMLOG
- When intermediate meter is not available then try to get "ActualPower" from DTU
- on battery mode: set Inverter to min power on meter-error
- refactoring, big big "thank you" to https://github.com/tomquist - i know it was overdue...
- try to fix: Only repeat limit for the specific inverter (where limit was not acknowledged)
- Only repeat limit for the specific inverter (where limit was not acknowledged)
- renamed
SET_LIMIT_RETRY
toSET_POWERSTATUS_CNT
- Limit-Handling improved (if not acknowledged -> retransmit)
- calculates an average of the "MinPanelVoltage", rel reserve85#120
- add:
INVERTER_x
:HOY_BATTERY_AVERAGE_CNT
- bugfix set limit retry
- added up to 16 inverters in default config. This is needed for the override config.
- support Ahoy Versions >= V 0.8.39 ( reserve85#116 )
- added package argparse, install it with "pip3 install argparse" or "pip3 install -r requirements.txt"
- add support of docker (thnx to @tomquist)
- add support of a user specific ini (HoymilesZeroExport_Config_Override.ini) where you can define your specific default values. it will not be overritten when you install an update.
- modified install.sh script
- Bugfix HOY_MIN_WATT_IN_PERCENT: set minWatt for each inverter
- optimized init procedure
- improved some code snippets
- modified some comments
- force setlimit after BATTERY_THRESHOLD was changed
- bugfix: added index to HOY_BATTERY_PRIORITY
- supports custom inverter priorities, for battery powered inverters only! UNTESTED!
- related: reserve85#95
- add:
INVERTER_x
:HOY_BATTERY_PRIORITY
- Bugfix Get lowest panel voltage: return correct value, rel reserve85#99
- On Inverter-Power-On: set inverter to HOY_MIN_WATT, rel reserve85#100
- Bugfix Get Lowest panel voltage with more than one inverter.
- Bugfix at GetNumberArray reserve85#96
- add feature to ignore specific panel voltages in battery mode with opendtu
- Check if AHOY Version is at least V0.7.29.
- ATTENTION: You need to install the Package "Packaging" -> to do so type "sudo pip3 install packaging" in your terminal (Linux) or "pip3 install packaging" in your cmd (Windows)
- Update install.sh script to install additional package "packaging"
- Update Readme.md to install additional package "packaging"
- OpenDTU: Wait for Acknowledge after SetLimit
- OpenDTU: Removed limit-retries when SetLimit was acknowledged
- Ahoy: removed limit-retries when SetLimit was acknowledged
- use SET_LIMIT_TIMEOUT_SECONDS to wait for acknowledge
- add:
COMMON
:SET_LIMIT_TIMEOUT_SECONDS
- AHOY: Wait for Acknowledge after SetLimit, see lumapu/ahoy#1072
- Warning: if you use AHOY-DTU then you must update your DTU to Version >= 0.7.29 -> https://github.com/lumapu/ahoy/actions
- add a feature to ignore specific panel voltages in battery mode
- add:
INVERTER_x
:HOY_BATTERY_IGNORE_PANELS
- Add VZLogger local http api support (https://wiki.volkszaehler.org/software/controller/vzlogger/vzlogger_conf_parameter#local)
- add:
[SELECT_POWERMETER]
:USE_VZLOGGER
- add:
[SELECT_INTERMEDIATE_METER]
:USE_VZLOGGER_INTERMEDIATE
- add:
[VZLOGGER]
:VZL_IP
- add:
[VZLOGGER]
:VZL_PORT
- add:
[VZLOGGER]
:VZL_UUID
- add:
[INTERMEDIATE_VZLOGGER]
:VZL_IP_INTERMEDIATE
- add:
[INTERMEDIATE_VZLOGGER]
:VZL_PORT_INTERMEDIATE
- add:
[INTERMEDIATE_VZLOGGER]
:VZL_UUID_INTERMEDIATE
- Bugfix: jump to defined limit never increased if < 100%
- just added some comments, nothing productive ( thnx @Ollipop030 )
- BatteryMode: save latest five PanelMinVoltages and return the highest value of them. This ignores temporarly DTU-Errors (e.g. reset values at midnight) for maximum of five iterations.
- replaced the feature "jump to max limit" to "jump to defined limit"
- changed
[COMMON]/JUMP_TO_MAX_LIMIT_ON_GRID_USAGE
to[COMMON]/ON_GRID_USAGE_JUMP_TO_LIMIT_PERCENT
- Bugfix: timeout OpenDTU
- AHOY API Update: changed to new functions, see lumapu/ahoy#993
- add timeout = 10 seconds for HTTP Requests
- bugfix: lowest panel voltage "inf" (battery mode)
- chanegd some error messages
- changed comment of JUMP_TO_MAX_LIMIT_ON_GRID_USAGE to make this point clearer
- add check if POWERMETER_MAX_POINT > (POWERMETER_TOLERANCE + POWERMETER_TARGET_POINT)
- changed comment of POWERMETER_MAX_POINT to make this point clearer
- Log Python Version on startup and check if it is >= V3.6
- Add ShellyEM support
- rename section
[SHELLY_3EM]
to[SHELLY]
- add:
[SELECT_POWERMETER]
:USE_SHELLY_EM
- add:
[SELECT_INTERMEDIATE_METER]
:USE_SHELLY_EM_INTERMEDIATE
- Authentication fix for Shelly 2nd Gen. Thanks to user delacor
- another try for authentication of Shelly 2. generation
- changed some comments
- support user & password for Shelly meters
- add:
[INTERMEDIATE_SHELLY]
:SHELLY_USER_INTERMEDIATE
+SHELLY_PASS_INTERMEDIATE
- add:
[SHELLY_3EM]
:SHELLY_USER
+SHELLY_PASS
- new function: CastToInt
- added some more comments
- bugfix: cast to int
- support of power-output-factor to compensate some Inverters (e.g. 700W Limit = 800W Output)
- add:
[INVERTER_x]
:HOY_COMPENSATE_WATT_FACTOR
- enter your Factor here. Eg: if you set a limit of 750W = 850W Output -> enter Factor 0.88
- use different wait time for turning inverter off or on
- add HOME ASSISTANT support
- add:
[COMMON]
:SET_POWER_STATUS_DELAY_IN_SECONDS
- delay time after turning the inverter off or on - add:
[SELECT_POWERMETER]
:USE_HOMEASSISTANT
- add: section
[HOMEASSISTANT]
+ section[INTERMEDIATE_HOMEASSISTANT]
- add:
[SELECT_INTERMEDIATE_METER]
:USE_HOMEASSISTANT_INTERMEDIATE
- on Startup: initialize inverter with lowest limit.
- allow to send same Limits to inverter, use SET_LIMIT_RETRY to limit the repeats
- add HOY_BATTERY_NORMAL_WATT: you can further limit the inverter in battery mode. E.g. if you have a 1500W Inverter you can limit the max. output power in battery mode to 750 Watts.
- add:
[INVERTER_x]
:HOY_BATTERY_NORMAL_WATT
- bugfix: Assign problem when reading INI if more than two inverters
- bugfix: changed a += operator because "unsupported operand type s for +:" occur
- bugfix: SetLimitOpenDTU: there was a calculation error if battery powered and reduced limit was active.
- add ´HOY_BATTERY_THRESHOLD_NORMAL_LIMIT_IN_V´: if min_voltage of a panel is higher than this threshold voltage, then max_limit is reset to "max_Watt"
- add:
[INVERTER_x]
:HOY_BATTERY_THRESHOLD_NORMAL_LIMIT_IN_V
- add: support of battery powered hoymiles inverters. activate it by setting
[INVERTER_x]/HOY_BATTERY_MODE
totrue
. There is an "off" Limit (HOY_BATTERY_THRESHOLD_OFF_LIMIT_IN_V
) where the inverter stops working, if panel voltage is lower a "reduce" limit (HOY_BATTERY_THRESHOLD_REDUCE_LIMIT_IN_V
) where the inverter reduces it´s max. power, if panel voltage is lower a "turn on" limit (HOY_BATTERY_THRESHOLD_ON_LIMIT_IN_V
) where the inverter starts working again, if panel voltage is higher
- add:
[INVERTER_x]
:HOY_BATTERY_MODE
+HOY_BATTERY_THRESHOLD_OFF_LIMIT_IN_V
+HOY_BATTERY_THRESHOLD_REDUCE_LIMIT_IN_V
+HOY_BATTERY_REDUCE_WATT
+HOY_BATTERY_THRESHOLD_ON_LIMIT_IN_V
- add: support of IOBROKER. Needs installed https://github.com/ioBroker/ioBroker.simple-api
- change: more detailed exception logs
- add:
[SELECT_POWERMETER]
:USE_IOBROKER
- add: section
[IOBROKER]
+ section[INTERMEDIATE_IOBROKER]
- add:
[SELECT_INTERMEDIATE_METER]
:USE_IOBROKER_INTERMEDIATE
- bugfix: ignore LastLimit Counter if inverter was not available
- bugfix: switch °C to degC, due to compatibility
- bugfix: openDTU, GetHoymilesAvailable was faulty
- change: use default Log-Names to ensure deletion of old files
- add: optional: read out temperature
- add: read out serial number of inverter
- add:
LOG_TEMPERATURE = false
- removed:
SERIAL_NUMBER
, read it from API
- bugfix: intervall was too fast only in case of setLimit > SET_LIMIT_RETRY
- change: small code optimization for setting limit to multiple inverters
- script keeps running as long as minimum one inverter is available
- bugfix: intermediate meter Shelly 1PM did not work
- add: support Shelly 3EM Pro for powermeter and intermediate powermeter
- add: support of Shelly 1PM & Shelly Plus 1PM
- add:
[SELECT_POWERMETER]
:USE_SHELLY_3EM_PRO
- add:
[SELECT_INTERMEDIATE_METER]
:USE_SHELLY_3EM_PRO_INTERMEDIATE
- add:
[SELECT_INTERMEDIATE_METER]
:USE_SHELLY_PLUS_1PM_INTERMEDIATE
- add: support EMLOG System for powermeter and intermediate powermeter
- change: added powermeter-type and DTU-type to logs
- add: In Section
[SELECT_POWERMETER]
:USE_EMLOG
- add: Section
[EMLOG]
:EMLOG_IP
+EMLOG_METERINDEX
- add: Section
[INTERMEDIATE_EMLOG]
:EMLOG_IP_INTERMEDIATE
+EMLOG_METERINDEX_INTERMEDIATE
- add: support Shelly 1PM as intermediate meter
- bugfix: selection of intermediate meter was incorrect.
- add: In Section
[SELECT_INTERMEDIATE_METER]
:USE_SHELLY_1PM_INTERMEDIATE
- change: replace fixed factor for slow approximation with configurable one (SLOW_APPROX_FACTOR_IN_PERCENT)
- change: check if slow approx is really needed when old limit was 100% (jump down)
- change: calculate "LimitDifference" based on ActualPower and not on MaxWatt in case of old limit was at 100% (jump down)
- add: In Section
[COMMON]
:SLOW_APPROX_FACTOR_IN_PERCENT = 20
- change: update install.sh script for reinstall
- add: uninstall_service.sh script to uninstall the service
- add: limit the retry of function
SetLimit
if it is the same limit in watt
- add: In Section
[COMMON]
:SET_LIMIT_RETRY = 10
- Removed: Intermediate meter calculation option
- Removed: defines for Intermediate meter calculation option:
TASMOTA_JSON_POWER_CALCULATE = FALSE
,TASMOTA_JSON_POWER_INPUT_MQTT_LABEL
,TASMOTA_JSON_POWER_OUTPUT_MQTT_LABEL
- Add: Intermediate meter support. If you have an intermediate meter behind your solar inverters to measure the exact outputpower, you can set it here. It's faster than the Ahoy/OpenDTU current_power value.
- Changed: some logger.info type to logger.error (if it is in try...except)
- Changed: only load the HoymilesZeroExport_Config.ini once
- Add: Section
[SELECT_INTERMEDIATE_METER]
,[INTERMEDIATE_TASMOTA]
,[INTERMEDIATE_SHELLY_3EM]
,[INTERMEDIATE_SHRDZM]
in Config
- Bugfix: filename of midnight rolling backup-logfiles was "today" but should be "yesterday".
- Bugfix for openDTU set limit, missing array index
- Add: SHRDZM Powermeter Interface
- Add: an optional function CutLimitToProduction: prevents the setpoint from running away...
- Changed: logging to ./log/daily.log, creates a new logfile on midnight
- Add: Section
[SHRDZM]
+USE_SHRDZM
in Config (default disabled) - Add:
MAX_DIFFERENCE_BETWEEN_LIMIT_AND_OUTPUTPOWER
(default disabled) - Add:
ENABLE_LOG_TO_FILE
andLOG_BACKUP_COUNT
(default disabled) - Add: VERSION information