A modern home automation system built with Go and React, designed to control smart outlets and other IoT devices. Currently focused on TP-Link Kasa smart plugs and switches.
- Smart outlet control (TP-Link Kasa)
- Auto-discovery on local network
- Power on/off control
- Device state monitoring
- System information retrieval
- Web interface with real-time updates
- RESTful API for device management
- Go with Gin Web Framework
- Python-Kasa for device control
- Docker for containerization
- Logrus for structured logging
- React with CoreUI Components
- Vite for development
- Axios for API communication
-
Prerequisites:
- Docker and Docker Compose
- Network access to your smart devices
-
Start the application
sudo docker-compose up --remove-orphans --no-deps --build api ui- Access:
- Web User Interface:
http://localhost:3000/#/forms/outlets - API Documentation:
http://localhost:6060 - Can also be accessed network wide via your hosts ip
hostname -Ito get ip address
- Web User Interface:
Note: Your device must be on the same network as the smart devices.
Currently supports TP-Link Kasa smart devices:
- Smart Plugs (HS103, HS105)
- Smart Switches
MIT License - See LICENSE file for details