-
-
Save foxthefox/11ac35433c228085a8f5e25d5651632a to your computer and use it in GitHub Desktop.
| [ | |
| { | |
| "id": "5c3a7efbb734c312", | |
| "type": "tab", | |
| "label": "Flow 1", | |
| "disabled": false, | |
| "info": "", | |
| "env": [] | |
| }, | |
| { | |
| "id": "5b6c19b0a776f928", | |
| "type": "mqtt in", | |
| "z": "5c3a7efbb734c312", | |
| "name": "", | |
| "topic": "/app/device/status/XXXdeviceID", | |
| "qos": "2", | |
| "datatype": "json", | |
| "broker": "4a025f91e9595714", | |
| "nl": false, | |
| "rap": true, | |
| "rh": 0, | |
| "inputs": 0, | |
| "x": 490, | |
| "y": 160, | |
| "wires": [ [ "c8d401ac3c0d530b" ] ] | |
| }, | |
| { | |
| "id": "773fab09ddaa9e53", | |
| "type": "inject", | |
| "z": "5c3a7efbb734c312", | |
| "name": "connect", | |
| "props": [ | |
| { | |
| "p": "action", | |
| "v": "connect", | |
| "vt": "str" | |
| }, | |
| { | |
| "p": "topic", | |
| "vt": "str" | |
| } | |
| ], | |
| "repeat": "", | |
| "crontab": "", | |
| "once": false, | |
| "onceDelay": 0.1, | |
| "topic": "", | |
| "x": 160, | |
| "y": 60, | |
| "wires": [ [ "d5d7e8960ba14429" ] ] | |
| }, | |
| { | |
| "id": "671e0ceff575862c", | |
| "type": "inject", | |
| "z": "5c3a7efbb734c312", | |
| "name": "disconnect", | |
| "props": [ | |
| { | |
| "p": "action", | |
| "v": "disconnect", | |
| "vt": "str" | |
| }, | |
| { | |
| "p": "topic", | |
| "vt": "str" | |
| } | |
| ], | |
| "repeat": "", | |
| "crontab": "", | |
| "once": false, | |
| "onceDelay": 0.1, | |
| "topic": "", | |
| "x": 160, | |
| "y": 120, | |
| "wires": [ [ "d5d7e8960ba14429" ] ] | |
| }, | |
| { | |
| "id": "d5d7e8960ba14429", | |
| "type": "mqtt out", | |
| "z": "5c3a7efbb734c312", | |
| "name": "ef-mqtt", | |
| "topic": "", | |
| "qos": "", | |
| "retain": "", | |
| "respTopic": "", | |
| "contentType": "", | |
| "userProps": "", | |
| "correl": "", | |
| "expiry": "", | |
| "broker": "4a025f91e9595714", | |
| "x": 360, | |
| "y": 60, | |
| "wires": [] | |
| }, | |
| { | |
| "id": "6d38c1d92d6c19eb", | |
| "type": "mqtt in", | |
| "z": "5c3a7efbb734c312", | |
| "name": "", | |
| "topic": "/app/mqttuserID/XXXdeviceID/thing/property/get", | |
| "qos": "2", | |
| "datatype": "json", | |
| "broker": "4a025f91e9595714", | |
| "nl": false, | |
| "rap": true, | |
| "rh": 0, | |
| "inputs": 0, | |
| "x": 360, | |
| "y": 240, | |
| "wires": [ [ "0cf29e3992e7bfdc" ] ] | |
| }, | |
| { | |
| "id": "c8d401ac3c0d530b", | |
| "type": "debug", | |
| "z": "5c3a7efbb734c312", | |
| "name": "debug 2", | |
| "active": true, | |
| "tosidebar": true, | |
| "console": false, | |
| "tostatus": false, | |
| "complete": "false", | |
| "statusVal": "", | |
| "statusType": "auto", | |
| "x": 860, | |
| "y": 160, | |
| "wires": [] | |
| }, | |
| { | |
| "id": "0cf29e3992e7bfdc", | |
| "type": "debug", | |
| "z": "5c3a7efbb734c312", | |
| "name": "debug 3", | |
| "active": true, | |
| "tosidebar": true, | |
| "console": false, | |
| "tostatus": false, | |
| "complete": "false", | |
| "statusVal": "", | |
| "statusType": "auto", | |
| "x": 860, | |
| "y": 240, | |
| "wires": [] | |
| }, | |
| { | |
| "id": "d9ecc011d0be04ea", | |
| "type": "mqtt in", | |
| "z": "5c3a7efbb734c312", | |
| "name": "", | |
| "topic": "/app/mqttuserID/XXXdeviceID/thing/property/get_reply", | |
| "qos": "2", | |
| "datatype": "json", | |
| "broker": "4a025f91e9595714", | |
| "nl": false, | |
| "rap": true, | |
| "rh": 0, | |
| "inputs": 0, | |
| "x": 380, | |
| "y": 300, | |
| "wires": [ [ "5dc759c3914d8893" ] ] | |
| }, | |
| { | |
| "id": "34495fd19ce3c931", | |
| "type": "mqtt in", | |
| "z": "5c3a7efbb734c312", | |
| "name": "", | |
| "topic": "/app/mqttuserID/XXXdeviceID/thing/property/set", | |
| "qos": "2", | |
| "datatype": "json", | |
| "broker": "4a025f91e9595714", | |
| "nl": false, | |
| "rap": true, | |
| "rh": 0, | |
| "inputs": 0, | |
| "x": 360, | |
| "y": 360, | |
| "wires": [ [ "1b07cbc9319439e6" ] ] | |
| }, | |
| { | |
| "id": "196e8e1147aa9c70", | |
| "type": "mqtt in", | |
| "z": "5c3a7efbb734c312", | |
| "name": "", | |
| "topic": "/app/mqttuserID/XXXdeviceID/thing/property/set_reply", | |
| "qos": "2", | |
| "datatype": "json", | |
| "broker": "4a025f91e9595714", | |
| "nl": false, | |
| "rap": true, | |
| "rh": 0, | |
| "inputs": 0, | |
| "x": 380, | |
| "y": 420, | |
| "wires": [ [ "222174cf92b067ba" ] ] | |
| }, | |
| { | |
| "id": "5dc759c3914d8893", | |
| "type": "debug", | |
| "z": "5c3a7efbb734c312", | |
| "name": "debug 4", | |
| "active": true, | |
| "tosidebar": true, | |
| "console": false, | |
| "tostatus": false, | |
| "complete": "false", | |
| "statusVal": "", | |
| "statusType": "auto", | |
| "x": 860, | |
| "y": 300, | |
| "wires": [] | |
| }, | |
| { | |
| "id": "1b07cbc9319439e6", | |
| "type": "debug", | |
| "z": "5c3a7efbb734c312", | |
| "name": "debug 5", | |
| "active": true, | |
| "tosidebar": true, | |
| "console": false, | |
| "tostatus": false, | |
| "complete": "false", | |
| "statusVal": "", | |
| "statusType": "auto", | |
| "x": 860, | |
| "y": 360, | |
| "wires": [] | |
| }, | |
| { | |
| "id": "222174cf92b067ba", | |
| "type": "debug", | |
| "z": "5c3a7efbb734c312", | |
| "name": "debug 6", | |
| "active": true, | |
| "tosidebar": true, | |
| "console": false, | |
| "tostatus": false, | |
| "complete": "false", | |
| "statusVal": "", | |
| "statusType": "auto", | |
| "x": 860, | |
| "y": 420, | |
| "wires": [] | |
| }, | |
| { | |
| "id": "4a025f91e9595714", | |
| "type": "mqtt-broker", | |
| "name": "ecoflow", | |
| "broker": "mqtts://mqtt.ecoflow.com:8883", | |
| "port": "8883", | |
| "clientid": "ANDROID_xxxxxx", | |
| "autoConnect": false, | |
| "usetls": false, | |
| "protocolVersion": "4", | |
| "keepalive": "60", | |
| "cleansession": true, | |
| "autoUnsubscribe": true, | |
| "birthTopic": "", | |
| "birthQos": "0", | |
| "birthRetain": "false", | |
| "birthPayload": "", | |
| "birthMsg": {}, | |
| "closeTopic": "", | |
| "closeQos": "0", | |
| "closeRetain": "false", | |
| "closePayload": "", | |
| "closeMsg": {}, | |
| "willTopic": "", | |
| "willQos": "0", | |
| "willRetain": "false", | |
| "willPayload": "", | |
| "willMsg": {}, | |
| "userProps": "", | |
| "sessionExpiry": "" | |
| } | |
| ] |
Hello,
Finally, I found the payload with the MQTT topics. I didn’t know there were so many more MQTT topics—I was just using the topics written in the official EcoFlow documentation.
Here is the startup payload; it might help:
{
"id": "385091323",
"isMatter": 0,
"moduleType": 2,
"operateType": "motorCtrl",
"params": {
"enable": 1
},
"version": "1.0"
}
I think you should change the mqtt-in nodes.
After "/app/" the mqtt user should be present and not the APP-identifier.
mqtt user should be soemthing starting with "1..."
The App identifier must be part of the mqtt setup at Client-Id
May be interesting for you is ioBroker.ecoflow-mqtt adapter which has in meantime also a section to track and trace the unknwon devices.
see here: foxthefox/ioBroker.ecoflow-mqtt#181
If we are able to decode the telegrams, then we have a running D3+ adapter.

I actually tried to check all possible MQTT topics to see if, when I turn on the generator using the app, I can see the payload in MQTT. Unfortunately, I only see the data from the set/reply and not from the /set. It seems that the app for the dual-fuel generator is sending the frames through another method.