Bluetti MQTT/HomeAssistant: Opinion wanted!

Yes clearly a local communication system would be better for everyone, whether it uses Wi-Fi or BT, in fact for me the connection preference with a storage system as I said is always physical (direct) and not dependent on an external system.
With a REST system I tried to consider what the customers’ wishes are with the absolute application possibilities of the moment.
Because creating the possibility for all Bluetti devices to be able to communicate locally via Wi-Fi or BT for a local isolated connection with Home Assistant actually means updating all the firmware currently present on all devices.
While creating an extension on an existing cloud to access the data already available, without the need to modify any firmware, could be a faster and more feasible way in the current state to obtain the need.
.
It’s a bit like the philosophy of seeking a balance between the request and the concrete possibilities of the other party in order to more easily obtain what is requested.
This is because we are talking about something that must be compatible with devices already on the market, a retroactive change therefore.
.
Another idea, thinking of a system that acts as a BT connection with Home Assistant, could be a BT gateway that on one side connects with the Bluetti device and on the other allows it to act as an MQTT endpoint.
For example, currently the Bluetti App has MODBUS support for all Bluetti devices equipped with a BT interface and therefore has an internal DB that allows the transmission and reception of packets in compatibility with these devices.
Along the lines of this, it could be possible to create a device compatible with all BT Bluetti devices that allows integration with Home Assistant.
As an example a custom display running Android with a customized Bluetti App that will serve as a visual gateway of the connected devices, showing devices and statuses and running local listening services. :slight_smile:

2 Likes

Hi, I´m running an EP600. Like many others, I´m currently using the “unofficial” bluetooth connection (via a raspberry pi) to read the current power values (PV in, total consumption, etc.) and SoC for logging and display(via Node Red). I would very much appreciate some kind of interface to read this data directly off the network, so I can eliminate the somewhat quirky bluetooth connection from my system. Simple is always better :) For me pretty much any interface would do: mqtt, modbus over TCP, a REST API, I think I can adapt pretty much to anything as long as we have some documentation. I´m fine with just receiving values, writing could be left to the official app.

@Selfmadestrom Erik, thanks for taking the initiative! Would be great if we can get something moving :)

PS: fetching values from the cloud connection would be fine for me too!

1 Like

Thanks for your input @tscher ! At the moment, i try to get into the github project to add units myself and make this an more active project!

1 Like

Hi there,

I use home assistant and have a AC60P. My unit was purchased to support my 3d printers as when you have powerloss you fail the print. I was hoping to have home assistant pause and save the state on my printers when AC power cuts out so they don’t automatically fail the second there is a power outage. Unfortunately because bluetti to mqtt is difficult to setup I have not been able to do this.

It would be amazing to have full support for smart activities like this. I would also love a notification if AC power cuts (which could also be done with HA integration).

Thanks!

1 Like

There is a plugin that you just can download, ready to use for HimeAssistant. Still unofficial. Thanks for your inout on this matter!

1 Like

I’ve got an AC500. What I would really like to see is the ability to change the charging current via Bluetooth/wifi/from home assistant.

Right now I can only toggle between 0W, load matching and 2300W by playing with the battery range start setting and have to hope that my other battery can utilize the rest.

3 Likes

@Selfmadestrom Hi Erik,
any news on this project? Is there already an application that we can test or use?
Sigi

2 Likes

I’m chiming in to voice my support for this project as well. I have a Home Assistant server and two AC500’s in split phase mode with five B300S.

Currently I’m using the Bluetti2MQTT integration. It’s great when it works, but after some hours or days the AC500’s stop communicating. It can only be restored by rebooting the AC500’s which isn’t easy. It requires a trip to the basement, disconnection of both solar panel arrays, using flashlights, etc. Not optimal for my elderly father so we usually just go without. As the app still reports battery level I’m guessing local WiFi or cloud-based API access may be more reliable.
The holy grail for us it to have HA monitor battery level and turn on the generator when they get low and turn it off when they get near full. I have everything working successful currently, with the exception of consistent communication between HA and our two AC500’s.
Regardless, I welcome any and all Bluetti involvement to improve Home Assistant integration.

5 Likes

Are you sure that you need to restart the powerstations? I simply restart bluetti-mqtt once a day and that’s enough.

1 Like

The restart of the plugin should do its thing

1 Like

Would love to see that to.
Here in my area we have something called effektavgift.

For me that means that I am paying half the price at night and could charge the battety faster for the same cost.

The ability to change charge current would be really useful.

3 Likes

Hello all

I’ve add my EP2000 successful in my Homeassistent System based on the Hassio-bluetti-bt

