Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jacksalici/weather_station
A custom client for Ecowitt weather station data.
https://github.com/jacksalici/weather_station
ecowitt tailwindcss vue weather-station
Last synced: about 1 month ago
JSON representation
A custom client for Ecowitt weather station data.
- Host: GitHub
- URL: https://github.com/jacksalici/weather_station
- Owner: jacksalici
- Created: 2023-05-13T22:53:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-28T07:34:48.000Z (over 1 year ago)
- Last Synced: 2024-01-27T14:07:11.136Z (11 months ago)
- Topics: ecowitt, tailwindcss, vue, weather-station
- Language: Vue
- Homepage: https://weather.jacksalici.com
- Size: 1.14 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ecowitt Weather Station Client
![](/screenshot.png)
A custom front-end and middleware for displaying data from my Ecowitt weather station.
## Details
The front-end is built using Vue and relies on Tailwind, DaisyUI and GraphJS for the UI.
The middleware is a Cloudflare Worker and is needed to hide to the users the token key.### Frontend Project Setup
```sh
# Install dependencies
npm install# Compile and Hot-Reload for Development
npm run dev# Compile and Minify for Production
npm run build```
### Middleware
To start developing your Worker, run `npx wrangler dev`
To publish your Worker to the Internet, run `npx wrangler publish`Environment variables should be put for local dev in a `.dev.vars` file using _dotenv_ format, and then pushed using `npx wrangler secret`.
### API endpoints
- Istant weather data: `https://weather-station-api.jacksalici.workers.dev`
- Daily weather data (5 minute span from the last 24h):
```js
const api_url = `https://weather-station-api.jacksalici.workers.dev/?mode=history&start_date=${encodeURIComponent(moment().subtract(24, 'hours').format('YYYY-MM-DD HH:mm:ss'))}&end_date=${encodeURIComponent(moment().format('YYYY-MM-DD HH:mm:ss'))};
```