{"nodes":[{"name":"SFTP zip file content","type":"n8n-nodes-base.ftp","position":[1520,680],"parameters":{"path":"=zigbee_backups/zigbee_backup_{{ new Date().toISOString().replaceAll(':','_') }}.zip","protocol":"sftp","operation":"upload"},"credentials":{"sftp":{"name":"SFTP Zigbee Backups"}},"typeVersion":1,"id":"baa114b6-43be-461e-9c00-eca4bf11f82a","notes":"This ftp node performs automated tasks as part of the workflow."},{"name":"CRON Monday 2:45 am","type":"n8n-nodes-base.scheduleTrigger","position":[860,440],"parameters":{"rule":{"interval":[{"field":"cronExpression","expression":"45 2 * * 1"}]}},"typeVersion":1.1,"id":"d8749285-9436-4381-b9d0-fdce91f059bc","notes":"This scheduleTrigger node performs automated tasks as part of the workflow."},{"name":"Send Zigbee2MQTT backup request","type":"n8n-nodes-base.mqtt","position":[1040,440],"parameters":{"topic":"zigbee2mqtt/bridge/request/backup","message":"getbackup","options":{},"sendInputData":false},"credentials":{"mqtt":{"name":"MQTT account"}},"typeVersion":1,"id":"c0e4d72b-0cb2-4699-b2b4-936135b2fde2","notes":"This mqtt node performs automated tasks as part of the workflow."},{"name":"MQTT Trigger - Backup Response","type":"n8n-nodes-base.mqttTrigger","position":[860,680],"parameters":{"topics":"zigbee2mqtt/bridge/response/backup","options":{}},"credentials":{"mqtt":{"name":"MQTT account"}},"typeVersion":1,"id":"6cc320b1-ad2f-467f-a2f1-bb4d46662d07","notes":"This mqttTrigger node performs automated tasks as part of the workflow."},{"name":"Parse JSON Object from Message Text","type":"n8n-nodes-base.code","position":[1080,680],"parameters":{"mode":"runOnceForEachItem","jsCode":"\nlet containerObject = JSON.parse($json.message);\nlet messageObject = containerObject.data;\nreturn messageObject;"},"typeVersion":2,"id":"71389cf8-278c-4104-8fe3-2933fcd0736d","notes":"This code node performs automated tasks as part of the workflow."},{"name":"Convert to File - base64 to binary","type":"n8n-nodes-base.convertToFile","position":[1300,680],"parameters":{"options":{},"operation":"toBinary","sourceProperty":"zip"},"typeVersion":1,"id":"61ae5760-60ae-4d23-8004-eab93624088f","notes":"This convertToFile node performs automated tasks as part of the workflow."},{"id":"error-569c784c","name":"Error Handler","type":"n8n-nodes-base.stopAndError","typeVersion":1,"position":[1000,400],"parameters":{"message":"Workflow execution error","options":{}}}],"connections":{},"name":"Ftp Workflow","description":"Automated workflow: Ftp Workflow. This workflow processes data and performs automated tasks.","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"meta":{"instanceId":"workflow-4e294a2b","versionId":"1.0.0","createdAt":"2025-09-29T07:07:42.587272","updatedAt":"2025-09-29T07:07:42.587284","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"notes":"Excellent quality workflow: Ftp Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}