Comments (6)
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.
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.
I also checked it doesn't use a different port for querying status data, HassioEcoFlowClient uses port 8055.
from hassio-ecoflow.
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.
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.
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)
- Refurbished EcoFlow DeltaPro does not work with prior setting
- Setup issue HOT 2
- [Question] Modify Scan interval
- failed to configure HOT 1
- Initial configuration failed. HOT 3
- problem at set up my Delta Pro HOT 1
- Deprecated Constants - Upcoming changes to Home Assistant HOT 1
- Ecoflow Integration sensors no function HOT 1
- Integration broken in Home Assistant 2023.5.0 HOT 25
- Eco
- Ecoflow Entities not working since firmware 1.0.1.49 HOT 8
- Would it be possible to add support for the new Ecoflow Powerstream micro inverter HOT 15
- River 2 MAX compatibillity?
- Compatibilty with Delta 2 Max? HOT 1
- Ecoflow River 2 Max suddenly entities stopped working HOT 1
- Circumvent online requirement for local API access HOT 1
- Delta PRO total output energy HOT 1
- No energy usage for River Pro (Wh)
- Does updating to 1.0.1.61 firmware break integration? (Delta Pro) HOT 13
- Cannot add Delta Pro HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hassio-ecoflow.