45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
# AquaMaster Button-Simulator
|
|
|
|
Kleine Node.js-/Express-App zum Simulieren der vier Funktaster
|
|
(`start1`, `stop1`, `start2`, `stop2`) gegen den MQTT-Broker des AquaMasters.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
cd tools/button-simulator
|
|
npm install
|
|
npm start
|
|
```
|
|
|
|
UI öffnen: <http://localhost:3000>
|
|
|
|
## Bedienung
|
|
|
|
1. Mit dem WLAN des AquaMasters verbinden (Default-AP-IP: `192.168.10.1`).
|
|
2. In der UI die Broker-URL prüfen (`mqtt://192.168.10.1:1883`) und auf **Verbinden** klicken.
|
|
3. MAC-Adressen der vier virtuellen Buttons ggf. anpassen — die Default-MACs
|
|
`AA:BB:CC:DD:EE:01..04` funktionieren für einen frischen Anlernlauf:
|
|
- Im Web-UI des Masters **Anlernmodus starten**
|
|
- Im Simulator nacheinander **Start 1 → Stop 1 → Start 2 → Stop 2** drücken
|
|
- Der Master speichert die MACs und ordnet sie den Rollen zu
|
|
4. Danach lassen sich mit denselben Buttons Timerläufe auslösen.
|
|
|
|
## Was die App sendet
|
|
|
|
| Topic | Auslöser | Payload |
|
|
|---------------------------|---------------------------|--------------------------------|
|
|
| `aquacross/button/<MAC>` | PRESS-Button | `{"type":1|2,"timestamp":ms}` |
|
|
| `aquacross/battery/<MAC>` | Slider / Auto-Heartbeat | `{"voltage":mV}` |
|
|
| `heartbeat/alive/<MAC>` | Auto-Heartbeat | `{"timestamp":ms}` |
|
|
|
|
`type=2` wird für Start-Rollen (start1/start2) gesendet, `type=1` für
|
|
Stop-Rollen (stop1/stop2) — genau wie es `src/communication.h` erwartet.
|
|
|
|
Heartbeat und Battery werden standardmäßig alle 3 s automatisch publiziert,
|
|
sobald eine Verbindung besteht. Intervall/Abschaltung per Formular unten.
|
|
|
|
## Environment-Variablen
|
|
|
|
- `PORT` — Webserver-Port (Default: `3000`)
|
|
- `BROKER_URL` — vorbelegte Broker-URL
|