{"id":51419578,"url":"https://github.com/sh1ft-w/flode","last_synced_at":"2026-07-04T23:00:42.999Z","repository":{"id":364115543,"uuid":"1266275751","full_name":"SH1FT-W/flode","owner":"SH1FT-W","description":"Visual flow + node editor for Home Assistant. design automations as diagrams, transpiled to 100% native HA YAML","archived":false,"fork":false,"pushed_at":"2026-07-03T22:38:56.000Z","size":7085,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-04T00:17:37.533Z","etag":null,"topics":["automation","hacs","home-assistant","integration"],"latest_commit_sha":null,"homepage":"https://sh1ft-w.github.io/flode/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SH1FT-W.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-11T13:22:04.000Z","updated_at":"2026-07-03T22:38:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SH1FT-W/flode","commit_stats":null,"previous_names":["sh1ft-w/flode"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/SH1FT-W/flode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SH1FT-W%2Fflode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SH1FT-W%2Fflode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SH1FT-W%2Fflode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SH1FT-W%2Fflode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SH1FT-W","download_url":"https://codeload.github.com/SH1FT-W/flode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SH1FT-W%2Fflode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35138078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","hacs","home-assistant","integration"],"created_at":"2026-07-04T23:00:34.389Z","updated_at":"2026-07-04T23:00:42.072Z","avatar_url":"https://github.com/SH1FT-W.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"custom_components/flode/brand/icon.png\" width=\"100\" alt=\"FLODE Logo\" /\u003e\n\n  \u003ch1\u003eFLODE\u003c/h1\u003e\n\n  \u003cp\u003e\u003cstrong\u003eVisual Flow + Node Editor for Home Assistant\u003c/strong\u003e\u003c/p\u003e\n\n  [![Release](https://img.shields.io/badge/version-1.3.0-2F81F7?style=flat-square)](https://github.com/SH1FT-W/flode/releases/latest)\n  [![HA Version](https://img.shields.io/badge/HA-2025.8%2B-brightgreen?style=flat-square)](https://www.home-assistant.io)\n  [![License](https://img.shields.io/badge/license-Apache%202.0-orange?style=flat-square)](LICENSE)\n  [![Tests](https://img.shields.io/badge/tests-304%20passing-3FB950?style=flat-square)](https://github.com/SH1FT-W/flode/actions)\n  [![HACS](https://img.shields.io/badge/HACS-custom-blueviolet?style=flat-square)](https://hacs.xyz)\n\n  \u003cbr/\u003e\n\n  **[🌐 Website](https://sh1ft-w.github.io/flode)** \u0026nbsp;·\u0026nbsp; [Installation](#installation) \u0026nbsp;·\u0026nbsp; [Changelog](CHANGELOG.md) \u0026nbsp;·\u0026nbsp; [Issues](https://github.com/SH1FT-W/flode/issues)\n\n  \u003cbr/\u003e\n\n  | Light Mode | Dark Mode |\n  |:---:|:---:|\n  | ![FLODE Light Mode](docs/images/flode-light.png) | ![FLODE Dark Mode](docs/images/flode-dark.png) |\n\n\u003c/div\u003e\n\n---\n\n\u003e **Fork notice:** FLODE is based on [C.A.F.E.](https://github.com/FezVrasta/cafe-hass) by [@FezVrasta](https://github.com/FezVrasta) — with numerous bug fixes, new features, and a complete rebranding. All changes are documented in the [CHANGELOG](CHANGELOG.md).\n\u003e\n\u003e **Note:** FLODE is designed not to overwrite any existing data. Nevertheless, we recommend backing up your automations before editing them.\n\n---\n\n## What is FLODE?\n\n**FLODE** is a visual flow editor for Home Assistant automations — inspired by Node-RED, but without an external server. You draw your automations as diagrams and FLODE automatically transpiles them into **100% native Home Assistant YAML**, stored directly in the HA core.\n\nNo vendor lock-in. No external service. Automations remain fully editable in HA's built-in editor.\n\n---\n\n## Features\n\n| Feature | Description |\n|---|---|\n| 🎯 **Visual editor** | Drag and drop triggers, conditions, and actions onto a canvas |\n| 📄 **100% native YAML** | No proprietary format — standard HA automation YAML |\n| 🔄 **Bidirectional** | Import, edit, and save back existing HA automations |\n| 🐛 **Trace overlay** | See a real automation run highlighted directly on the canvas — executed, skipped, and errored nodes, right in the diagram |\n| 🔀 **State machines** | Complex loops via an automatic state machine pattern |\n| 🧭 **Flow control** | Choose, If/Else, Repeat While, Repeat N×, and Parallel as draggable blocks |\n| 🧩 **Native HA UI** | Uses Home Assistant's own theme and native components (pickers, selects, more-info dialogs, etc.) wherever possible |\n| 🏷️ **Full metadata \u0026 targeting** | Set icon, category, labels, and area on save; target actions by area, device, label, or floor |\n| 🔗 **Deep links** | Open FLODE straight into a specific automation from any dashboard button |\n| 🩺 **Diagnostics \u0026 Repairs** | Native HA diagnostics download, and Repair issues for automations that couldn't be imported losslessly |\n| 🌍 **DE \u0026 EN** | Full i18n support, with a per-installation language override |\n| 🌗 **Dark \u0026 light mode** | Automatically follows your configured HA theme |\n\n---\n\n## Installation\n\n### Via HACS (recommended)\n\n[![Open in HACS](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=SH1FT-W\u0026repository=flode\u0026category=integration)\n\n**Manually in HACS:**\n\n1. Open HACS → Integrations → ⋮ → **Custom repositories**\n2. Enter the URL `https://github.com/SH1FT-W/flode`, select type **Integration** → Add\n3. HACS → Integrations → Search for **FLODE** → Install\n4. **Restart** Home Assistant\n5. Settings → Integrations → Add Integration → **FLODE**\n\n### Manually (without HACS)\n\n1. Download the latest version from the [Releases page](https://github.com/SH1FT-W/flode/releases) (`flode.zip`)\n2. Copy the `flode/` folder to `config/custom_components/flode/`\n3. Restart Home Assistant\n4. Settings → Integrations → Add Integration → **FLODE**\n\n---\n\n## Usage\n\nAfter setup, **FLODE** appears in the HA sidebar.\n\n- **New automation** — Start with a trigger node, then connect conditions and actions\n- **Import existing** — Load an existing HA automation via the folder icon\n- **Save** — Saves directly to Home Assistant as a native automation\n- **Export YAML** — View or copy the generated YAML code at any time\n\n---\n\n## Deep Links\n\nFLODE can be opened straight into a specific automation (or a blank editor)\nvia URL query parameters on its panel path:\n\n- `/flode?automation=automation.xyz` — opens the editor with that automation loaded\n- `/flode?new=1` — starts a blank new automation\n\nThis makes \"Edit in FLODE\" buttons possible from any dashboard, e.g. with a\n`button-card` or the built-in **Button Card**'s `navigate` action:\n\n```yaml\ntype: button-card\nname: Edit in FLODE\nicon: mdi:pencil\ntap_action:\n  action: navigate\n  navigation_path: /flode?automation=automation.motion_light_entrance\n```\n\nFLODE also fires a `flode_automation_saved` event on HA's event bus after\nevery save, with the automation's `entity_id` in the event data — so other\nautomations/scripts can react to \"this automation was just edited in FLODE\".\n\n---\n\n## Native Home Assistant UI\n\nFLODE renders directly inside HA's own document (no iframe) and, wherever\npossible, uses HA's **own native components** instead of custom-built ones —\nentity/device/area pickers, the service picker, dropdowns, toggles, and most\nform fields (text, number, date, time, duration, templates, JSON) all come\nstraight from Home Assistant, so they get HA's live entity data, icons,\nfriendly names, and — automatically, no configuration needed — your active\nHA theme, including light/dark mode and custom themes.\n\nThese are undocumented, internal HA components without a stability\nguarantee. FLODE checks for each one before using it and **falls back to its\nown equivalent control** if it isn't available (e.g. very old or very new HA\nversions, or when running FLODE outside of Home Assistant during\ndevelopment) — you'll see a one-time notice if that happens, but the editor\nkeeps working either way. See\n[`docs/ha-native-migration.md`](docs/ha-native-migration.md) for the full\ntechnical writeup.\n\n---\n\n## Technology\n\n- **Frontend:** React 18, Vite, Tailwind CSS, React Flow (xyflow), Zustand, i18next\n- **Transpiler:** TypeScript, js-yaml, ELK layout engine\n- **Validation:** Zod schemas\n- **Tests:** Vitest (303 tests)\n- **HA integration:** Python, custom panel via `panel_custom`\n\n---\n\n## Changelog\n\nAll changes can be found in the [CHANGELOG.md](CHANGELOG.md).\n\n---\n\n## License\n\nApache 2.0 — see [LICENSE](LICENSE)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003eFork by \u003cstrong\u003eSH1FT-W\u003c/strong\u003e, based on \u003ca href=\"https://github.com/FezVrasta/cafe-hass\"\u003eC.A.F.E.\u003c/a\u003e by Federico Zivolo · Actively developed with \u003ca href=\"https://claude.ai\"\u003eClaude (Anthropic)\u003c/a\u003e\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsh1ft-w%2Fflode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsh1ft-w%2Fflode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsh1ft-w%2Fflode/lists"}