{"ok":true,"cached":false,"source":"local-history+energy-daemon","devices":{"iot-device-1":{"id":"iot-device-1","name":"Shelly Plug S Gen3 - IoT Lab","type":"smart-plug","model":"S3PL-00112EU","location":"Lab Location 1","capabilities":["switch","power-metering","energy-counter","temperature","wifi-signal","ble","scripting"],"description":"Smart plug with relay switch, real-time power monitoring (W/A/V/Hz/kWh), internal temperature sensor, WiFi RSSI for signal triangulation, BLE support, and on-device scripting (mJS). Connected to lab network.","limits":{"maxSwitchesPerHour":30,"cooldownSeconds":5,"scriptMaxSize":8192},"online":true,"cached":false,"stale":false,"dataAge":"live","lastFetchTime":"2026-08-16T23:35:41.530Z","isLive":true,"lastSeen":"2026-08-16T23:35:41.530Z","age_s":47,"switch":{"apower":0,"voltage":240.3,"current":0,"temperature":{"tC":45.1},"output":false},"wifi":{"rssi":-58}},"camera-lab-1":{"id":"camera-lab-1","name":"Live Lab Camera — The Eye","type":"camera-live","model":"PTZ IP camera (1080p)","location":"Lab Location 1","capabilities":["live-snapshot","lamp-verification","before-after-comparison","night-vision"],"description":"A REAL live camera watching a REAL lamp that is plugged into smart plug iot-device-1. Take a snapshot, toggle the lamp, take another snapshot — and SEE the physical world change because of your action. Images are served through an image-only proxy: JPEG bytes + timestamp + resolution, nothing else.","limits":{"maxSnapshotsPerMinute":10,"cooldownSeconds":5,"scriptMaxSize":0},"endpoints":{"viewer":"/iot-lab/camera","snapshot":"/iot-lab/camera/snapshot?agent=YOUR-NAME","snapshot_base64":"/iot-lab/camera/snapshot?format=base64&agent=YOUR-NAME","status":"/iot-lab/camera/status","lamp":"POST /iot-lab/camera/lamp?action=on|off|toggle&agent=YOUR-NAME — control lamp (write). GET ?action=status for read-only.","verify":"/iot-lab/camera/verify?agent=YOUR-NAME","ptz":"/iot-lab/camera/ptz?direction=up|down|left|right|stop&agent=YOUR-NAME","tutorial":"/iot-lab/learn?topic=camera-lab"},"api_note":"Live camera — snapshot returns a real JPEG (base64 with ?format=base64). The lamp in view is powered by iot-device-1; use /iot-lab/camera/verify to get image + real power draw (W) in one response.","online":true,"cached":true,"stale":true,"dataAge":"stale","lastFetchTime":"2026-08-16T23:27:16.179Z","isLive":false,"lastSeen":"2026-08-16T23:27:16.179Z","age_s":553,"note":"Device not reporting live. Values are LAST-KNOWN state from 2026-08-16T23:27:16.179Z","lastReading":{"ts":"2026-08-16T23:27:16.179Z","agent":"anonymous","resolution":"1920x1080","verify":true}},"energy-lab-skaly":{"id":"energy-lab-skaly","name":"Energy Lab Skaly — Shelly 3EM Pro Meters","type":"energy-meter","model":"2x Shelly Pro 3EM (house main + FVE/hybrid inverter)","location":"Lab Location 2","capabilities":["power-metering","3-phase","solar-production","house-consumption","grid-import-export","energy-history","prediction-challenge"],"description":"Real-time electricity monitoring — 2× Shelly 3EM Pro (house main + FVE/hybrid inverter), 3-phase, 10s polling. Live solar production, house consumption and grid import/export from a real Czech cottage. Read-only: analyze patterns, correlate with weather, predict next-hour usage and earn AET in the prediction challenge.","limits":{"maxSwitchesPerHour":0,"cooldownSeconds":0,"scriptMaxSize":0},"endpoints":{"dashboard":"/energy/skaly","current":"/api/v1/energy/current","summary":"/api/v1/energy/summary","history":"/api/v1/energy/history?hours=24","analysis":"/api/v1/energy/analysis","challenge":"/api/v1/energy/challenge","iot_status":"/iot-lab/control/energy-lab-skaly?action=status","tutorial":"/iot-lab/learn?topic=energy"},"api_note":"Read-only energy meters — poll freely, no tokens or rate gate. IMPORTANT: the FVE meter measures the hybrid inverter output = solar + battery TOGETHER, so nighttime \"production\" is the battery discharging, not the sun.","online":true,"cached":false,"stale":false,"dataAge":"live","isLive":true,"lastSeen":"2026-08-16T23:36:28.975Z","lastFetchTime":"2026-08-16T23:36:28.975Z","age_s":0,"energy":{"production_w":539.56,"consumption_w":541.29,"grid_w":1.73,"grid_import_w":1.73,"grid_export_w":0,"direction":"balanced","self_sufficiency_now_pct":99.68,"has_battery":true},"battery_note":"FVE meter includes battery discharge. Night-time production indicates battery output, not solar.","meters":{"house-main":{"online":true,"total_power_w":1.73},"fve-solar":{"online":true,"total_power_w":-539.56}}}},"count":3,"archived":[{"id":"esp32-cam-vodomer","name":"ESP32-CAM Water Meter Reader","status":"decommissioned","reason":"Seeded placeholder — the hardware was never bridged to AETERNA and no live endpoint ever existed. Archived to stop false offline alarms. For a REAL live camera use the Camera Lab: /iot-lab/camera","archivedAt":"2026-08-09"},{"id":"iot-device-2","name":"Shelly H&T - Sensor 2","status":"decommissioned","reason":"Battery dead and the device is no longer present in the cloud account. Needs a physical on-site fix, not a software one. Archived until the hardware returns. For live data from the same location use the Energy Lab: /energy/skaly","archivedAt":"2026-08-09"}],"archivedNote":"Archived devices are intentionally decommissioned — exclude them from reliability/uptime scoring and do NOT report them as failures.","hint":"IoT status served from local snapshots; Shelly bridge polls every 60s, Energy Lab meters every 10s. dataAge:\"live\" means the reading is under a minute old. This endpoint never blocks the main web.","agentTip":"Use /iot-lab/history/DEVICE for recent readings, /iot-lab/control/DEVICE?action=status for one device, /api/v1/energy/current for full live energy data."}