54 lines
957 B
Markdown
54 lines
957 B
Markdown
# Pulsegen
|
|
|
|
MQTT-basierte Pulse-Generator Applikation für Home Automation.
|
|
|
|
## Funktionen
|
|
|
|
- MQTT-Kommunikation über `aiomqtt`
|
|
- Automatische Reconnect-Logik
|
|
- Graceful shutdown (SIGTERM/SIGINT)
|
|
- JSON message parsing
|
|
- Konfigurierbar über Umgebungsvariablen
|
|
|
|
## Umgebungsvariablen
|
|
|
|
- `MQTT_BROKER`: MQTT Broker Hostname (default: `localhost`)
|
|
- `MQTT_PORT`: MQTT Broker Port (default: `1883`)
|
|
|
|
## Entwicklung
|
|
|
|
Lokal starten:
|
|
|
|
```bash
|
|
cd apps/pulsegen
|
|
python -m venv venv
|
|
source venv/bin/activate # oder venv\Scripts\activate auf Windows
|
|
pip install -r requirements.txt
|
|
python main.py
|
|
```
|
|
|
|
## Docker
|
|
|
|
Build:
|
|
|
|
```bash
|
|
docker build -f apps/pulsegen/Dockerfile -t pulsegen .
|
|
```
|
|
|
|
Run:
|
|
|
|
```bash
|
|
docker run -e MQTT_BROKER=172.16.2.16 -e MQTT_PORT=1883 pulsegen
|
|
```
|
|
|
|
## MQTT Topics
|
|
|
|
### Subscribed
|
|
|
|
- `pulsegen/command/#` - Kommandos für pulsegen
|
|
- `home/+/+/state` - Device state updates
|
|
|
|
### Published
|
|
|
|
- `pulsegen/status` - Status-Updates der Applikation
|