diy solar

diy solar

Search results

  1. chromedshark

    Bluetti AC300 Third-Party Software or Apps.

    @Topas0865 My background isn't really in electrical engineering, so I haven't done any research into that. Their Bluetooth (and WiFi) protocol is based around MODBUS, so it wouldn't surprise me if you discovered that the BMS also uses MODBUS.
  2. chromedshark

    Monitoring Bluetti Systems

    So it looks like there are two errors here: 1. The first error is that it cannot connect to an MQTT broker. You must install an MQTT broker like Mosquitto separately (or use the MQTT broker integration for Home Assistant if you want to go that route). By default they won't have a username or...
  3. chromedshark

    Monitoring Bluetti Systems

    Huh, looking at the Home Assistant add-on system, it probably wouldn't be that difficult to build a configurable add-on that runs bluetti-mqtt as a service, so you'd get logs, configurability, and automatic restarting. It's not anywhere close to what a native "integration" can provide, but...
  4. chromedshark

    Monitoring Bluetti Systems

    @Tinkerpete Short answer is that there is a way to fetch multiple values at once and I'm doing that in bluetti-mqtt. The longer answer is that can you use a query command (the 0x03 command) with a size greater than 1. The command 010300240001C401 will return a single field, the DC Input Power...
  5. chromedshark

    Monitoring Bluetti Systems

    @twister36 I only have a single AC300, but I suspect this is because one of the two places that value is stored should be ignored in this case. The question is which. If you use the bluetti-logger command to collect logs from both your devices (just run it for ~5 minutes against each device) and...
  6. chromedshark

    Monitoring Bluetti Systems

    @ApolloSK When you run bluetti-mqtt for the first time it "permanently" adds those homeassistant keys, so any time a client connects to the MQTT broker it'll receive that config data automatically. If you're not seeing anything other than those keys then the script is probably not running for...
  7. chromedshark

    Monitoring Bluetti Systems

    It's possible this is the same reason as this other report. When running services with systemd, logs are automatically sent to syslog, and should be readable by running journalctl -u name-of-the-service.target. You can use the -n 100 flag to specify the number of lines to print out, or the -f...
  8. chromedshark

    Monitoring Bluetti Systems

    It's not a UUID - it's just a string of raw bytes. Once you have the write characteristic (the BLERemoteCharacteristic*) you'll notice it has a writeValue method for either a string or raw uint8_t array. You'll just call it with any command string. The default for setting response to false here...
  9. chromedshark

    Monitoring Bluetti Systems

    @Tinkerpete Yeah, the string you need to send for the DC Input Power is "\x01\x03\x00\x24\x00\x01\xc4\x01". I did a detailed breakdown of how this is all built earlier in the thread so I'm not sure if you read that and there was something I said that was still unclear or you just missed that...
  10. chromedshark

    Monitoring Bluetti Systems

    @MrGPS Hmmmmmm. That warning that it's using Python 2.7 for pip seems like a problem. I went ahead and installed Python 3.7 just to test this and it works perfectly to install without any dependency issues. You might want to try python3 -m pip install bluetti_mqtt to force it to use Python 3.7...
  11. chromedshark

    Monitoring Bluetti Systems

    As far as I can tell only DC1 details are available over bluetooth. In theory there might be some way to switch it from reporting DC1 to DC2 to get both, but I haven't been able to figure out how to do that.
  12. chromedshark

    Monitoring Bluetti Systems

    I'm still a bit of a novice with Python, but I think if you run pip install 'bleak==0.14.3' it'll install a version of Bleak that is compatible with Python 3.7. Once that's done you should be able to run pip install bluetti_mqtt?
  13. chromedshark

    Monitoring Bluetti Systems

    @Tinkerpete Normally with a BLE device you can just read a specific characteristic to get the data you want, but the Bluetti is unfortunately more complicated than that. There are two characteristics I've been using to communicate with the device. Commands are written to the write...
  14. chromedshark

    Monitoring Bluetti Systems

    Linux instructions can be... complicated, but assuming that you're using a modern Raspberry Pi distro, you should be able to use systemd. You'll want to take the following and write it to a file called /etc/systemd/system/bluetti-mqtt.service, after first modifying the User=your_username_here...
  15. chromedshark

    Monitoring Bluetti Systems

    Yeah, I’ve noticed that the ”internal” values I’m pulling sometimes make absolutely no sense, but they’re not always bad or I wouldn’t be bothering. Feel free to ignore them. The battery voltages are always 0 because I haven’t yet written any code to page through each of the attached batteries...
  16. chromedshark

    Monitoring Bluetti Systems

    My guess is that it’s not possible. Typically you’d need to use micro python with the ESP32, and there are a lot of things that wouldn’t work there (Bleak & asyncio, just to start). It’s possible the parsing code would run in micro python, but you’d likely need to rewrite everything else.
  17. chromedshark

    Monitoring Bluetti Systems

    I'd feel bad accepting money for something that I'm not providing any guarantees for. I'm working on this because I enjoy it, which sometimes means that I need to take a break to keep going. Another developer submitted a patch to add Home Assistant auto-discovery, and based on my testing today...
  18. chromedshark

    Monitoring Bluetti Systems

    I'm fairly certain that only STOP and INVERTER_OUTPUT apply for the AC200M. The other 3 values have to do with how some of Bluetti's device can pass through AC power direct from the wall. There's a post on the official Bluetti forums detailing the other three modes.
  19. chromedshark

    Monitoring Bluetti Systems

    Oops, just realized I wasn't getting email notifications. @NiklasG I currently have no plans to support wifi. I don't know of any way to connect to the AC300 directly over wifi (it's got open ports on it, but I don't know how to talk to them). The only way I know to control it over wifi is to...
  20. chromedshark

    Monitoring Bluetti Systems

    Ahh, sorry, I’ve started keeping a changelog now so that this information is easier to find. Version 0.5.1 adds a debugging feature that provides more information for diagnosing issues. Regarding your feature requests for username, password, and port control, those can be found in version 0.6.0...
  21. chromedshark

    Monitoring Bluetti Systems

    v0.3.0 has been released with support for sending commands over MQTT. I changed the topics slightly from v0.2.1 to make the implementation easier: previously they looked like bluetti/state/AC3001234567890123/ac_output_power but now they look like...
  22. chromedshark

    Monitoring Bluetti Systems

    I'll have to see how far I make it today, but the first version that supports reporting to an MQTT broker has been released (v0.2.1). Notes: I've tested it on Ubuntu with Python 3.7, but it should work on newer versions of Python. Theoretically it supports monitoring multiple devices...
  23. chromedshark

    Bluetti AC300 Third-Party Software or Apps.

    I’m currently working on something over in another thread. I’m just working on it in my spare time, but the hard part of reverse engineering how it works is mostly solved.
  24. chromedshark

    Question about AC300 electrical design

    I'm not sure if this is the correct forum, but I'm looking for a high level explanation of the various major electrical components in the AC300 to help in my reverse engineering project. I know it has to have at least one DC->AC converter, at least one AC->DC converter, and a bunch of extra...
  25. chromedshark

    Monitoring Bluetti Systems

    Quick update. I've finally put together a script that logs (raw) data by polling the device over Bluetooth. I have a single AC300 with a B300, so I'm looking for data from other devices and configurations. DM me and I can send you an email address to send logs to if you'd like to help out. Next...
  26. chromedshark

    Monitoring Bluetti Systems

    If I assume each line that ends with an ellipsis is missing 4 bytes at the end, it does appear to match up with the existing parser research I've done. If you were to plug it into the wall and turn on the AC / DC output and hook up some loads to it, then we could use that to confirm that all the...
  27. chromedshark

    Monitoring Bluetti Systems

    It looks like you’re still missing data. The “AC200M” should show up at offset 10, or 20 bytes in, and does in your first post. In what you just posted, however, it’s somehow at offset 8 (16 bytes in), so we’re somehow missing 4 bytes. There’s “…” at the end of every line. Is it possible that...
  28. chromedshark

    Monitoring Bluetti Systems

    :ROFLMAO: I just re-ran the checksum reverse engineering script and it says the Bluetooth messages are using standard CRC-16/MODBUS. It looks like the extra 0x01 byte at the beginning of the MQTT packet is ignored for the checksum, but it was throwing me off completely. Well that makes things a...
  29. chromedshark

    Monitoring Bluetti Systems

    Oh wow, nice work! It looks like it works almost exactly like what I'm seeing over MQTT, so that's great news! Write Command - FF02 - Value: 0103 000A 0037 241E The MQTT packets start with "0101", but the bluetooth packets appear to start with just "01". This just appears to be a fixed prefix...
  30. chromedshark

    Monitoring Bluetti Systems

    The general process is to start by getting some form of monitoring that allows you to use the app on your phone and observe what is communicated. Once you have enough data you can start building your own client implementation. I think both iOS and Android have developer tools for doing this, but...
  31. chromedshark

    Bluetti AC300 AC1 Charging

    By default the AC300 is going to pull 15 amps from the grid, so if you have a loaded circuit or are far enough away from the entrypoint to your house (like in a detached garage or something), you’ll see a significant voltage drop. I don’t know why they don’t let you lower the current without the...
  32. chromedshark

    Monitoring Bluetti Systems

    TLDR: I'm looking for packet captures to confirm message checksum behavior and to verify behavior for other systems than a single AC300 + B300. The AC300 (and other larger Bluetti devices) support both bluetooth and wifi for control. Bluetooth control does not require a pin, so anybody nearby...
Back
Top