{"id":16140852,"url":"https://github.com/ellerbach/openveluxmqtt","last_synced_at":"2026-06-18T16:31:51.673Z","repository":{"id":114567767,"uuid":"482833303","full_name":"Ellerbach/OpenVeluxMqtt","owner":"Ellerbach","description":"Velux remote hack with .NET nanoFramework and Home Assistant","archived":false,"fork":false,"pushed_at":"2023-03-06T14:26:00.000Z","size":170,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-25T16:33:26.637Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ellerbach.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-18T12:10:35.000Z","updated_at":"2024-07-04T09:13:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"ffa5e8f0-566c-40b6-ac61-6651be8f1a4a","html_url":"https://github.com/Ellerbach/OpenVeluxMqtt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ellerbach/OpenVeluxMqtt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellerbach%2FOpenVeluxMqtt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellerbach%2FOpenVeluxMqtt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellerbach%2FOpenVeluxMqtt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellerbach%2FOpenVeluxMqtt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ellerbach","download_url":"https://codeload.github.com/Ellerbach/OpenVeluxMqtt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellerbach%2FOpenVeluxMqtt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34499405,"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-06-18T02:00:06.871Z","response_time":128,"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":[],"created_at":"2024-10-09T23:53:57.134Z","updated_at":"2026-06-18T16:31:51.663Z","avatar_url":"https://github.com/Ellerbach.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hack Velux remote control to connect with MQTT using .NET nanoFramework\n\nThis projects explains how to hack a Velux remote control to control your windows and connecting all this to MQTT. It adds as well an AM2320 for the temperature and humidity. All based on the beautiful [.NET nanoFramework](https://github.com/nanoFramework)!\n\nThe reason why it's using a remote control to pilot the Velux is because otherwise you need a special box that connect to your network with a set of API and then you can pilot your Velux. I just wanted to have some fun and same few hundreds euros :-)\n\nHere are few pictures of the final solution:\n\n![remote front](./docs/remote-front.jpg)\n\n![remote back](./docs/remote-back.jpg)\n\nThe original remote control looks like this:\n\n![remote original](./docs/remote-full.jpg)\n\n## Some electronic\n\nWhen stripping out a remote control, be careful of screens and any elements like this. The key principle of a button is to create a contact between 2 elements, like in a physical switch. It's the exact same thing.\n\nIn the cas of my remote control, the 2 elements are round, one inside, the other outside. It's important to make sure in which direction the current is going. Equivalent of a physical switch is a saturated transistor in electronic, so that's what we will use. You can see them partially for every button on the previous picture. We will add a small resistor between the ESP32 pin and the collector to reduce the current.\n\n![button](./docs/soldering.png)\n\n## Some code\n\nI won't comment into details the code. Just that you need to have .NET nanoFramework flashed on the device, the Visual Studio extension installed. See the [getting started here](https://docs.nanoframework.net/content/getting-started-guides/getting-started-managed.html).\n\n## MQTT\n\nYou'll need as well a MQTT broker, I'm using [Mosquitto](https://www.mosquitto.org/).\n\n## Home Assistant\n\nAnd finally you'll need [Home Assistant](https://www.home-assistant.io/) as well. Integrate the MQTT as a platform.\n\nYou then add for each of the Velux as sensors:\n\n```yml\n# velux\n- platform: mqtt\n  state_topic: \"velux/percent0\"\n  name: \"Velux Salle de bain\"\n  icon: mdi:window-open\n  qos: 0\n  unit_of_measurement: \"%\"\n```\n\nAnd like this as switch:\n\n```yml\n- platform: mqtt\n  name: \"Velux Salle de bain\"\n  command_topic: \"velux/action0\"\n  state_topic: \"velux/state0\"\n  payload_on: \"ON\"\n  payload_off: \"OFF\"\n  state_on: \"ON\"\n  state_off: \"OFF\"\n  optimistic: false\n  retain: true  \n  qos: 0\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fellerbach%2Fopenveluxmqtt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fellerbach%2Fopenveluxmqtt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fellerbach%2Fopenveluxmqtt/lists"}