API or Web Server power status

Previously, I’ve asked Bluetti about an API, but the response I received seemed to suggest no plans or consideration was being given to opening up an API.

My primary desire is to be able to log solar input, grid input and output and take appropriate automated actions based on these to manage loads and alerts (I have the actions/alerts already in place). At the most basic level, I would even be content if the device home screen was available via a simple HTTP server.

I noticed when the EP500Pro is connected to wifi it has a listening socket on port 80. Has anyone been able to run any packet captures to determine if it’s possible to extract this information? I noticed that at least one competing product had an API available. I’m happy with my units, but I’d hate to have to have to setup external monitoring clamps on PV, Grid and Output just to get this, when I know it’s already available (but just not exposed).

I can recommend using an app named Wireshark to listen to the packets being transmitted. Port 80 is the common port for HTTP and maybe the Bluetti app uses it, to

I agree that Bluetti should allow other apps to access the power station status. I need to monitor all alarms and certain parameters, such as battery charge, DC and AC inputs and outputs so I can create my own alarms on my Samsung tablet to warn me when something happens.

I’ve been working on an API for a few months now in my spare time, and have made some progress, but also have a ways to go. There’s more detail over at the thread I created, but basically I figured out how to control and monitor the device over either wifi or bluetooth and I’m currently working on putting something together to release. My current rough plan is to release something that runs on Linux and exposes an MQTT interface to Home Assistant by using the bluetooth interface. If you have thoughts about what you’d like, feel free to share them over there.

If you’d like to help out, feel free to DM your email and I can send you a script to run that can log your device info. You’ll need a computer with bluetooth running Linux (I’m using a raspberry pi). I don’t have access to an EP500, and I’m assuming it works similarly to the AC300 (and AC200MAX), but more info is always useful.

3 Likes

Hi @Chromedshark thank you for the response. I’ve managed to take a tcpdump after enabling port mirror on my switch. I’ll DM you the relevant portion and try to help in anyway I can.

The MQTT interface sounds good, REST API would also be good. Hopefully your design can handle multiple units of the same type. I’m curious about the split phase operation modes as well.

Let me know how I can help… I’m would be interested in this ability as well.

One thing I’ve noticed since allowing the AC300’s on my network are warning from my security system about the AC300. It calls it a “Shanghai High-Flying Smart Plug” and says that it’s authentication procedure uses unencrypted (plain text) authentication… this is actually being flagged by my network monitoring as a high risk item.

And yet… https://api.bluettipower.com/ exists. There is an API, we just lack the public endpoints to make it usable for us.

I installed the bluetti_mqtt package, but when I try to run the following command I get this error:
bluetti_mqtt --scan

Traceback (most recent call last):
File “<pyshell#8>”, line 1, in
bluetti_mqtt --scan
NameError: name ‘scan’ is not defined

It appears that you’re running this from inside the Python shell, when the command should be run from inside PowerShell or the Command Prompt on Windows. It should also be bluetti-mqtt --scan, without the underscore.

I got your email…

It looks like the variable “bluetti-mqtt” was not mapped in my windows system environment variables. I had to run sysdm.cpl and add the keyword “bluetti-mqtt” to map to the location of the bluetti-mqtt.exe file.

So I see both AC300 after my scan… but is this going through my computers WIFI or Bluetooth?