https://github.com/whoareyou-l/green_smart_install
Home Assistant custom integration for Green Smart greenhouse control
https://github.com/whoareyou-l/green_smart_install
custom-integration greenhouse hacs home-assistant modbus mqtt
Last synced: 11 days ago
JSON representation
Home Assistant custom integration for Green Smart greenhouse control
- Host: GitHub
- URL: https://github.com/whoareyou-l/green_smart_install
- Owner: whoareyou-l
- Created: 2026-06-04T02:07:20.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2026-06-04T04:10:31.000Z (15 days ago)
- Last Synced: 2026-06-04T04:11:01.945Z (15 days ago)
- Topics: custom-integration, greenhouse, hacs, home-assistant, modbus, mqtt
- Language: Python
- Homepage:
- Size: 27.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# πΏ Green Smart
μ€λ§νΈ μ¨μ€ κ΄λ¦¬ μμ€ν
β Home Assistant κΈ°λ° μ¬μΈμ Docker ν¨ν€μ§
---
## κΈ°μ μ€ν
| ꡬμ±μμ | μν | λΉκ³ |
|---------|------|------|
| **Home Assistant** | IoT νλΈ Β· λμ보λ Β· μλν μμ§ | νμ |
| **Green Smart** | μ¨μ€ μ μ© ν¨λ Β· κΈ°μμ² λ μ¨ μ°λ | μ΄ λ¦¬ν¬ |
| **Mosquitto** | MQTT λΈλ‘컀 β μΌμ λ°μ΄ν° μμ | νμ |
| **ESPHome** | ESP32/ESP8266 μΌμ νμ¨μ΄ κ΄λ¦¬ | μ ν |
| **Node-RED** | 볡μ‘ν μλν λ‘μ§ | μ ν |
---
## μ΅μ νλμ¨μ΄ μꡬμ¬ν
| νλͺ© | μ΅μ | κΆμ₯ |
|------|------|------|
| CPU | 2μ½μ΄ x86_64 / ARM64 | 4μ½μ΄ |
| RAM | 2 GB | 4 GB |
| μ μ₯μ₯μΉ | 32 GB | 64 GB SSD |
| OS | Debian 12 / Ubuntu 22.04 LTS | Debian 12 |
| λ€νΈμν¬ | μ μ LAN | μ μ LAN |
> `network_mode: host` μ¬μ©μΌλ‘ **Linux μ μ©**μ
λλ€.
---
## λΉ λ₯Έ μμ
### β‘ μμ μλ (μ Linux λ―Έλ PC, μ무κ²λ μλ μν)
μλ λͺ
λ Ή ν μ€λ‘ **apt μ
λ°μ΄νΈ β git μ€μΉ β Docker μ€μΉ β ν΄λ‘ β μ€ν**κΉμ§ λͺ¨λ μ²λ¦¬λ©λλ€.
```bash
curl -fsSL https://raw.githubusercontent.com/whoareyou-l/green_smart_install/main/scripts/bootstrap.sh | sudo bash
```
> `curl`λ μλ κ²½μ°: `sudo apt-get install -y curl` ν μ λͺ
λ Ή μ€ν
μ€μΉ μλ£ ν λΈλΌμ°μ μμ μ μ:
```
http://<λ―ΈλPC-IP>:8123
```
---
### π§ μλ μ€μΉ (git Β· Docker μ΄λ―Έ μλ κ²½μ°)
```bash
# 1. ν΄λ‘
git clone https://github.com/whoareyou-l/green_smart_install.git
cd green_smart_install
# 2. μ€μΉ λ° μ€ν
bash scripts/setup.sh
```
---
### π λ¨κ³λ³ μλ μ€ν
```bash
cp .env.example .env
docker compose up -d
docker compose ps
docker compose logs -f homeassistant
```
---
## λλ ν 리 ꡬ쑰
```
green_smart_install/
βββ docker-compose.yml # μλΉμ€ μ μ
βββ .env.example # νκ²½λ³μ ν
νλ¦Ώ
βββ scripts/
β βββ setup.sh # μ΅μ΄ μ€μΉ μ€ν¬λ¦½νΈ
β βββ update.sh # μ
λ°μ΄νΈ μ€ν¬λ¦½νΈ
βββ custom_components/
β βββ green_smart/ # HA 컀μ€ν
ν΅ν©
β βββ __init__.py
β βββ manifest.json
β βββ weather_api.py # κΈ°μμ² API
β βββ weather_views.py # REST μλν¬μΈνΈ
β βββ kma_grid.py # 격μ μ’ν λ§€ν
β βββ panel/
β βββ green-smart-panel.js # νλ‘ νΈμλ
βββ ha-config/ # Home Assistant μ€μ
β βββ configuration.yaml
β βββ automations.yaml
β βββ scripts.yaml
β βββ scenes.yaml
βββ mosquitto/
βββ config/
βββ mosquitto.conf # MQTT λΈλ‘컀 μ€μ
```
---
## Green Smart μ€μ
1. `http://:8123` μ μ ν HA κ³μ μμ±
2. **μ€μ β ν΅ν©κ΅¬μ±μμ β μΆκ°** β `Green Smart` κ²μ ν μ€μΉ
3. Green Smart μ¬μ΄λλ° ν¨λ β **μ€μ ** ν
4. κΈ°μμ² API ν€ μ
λ ₯ (μλ λ°κΈ λ°©λ² μ°Έκ³ )
### κΈ°μμ² API ν€ λ°κΈ
1. [곡곡λ°μ΄ν°ν¬νΈ](https://www.data.go.kr) νμκ°μ
2. **κΈ°μμ²_λ¨κΈ°μ보 ((ꡬ)λλ€μ보) μ‘°νμλΉμ€** μ μ² β λ¨κΈ°μ보 API ν€
3. **κΈ°μμ²_μ€κΈ°μ보 μ‘°νμλΉμ€** μ μ² β μ€κΈ°μ보 API ν€
4. μΉμΈ ν (λ³΄ν΅ μ¦μ) Green Smart μ€μ νλ©΄μμ μ
λ ₯
---
## μ νμ μλΉμ€
### ESPHome (ESP32 μΌμ κ΄λ¦¬)
```bash
docker compose --profile sensors up -d
# μ μ: http://:6052
```
### Node-RED (μλν λ‘μ§)
```bash
docker compose --profile advanced up -d
# μ μ: http://:1880
```
### μ 체 μλΉμ€ λμ μ€ν
```bash
docker compose --profile sensors --profile advanced up -d
```
---
## MQTT μΌμ μ°λ
Mosquitto λΈλ‘컀 μ μ μ 보:
| νλͺ© | κ° |
|------|-----|
| νΈμ€νΈ | `<λ―ΈλPC-IP>` |
| ν¬νΈ | `1883` |
| WebSocket | `9001` |
| μΈμ¦ | μμ (λ΄λΆλ§ κΈ°λ³Έκ°) |
ESPHome μΌμ μμ (μ¨λΒ·μ΅λ):
```yaml
# esphome/greenhouse-zone1.yaml
mqtt:
broker: 192.168.1.100 # λ―ΈλPC IP
topic_prefix: green_smart/zone1
sensor:
- platform: dht
pin: GPIO4
temperature:
name: "Zone 1 μ¨λ"
humidity:
name: "Zone 1 μ΅λ"
update_interval: 60s
```
---
## μ
λ°μ΄νΈ
```bash
bash scripts/update.sh
```
---
## μλΉμ€ κ΄λ¦¬
```bash
# μν νμΈ
docker compose ps
# λ‘κ·Έ νμΈ
docker compose logs -f homeassistant
docker compose logs -f mosquitto
# μ¬μμ
docker compose restart homeassistant
# μ€μ§
docker compose down
# μμ μ΄κΈ°ν (λ°μ΄ν° ν¬ν¨ μμ )
docker compose down -v
```
---
## ν¬νΈ μ 보
| μλΉμ€ | ν¬νΈ | μ©λ |
|--------|------|------|
| Home Assistant | `8123` | μΉ λμ보λ |
| MQTT | `1883` | μΌμ λ°μ΄ν° |
| MQTT WebSocket | `9001` | λΈλΌμ°μ MQTT |
| ESPHome | `6052` | νμ¨μ΄ κ΄λ¦¬ (μ ν) |
| Node-RED | `1880` | μλν (μ ν) |
---
## λΌμ΄μ μ€
MIT License