-
-
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": "" | |
} | |
] |
Moin,
Hier mal die Übersicht in der App.
DC kann man nicht ein bzw ausschalten ist wen Akku zu geschaltet ist immer an. Bzw Akku nimmt sich das was der braucht.
Also Start Stop
Umschalten auf Eco bzw Hochleistung
68% ist Kraftstofftank
Die 202 könnten Minuten sein gesamte Laufzeit. In der App wird 3h angezeigt
Super, danke.
Dann dürfte acState, motorState und systemMode die Schalter sein, dazu müssten wir dann noch die Kommandos herausfinden (das was bei .../set aufläuft).
Ich werde mal heute Abend Testen.
Ich meine bei /Set hab ich nichts Empfangen.
Ich hab nun noch einmal versucht:
Die daten kommen nur über Debug 7 "/app/device/property/DGEBZ5RE3040062"
Motor An
10.2.2024, 15:48:06node: debug 7
/app/device/property/DGEBZ5RE3040062 : msg.payload : Object
object
params: object
oil.oilVal: 68
oil.acPower: 0
oil.acState: 1
oil.num: 0
latestTimeStamp: 1707576406631
oil.sysMode: 1
oil.type: 2
oil.totalPower: 0
oil.version: 65691
oil.remainTime: 559
oil.dcPower: 0
oil.errCode: 0
oil.ceelId: 0
oil.dcOutState: 0
oil.motorState: 1
oil.oilMaxOutPower: 1800
oil.motorUseTime: 202
version: "1.0"
cmdId: 0
cmdFunc: 0
id: 1656486476091250000
addr: 0
timestamp: 1707576406631
Motor aus:
10.2.2024, 15:48:30node: debug 7
/app/device/property/DGEBZ5RE3040062 : msg.payload : Object
object
params: object
oil.oilVal: 68
oil.acPower: 0
oil.acState: 0
oil.num: 0
latestTimeStamp: 1707576430621
oil.sysMode: 0
oil.type: 2
oil.totalPower: 0
oil.version: 65691
oil.remainTime: 5940
oil.dcPower: 0
oil.errCode: 0
oil.ceelId: 0
oil.dcOutState: 0
oil.motorState: 0
oil.oilMaxOutPower: 1800
oil.motorUseTime: 202
version: "1.0"
cmdId: 0
cmdFunc: 0
id: 1656486682249680000
addr: 0
timestamp: 1707576430621
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.
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
}
}
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.
Bzgl. des Generators hab ich noch Fragen.
Welche Befehle kann man aus der App abesetzen? Generator Start/stop? AC an/aus? DC an/aus?
Die obige Laufzeit von 202 sind Minuten oder Sekunden?
Was könnte oilVal=68 sein?
Für die Kommandos müsste debug8 .../set beobachtet werden, wenn aus der App heraus bedient wird.
Beim .../get_reply wäre interessant wenn man die App öffnet und den Generator auswählt.
Edit: die mqttuserID ist durch die Zahl vom Holen des Logins zu ersetzen. Die Abos auf /app/mqttuserID/.... sind unwirksam