{"id":27201655,"url":"https://github.com/markmac99/weather","last_synced_at":"2025-04-09T21:57:17.558Z","repository":{"id":109651209,"uuid":"125669370","full_name":"markmac99/weather","owner":"markmac99","description":"Weatherstation website","archived":false,"fork":false,"pushed_at":"2025-03-17T16:34:22.000Z","size":10141,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-09T21:57:11.353Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://markmcintyreastro.co.uk/weather/","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/markmac99.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}},"created_at":"2018-03-17T21:12:12.000Z","updated_at":"2025-03-17T16:34:26.000Z","dependencies_parsed_at":"2023-12-12T23:31:42.556Z","dependency_job_id":"a8688e94-85d7-4402-beb5-9c35458388a9","html_url":"https://github.com/markmac99/weather","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markmac99%2Fweather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markmac99%2Fweather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markmac99%2Fweather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markmac99%2Fweather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markmac99","download_url":"https://codeload.github.com/markmac99/weather/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119358,"owners_count":21050754,"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":[],"created_at":"2025-04-09T21:57:16.537Z","updated_at":"2025-04-09T21:57:17.535Z","avatar_url":"https://github.com/markmac99.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# weather related stuff\n\nVarious weatherstation and weather related stuff\n\nI run two weatherstations, a maplin WH1080 compatible unit and a Bresser 5-in-1 unit. I also have a BMP280 chip providing pressure and temperature data. This is normally pluggs into an Arduino, but able to be read by a Raspberry Pi via GPIO/\nThe RTL433 and BME280 data are being published to MQ Series along with data from my Bresser weatherstation (see below). \n\n\n\n## website\nAn implementation of the dragontail weather website, consuming data initially from pywws, but later from other sources. \n\n## mmwws\nA replacement for pywws (see retired section below). Instead of using the dummy usb driver, i decided to simply read the data directly and generate the javascript required by the dragontail website. \n\n## apis_services\nVarious APIs and services to manage weather data\n\n### getbresser\nRetrieve my bresser data from Weather Underground. Data can't be directly retrieved from the Bresser so i run this service on one of my Raspberry Pis to retrive data from Weather Underground and publish it to my MQ server on a topic sensors/bresser_wu\n\nIn addition, I'm running a vanilla instance of RTL433 tuned to 833MHz to retrieve data from the Bresser's outside sensors and post it to MQ in a topic sensors/rtl_433/P172/C0. The config file for this is in this folder. I use both routes because WU can acess some of the internal sensor data not available over the air. \n\n### readBmp280\nThis service runs on a Pi3 and reads data from a BMP/BME280 temperature, humidity and pressure sensor to provide indoor readings. The data are published to MQ in a topic sensors/bmp280 and saved to file. \n\n### rtl433ToMQ\nA second instance of RTL433 runs on the same Pi3 as the BME280 to retrieve the WH1080 outdoor sensor data at 433 MHz. For some reason this insance isn't able to directly publish to MQ, so i have a second process that reads the data from file and publishes it to MQ in topic sensors/wh1080. I need to revisit this klunky process. \n\n### whotoAws \nThis reads the data created by the bmp280 and rtl433 and saves it as a file. The file can be consumed by the dummy USB driver for pywws, but is now pushed to AWS for  use in mmwws. \n\n### getDataAws\nReads data from whtoAws and adds it to a datafile on my AWS server. The data are then consumed by mmwws. \n\n# pibackup\na backup of the installation on the Pi, in case i need to refer to it. \n\n## Retired APIs \n### subswh1080\nsubscribed to the MQ data and wrote to file. Never properly worked, not sure why.\n\n### weatherfwd \nWas used to read data from an API and publish it to OpenHAB. I had this running on the old PyWWS machine, before i was able to publsh the data directly via MQ. No longer used. \n\n### weatherapi\nThis runs on the same Pi3 and reads the data files created by readBmp280 and rtl433ToMQ and exposes it via a REST API so that i can consume the data on my webserver which is running on AWS. \n\n### tofb \nlegacy code to send data to facebook. No longer supported by FB, kept for historical purposes. \n\n## pywws \nThis is a copy of the excellent pywws python weatherstaton for Raspberry Pi. I originally used this to collect\ndata from the WH1080. However over time the unit developed a problem with its USB port and in 2023 i retired pywws. \n\n## dummyusb\nWhen the USB port on the WH1080 malfunctioned, i realised i can read data from the outside sensors using an RTL-433 dongle. To replace the indoor sensors i am using a BME280 breakbout board in a Raspberry pi.  So i wrote some software to capture the data to file (see services below), and then created a dummy USB driver for pywws that reads the file and feeds the data to pywws. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkmac99%2Fweather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkmac99%2Fweather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkmac99%2Fweather/lists"}