Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration broken FW 1.6.2.43 #53

Open
e-bits opened this issue Sep 21, 2022 · 21 comments
Open

Integration broken FW 1.6.2.43 #53

e-bits opened this issue Sep 21, 2022 · 21 comments

Comments

@e-bits
Copy link

e-bits commented Sep 21, 2022

Fist of all many thanks for this beautiful integraiton.

Sadly I updated my Firmware Version to 1.6.2.43 on my Delta MAX and now the Integration with Home-Assistant is broken. I tried to remove and re-add my Delta MAX in Home-Assistant with no success.

Do you have some advises or tests I can to to provide further logs?

Hopefully EcoFlow hasn't disabled there local API. Anyone else facing similar problems?

Cheers e-bits

@e-bits e-bits changed the title Integration borken FW 1.6.2.43 Integration broken FW 1.6.2.43 Sep 21, 2022
@Jenda987
Copy link

I have Delta MAX with FW 1.6.2.43 and everything is working to me.
Sometimes is reset needed - try to disconnect everything (input+output) from your unit. turn off you Delta MAX (10s long press of main button) and wait 30m before power on again.

@e-bits
Copy link
Author

e-bits commented Sep 21, 2022

I have Delta MAX with FW 1.6.2.43 and everything is working to me. Sometimes is reset needed - try to disconnect everything (input+output) from your unit. turn off you Delta MAX (10s long press of main button) and wait 30m before power on again.

Thanks for feedback. I tried your workflow but without any success.
Delta MAX is connected to WiFi and responding to ping on a static IP served by DHCP. App is working as well but the integration is stuck somehow.

Anything else I can try?

@Jenda987
Copy link

Can you try to check if port 8055 is opened on DELTA Max? E.g. by running following command (xx.xx.xx.xx is IP address of your DELTA Max) in some linux terminal
nmap -p 8055 xx.xx.xx.xx

@e-bits
Copy link
Author

e-bits commented Sep 21, 2022

Sure, here we go.

