{"id":49928001,"url":"https://github.com/infinitel8p/weather-forecast","last_synced_at":"2026-05-17T01:07:49.707Z","repository":{"id":149356680,"uuid":"512833440","full_name":"infinitel8p/weather-forecast","owner":"infinitel8p","description":"weather-forecast, a simple weather dashboard","archived":false,"fork":false,"pushed_at":"2026-04-10T03:42:13.000Z","size":2535,"stargazers_count":7,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-16T10:43:54.111Z","etag":null,"topics":["dashboard","raspberry-pi","weather","weather-dashboard","weather-forecast","weather-station"],"latest_commit_sha":null,"homepage":"","language":"Astro","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/infinitel8p.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-11T16:34:56.000Z","updated_at":"2026-04-14T22:58:41.000Z","dependencies_parsed_at":"2025-11-29T05:01:44.268Z","dependency_job_id":null,"html_url":"https://github.com/infinitel8p/weather-forecast","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/infinitel8p/weather-forecast","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinitel8p%2Fweather-forecast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinitel8p%2Fweather-forecast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinitel8p%2Fweather-forecast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinitel8p%2Fweather-forecast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infinitel8p","download_url":"https://codeload.github.com/infinitel8p/weather-forecast/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infinitel8p%2Fweather-forecast/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33124144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: 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":["dashboard","raspberry-pi","weather","weather-dashboard","weather-forecast","weather-station"],"created_at":"2026-05-17T01:07:48.752Z","updated_at":"2026-05-17T01:07:49.695Z","avatar_url":"https://github.com/infinitel8p.png","language":"Astro","funding_links":[],"categories":[],"sub_categories":[],"readme":"# weather-forecast\n\nweather-forecast is a simple weather dashboard that retrieves data from OpenWeatherMap.\nThe project is built for a Raspberry Pi 5\" screen. It includes a custom 3d-printed case with stand.\n\n- Optimized for 800x480 resolution.\n- If you're viewing on a 1920x1080 monitor, zoom the browser to **200%** to approximate the intended element sizes on the Pi display.\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"475\" alt=\"setup_light\" src=\"https://github.com/user-attachments/assets/1fe2862a-85eb-4417-91a3-1b02120567cf\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"475\" alt=\"setup_dark\" src=\"https://github.com/user-attachments/assets/1a4b3baf-39ef-4886-b1cf-1b8da930e47e\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"475\" alt=\"index_light\" src=\"https://github.com/user-attachments/assets/08da876a-8af8-47a4-b4b0-412e157b6ac3\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"475\" alt=\"index_dark\" src=\"https://github.com/user-attachments/assets/77fa143b-2bed-4fd9-88ea-e587f65d7dde\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Contents:\n- [weather-forecast](#weather-forecast)\n      - [Contents:](#contents)\n  - [How to setup:](#how-to-setup)\n  - [High-contrast mode](#high-contrast-mode)\n  - [3D-printed case](#3d-printed-case)\n  - [Hardware](#hardware)\n\n## How to setup:\n\n1.  Clone the repository\n\n```shell\ngit clone https://github.com/infinitel8p/weather-forecast.git\n```\n2. Navigate into the project directory\n\n```shell\ncd weather-forecast\n```\n\n3. Setup the environment variables in `.env` file\n   - `OPENWEATHERMAP_API_KEY` — Your OpenWeatherMap API key (used for all weather data and geocoding)\n   - `OPENWEATHERMAP_API_VERSION` — The API tier to use:\n     - `3.0` (default) — [One Call API 3.0](https://openweathermap.org/api/one-call-3) (paid subscription)\n     - `2.5` — [One Call API 2.5](https://openweathermap.org/api/one-call-api) (legacy paid subscription)\n     - `free` — Free tier using the standard [Weather](https://openweathermap.org/current) + [Forecast](https://openweathermap.org/forecast5) endpoints (no UV index, 3-hour forecast intervals instead of hourly)\n   - `LANGUAGE` — UI language: `en` (default) for English or `de` for German. Also affects weather descriptions from the API and date/time formatting.\n\n\u003e [!Note]\n\u003e Choose the API version based on your OpenWeatherMap subscription. The `free` option allows you to run the dashboard without a paid subscription, but with limited features and less granular forecast data.\n\n4. Install the dependencies\n\n```shell\nnpm install\n```\n\n5. Start the development server\n\n```shell\nnpm run dev\n```\n\n## High-contrast mode\n\nFor small or low-quality screens (like the Raspberry Pi 5\" touchscreen), a high-contrast variant of the day theme is available. Append `?hc` to the URL to activate it:\n\n```\nhttp://localhost:4321/?hc\nhttp://localhost:4321/setup?hc\n```\n\nThis increases text contrast, makes cards more opaque, deepens borders, and strengthens the geometric background elements for better readability. The night theme is unaffected.\n\n## 3D-printed case\n![WhatsApp Image 2025-05-21 at 07 21 03](https://github.com/user-attachments/assets/b5b318ca-4eb3-44ab-b2b0-eb1675a0d4fa)\n\nThe case is designed to fit a Raspberry Pi 5\" screen. The design files are available on MakerWorld.\n- [MakerWorld](https://makerworld.com/de/models/1438574-weather-dashboard-raspberry-pi-5-screen#profileId-1496923)\n\n## Hardware\n\n- Raspberry Pi 4\n- 5\" HDMI screen such as [this one](https://www.amazon.de/Elecrow-Aufl%C3%B6sung-Touchscreen-Monitor-Raspberry/dp/B013JECYF2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinitel8p%2Fweather-forecast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfinitel8p%2Fweather-forecast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinitel8p%2Fweather-forecast/lists"}