Git Product home page Git Product logo

Comments (6)

mattwells avatar mattwells commented on September 23, 2024

I'm still working out how this works myself but it appears that the listening happens in custom_components/ecoflow/ecoflow/rxtcp.py. This class creates a TCP connection to the battery which will then send packets of data about is happening. This binary stream is then converted to something that Home Assistant can use in custom_components/ecoflow/ecoflow/receive.py if you take a look around line 165 you can see where it is converting the binary.

I'm sure someone else can give you better information that I can but it might help you get started.

I get the impression that you are trying to make your own listener and if that is the case something to consider is that Ecoflow have an MQTT server that they host and it is possible to subscribe to that where it send JSON. I was involved in some discussion about it in this ticket in another repo v1ckxy/ecoflow-withoutflow#1 (comment) However using the solution that vwt12eh8 is made is a much nicer solution as it doesn't require an internet connection or Ecoflow's own services.

from hassio-ecoflow.

joejeff123 avatar joejeff123 commented on September 23, 2024

This is all clear. I can get the PD, EMS, MPPT data via port 8055, but I don't find the code where it queries BMS data. If you check HassioEcoFlowClient you can see that it setups filters for BMS. But HassioEcoFlowClient never sends any commands to port 8055, so I wonder how does it enable that Ecoflow starts sending status data including the BMS.

from hassio-ecoflow.

joejeff123 avatar joejeff123 commented on September 23, 2024

I also checked it doesn't use a different port for querying status data, HassioEcoFlowClient uses port 8055.

from hassio-ecoflow.

joejeff123 avatar joejeff123 commented on September 23, 2024

I think I figured it:

def get_bms(): return build2(3, 32, 50)

Would get back the BMS data, but my Ecoflow Delta Pro doesn't reply anything if I send this. PD, EMS etc work.

from hassio-ecoflow.

vwt12eh8 avatar vwt12eh8 commented on September 23, 2024

As far as I can tell, the BMS data is pushed at regular intervals.
However, you need to be aware that it is sent at the same time as other messages.

When a push is performed, multiple messages may be sent in succession.
If there is "0xAA,0x02" as a header, it can be regarded as the beginning of data, but since multiple data may be included in one reception, processing to search the header is required.
Since BMS is almost always sent together with other messages, it is necessary to take measures against continuous sending.

Note that get_bms() works for the RIVER series, but not for the DELTA series.

Sorry I can not explain well.

from hassio-ecoflow.

joejeff123 avatar joejeff123 commented on September 23, 2024

Thanks, actually after a I connected Ecoflow Delta Pro with the latest Mobile App it started to send data via port 8055 automatically. Before it never did.

So the answer to my question is that Ecoflow sends data by default on port 8055.

from hassio-ecoflow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.