# Homey backup and restore scripts, and rendering of flows

**URL:** <https://community.homey.app/t/homey-backup-and-restore-scripts-and-rendering-of-flows/154869>\
**Category:** Developers\
**Created:** [May 13, 2026, 11:11pm UTC](https://community.homey.app/t/homey-backup-and-restore-scripts-and-rendering-of-flows/154869 "2026-05-13T23:11:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Halfwalker](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/halfwalker/32/121126_2.png) [@Halfwalker](https://community.homey.app/u/Halfwalker)\
**Post date:** [May 13, 2026, 11:11pm UTC](https://community.homey.app/t/homey-backup-and-restore-scripts-and-rendering-of-flows/154869/1 "2026-05-13T23:11:31Z")

</div>

A while back I wanted a way to capture all my flows as backups. There have been several instances of things going awry, and then a card in a flow becomes “Unknown”, and of course I can’t remember exactly how I set it up. Especially bad for logic or Better-Logic-Library cards. Going to each flow and screenshotting it was … painful.

So I started playing with the api to pull the json for each flow - that’s a simple backup and easy to restore. Just navigate to where it belongs, alt-right-click and import. But still, going to Each. Flow. and saving it … yah, only have to do it once, and then remember to do it again when you change/update a flow. Bothersome and prone to forgetfulness. So started a script to back up all the flows as json files.

And then I got to thinking “what if I could render the flow really close to how Homey does it ?”. Pity there’s no endpoint to handle that, would have saved a TON of time. What started as a simple “_back up all the flow jsons_” morphed into a “_can we render a flow ?_” and then to “_crap, need to resolve the devices and variable names_” and so on …

And if we’re going to back up the flow jsons, why not the other jsons too ? Devices, variables, folder names, zones etc. We needed them all anyway to fully resolve the flow card contents … The result was this set of scripts:

> **[GitHub - Halfwalker/Homey-Backups: # Homey Backup & Restore Tools A set of Python...](https://github.com/Halfwalker/Homey-Backups)**
>
> \# Homey Backup & Restore Tools A set of Python scripts to \*\*back up\*\*, \*\*restore\*\*, and \*\*visualise\*\* devices, flows, zones, and variables from a Homey Pro instance via its local REST API. No cloud, no MCP, no add-ons required.

`uv run backup.py --render-png` to back up all the jsons and render all the flows.

For example, here’s a screenshot of a flow, and the rendered version. Not exact, but pretty damn close, good enough to recreate it if needed from the image alone.

 ![Back counter light screenshot](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/c/0c25c18441fb2c492b8d311d03bd13640bb547be.png)

 ![back-counter-light-auto-on-off-7dc0ab63-cd7e-415f-a152-90b92285ef02](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/0/b07db402e383da5d7b9832d0981f5824e673ed41.png)

Note - this is NOT a full backup. It’s just what **I** needed, mainly flow backups and images. But it might be helpful for restoring bits and pieces rather than a whole ground-up restore.
