{"id":29016840,"url":"https://github.com/daveminer/rpsump","last_synced_at":"2026-04-27T18:03:06.240Z","repository":{"id":157766917,"uuid":"615595040","full_name":"daveminer/rpsump","owner":"daveminer","description":"Web server for custom home automation. Built specifically for GPIO control on a Raspberry Pi","archived":false,"fork":false,"pushed_at":"2026-03-28T23:53:09.000Z","size":638,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-29T01:51:54.491Z","etag":null,"topics":["actix-web","raspberry-pi","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/daveminer.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-18T05:08:43.000Z","updated_at":"2026-03-28T23:52:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"e94a8561-a03d-4ce9-b868-32b16a3155ad","html_url":"https://github.com/daveminer/rpsump","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/daveminer/rpsump","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveminer%2Frpsump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveminer%2Frpsump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveminer%2Frpsump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveminer%2Frpsump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daveminer","download_url":"https://codeload.github.com/daveminer/rpsump/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveminer%2Frpsump/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32348058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T17:12:42.749Z","status":"ssl_error","status_checked_at":"2026-04-27T17:12:41.658Z","response_time":128,"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":["actix-web","raspberry-pi","rust"],"created_at":"2025-06-25T22:41:37.759Z","updated_at":"2026-04-27T18:03:06.218Z","avatar_url":"https://github.com/daveminer.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Tests](https://github.com/daveminer/rpsump/actions/workflows/test.yml/badge.svg)\n\n# rpsump\n\nResidential appliance automation with the Raspberry Pi. \n\n## Overview\n\nThis particular sump pump was designed to prevent lawn damage due to moisture output from residential heaters and A/C units. The water from the appliances is routed to the sump where the Pi monitors the water level sensors and operates the pump when needed.\n\nLater stages of this application will output the reclaimed water to a reservoir where it will be used for gardening; the Pi will also control the watering schedule.\n\n## Requirements\n\nSQlite \u003e= 3.35: `sudo apt-get install libsqlite3-dev`\n\nOpenSSL: `sudo apt install libssl-dev`\n\n## Components\n\n##### Board\n\nThis struct collects the hardware interfaces and is intended to be a singleton for the lifetime of the program. Other threads can read the state of inputs or change outputs via synchronous access (Mutex).\n\n##### Input pins\n\nAre configured with a callback that triggers when the state changes between high and low. These callbacks send messages that aggregate in the consumer of an mpsc channel for processing.\n\n##### Output pins\n\nControlled by the mpsc consumer, the state of output pins is computed.\n\n##### Sump\n\nGroup of inputs/callback handlers and outputs that form the sump pump functionality.\n\n![Sump pump diagram](./assets/rp_sump.png)\n\n## Hardware\n\n##### Raspberry Pi\n\n- RPi 3 Model B\n\n- 12v Relay\n\n![Raspberry Pi and 12V Relay Wiring](https://drive.google.com/uc?id=1UQZAugLhoaG8qODDQBWJ980w4ulJBQFf)\n\n##### Pump Reservoir\n\n- 4in. sewer pipe assembly from retail home improvement store\n- standard pvc cement\n\n![Pump reservoir](https://drive.google.com/uc?id=1n1YzGied9_GeD2SX95VH9Bm8LnP7bPMG)\n\n##### Sensor and pump assembly\n\n- 5v float switches\n- aquarium pump\n- flexible pvc\n- hobby-grade acrylic sheet\n- zip ties\n\n![Sensor and pump assembly](https://drive.google.com/uc?id=1mZDRnuOX3855pdJ-EjUzNaiFuBW8YkLJ)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaveminer%2Frpsump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaveminer%2Frpsump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaveminer%2Frpsump/lists"}