Version: 0.1.0-dev (Developer Preview)
PowerCollection Life is a real-time energy monitoring application that connects to Tasmota-enabled smart plugs and visualizes electrical consumption metrics. It provides a web-based dashboard to monitor voltage, power consumption, apparent power, and current in real-time with interactive charting and CSV data export capabilities.
- Real-time Monitoring: Continuously poll Tasmota smart plug devices for live energy metrics
- Interactive Charts: Visualize voltage, power, apparent power, and current consumption with dynamic rendering
- Selective Display: Toggle visibility of different metrics on the chart
- Data Export: Download monitoring data as CSV for further analysis in spreadsheet applications
- Configurable Polling: Adjust the data collection interval (default: 5 seconds)
- CORS Proxy: Built-in Express proxy server to bypass browser cross-origin restrictions
- Node.js (v14 or higher)
- A Tasmota-enabled smart plug device on your local network
- A modern web browser (Chrome, Firefox, Safari, Edge)
-
Clone or download the project
git clone <repository-url> cd PowerCollectionLife
-
Install dependencies
npm install
-
Configure the Tasmota device IP address
- Open
proxy.js - Update the IP address in the fetch URL from
192.168.2.128to match your Tasmota device's IP address
const r = await fetch('http://YOUR_TASMOTA_IP/cm?cmnd=Status%2010');
- Open
-
Start the proxy server
node proxy.js
The server will run on
http://localhost:3000 -
Open the application
- Open
PowerCollection.htmlin your web browser - The interface will automatically connect to the proxy server at
http://localhost:3000/tasmota
- Open
-
Start monitoring
- Click the Start button to begin data collection
- Adjust the polling interval (in seconds) as needed
- Toggle visibility of metrics using the checkboxes
- Click Download CSV to export data for analysis
- ✅ Real-time energy data collection from Tasmota devices
- ✅ Multi-metric visualization (Voltage, Power, Apparent Power, Current)
- ✅ Interactive chart with responsive canvas rendering
- ✅ CSV export with timestamp data
- ✅ CORS proxy for browser compatibility
- ✅ Configurable polling intervals
- Multiple Device Support: Monitor multiple Tasmota devices simultaneously
- Database Integration: Store historical data in a database for long-term trend analysis
- Advanced Analytics: Calculate energy consumption trends, peak hours, and cost estimations
- Alert System: Set thresholds and receive notifications for anomalies
- RESTful API: Expose aggregated energy data via API endpoints
- Authentication: Add user login and device access control
- Responsive Mobile UI: Optimize dashboard for mobile devices
- Real-time Data Streaming: Implement WebSocket connections for lower latency
- Data Retention Policies: Automatic cleanup and archival of old data
- Performance Metrics: Track efficiency ratios and power factor analysis
- Backend: Node.js, Express.js
- Frontend: HTML5, Vanilla JavaScript, Canvas API
- Data Format: JSON (from Tasmota), CSV (export)
- API Method: HTTP/Fetch with CORS proxy
This project is licensed under the MIT License - see the LICENSE file for details.
- Ensure your Tasmota device is accessible on your network and returns JSON status data
- CSV files are downloaded with a timestamp in the filename
- Use LibreOffice Calc or Excel to open and analyze exported CSV files
