Deploying to a Gateway
You compiled. Now you put the artifacts on the gateway. Two paths, pick one.
Path A: ship the whole bundle
The simplest deploy. Copy bundle.tar.gz to the gateway and let it pick up everything in one shot.
scp out/bundle.tar.gz [email protected]:/etc/scadable/bundle.tar.gz
ssh [email protected] sudo systemctl restart scadable-gatewayThe gateway extracts the bundle, finds the new driver configs, and starts the right driver subprocesses.
Path B: ship individual driver configs
Useful when you only changed one device and do not want to push the whole bundle. Copy the YAML to the device's config directory.
scp out/drivers/line-sensor.yaml \
[email protected]:/etc/scadable/devices/line-sensor/config.yamlThe driver subprocess for that device is restarted automatically by the gateway watcher (the watcher polls every 5 seconds for config changes).
Confirm it worked
SSH into the gateway and check the service:
sudo systemctl status scadable-gatewayTail the logs:
sudo journalctl -u scadable-gateway -fYou should see lines like:
gateway: loaded driver config /etc/scadable/devices/line-sensor/config.yaml
gateway: spawned driver subprocess for line-sensor (modbus_tcp, host=192.168.1.50)
driver[line-sensor]: connected
driver[line-sensor]: poll ok (registers=3, latency=12ms)Or in the dashboard, the device card flips to online and telemetry starts streaming on the topic chart.
When deploys fail
| Symptom | Likely cause | Fix |
|---|---|---|
Driver shows no driver after deploy | YAML is for a protocol the gateway does not implement yet | Check protocol against Modbus; other protocols are preview |
Driver loops on connection refused | Wrong host or firewall | ping and nc -vz <host> <port> from the gateway |
Driver loops on timeout | Wrong slave ID | Check device DIP switches or vendor config tool |
| Driver shows wrong values | Wrong scale or dtype | See the Modbus page on scaling and dtype |
Production tip
For fleets, do not scp from your laptop. Push to a central artifact store (S3, GCS, internal Nexus) and let the gateway pull. The dashboard's deploy flow does this automatically when you click Deploy in a project.
Next steps
- Modbus: tune your device config when telemetry is wrong
- Error Catalog: for compile-time problems
Updated 4 days ago
