Hi,
had anyone tried to implement a SkyRC MC3000 charger using bluetooth?
https://www.skyrc.com/MC3000_Charger
can’t wait for feedback ![]()
regards Stefan
Hi,
had anyone tried to implement a SkyRC MC3000 charger using bluetooth?
https://www.skyrc.com/MC3000_Charger
can’t wait for feedback ![]()
regards Stefan
Ohhh that’ll be interesting if someone comes up with something!
There’s a python library for handling the MC3000, and its documentation includes some reverse-engineering of the protocol.
I’m working on a fork to also implement the NC2200, which is my battery charger and which seems to use a similar but not identical protocol.
I’ve never done development for Home Assistant, so I’m not sure how hard this would be to turn into a HACS integration, but using/adapting this project seems like a good starting point.
yeah, I am not that good in python that I can write one and also have not time to do … but can spent some reime in testing if there is any progress … R Stefan
Yeah, I am up for that as well. Happy to lend a helping hand but not versed in HACS development.
+1 for such an integration.
Sadly, also my python skills are not the best.
Did you manage to reverse engineer NC2200 BT protocol. Could you, please, share your progress with us?
Is your fork available on github? Thanks!
Thanks for pointing to kroimon/skyrc-ble — that was exactly the right starting point.
I ended up building a first HACS-compatible Home Assistant custom integration for the SkyRC MC3000 here:
Current status: development version, but working in my setup.
Implemented so far:
Important limitation: this does not currently program charge profiles, current, discharge current, chemistry, voltage cut-offs, temperature cut-offs, etc. The exposed skyrc-ble API currently supports read/update and start/stop of the program already configured on the charger. So the integration intentionally starts only the program already set on the MC3000 itself.
I have only tested this with the MC3000, not the NC2200. But the structure may be useful if someone wants to extend support for related SkyRC chargers.
Brilliant, thank you for sharing!
Is there a way to temporarily disconnect Bluetooth in the integration so it can be used with the official app again for reconfiguring the charging modes etc.?
Good point. The MC3000 appears to accept only one BLE client at a time, so keeping Home Assistant connected can block the SkyRC companion app.
I’m going to add a “Companion App Mode” to the integration:
That should cover the programming/settings use case without pretending the HA integration can already write full MC3000 profiles. For now the HA integration will remain focused on monitoring, start/stop, buttons, and safety interlocks, while actual profile editing stays on the charger/app.
Small update: I have pushed a newer development release of the SkyRC MC3000 Home Assistant integration.
GitHub:
Latest release:
Current status in v0.9.7:
The Companion App Mode is useful because the MC3000 appears to allow only one BLE client at a time. When enabled, Home Assistant disconnects from the charger and pauses polling, so the SkyRC companion app can connect and change charger programs/settings. When disabled again, Home Assistant reconnects and resumes monitoring.
Important limitation: the integration still does not program charge profiles, currents, chemistry, voltage cut-offs, capacity cut-offs, temperature cut-offs, etc. It only starts the program already configured on the MC3000. Full profile editing would require further reverse-engineering or extending the underlying skyrc-ble library.
I have only tested this with my own MC3000 setup. Testing, bug reports, PRs and suggestions are very welcome, especially from people with different firmware versions or related SkyRC chargers.
v1.0 beta / v0.10.0-beta is now available for testing
I have published a new beta release for the SkyRC MC3000 Home Assistant integration:
GitHub release: v0.10.0-beta
Repository: GitHub - jperquin/ha-skyrc-mc3000: Home Assistant custom integration for monitoring the SkyRC MC3000 battery charger over BLE. · GitHub
Main changes in this beta:
The voltage curve support is read-only. The integration can start/stop programs already configured on the MC3000, but it does not yet write charger profiles or charge parameters.
For the dashboard graph, ApexCharts Card is required. An example YAML dashboard is included in the repository under:
examples/skyrc-mc3000-dashboard.yaml
Feedback and test reports are very welcome, especially from users running HAOS/VM setups with ESPHome Bluetooth Proxy.