src.nth.io/

summaryrefslogtreecommitdiff
path: root/doorbell-viewport/tasks
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2026-04-12 13:13:16 -0500
committerLuke Hoersten <[email protected]>2026-04-12 13:13:16 -0500
commit1298d68bb9bc33b84a70e4c9c27c806d8a0748c9 (patch)
tree55411e3ffe37b36f10aff9007646ec06b1a937ad /doorbell-viewport/tasks
parent8c58be6b00bd79e3b1c2b9ab3a256939a0a4a832 (diff)
Fix doorbell-viewport bringup issues
- Fix websockets headers kwarg via inspect (works across all versions) - Use full path /usr/bin/vcgencmd; add libraspberrypi-bin dependency - Fix UniFi Protect WS packet decoder to handle multiple concatenated packets per message (action+data in single frame) - Fetch lastUpdateId from bootstrap for WS URL - Switch fbcon disable from video=HDMI-A-1:D to fbcon=map:99 (fkms compat) - Default drm_connector to DSI-1 for fkms; drop hardcoded drm_mode - Add --no-audio and --hwdec=no to mpv; fix DRM mode-setting race on startup - Add PoE HAT fan control with configurable temp thresholds
Diffstat (limited to 'doorbell-viewport/tasks')
-rw-r--r--doorbell-viewport/tasks/main.yaml30
1 files changed, 25 insertions, 5 deletions
diff --git a/doorbell-viewport/tasks/main.yaml b/doorbell-viewport/tasks/main.yaml
index cb27924..989111d 100644
--- a/doorbell-viewport/tasks/main.yaml
+++ b/doorbell-viewport/tasks/main.yaml
@@ -19,6 +19,7 @@
- "python3-evdev"
- "python3-requests"
- "python3-websockets"
+ - "libraspberrypi-bin"
- name: create doorbell-viewport config dir
become: yes
@@ -67,6 +68,25 @@
mode: "0644"
notify: restart doorbell-viewport
+- name: configure PoE HAT fan temperature thresholds
+ become: yes
+ blockinfile:
+ path: "/boot/firmware/config.txt"
+ marker: "# {mark} doorbell-viewport poe fan"
+ block: |
+ dtoverlay=rpi-poe
+ dtparam=poe_fan_temp0={{doorbell_viewport_poe_fan_temp0}},poe_fan_temp0_hyst=5000
+ dtparam=poe_fan_temp1={{doorbell_viewport_poe_fan_temp1}},poe_fan_temp1_hyst=5000
+ dtparam=poe_fan_temp2={{doorbell_viewport_poe_fan_temp2}},poe_fan_temp2_hyst=5000
+ dtparam=poe_fan_temp3={{doorbell_viewport_poe_fan_temp3}},poe_fan_temp3_hyst=5000
+ when: doorbell_viewport_poe_fan
+ register: fan_result
+
+- name: remind to reboot for PoE fan config to take effect
+ debug:
+ msg: "config.txt updated — reboot {{inventory_hostname}} for PoE HAT fan thresholds to take effect"
+ when: fan_result is not skipped and fan_result.changed
+
- name: enable vc4 KMS DRM driver
become: yes
lineinfile:
@@ -77,21 +97,21 @@
- name: remind to reboot for vc4 DRM driver to take effect
debug:
- msg: "config.txt updated — reboot {{inventory_hostname}} for dtoverlay=vc4-kms-v3d to take effect"
+ msg: "config.txt updated — reboot {{inventory_hostname}} for dtoverlay=vc4-fkms-v3d to take effect"
when: vc4_result.changed
-- name: disable fbcon on HDMI to free DRM device for mpv
+- name: disable fbcon to free DRM device for mpv
become: yes
lineinfile:
path: "/boot/firmware/cmdline.txt"
backrefs: yes
- regexp: "^((?!.*video={{doorbell_viewport_drm_connector}}:D).*)$"
- line: "\\1 video={{doorbell_viewport_drm_connector}}:D"
+ regexp: "^((?!.*fbcon=map:99).*)$"
+ line: "\\1 fbcon=map:99"
register: cmdline_result
- name: remind to reboot for cmdline.txt change to take effect
debug:
- msg: "cmdline.txt updated — reboot {{inventory_hostname}} for video={{doorbell_viewport_drm_connector}}:D to take effect"
+ msg: "cmdline.txt updated — reboot {{inventory_hostname}} for fbcon=map:99 to take effect"
when: cmdline_result.changed
- name: ensure doorbell-viewport is started