SmartHome is a web application to manage several IoT devices, sensors and appliances. In particular it includes:
- Gate opener
- Thermometer sensor
- Humidity sensor
- Water pump
- Rain gauge
- PV inverter metrics
- AC Power meter
- IP cameras
- Generic relays
The UI module is written in Vue.js and it is based on Paper-dashboard. It is exposed using nginx server.
The server module is written in golang and it is exposing the REST APIs used by the UI.
The Prometheus module allows to monitor the entire IoT network appliances, including sensors and network devices. If any device is down, Slack notifications are sent.
The metrics visualization is implemented using Grafana as UI and InfluxDB as time series storage.
The project runs entirely on Docker. Use the following command:
docker compose -f docker-compose.yml up -d
Please adhere to the following guidelines while contributing:
- Follow the coding style, conventions, and patterns used in the project.
- Write descriptive commit messages.
- Keep PRs focused and specific to a single issue or feature.
I use labels to help categorize and prioritize issues and pull requests. Here are some labels you might encounter:
-
Bug: Issues related to bugs.
-
Feature Request: Suggestions for new features or enhancements.
-
Good First Issue: Issues suitable for newcomers or beginners.
-
Help Wanted: Additional assistance is needed in resolving these issues.
Please review and adhere to the Code of Conduct in all interactions and contributions within this project.
This project is licensed under the MIT License - see the LICENSE file for details.