[{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/002/400/original/HA_to_AIO.jpg?1779204869","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/002/401/original/AIO_to_HA.jpg?1778862350","metadata":{}},{"element_type":"text","content":"\n  \n  \n        \u003ch1\u003eOverview\u003c/h1\u003e\n\u003cp\u003eOver the last month or so, I've been fine-tuning my Home Assistant setup and thought it would be neat if I could instantly sync data between Home Assistant and Adafruit IO. I love the local-control aspects of HA, but when it comes to creating fun and more complex custom electronics projects, Adafruit IO is much more suited for the job.\u003c/p\u003e\n\u003cp\u003eLeaning into a bit of AI-assisted vibe coding with Claude, I created a custom integration that bridges the gap. It allows you to pick exactly which Entities from Home Assistant you want to send up to Adafruit IO, and which Adafruit IO feeds you want to pull down into Home Assistant. Through the magic of MQTT, this all happens instantly and securely.\u003c/p\u003e\n\u003cp\u003eYou can check out the project repository here: \u003ca class=\"ng-star-inserted\" href=\"https://github.com/tylerdcooper/adafruit_io_sync\" target=\"_blank\"\u003ehttps://github.com/tylerdcooper/adafruit_io_sync\u003c/a\u003e\u003c/p\u003e\n      \n\n","metadata":{}},{"element_type":"alert","content":"\u003cp\u003eInstallation instructions can be found on the projects readme on GitHub\u003c/p\u003e","metadata":{"markdown":"Installation instructions can be found on the projects readme on GitHub","alert_type":"purple","icon":"info"}},{"element_type":"faq","content":" What is HACS? \n","metadata":{"markdown":"What is HACS?","color":"info","icon":"question-mark","expanded":"false"}},{"element_type":"text","content":"\n        \u003ch1\u003eWhat does this integration actually do?\u003c/h1\u003e\n\u003cp\u003eAt its core, the Adafruit IO Sync app acts as a highly selective MQTT bridge configured entirely through a custom sidebar panel—no YAML required. Instead of opening up your entire local smart home network to the cloud, you remain in complete control of the data flow.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe Attribute Unpacker (HA to IO):\u003c/strong\u003e One of the coolest parts of this integration is how it handles complex devices. In Home Assistant, an Entity is rarely just a single value. A smart dimmer switch, for example, isn't just \"On\" or \"Off\", it also has attributes like\u0026nbsp;\u003ccode\u003ebrightness\u003c/code\u003e. Adafruit IO, on the other hand, organizes data into single-value \"Feeds.\"\u003c/p\u003e\n\u003cp\u003eWhen you sync an entity from HA to IO, this app automatically unpacks those extra attributes and breaks them out into multiple, individual feeds. If you sync a dimmer switch, the app instantly creates one feed for the power state (\u003ccode\u003eON\u003c/code\u003e/\u003ccode\u003eOFF\u003c/code\u003e) and a completely separate feed for the brightness level (\u003ccode\u003e0-100\u003c/code\u003e). This makes it incredibly easy to grab exactly the specific data point you need for your microcontroller projects.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eIO to HA:\u003c/strong\u003e You can browse your Adafruit IO groups right from the Home Assistant sidebar and automatically import feeds as native HA sensors, switches, numbers, or text entities.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eChoosing Your Sync Direction\u003c/h1\u003e\n\u003cp\u003eWhen you configure an entity, you can choose how the data flows. Understanding when to use One-Way versus Bidirectional sync is key to keeping your setup running smoothly.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eOne-Way Sync (Logging and Monitoring)\u003c/strong\u003e With a one-way sync, data flows in a single direction (e.g., AIO → HA read-only, or HA → AIO publish-only). This is ideal for logging. For example, if you just want to track when your dehumidifier turns on, or you want to map out temperature trends from a local zigbee sensor, a one-way HA → IO sync is perfect. It updates your Adafruit IO dashboards without giving the cloud any ability to write back and change the state of your local appliances.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBidirectional Sync (Two-Way Control)\u003c/strong\u003e If you select ⇄ Bidirectional, full two-way control is enabled. If you change a value in Home Assistant, it updates in AIO. If you change that same feed in AIO, it instantly updates the physical device via Home Assistant. To keep things stable, the integration has built-in publish-echo detection to prevent infinite data loops where the two platforms rapidly bounce the same state change back and forth.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhy choose one over the other?\u003c/strong\u003e The biggest factor is \u003cstrong\u003eRate Limits\u003c/strong\u003e. Adafruit IO's free tier allows for 30 data points per minute. Because the integration automatically unpacks attributes, a single change to a complex entity (like adjusting a smart light's color and brightness simultaneously) can generate multiple publishes in a split second. If you have dozens of entities set to bidirectional sync, you can hit that limit very quickly. Using one-way sync for sensors that update frequently saves your data rate for the devices you actually need to control.\u003c/p\u003e\n      ","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch1\u003eProject Ideas to Try\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eTwo-Way Smart Home Dashboards:\u003c/strong\u003e Hook up an Adafruit FunHouse board to Adafruit IO. You can display local Home Assistant sensor data right on the FunHouse screen, and use its capacitive touch buttons to trigger HA automations or toggle your smart lights via bidirectional sync.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eCustom Hardware Alerts:\u003c/strong\u003e Build an ESP32-powered NeoPixel matrix for your desk. Whenever a specific event occurs in Home Assistant (like a local leak sensor detecting water, or your security system arming), HA pushes a state change to an IO feed, triggering a message on your matrix.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAdvanced Environmental Logging:\u003c/strong\u003e Push data from local Zigbee soil moisture and temperature sensors in HA up to Adafruit IO. You can then take advantage of IO's dashboarding to track long-term trends, or use IO actions to trigger a valve for a DIY automated plant-watering system. \u003cstrong\u003eBonus: if you are an Adafruit IO+ subscriber\u003c/strong\u003e, you get access to Weatherkit for more accurate weather forecasting to make sure to not turn on the valve if rain is coming soon.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n      \n\n\n\n\n\n\n\n\n\n","metadata":{}}]