{"id":19129656,"url":"https://github.com/almostengr/home-automation","last_synced_at":"2026-05-09T09:36:32.027Z","repository":{"id":43356702,"uuid":"200416565","full_name":"almostengr/home-automation","owner":"almostengr","description":"Home automation microservices for system that have a web interface but no API","archived":false,"fork":false,"pushed_at":"2023-06-17T01:54:14.000Z","size":136811,"stargazers_count":2,"open_issues_count":11,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-03T10:46:49.992Z","etag":null,"topics":["automation-selenium","c-sharp","csharp","dd-wrt","dd-wrt-router","dotnet-core","dotnetcore","home-automation","internet-check","micro-services","microservices","net50","router","selenium","selenium-webdriver","webdriver"],"latest_commit_sha":null,"homepage":"http://thealmostengineer.com/internetmonitor","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/almostengr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2019-08-03T20:07:07.000Z","updated_at":"2023-11-13T12:13:21.000Z","dependencies_parsed_at":"2025-01-03T10:44:23.306Z","dependency_job_id":"51d1cc5c-8643-4427-bda4-2e1c6f2d8758","html_url":"https://github.com/almostengr/home-automation","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almostengr%2Fhome-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almostengr%2Fhome-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almostengr%2Fhome-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almostengr%2Fhome-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/almostengr","download_url":"https://codeload.github.com/almostengr/home-automation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240206968,"owners_count":19765036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-selenium","c-sharp","csharp","dd-wrt","dd-wrt-router","dotnet-core","dotnetcore","home-automation","internet-check","micro-services","microservices","net50","router","selenium","selenium-webdriver","webdriver"],"created_at":"2024-11-09T06:08:04.593Z","updated_at":"2026-05-09T09:36:27.003Z","avatar_url":"https://github.com/almostengr.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Home Automation Microservices\n\nThis project originaly was for internet monitor. It has expanded to be a microservices platform \nthat integrates with Home Assistant for home automation. Several IOT devices have web interfaces, such as \nrouters, but do not have APIs. Thus this API was created so that an API could be called by the home \nautomation system, to perform tasks that via the device's HTML interface.\n\n## Internet Monitor\n\nReboots the DD-WRT router when there are no WiFi clients connected to it.\n\n### Problem\n\nMy router would occasionally disconnect any of the wireless clients that were connected to it. Since\nI have wired and wireless devices connected, some of the time I would not know that the wifi had\nstopped working until my phone or laptop wouldn't connect or I noticed that a automation did not\ntrigger when it should have.\n\n### Solution\n\nAfter updating to the latest DD-WRT firmware, the problem persisted.  Given that I work building\nautomations to improve business processes, I decided that I would build and automation that would\nconnect to the router’s web interface and see if there are any wireless clients connected to it.\nIf there are no connected wireless clients, then there is a great chance that the wifi process that\nauthenticates clients has crashed.  As a result, the process would need to be restarted and the easiest\nway to restart the process would be to reboot the router.\n\n### Project Information\n\nFor more information about this project and help documentation, visit \n[https://thealmostengineer.com/internetmonitor](https://thealmostengineer.com/internetmonitor).\n\n## HD Home Run\n\nCan install updates and check the status of the HD HomeRun.\n\n### Problem\n\nHD HomeRun receives updates via the web and displays a notification on the web UI of the device. Unless \nyou visit the web UI of the device, you will not know that an update is ready to be installed.\n\n### Solution \n\nCreate a Selenium Webdriver automation that is triggered by an API call from Home Assistant to see \nif there updates available. When updates are available, Home Assistant will show a notification about \nthe updates. This also has functionality to get the system and tuner status of the HD HomeRun and \ndisplay it in Home Assistant.\n\n## Transcript Cleaner\n\nCleans transcripts that have been download from YouTube. \n\nThis application is used to create blog posts on by business website [rhtservices.net](https://rhtservices.net),\n[business Facebook page](https://www.facebook.com/rhtservicesllc), \nmy blog [thealmostengineer.com](https://thealmostengineer.com),\nas well as to be used on [YouTube](https://www.youtube.com/channel/UC4HCouBLtXD1j1U_17aBqig?sub_confirmation=1)\nafter they have been proofread and properly formatted.\n\nTo use this application, you will have to compile it like any other .NET Core application either via the \ncommand line or using Visual Studio.\n\nThis application is designed to only process SRT caption files. May be expanded in the future to \nprocess additional caption and subtitle files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falmostengr%2Fhome-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falmostengr%2Fhome-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falmostengr%2Fhome-automation/lists"}