{"id":13586981,"url":"https://github.com/deebloo/yngvi","last_synced_at":"2025-04-13T09:33:09.964Z","repository":{"id":37801523,"uuid":"325345343","full_name":"deebloo/yngvi","owner":"deebloo","description":"Read, decode, store and display weather data from Acurite weather stations.","archived":false,"fork":false,"pushed_at":"2024-05-14T09:31:43.000Z","size":4684,"stargazers_count":10,"open_issues_count":11,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-14T10:42:47.310Z","etag":null,"topics":["acurite","localweather","sdr","weather"],"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/deebloo.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}},"created_at":"2020-12-29T17:17:53.000Z","updated_at":"2024-06-13T19:53:18.629Z","dependencies_parsed_at":"2023-09-24T15:15:23.906Z","dependency_job_id":"241dc750-0120-44b0-9c95-d1dd30bacab9","html_url":"https://github.com/deebloo/yngvi","commit_stats":null,"previous_names":["deebloo/yngvi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deebloo%2Fyngvi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deebloo%2Fyngvi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deebloo%2Fyngvi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deebloo%2Fyngvi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deebloo","download_url":"https://codeload.github.com/deebloo/yngvi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248690953,"owners_count":21146240,"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":["acurite","localweather","sdr","weather"],"created_at":"2024-08-01T15:05:56.889Z","updated_at":"2025-04-13T09:33:09.942Z","avatar_url":"https://github.com/deebloo.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Weather Station\n\nProgram for collecting and processing weather data.\n\nHUGE THANKS TO [WEEWX](http://weewx.com/) FOR DECODING THE VARIOUS MESSAGES FROM THE ACURITE DISPLAY\n\n### Install program\n\n```bash\ncargo install yngvi --features standalone\n```\n\n### Config\n\n| Name                       | Description                                                                                      | Default |\n| -------------------------- | ------------------------------------------------------------------------------------------------ | ------- |\n| YNGVI_SRC                  | determines where to pull data from. ACURITE_DISPLAY, RTL_433, or FILE                            | DISPLAY |\n| YNGVI_SRC_FILE_PATH        | path to file with source readings                                                                |         |\n| YNGVI_DEST                 | INFLUXDB, STDOUT, WEBHOOK, or INMEMORY                                                           | STDOUT  |\n| YNGVI_DEST_INFLUXDB_URL    | influxdb url                                                                                     |         |\n| YNGVI_DEST_INFLUXDB_ORG    | influxdb org                                                                                     |         |\n| YNGVI_DEST_INFLUXDB_BUCKET | influxdb bucket                                                                                  |         |\n| YNGVI_DEST_INFLUXDB_TOKEN  | auth token for influxdb                                                                          |         |\n| YNGVI_DEST_WEBHOOK_URL     | url for the webhook                                                                              |         |\n| YNGVI_DEST_WEBHOOK_HEADERS | headers to add to the webhook request. Ex: YNGVI_DEST_WEBHOOK_HEADERS=Authorization:Bearer 12342 |         |\n\n## Create your own\n\nAny data source can be defined as `Iterator\u003cItem = WeatherReading\u003e` and all destinations are defined with the `Writer` trait. YNGVI comes with some prebuilt readers and writers but it should be straight forward to define new data sources and new destination without touching any of the core station logic. Give it a try!\n\n```bash\ncargo add yngvi\n```\n\n```rust\nuse yngvi::core::{Station, StdoutWriter, FileReader};\n\n#[tokio::main]\nasync fn main() {\n    // create a new weather station\n    let mut station = Station::new();\n\n    // define where your source data will come from\n    let reader = FileReader::new(\"data/source.txt\");\n\n    // define where your calculated data will be written to\n    let mut writer = StdoutWriter::new();\n\n    // start your station!\n    station.start(reader, writer).await\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeebloo%2Fyngvi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeebloo%2Fyngvi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeebloo%2Fyngvi/lists"}