docs(fusion_iot): Tailscale + SSH cheat sheet for the pilot Pi
fp-iot-01 is now on Tailscale at 100.108.41.97. SSH config on the Mac aliases `ssh fp-iot-01` to the Tailscale IP with key-based auth (no more sshpass + password flying around in shell history). Also noted the Pi-side folder structure (pi/ + scripts/) and the live deployment facts (probe serial, systemd unit, config path) so future sessions can pick up from zero without re-investigating. Verified end-to-end with real hardware: - Physical probe heated to 79.94°C → auto-raised HOLD-0015 - 30 subsequent out-of-spec readings → no duplicate holds (as designed) - hold_id correctly linked back to the triggering reading Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -11,11 +11,39 @@ and any other device Odoo's IoT framework supports.
|
||||
|
||||
```
|
||||
fusion_iot/
|
||||
├── iot_base/ # Repackaged from Odoo S.A. — shared JS utils
|
||||
├── iot/ # Repackaged from Odoo S.A. — IoT Box mgmt models + UI
|
||||
└── fusion_plating_iot/ # Our wrapper — sensor→tank mapping + out-of-spec holds
|
||||
├── iot_base/ # Repackaged from Odoo S.A. — shared JS utils
|
||||
├── iot/ # Repackaged from Odoo S.A. — IoT Box mgmt models + UI
|
||||
├── fusion_plating_iot/ # Our wrapper — sensor→tank mapping + out-of-spec holds
|
||||
├── pi/ # Pi-side: lightweight systemd poller (no iot_drivers)
|
||||
│ ├── fp_iot_poller.py
|
||||
│ └── fp-iot-poller.service
|
||||
└── scripts/ # One-shot setup + smoke tests
|
||||
```
|
||||
|
||||
## Live deployments
|
||||
|
||||
### Pi #1 — pilot probe (DS18B20, Tank TK-EN-01)
|
||||
|
||||
| Attribute | Value |
|
||||
|-----------|-------|
|
||||
| Hostname | `fp-iot-01` |
|
||||
| LAN IP | `192.168.10.112` |
|
||||
| **Tailscale IP** | **`100.108.41.97`** |
|
||||
| SSH | `ssh fp-iot-01` (aliased in `~/.ssh/config`, key-based via Tailscale — no password, no sshpass) |
|
||||
| User | `fp` |
|
||||
| Probe serial | `28-000000b276e4` (DS18B20) |
|
||||
| Poller service | `fp-iot-poller.service` — posts to entech every 30s |
|
||||
| Poller config | `/etc/fp-iot/poller.conf` |
|
||||
| Poller logs | `journalctl -u fp-iot-poller -f` |
|
||||
|
||||
**Tailscale auth**: pre-authed to the `gurpreet6672@` tailnet. Survives reboots (`tailscaled` enabled).
|
||||
|
||||
### entech LXC (Odoo server)
|
||||
|
||||
- `iot_base` + `iot` + `fusion_plating_iot` all installed
|
||||
- Ingest endpoint: `POST http://10.200.1.26:8069/fp/iot/ingest`
|
||||
- Token lives in `ir.config_parameter['fusion_plating_iot.ingest_token']` — rotated via `scripts/fp_iot_setup_live_sensor.py` at setup time; rotate again in Settings → Technical → System Parameters as needed
|
||||
|
||||
## Repackaging notes — `iot_base` + `iot`
|
||||
|
||||
Both copied as-is from `/Users/gurpreet/Github/RePackaged-Odoo/_dependencies/`
|
||||
|
||||
Reference in New Issue
Block a user