-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Various Improvements and cleanup (#260)
* remove location log info * TEST: work with AC power instead of DC power on inverter, log smoothed smartmeter values to mqtt * Use current AC power reported by inverter instead of predicted AC power (double prediction seems to conflict) * use old steering interval to control rate limit of limit function * new time based moving average on timebuffer (better smoothing) * rapid change detection for new moving average * better logging for rapid change and limit function trigger * cp error * rapid change detection improved, limit function rate limit override * trigger limit function on rapid change forced * #192 add support for Hub 2000 * aggressive avoid feed in * adjust limitedRisefunction to provide better values at top end * set hub limit timestamp only on actual execution of limit command * candischarge function * #198 reduce inverter limit faster wehn AC output is over AC Limit, increase slower when close to AC limit * enforce limit function every 2min * correct information if grid feed in happens from hub's battery * correct determination of home input from battery (packInputPower) * no need to ask for negative input from solarflow hub * convenience accessors to get current limits from hub and inverter * call trigger function if grid feed-in happens only when feed-in involves hub * Support for Hub2000 in homeassistant (#193) * Support for Hub2000 in homeassistant * Added more entities to homeassistant --------- Co-authored-by: Reinhard Weber (Brandstaedter) <[email protected]> * Fix #200, move creation of repeated timer to constructor * documentation update * documentation * Issue #199: negative demand leads to hub limit set to zero where it shouldn't * logging remainder * logging of remainder and source of feed in * determining source of feed in * reducing feed in from hub solarpower if not necessary * reduction of feed in with proper per channel limit * adjust hub output power in source determination for feed in * ignore solarflow feed-in if in bypass mode * reduce log output * Convert DC Channel powers into AC power values * simplify limit calculation * remainder calculation * restructure limit function for better readability * hub ask calc * correct log output * correct logging * fix #211 * trying to fix parts of #210 * Add offset to shift smartmeter zero #209 * fix #211 * fix unassigned variable on insignificant hub contribution ask * allow hub to trigger limit function * Log additional smartmeter parameters * Homeassistant improvements & geoip simplification (#208) * add DryRun and chargeThrough to Homeassistant * simplify geolocation * move HA updates to own timer (10min) * fix typo * fix hub power update * prepare for bypass control * configparser doesn't understand bool as type * optional bypass control * fix #220 * bug typos * ensure bypass is left again after sunset * rensure reevaluation of limit when switching bypass off * ensure bypass is only enabled once when raching full battery * ensure direct panel limit is increased when there could be still more gained * Fix #225 * open direct panels a bit more depending on demad * typo from lint * bug #226: on AC output over limit we should decrease the limit properly * #226 enforce over AC limit correction * when in bypass allow hub to feed everything to home * enforce bypass to off in the morning if control_bypass is on * set hub bypass mode on startup * fix #229 * add more logging re bypass * ensure BP also gets enabled when battery didn't fully discharge before. * turn off bypass only after sunset w/o offset * introduce bypass allowance * ensure bypass is not enabled again * additional bypass info logging * Updated readme for bypass control and zero offset * seems the hub resets bypass mode to auto when completely depleted, ensure it is set to manual when bp control is enabled * Adjusting inverter limit more rigorously in case of overshooting legal limit * more over limit adjustments/logging * consider unconnected direct channels * correct producing channel numnber * add arm64 support * Update Jenkinsfile * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline typo * pipeline branch name * pipeline branch * finalize pipeline * add gh cli tools in pipeline * fix pipeline github push * cleanup * determine direct channel increase by channel limit * increase direct channel limit tunnel * consider non-producing channels in direct panel limit * increase time difference for sunrise action * no need to set any hub limit when in bypass, more lenient on legal limit hit * avoid hub contribution that would cross the legal limit * consider inverter efficiency in hub contribution close to limit; reduce hub change frequency * improve logging * additional condition for turning off bypass * #245 inverter serials can also be alphanumeric * Better logging on AC limit actions * better logging on AC limit actions * copy paste error * correct bypass mode selector config for homeassistant * reducing max limit over inverter power to 12.5% as OpenDTU/HA integration uses this maximum * regular time sync (UTC) for hub * Bug #244: hub2k doesn't report bypass state via 'pass' topic * #244 typo fixec for getBypass * for some reason paho-mqtt not found in apt? * remove unneeded packages * add jinja2 to requirements * #252 power up inverter when leaving charge-through mode and inverter is not ready * #252 wrong metadata accessor * #244 workaround for hub2k not reporting bypass state properly. * more bypass for hub2k handling * use getter for bypass info in hub log * race condition for #244 * bug in bypass mode selector in HA * HA integration for passmode #254 * attempted fix for Hub2k/HA * #244 hub2k reports pass only when in auto mode * HA template, try to fix bp select * HA template fix attempt * add separate sensor for passMode, turn off autorecover * feat: #255 show grid feed in if coming from bypass * HA templates for ByPass * correct sensor for select update in HA * enforce bypass auto recover off in the morning
- Loading branch information
1 parent
d24e0c5
commit 0da2925
Showing
9 changed files
with
85 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
astral | ||
astral | ||
paho-mqtt==1.6.1 | ||
requests | ||
jinja2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
{ | ||
"name": "Bypass Mode", | ||
"cmd_t": "iot/{{ product_id }}/{{ device_id }}/properties/write", | ||
"cmd_tpl": "{\"properties\": {\"passMode\": {% raw %}{{ 0 if value=='Auto' else (1 if value=='Off' else (2 if value=='On')) }}{% endraw %} }}", | ||
"stat_t": "~passMode", | ||
"uniq_id": "{{ device_id }}-passMode", | ||
"val_tpl": "{% raw %}{{ 'Auto' if is_state('sensor.solarflow_hub_bypass_mode', 'Auto') else ('Off' if is_state('sensor.solarflow_hub_bypass_mode', 'Manual off') else ('On' if is_state('sensor.solarflow_hub_bypass_mode', 'Manual on') else 'Unknown')) }}{% endraw %}", | ||
"ops": ["Auto","Off","On","Unknown"], | ||
"dev": { | ||
"identifiers": ["{{ device_id }}"], | ||
"manufacturer": "Zendure", | ||
"model": "Solarflow", | ||
"name": "Solarflow Hub", | ||
"sw_version": "{{ fw_version }}" | ||
}, | ||
"~": "solarflow-hub/{{ device_id }}/telemetry/" | ||
} |
9 changes: 2 additions & 7 deletions
9
...arflow/homeassistant/switch.passMode.json → ...arflow/homeassistant/sensor.passMode.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters