Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
85e2fd4
feat(car): add a shared Predbat-led EV charger control mixin
chalfontchubby Sep 28, 2026
2f30cc2
refactor(gecloud): drive EV chargers through the shared charger control
chalfontchubby Sep 28, 2026
65f54cf
refactor(myenergi): drive Zappis through the shared charger control
chalfontchubby Sep 28, 2026
723e0a1
refactor(ohme): drive the charger through the shared charger control
chalfontchubby Sep 28, 2026
6f7c967
fix(car): address #5284 review - release chargers whose car has gone,…
chalfontchubby Sep 28, 2026
a0645e7
fix(car): one charger refusing no longer blocks the others, and a rel…
chalfontchubby Sep 30, 2026
22afee1
feat(car): leave a charger to Octopus only when Octopus drives the ch…
chalfontchubby Sep 28, 2026
331aabb
feat(gecloud): turn EV charger control on with ge_cloud_automatic_evc
chalfontchubby Sep 29, 2026
317b03c
feat(ohme): turn charger control on with ohme_automatic
chalfontchubby Sep 29, 2026
77dda00
feat(myenergi): turn Zappi control on when the user wrote myenergi_au…
chalfontchubby Sep 29, 2026
2bb62e5
docs(car): charger control turns on with automatic setup, and Octopus…
chalfontchubby Sep 29, 2026
d0fd063
fix(car): judge Octopus per car from its own dispatch sensor, and nev…
chalfontchubby Sep 29, 2026
edaadc7
feat(ohme): only turn control on by default once the car's size and l…
chalfontchubby Sep 29, 2026
638ea8c
docs(car): Ohme size and limit guard, Kraken, and handing over to Oct…
chalfontchubby Sep 29, 2026
6932768
fix(car): a charger Octopus drives stays with Octopus, and a car Octo…
chalfontchubby Sep 29, 2026
621e0e7
feat(car): guest charging switch for chargers Predbat drives
chalfontchubby Sep 29, 2026
dd21509
feat(car): end guest charging when the car is unplugged from a Zappi …
chalfontchubby Sep 29, 2026
ae3c98d
fix(car): guest charging survives the owner unplugging, and dispatch …
chalfontchubby Sep 29, 2026
2b708b4
feat(car): warn when Predbat cannot tell whether Octopus drives a cha…
chalfontchubby Sep 29, 2026
a6edcce
fix(car): wait for Kraken to wire its SmartFlex devices before drivin…
chalfontchubby Sep 30, 2026
3e1ba8a
fix(car): release a held charger when Predbat cannot tell who drives …
chalfontchubby Oct 5, 2026
6576cb4
fix(car): leave a held charger as it is while discovery runs, and tre…
chalfontchubby Oct 5, 2026
1115652
fix(car): start each wait for discovery afresh once a charger's drive…
chalfontchubby Oct 5, 2026
0188a3b
feat(ohme): Predbat drives the Ohme only with ohme_control: true, so …
chalfontchubby Oct 6, 2026
df78bdc
feat(car): octopus_intelligent_charger_follows_car - leave a charger …
chalfontchubby Oct 6, 2026
435fb31
fix(car): release a held charger when Octopus drives the car, keep fo…
chalfontchubby Oct 6, 2026
3d57c71
fix(ohme): drive the Ohme to Predbat's own plan with Intelligent char…
chalfontchubby Oct 6, 2026
eea8919
fix(car): read a dispatch time with no offset as UTC, and a lost is_c…
chalfontchubby Oct 8, 2026
b21afb1
fix(car): hand an Ohme to Octopus without starting a charge, and warn…
chalfontchubby Oct 8, 2026
6e1eba4
refactor(car): share the hand-over to Octopus, and only cancel a max …
chalfontchubby Oct 8, 2026
34c9dea
Merge remote-tracking branch 'origin/main' into feat/charger-control
chalfontchubby Oct 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
624 changes: 624 additions & 0 deletions apps/predbat/car_charger_control.py

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions apps/predbat/components.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,10 @@ def load_component_class(component_info):
"default": False,
"config": "ge_cloud_automatic_evc",
},
# No default: unset means "on when ge_cloud_automatic_evc maps the chargers to cars",
# distinct from an explicit False (never) or True (also when the Octopus side is unknown)
"evc_control": {
"required": False,
"default": False,
"config": "ge_cloud_evc_control",
},
},
Expand Down Expand Up @@ -275,7 +276,8 @@ def load_component_class(component_info):
"automatic_eddi": {"required": False, "config": "myenergi_automatic_eddi", "default": True},
"enable_controls": {"required": False, "config": "myenergi_enable_controls", "default": True},
"poll_seconds": {"required": False, "config": "myenergi_poll_seconds", "default": 60},
"zappi_control": {"required": False, "config": "myenergi_zappi_control", "default": False},
# No default: unset means "on when the user set myenergi_automatic themselves" - see MyEnergiAPI.enable_control()
"zappi_control": {"required": False, "config": "myenergi_zappi_control"},
},
# Gate activation on having at least one auth path — api_key is the direct
# transport's local hub credential, key is the cloud transport's access token.
Expand Down
7 changes: 7 additions & 0 deletions apps/predbat/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -883,6 +883,13 @@
"type": "switch",
"default": True,
},
{
"name": "octopus_intelligent_charger_follows_car",
"friendly_name": "Drive the charger to the Intelligent dispatches when Octopus drives the car",
"type": "switch",
"default": False,
"enable": "expert_mode",
},
{
"name": "octopus_saving_auto_join",
"friendly_name": "Octopus Saving Session Auto Join",
Expand Down
198 changes: 69 additions & 129 deletions apps/predbat/gecloud.py

Large diffs are not rendered by default.

248 changes: 101 additions & 147 deletions apps/predbat/myenergi.py

Large diffs are not rendered by default.

217 changes: 103 additions & 114 deletions apps/predbat/ohme.py

Large diffs are not rendered by default.

Loading
Loading