{"id":19807888,"url":"https://github.com/slayingripper/meteo_aprs","last_synced_at":"2025-10-10T15:33:38.104Z","repository":{"id":170932654,"uuid":"352398457","full_name":"Slayingripper/METEO_APRS","owner":"Slayingripper","description":"Meteo APRS uses the Cyprus Meterological Center's API to query and push data to the APRS Network. It downloads the XML file and covrets it to json (For easier handling) and queries the data for specific Stations. They are then pushed to the APRS network using TCP/IP.","archived":false,"fork":false,"pushed_at":"2022-02-28T16:19:48.000Z","size":91,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-11T06:29:28.698Z","etag":null,"topics":["aprs","meteorology","weather"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Slayingripper.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}},"created_at":"2021-03-28T17:50:53.000Z","updated_at":"2022-02-28T16:17:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"544138bf-1eb2-4e9d-bfe6-f86628b637be","html_url":"https://github.com/Slayingripper/METEO_APRS","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"4d1e9f3387bf6750a92a4c01e921b8289d1a84d4"},"previous_names":["slayingripper/meteo_aprs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Slayingripper%2FMETEO_APRS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Slayingripper%2FMETEO_APRS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Slayingripper%2FMETEO_APRS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Slayingripper%2FMETEO_APRS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Slayingripper","download_url":"https://codeload.github.com/Slayingripper/METEO_APRS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241150645,"owners_count":19918353,"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":["aprs","meteorology","weather"],"created_at":"2024-11-12T09:12:11.109Z","updated_at":"2025-10-10T15:33:33.072Z","avatar_url":"https://github.com/Slayingripper.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# METEO APRS\r\n\r\n![Alt text](https://github.com/Slayingripper/METEO_APRS/blob/main/logos/met.png) ![alt](https://github.com/Slayingripper/METEO_APRS/blob/main/logos/cars.png)\r\n\r\nMeteo APRS uses the Cyprus Meterological Center's API to query and push data to the APRS Network.\r\nIt downloads the XML file and covrets it to json (For easier handling) and queries the data for specific \r\nStations. They are then pushed to the APRS network using TCP/IP. \r\n\r\n## Requirments\r\n1. Python 3.7 +\r\n2. Aprslib\r\n3. Figlet\r\n\r\n\r\n## Issues to tackle\r\n\r\nThe \"live\" XML file provided by the Depratment of Metereology has a major incosistancy issue . For example,when updating the file it would sometimes remove some stations from the list which made using hard coded numbering impossible. One other flaw is that not all stations measure the same information which makes the accuratly  dippicting the area quite difficult . To get around this , data is used from neighbouring stations for example \"Humidity\" and \"Wind Direction\" .\r\n\r\n\r\n```xml  \r\n\u003c/observation\u003e\r\n    \u003cobservation\u003e\r\n      \u003cobservation_name\u003eRecom. Heavy Work Load\u003c/observation_name\u003e\r\n      \u003cobservation_value\u003e100\u003c/observation_value\u003e\r\n      \u003cobservation_unit\u003e%\u003c/observation_unit\u003e\r\n    \u003c/observation\u003e\r\n    \u003cobservation\u003e\r\n      \u003cobservation_name\u003eRelative Humidity (1.2m)\u003c/observation_name\u003e\r\n      \u003cobservation_value\u003e60\u003c/observation_value\u003e\r\n      \u003cobservation_unit\u003e%\u003c/observation_unit\u003e\r\n    \u003c/observation\u003e\r\n    \u003cobservation\u003e\r\n      \u003cobservation_name\u003eAccumulated Rainfall (10 min.)\u003c/observation_name\u003e\r\n      \u003cobservation_value\u003e0.00\u003c/observation_value\u003e\r\n      \u003cobservation_unit\u003emm\u003c/observation_unit\u003e\r\n    \u003c/observation\u003e\r\n  \u003c/observations\u003e\r\n```\r\n\r\n# Running\r\n\r\nTo run the program just run the main file : \r\n```\r\n./meteoaprs.py \r\n```\r\n\r\n## To Do\r\n\r\n- [x] Sends data to APRS\r\n- [x] Pulls data from API \r\n- [x] Fixes some of the format issues of API \r\n- [ ] Uses TNC to send data \r\n- [ ] config-file \r\n- [ ] refactoring \r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslayingripper%2Fmeteo_aprs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslayingripper%2Fmeteo_aprs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslayingripper%2Fmeteo_aprs/lists"}