Conversation
Added ExportMode and ExportSettings to imports and exports.
|
Hey thanks for this! Do you know when they started using certificate pinning? I'm wondering if they did it after I gave my talk. I would like to test this quickly on my install and then get a release out. Are you also interested in adding this to the hass integration? No pressure either way just want to avoid duplicating work. Thankyou! |
|
You are welcome, it was a fun project. Thanks for getting it started. I'm not sure when the app started using certificate pinning. I started looking into this a few days ago. I used version v2.10.0 of the Android app to find the endpoints. I'll try to look into HA integration this week. Confirming the right repository: https://github.com/richo/homeassistant-franklinwh. |
|
BTW what talk are you referring to? Is it about this project? Any recording I can watch? |
|
The talk is here: https://youtu.be/wXbnUm88IJw?t=9593 Nothing groundbreaking but I dunno how much they fully loved the experience. I am glad they fixed some things. Correct that's the right repo! Like I said no pressure I just didn't want both of us to be doing it at once. |
|
Cool talk, Wonder how much of my PII was leaked :0
Took a quick look at the HA integration, I haven't gone deep in HA yet. It
uses franklinwh-python. Once you test and merge the version with export
control I can add version dependencies and likely two files. One for a
selector to choose between the 3 export options and another is needed to
create a number entity for the export rate. Sound about right?
…On Mon, Mar 23, 2026 at 9:56 PM richö butts ***@***.***> wrote:
*richo* left a comment (richo/franklinwh-python#32)
<#32 (comment)>
The talk is here: https://youtu.be/wXbnUm88IJw?t=9593
Nothing groundbreaking but I dunno how much they fully loved the
experience. I am glad they fixed some things.
Correct that's the right repo! Like I said no pressure I just didn't want
both of us to be doing it at once.
—
Reply to this email directly, view it on GitHub
<#32?email_source=notifications&email_token=ABJNRQCA7SHBA7LP64NLSKL4SIIP3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIMJRGUZTSNRRGI3KM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-4115396126>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABJNRQHJVRWLG54TQOQYTTD4SIIP3AVCNFSM6AAAAACW4RPVX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DCMJVGM4TMMJSGY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
|
It does, and that "You need to select the number" thing is really the rub with HA integrations, the way this works really doesn't translate at all into their ecosystem so you wind up having to do some pretty ugly things. The alternative is to add a service which is functionally the same as a typed function, but then it's mostly only accessible from automations. Thanks again, I had to run to phoenix at short notice, but testing this is first on my list when I get home today. |
Adds two new methods to Client for reading and writing the grid export configuration — the "Allow Export" setting in the FranklinWH mobile app.
Export modes
SOLAR_ONLY - Solar can export; battery (aPower) cannot
SOLAR_AND_APOWER - Both solar and battery can export
NO_EXPORT - No grid export
An optional export power cap (
limit_kw) is supported (0.1–10000.0 kW).Discovery
The app uses certificate pinning so MITM proxying wasn't viable. Endpoints
were found by extracting strings from the compiled Dart snapshot (libapp.so)
in the Android APK, then probing them directly while toggling app settings
to map response fields to states.
Endpoints used:
hes-gateway/terminal/tou/getPowerControlSettinghes-gateway/terminal/tou/setPowerControlV2(read-modify-write)