{"id":16358263,"url":"https://github.com/newam/fancontroller","last_synced_at":"2026-02-21T20:04:33.938Z","repository":{"id":94150785,"uuid":"131526381","full_name":"newAM/FanController","owner":"newAM","description":"IR remote with Ethernet connectivity for home automation","archived":false,"fork":false,"pushed_at":"2021-11-09T06:06:10.000Z","size":431,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-19T17:50:20.089Z","etag":null,"topics":["arduino","ethernet","fan","home-assistant","home-automation","ieee-802-3af","mqtt"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/newAM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2018-04-29T20:12:21.000Z","updated_at":"2023-11-09T16:27:41.000Z","dependencies_parsed_at":"2023-07-26T22:15:26.851Z","dependency_job_id":null,"html_url":"https://github.com/newAM/FanController","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"21e43a8d0fa02cdc0d81f77619431ec01377d71e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/newAM/FanController","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newAM%2FFanController","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newAM%2FFanController/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newAM%2FFanController/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newAM%2FFanController/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/newAM","download_url":"https://codeload.github.com/newAM/FanController/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newAM%2FFanController/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29691948,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T18:18:25.093Z","status":"ssl_error","status_checked_at":"2026-02-21T18:18:22.435Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["arduino","ethernet","fan","home-assistant","home-automation","ieee-802-3af","mqtt"],"created_at":"2024-10-11T02:05:12.824Z","updated_at":"2026-02-21T20:04:33.916Z","avatar_url":"https://github.com/newAM.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## IR Fan Controller\r\n\r\n### What is it?\r\nThis project is an Ethernet connected IR remote control for a the Seville classics ultra slimline tower fan, but it can be easily adapted to control other IR devices.  \r\n\r\n### Why?\r\nTo connect my fan to Home Assistant so that it can turn on automatically when it gets hot, and turn off automatically when I leave home.\r\n\r\n#### Why PoE?\r\nWireless home automation devices often make sense only when they are battery powered, if a power cable needs to be run it can carry data too.  Designing a low power wireless device is far more complicated than designing a wired device and running an Ethernet cable.\r\n\r\n![front](FanController_Media/front.jpg)\r\n\r\n![home_assistant_card](FanController_Media/home_assistant_card.png)\r\n\r\n## Overview\r\nHome Assistant → MQTT Broker → W5100 (Ethernet) → ATMega328P (MCU) → IR LED\r\n\r\nThe controller takes the states of the power, oscillation, mode, timer, and speed from Home Assistant.  These values are used to build the IR code then transmit it through the IR LED.\r\n\r\n## Project Contents\r\n* FanController_ArduinoCode - firmware for the ATMega328P\r\n* FanController_Guide - reverse engineering guide for IR codes\r\n* FanController_HomeAssistant - example Home Assistant configuration\r\n* FanController_KiCAD - schematic and PCB\r\n* FanController_Media - photos\r\n\r\n## Software Used\r\n* [KiCad](http://kicad.org/)\r\n* [Arduino IDE](https://www.arduino.cc/en/Main/Software)\r\n* [OpenSCAD](http://www.openscad.org/)\r\n* [Libre Office](https://www.libreoffice.org/)\r\n* [Home Assistant](https://www.home-assistant.io/)\r\n\r\n### Arduino Libraries used\r\n* [Arduino MQTT Client](https://github.com/knolleary/pubsubclient)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewam%2Ffancontroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnewam%2Ffancontroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewam%2Ffancontroller/lists"}