Symptoms
- Device shows as offline in the dashboard
- Sensor cards show stale or no data
- Actuator commands are not acknowledged
- Device health panel shows no recent metrics
Common Causes and Fixes
1. Network Connection Lost
Check: Is the Pi connected to the network?
- Verify Ethernet cable is seated or Wi-Fi is connected
- Try pinging the Pi from another device on the same network
- Check your router's connected devices list
Fix: Reconnect the network cable or reconfigure Wi-Fi credentials.
2. Internet Connectivity
Check: Can the Pi reach the internet?
- SSH into the Pi and run
ping google.com - Check if your ISP or firewall is blocking outbound connections
Fix: Resolve network/firewall issues. The Pi needs outbound HTTPS access to Firebase.
3. Firebase Authentication Expired
Check: The Pi's Firebase token may have expired.
- Check the Pi agent logs for authentication errors
- The agent auto-refreshes tokens, but a clock drift can cause failures
Fix: The Pi agent automatically refreshes Firebase tokens before starting Node-RED. If the token is expired, restart the agent service: sudo systemctl restart loopstring-agent
4. Node-RED Crashed
Check: Is Node-RED running on the Pi?
- SSH into the Pi:
sudo systemctl status nodered - Check Node-RED logs:
sudo journalctl -u nodered -f
Fix: Restart Node-RED: sudo systemctl restart nodered
5. SD Card Corruption
Check: If the Pi rebooted unexpectedly (power loss), the SD card may be corrupted.
- Check filesystem:
sudo fsck /dev/mmcblk0p2 - Look for read-only filesystem errors in
dmesg
Fix: If the filesystem is damaged, re-flash the SD card with a fresh LoopString image and reclaim the device.
6. Power Supply Issues
Check: Is the Pi getting adequate power?
- Check for the lightning bolt icon on the Pi's HDMI output (undervoltage warning)
- Verify the power supply meets the Pi model's requirements
Fix: Use the official Raspberry Pi power supply or a supply rated for your Pi model.
Remote Diagnostics
If Tailscale remote access is enabled, you can SSH into the Pi even when it appears offline in the dashboard:
- Check the Tailscale status in the device settings
- If the Tailscale tunnel is online, SSH via the Tailscale IP
- Inspect logs and restart services remotely
Preventive Measures
- Enable device health monitoring — Set threshold alerts for CPU temperature and disk usage
- Use a UPS — Protect against power loss and SD card corruption
- Enable OTA updates — Keep the LoopString agent current
- Config backups — Regularly export device configuration for quick recovery
Peripheral and Network Scan Validation
If peripheral or network scans fail silently after a device reconnects, this is likely caused by Firebase RTDB stripping empty arrays to null. The scan validation rules have been relaxed — only the scannedAt timestamp is required for a scan result to be accepted. Individual scan arrays (I2C, serial, one-wire, network hosts) may be null or empty without causing write failures.
The dashboard handles null scan arrays safely. If you see empty scan results, it means the scan ran successfully but found no devices on that bus or network — not that the scan failed.
Ambiguous EZO I2C Addresses
Atlas Scientific EZO sensors use I2C addresses in the 0x61-0x6F range, which are user-configurable. Because the same address can be used by different EZO sensor types (pH, EC, DO, ORP, RTD), the peripheral scan labels all addresses in this range as "Atlas EZO Sensor" rather than guessing the specific type. You can identify the exact sensor type during Configurator setup.