Skip to content

LudiSistemas/ecowitt2http

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ecowitt Weather Station Data Handler

Overview

This project provides a complete solution for collecting, storing, and visualizing data from Ecowitt personal weather stations. It includes a backend server for data collection and storage, and a web-based dashboard for real-time monitoring and historical data visualization.

Features

Backend

  • Real-time weather data collection from Ecowitt weather stations
  • Support for multiple weather parameters:
    • Temperature
    • Humidity
    • Barometric pressure
    • Wind speed and direction
    • Rainfall
    • UV index
    • Solar radiation (if supported by your model)
  • Data storage in TimescaleDB (time-series database)
  • MQTT support for real-time data streaming
  • REST API endpoints for data access
  • Optional data relay to other systems (e.g., Home Assistant)

Frontend

  • Real-time dashboard showing current conditions
  • Interactive historical data charts using Plotly
  • 24-hour historical data visualization for:
    • Temperature
    • Humidity
    • Pressure
    • Wind Speed
  • Auto-refresh functionality
  • Responsive design for mobile devices

Prerequisites

  • Docker and Docker Compose
  • Network connectivity
  • Ecowitt device configured to send data to your server

Quick Start

  1. Clone the repository

  2. Run services in development mode:

chmod +x init.sh
./init.sh
  1. Configure your Ecowitt device:

    • In your Ecowitt device settings, set the custom server to:
    • Protocol: HTTP
    • Server IP/Hostname: Your server's IP address
    • Port: 8080
    • Path: /data/report
    • Upload interval: As desired (e.g., 60 seconds)
  2. Start the services:

docker-compose up -d
  1. Access the dashboard:

Configuration

Backend Configuration

Edit backend/config.yml to configure:

  • Server settings
  • Data relay options
  • MQTT settings
  • Database connection

Frontend Configuration

The frontend automatically connects to the backend API. Configuration can be modified in frontend/app.py.

API Endpoints

Weather Data

  • Current conditions: GET /api/weather/current
  • Historical data: GET /api/weather/history?start=<ISO_DATE>&end=<ISO_DATE>
  • Data ingestion: POST /data/report (used by Ecowitt device)

Docker Services

  • Frontend: Web dashboard (port 5000)
  • Backend: Data collection server (port 8080)
  • TimescaleDB: Time-series database (port 5432)
  • MQTT: Message broker (port 1883)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published