Starting Nmap 7.80 ( https://nmap.org ) at 2022-09-21 18:14 CEST
Nmap scan report for 192.168.1.70
Host is up (0.0064s latency).

PORT     STATE  SERVICE
8055/tcp closed senomix04

Nmap done: 1 IP address (1 host up) scanned in 0.17 seconds

@e-bits
Copy link
Author

e-bits commented Sep 21, 2022

I did a fresh setup with linking my Delta MAX to the App again. Therefore I unlinked my existing Delta MAX and did the Setup again. During the Setup I did a Port-Scan and realized shortly after adding my WiFi Credentials the Port 8055 is getting closed.

@vwt12eh8
Copy link
Owner

related #58

@e-bits
Copy link
Author

e-bits commented Sep 22, 2022

I just opened a request at EcoFlow Zendesk and described my problem. I asked if the Port 8055 will be open again on newer Firmware Version or if it would be possible to do a Firmware Downgrade.

I will keep you posted.
Cheers

@Jenda987
Copy link

Jenda987 commented Sep 23, 2022

I opened request also (two days ago) but it seems EcoFlow is focusing only on use of their official API (https://api.ecoflow.com/iot-service/open/api/device/queryDeviceQuota/...).
From communication it seems that closing of 8055 port was intentional :-(

@franki29
Copy link

franki29 commented Oct 4, 2022

Hi, not sure if it works for your delta, but did you try the commands describe in v1ckxy/ecoflow-withoutflow#2 ?

Especially the command curl -X POST -d '{"action":"getTCPServer"}' http://ip-address of your device could be interesting, maybe they change the port?

@Jenda987
Copy link

Jenda987 commented Oct 4, 2022

Hello, I have DELTA Pro, DELTA Max and River RIVER Pro. All units are on latest FW, But only DELTA Pro has all TCP ports closed.
DELTA Max and RIVER Pro still works correctly with this integration. They have also port 80 opened.
So curl -X POST -d '{"action":"getTCPServer"}' http://ip-address/ return following:
DELTA Max: {"action":"getTCPServer","data":{"port":8055},"Msg":"success"}
RIVER Pro: {"action":"getTCPServer","data":{"port":8055},"Msg":"success"}
DELTA Pro: curl: (7) Failed to connect to xx.xx.xx.xx port 80: Connection refused

@franki29
Copy link

franki29 commented Oct 4, 2022

That is strange as the unit must have a port open to communicate with the external server. Have you made a deep scan with nmap?

nmap -Pn -sS -sV --version-all --reason -v -A -O --osscan-guess -p0-65535 IP Address

@Jenda987
Copy link

Jenda987 commented Oct 4, 2022

I will try full scan. So far I tried only to 0-30000

@Cricri6799
Copy link

I try a full scan -p0-65535 on Delta2, all are closed.

@Jenda987
Copy link

Jenda987 commented Oct 4, 2022

Here is my result ...

DELTA Max FW 1.6.2.43:
Not shown: 65533 closed ports
Reason: 65533 resets
PORT STATE SERVICE REASON VERSION
80/tcp open http? syn-ack ttl 255
6093/tcp open unknown syn-ack ttl 255
8055/tcp open senomix04? syn-ack ttl 255

RIVER Pro FW 1.2.5.23:
Not shown: 65533 closed ports
Reason: 65533 resets
PORT STATE SERVICE REASON VERSION
80/tcp open http? syn-ack ttl 255
6093/tcp open unknown syn-ack ttl 255
8055/tcp open senomix04? syn-ack ttl 255

DELTA Pro FW 1.0.0.96:
All 65536 scanned ports on xx.xx.xx.xx are closed because of 65536 resets

@franki29
Copy link

franki29 commented Oct 5, 2022

That is interesting. So what we need is a capture between the device and the server from Ecoflow.
If you have a Fritzbox , it is quite easy with the internal http://fritz.box/html/capture.html to see the ports that they are using.

But do not place a capture here, as it will contain a lot of private information. You should open the capture with wireshark and look at the traffic between your device and the ecoflow server by filtering the stream with ip.addr == IP Address of your device

Without a Fritzbox it is depending on your router if a capture feature is build in or not

@Jenda987
Copy link

Jenda987 commented Oct 5, 2022

I think that Ecoflow unit is connecting to Ecoflow cloud and act as a sender of data. Capture of this communication will not help because Ecoflow unit has probably hardcoded connection to Ecoflow cloud in FW (probably by some URL). If no port is open then it cannot serve as local server which provides some data.
In theory can be created local 'Ecoflow cloud' server, which could be used instead of official - e.g. if local DNS server will return your local IP of this local 'Ecoflow cloud' intead of official IP of Ecoflow cloud. But I am skeptical with it because communication between Ecoflow unit and Ecoflow cloud will be probably protected with some certificates which cannot be easily replaced.
In case of taking data from Ecoflow cloud is better to use official API or MQTT as it was described here #58
I like this integration because it didn't require connection to Ecoflow cloud to get data. For me it's strange that such units which at least partially designed for emergency use will require internet connection over the world or unit must be started in IoT mode which is not secure. If somebody has more units then it's real nightmare to have all units in IoT mode with limited WiFi range and which isn't secured...

@e-bits
Copy link
Author

e-bits commented Oct 11, 2022

Hi I received an answer to my open support ticket.

From the perspective of device security and data privacy, we will not open this port to the public, please you understand.

What should I say, I'm really disappointed.

@franki29
Copy link

That's a joke, as many private data will go to their cloud. Even your wireless password might be send.
So still it would be interesting, how the communication flow to their server is.

@Roughman007
Copy link

Roughman007 commented Oct 11, 2022

@franki29
Copy link

That is the mobile app, but does the device now really connect using MQTT to the ecoflow server? Would be great if so.

@Roughman007
Copy link

Yes it probably connects via MQTT, using the log from the android device I found out the name and password to ecoflow MQTT server. And using the MQTTX app I was able to read the information through the MQTT from the ecoflow server. The information which I got is shown here But I am unable to get the data into home assistant(I am new to MQTT).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants