diff --git a/opencode/decisions.yaml b/opencode/decisions.yaml index 7d5e2f9..a24152e 100644 --- a/opencode/decisions.yaml +++ b/opencode/decisions.yaml @@ -182,3 +182,24 @@ notes: - octoprint - template status: active + - id: 2026-08-07-octoprint-camera-go2rtc-h264-transcode + date: 2026-08-07 + title: "OctoPrint camera: go2rtc H264 transcode required for WebRTC" + decision: Ender camera (endercamera.duckdns.org) streams MJPEG only; go2rtc serves it + transcoded to H264 (ffmpeg:...#video=h264) because WebRTC cannot negotiate MJPEG. + Keep this transcode. The printer-stats dashboard webrtc card uses go2rtc's named + 'octoprint' stream, never a raw URL. + rationale: "Fixed the webrtc-camera card's DESCRIBE error (dead + rtsp://127.0.0.1:18554/octoprint) and 'codec not matched' error (MJPEG over WebRTC). + Operational trap discovered: do NOT POST to go2rtc /api/config - it persists its + JSON body into go2rtc.yaml, silently overwriting config. To change streams, edit + /homeassistant/go2rtc.yaml and reload the webrtc integration (entry + 01KWT295KFJ9V0N6ZXG88JM3GA); the embedded go2rtc reads that file on reload." + entities: + - camera.endercamera_duckdns_org + files: + - go2rtc.yaml + integrations: + - webrtc + - octoprint + status: active diff --git a/zigbee2mqtt/state.json b/zigbee2mqtt/state.json index a911139..9bee409 100644 --- a/zigbee2mqtt/state.json +++ b/zigbee2mqtt/state.json @@ -27,7 +27,7 @@ "led_brightness": 100, "countdown_to_turn_off": 0, "countdown_to_turn_on": 0, - "power": 2.7, + "power": 3, "current": 0.12, "energy": 26.84, "power_factor": 0.15, @@ -45,9 +45,9 @@ "state": "ON", "led_brightness": 100, "countdown_to_turn_off": 0, - "voltage": 120.8, + "voltage": 120.3, "countdown_to_turn_on": 0, - "energy": 50.31, + "energy": 50.32, "power_factor": 0.88, "ac_frequency": 60, "update": { @@ -58,7 +58,7 @@ "latest_release_notes": null }, "linkquality": 134, - "power": 83.5, + "power": 83.4, "current": 0.82, "power_on_behavior": "on" }, @@ -77,8 +77,8 @@ "voltage": 119.5, "state": "ON", "ac_frequency": 60, - "energy": 102.49, - "power": 99.7, + "energy": 102.5, + "power": 96.4, "current": 0.89, "power_factor": 0.91, "update": { @@ -96,10 +96,10 @@ "countdown_to_turn_off": 0, "countdown_to_turn_on": 0, "voltage": 120.6, - "energy": 43.81, + "energy": 43.82, "state": "ON", - "power": 73.7, - "current": 0.82, + "power": 86.8, + "current": 1.02, "ac_frequency": 60, "power_factor": 0.76, "update": { @@ -119,7 +119,7 @@ "energy": 6.33, "current": 0.01, "power": 0.2, - "power_factor": 0.22, + "power_factor": 0.11, "linkquality": 123, "update": { "state": "idle", @@ -143,7 +143,7 @@ "current": 0.02, "ac_frequency": 60, "power": 0.3, - "power_factor": 0.2, + "power_factor": 0.14, "update": { "state": "idle", "installed_version": 268513381, @@ -187,8 +187,8 @@ "latest_source": "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/images/ThirdReality/SmartPlug_Zigbee_PROD_OTA_V101_1.01.01.ota", "latest_release_notes": null }, - "power_factor": 0.12, - "power": 0.5 + "power_factor": 0.37, + "power": 4.7 }, "0xa4c1380d0679ffff": { "battery": 100,