{
  "name": "EcoFlow Stream Command",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -304,
        -48
      ],
      "id": "e5ed19a7-26f4-4bc0-9eb0-4739031541ce",
      "name": "When clicking ‘Execute workflow’"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "ada09a4c-25ed-4dd1-9b0f-beaa8ef27b25",
              "name": "accessKey",
              "value": "my_access_key",
              "type": "string"
            },
            {
              "id": "195172db-3cfc-41b5-a53f-84522b4c267d",
              "name": "SecretKey",
              "value": "my_secret_key",
              "type": "string"
            },
            {
              "id": "5953a6b8-fe32-43d2-b49b-920151ab4655",
              "name": "nonce",
              "value": "={{Math.floor(Math.random() * 1000000)}}",
              "type": "string"
            },
            {
              "id": "56e4d8fc-d9c4-4937-9ce6-c127395f5dee",
              "name": "timestamp",
              "value": "={{ Date.now() }}",
              "type": "string"
            },
            {
              "id": "c3722ffd-1e84-42ae-a7b4-9ba45ea63056",
              "name": "host",
              "value": "https://api-e.ecoflow.com",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -160,
        -48
      ],
      "id": "87dcd94c-96df-4b77-9c52-e190b21a221a",
      "name": "Setup credentials"
    },
    {
      "parameters": {
        "action": "hmac",
        "type": "SHA256",
        "value": "={{ $json.query_clear+\"&\"+$('auth clear').item.json.auth_clear }}",
        "dataPropertyName": "sign",
        "secret": "={{ $('Setup credentials').item.json.SecretKey }}"
      },
      "type": "n8n-nodes-base.crypto",
      "typeVersion": 1,
      "position": [
        320,
        -48
      ],
      "id": "4efffdac-a80c-4bf1-bc24-37324427262e",
      "name": "Crypto2"
    },
    {
      "parameters": {
        "method": "PUT",
        "url": "={{ $('create query sign clear').item.json.URL}}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "accessKey",
              "value": "={{ $('Setup credentials').item.json.accessKey }}"
            },
            {
              "name": "timestamp",
              "value": "={{ $('Setup credentials').item.json.timestamp }}"
            },
            {
              "name": "nonce",
              "value": "={{ $('Setup credentials').item.json.nonce }}"
            },
            {
              "name": "sign",
              "value": "={{ $json.sign }}"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\n    \"sn\": \"my_serial_number\",\n    \"cmdId\": 17,\n    \"cmdFunc\": 254,\n    \"dirDest\": 1,\n    \"dirSrc\": 1,\n    \"dest\": 2,\n    \"needAck\": true,\n    \"params\": {\n        \"cfgBackupReverseSoc\": Soc_backup_value\n    }\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        496,
        -48
      ],
      "id": "94bdbc5f-92be-461c-8d3a-61e52ac4e4f7",
      "name": "HTTP Request2"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "85488de1-8876-4b75-b5c8-10e526e696c1",
              "name": "auth_clear",
              "value": "={{ \"accessKey=\"+$json.accessKey+\"&nonce=\"+$json.nonce+\"&timestamp=\"+$json.timestamp }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -16,
        -48
      ],
      "id": "d63b34cf-739a-4ca7-87d3-9b8d8f987f61",
      "name": "auth clear"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "85488de1-8876-4b75-b5c8-10e526e696c1",
              "name": "query_clear",
              "value": "={{ \"cmdFunc=254&cmdId=17&dest=2&dirDest=1&dirSrc=1&needAck=true&params.cfgBackupReverseSoc=Soc_backup_value&sn=my_serial_number\" }}",
              "type": "string"
            },
            {
              "id": "cdc6b15c-9de5-4f18-8196-7131f06627ce",
              "name": "URL",
              "value": "={{ $('Setup credentials').item.json.host + \"/iot-open/sign/device/quota/\" }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        128,
        -48
      ],
      "id": "ddcef778-c8e5-4d2e-b813-afb179a2d2bb",
      "name": "create query sign clear"
    }
  ],
  "pinData": {},
  "connections": {
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Setup credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Setup credentials": {
      "main": [
        [
          {
            "node": "auth clear",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Crypto2": {
      "main": [
        [
          {
            "node": "HTTP Request2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "auth clear": {
      "main": [
        [
          {
            "node": "create query sign clear",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "create query sign clear": {
      "main": [
        [
          {
            "node": "Crypto2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4ba49aa6-4a1b-4bf1-83db-905126bd3799",
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "f33f45179d3d73b9bc2515ac3e22a2039c266614da3c641abfc13a3c0102c184"
  },
  "id": "dXf5H1oCUhFvi9UC",
  "tags": []
}