{"id":18821675,"url":"https://github.com/goto-eof/elisys-esp32-relay-client-rust","last_synced_at":"2026-04-29T08:33:52.634Z","repository":{"id":210426690,"uuid":"726536090","full_name":"goto-eof/elisys-esp32-relay-client-rust","owner":"goto-eof","description":"This application, developed in Rust programming language, allows to control remotely a relay controlled by an ESP32 device kit.","archived":false,"fork":false,"pushed_at":"2023-12-21T18:00:18.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-22T10:13:20.947Z","etag":null,"topics":["esp32","relay","remote","remotecontrol","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/goto-eof.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}},"created_at":"2023-12-02T17:05:04.000Z","updated_at":"2023-12-05T22:19:48.000Z","dependencies_parsed_at":"2023-12-10T01:40:26.832Z","dependency_job_id":"d9d82635-9058-4414-bdc6-05b0dd03310b","html_url":"https://github.com/goto-eof/elisys-esp32-relay-client-rust","commit_stats":null,"previous_names":["goto-eof/esp32-relay-client-rust"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/goto-eof/elisys-esp32-relay-client-rust","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Felisys-esp32-relay-client-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Felisys-esp32-relay-client-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Felisys-esp32-relay-client-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Felisys-esp32-relay-client-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goto-eof","download_url":"https://codeload.github.com/goto-eof/elisys-esp32-relay-client-rust/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Felisys-esp32-relay-client-rust/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32417824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["esp32","relay","remote","remotecontrol","rust"],"created_at":"2024-11-08T00:45:12.268Z","updated_at":"2026-04-29T08:33:52.614Z","avatar_url":"https://github.com/goto-eof.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Elisys ESP32 Relay Client (Rust)\n\nThis application, developed in Rust programming language, allows to control remotely a relay controlled by an ESP32 device kit. The application communicates with [**Elisys Home Automation (Java)**](https://github.com/goto-eof/elisys-home-automation-server-java) from wich retrieves the configuration and activates or deactivates the relay. Please check the `Configuration` section to build the project.\n\n# How it works?\n\nThe application tries to connect to the WiFi, if the connection fails, then it will retry until it succeeds. After a connection is established, the application makes a request to the server in order to register the device and then it downloads the configuration from the remote server. The configuration contains information about the status that should have the device: on or off. So that the relay is disabled or enabled in base of the configuration JSON received by the remote server. The ESP32 application will check every 2 seconds for new configuration.\n\n| GPIO | Description |\n| ---- | ----------- |\n| 15   | relay pin   |\n\n# Configuration\n\nBefore you proceed with building the project, you need to rename the `/src/configuration/configuration-sample.rs` to `/src/configuration/configuration.rs`. Then you shall edit the variables in the `configuration.rs` file (WiFi SSID, WiFi Password and Configuration Server Endpoint)\n\n# Run the project on your ESP32 device\n\n```\ncargo run\n```\n\n# Photo\n\n![relay rust](/images/esp32-relay-client-rust.jpg)\n\nI tested on ESP32-DevKitC and developed on Ubuntu. If you have environment configuration issues, take a look [here](https://dodu.it/esp32-rust-configure-environment-linux-ubuntu/).\n\nIf you found a bug, feel free to contact [me](https://andre-i.eu/#contactme).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoto-eof%2Felisys-esp32-relay-client-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoto-eof%2Felisys-esp32-relay-client-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoto-eof%2Felisys-esp32-relay-client-rust/lists"}