What I did:

  • “custom_components\bluetti_bt\manifest.json” there is something called { “local_name”: “PBOX*” } The EMS-Controller from the EP2000 is named EBOX*
    added { “local_name”: “EP2000*” }, added { “local_name”: "EBOX*“ }

  • I also changed all PBOX to EBOX in “config_flow.py”

  • Then i added custom_components\bluetti_bt\bluetti_bt_lib\devices\ep2000.py I copied the one from the EP600 and renamed everything “EP600” to EP2000.

  • Then Ive edit /homeassistant/custom_components/bluetti_bt/bluetti_bt_lib/utils/device_builder.py and add

from …devices.ep2000 import EP2000

and also


DEVICE_NAME_RE = re.compile( r“^(AC60|AC70|AC70P|AC180|AC180P|AC200L|AC200M|AC300|AC500|EB3A|EP500|EP500P|EP600|EP760|EP800|EP2000)(\d+)$" )*



and


if match[1] == “EP2000”: return EP2000(address, match[2])


- in /homeassistant/custom_components/bluetti_bt/const.py add ep200

Have Fun ... it works
4 Likes

Hi,

My 2 Cents on this:

  1. Integration via TCP/IP instead of bluetooth - thus I can turn bluetooth off for my units when I am at home. Minimising the risks involved with bluetooth. Also I can secure my sensitive devices to their own WIFI network.
    NOTE: I know not all devices are WIFI enabled, some are bluetooth only, the existing bluetooth approach could work for those, but it is not a primary requirement from my side.

  2. Local option for unencrypted communication, via TCP/IP… avoiding the painful encryption workaround for bluetooth which is simply blocking me from integrating my APEX300 into Home Assistant.

  3. Multiple devices… I am not sure if a fully supported HA integration is an option, whatever it is, it must support multiple devices… different IP’s…

  4. Local not cloud… When the power goes out, it is likely due to a significant event, I need to be able to control my core Bluetti devices from Home Assistant even if I don’t have access to the internet… which is highly likely when the local grid goes down… That way I can automate my power usage based upon my batteries state.

Happy to discuss openly with the Bluetti team as I have previously.

Cheers,
Andrew Powell

Did you create a fork of it?

  1. I also think integration by WIFI should be the preferred however Bluetooth support might be essential for some parts. A few modern parts off the top of my head are the SolarX 4K and Apex DC hub when not directly connected to an APEX. The new Sodium battery power station is also Bluetooth only.

  2. The App has a feature called visitor access for the Apex 300 I was thinking that could be utilised for home monitoring solutions and permission management.

  3. Would make sense to interface with the Bluetti App and add all devices there as part of the initial setup before moving to direct cloud or local control.

  4. A certain competitor uses a cloud based mosquito server to manage communication but some developers have managed to control devices with a local mosquito server once they work out the commands. Local control would be good or a fallback to Bluetooth in the event of internet loss.


At this point I am just desperate for any kind of Smart App control which can support scheduling so I can run my routines on the Apex 300.


Has anyone tried the Amazon alexa bluetti skill with the Apex 300? Does it work? I am in the UK so can’t test the skill as it’s USA only, but I was thinking it could work if I registered a device to a USA account install the skill then use something like Alexa Media player to interface with Home assistant to control the AC and DC switches or even just use Amazon to make the routines.

Hi,
thanks very much for discussing a problem I’m working on since same time.
I just started with the community.
I work with Home Assistant on a RasPi5 and use an AC300 since 2 years. The RasPi has a poor and unstable BLE for connecting AC300. This means that direct integration with HA is not applicable for me.
I found a work around with ESP32 in C++. Network (WiFi and BLE) of ESP32 is very well.
Communication to HA runs using MQTT, to Bluetti using BLE on Modbus protocol.
This works stable and pretty well as long as I know addresses.
More info and the 3 sources I used for you can find on my github repository https://github.com/MDFreak/md_Bluetti_ESP32_Bridge.
It is not finished and not complete (only status requests, no controls are tested).
The file Device_AC300.h contains the items I am able to read.
Maybe this helps anybody.
Additionally I want to extend my system and asked Bluetti in another post for providing the memory map of the BLE/Mosbus interface.
https://community.bluettipower.com/t/extend-standalone-ac300-4-b300-system-with-another-ac300-b300-in-master-slave-mode/39500
Martin

Hi @MDFreak
I also use the ESP32 with the mariolukas project. However, it took hours to adjust the addresses for the EP600, especially when two of them are running in parallel…
I also added the commands to my ESP32, so I can change some settings via script.
Your second link does not work.
I had already asked Bluetti what the addresses of the Bluetooth interface would be… The answer was that it is only internal and will not be disclosed…

PS: Since your first name sounds German, I could post my list of EP600 commands in a German forum as a suggestion: EP600 » EP600 mit MQTT verbinden ...

As an owner of a new Elite 100 V2 I would appreciate an MQTT integration. MQTT should expose all options that are available via app (maybe internal temp should be also exposed to catch and prevent malfunctioning errors). I think it should use Wi-Fi, better than Bluetooth, I have old devices which I can’t not connect any more due to different versions of Bluetooth installed on my phone and the devices. Wi-Fi is a protocol that has been battle tested and there are plenty of developers who could take action if the company goes kaput in the future. I would like the integration to be fully local and not to depend on quirks like the Bluetooth requiring me to expose my location every time I try to access the app. Make it fully local, not third parties involved and not need for registration, and make it battle tested for the future.

I think the integration with home assistant will give you an advantage over your competitors as there is a big market in the home automation business and a very dedicated community using home assistant. I’m using the Elite 100v2 as a backup and solar input for my home so it is stationary… I picked the Elite 100 v2 to be able to carry around a portable energy storage in case of disaster, we had a big blackout in our country (Spain) this year and it gives us peace of mind knowing we can rely a few hours on batteries if we need it.

Please make it fully local and not need for registration or other quirks

I made a version/fork for my Bluetti AC200max , it just uses the already built bluettie MQTT/home assitant to send it to a web browser as i dont use home assistant and couldent get websockets to work with my Pi so it uses basic https fetchs , i intend to hook it up to other thing but as a template it works for what i need, just thought id drop it here as Cursor AI did 90% of the work.: