Skip to content

Instantly share code, notes, and snippets.

@foxthefox
Created January 23, 2024 07:26
Show Gist options
  • Save foxthefox/11ac35433c228085a8f5e25d5651632a to your computer and use it in GitHub Desktop.
Save foxthefox/11ac35433c228085a8f5e25d5651632a to your computer and use it in GitHub Desktop.
ecoflow_node-red
[
{
"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": ""
}
]
@foxthefox
Copy link
Author

Hmm, wenn bei .../set nichts ankommt, dann wirds wohl nur ne Anzeige werden können. Oder man findet noch das Topic auf dem die Befehler gesendet werden.
Danke dennoch erstmal, ich werde es erstmal so implementieren.

@Lilian-Muxart
Copy link

Hello, I’m contacting you because I would like to start my dual fuel smart generator via MQTT. I’ve looked through the documentation but I couldn’t find the payload (JSON) to send to the MQTT server to start the generator. I tried something like this, but it didn’t work. Do you have a solution ?
{
"from": "tcp",
"id": "995956690",
"version": "1.0",
"moduleType": 1,
"operateType": "motorStateCfg",
"params": {
"enabled": 1
}
}

@foxthefox
Copy link
Author

The usual way would be to look at the mqtt telegrams which are sent through the App to the device.
If you have built up the nodered flow then the ".../set" is the one for debugging. The nice thing about mqtt is the ability to see as a client what other clients have done when the same topic is subscribed. So the App gets visible.

Since I do not have data for the dual fuel generator, it would be good if you could post the messages from the debug2, 3 and 5.
Then I would integrate it in the iobroker adapter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment