diff options
| author | Luke Hoersten <[email protected]> | 2026-04-15 20:00:04 -0500 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2026-04-15 20:00:04 -0500 |
| commit | 4ec792319b0cc9ab9aa3410c454f4880515c62c0 (patch) | |
| tree | 876e693da2e2be042a574838484027de8be6b23d /unifi-protect-viewport/tasks/main.yaml | |
| parent | 7d61034d91cc716ad6165f6867c49940ced94909 (diff) | |
Rename doorbell-viewport role to unifi-protect-viewport
Diffstat (limited to 'unifi-protect-viewport/tasks/main.yaml')
| -rw-r--r-- | unifi-protect-viewport/tasks/main.yaml | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/unifi-protect-viewport/tasks/main.yaml b/unifi-protect-viewport/tasks/main.yaml new file mode 100644 index 0000000..c0ba715 --- /dev/null +++ b/unifi-protect-viewport/tasks/main.yaml @@ -0,0 +1,135 @@ +--- + +- name: add doorbell-viewport user + become: yes + user: + name: "{{doorbell_viewport_user}}" + shell: "/bin/false" + system: "yes" + create_home: "no" + groups: "video,input,render,tty" + append: "yes" + +- name: allow doorbell-viewport user to control sysfs backlight + become: yes + copy: + dest: "/etc/udev/rules.d/99-doorbell-viewport-backlight.rules" + owner: "root" + group: "root" + mode: "0644" + content: | + SUBSYSTEM=="backlight", ACTION=="add", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness" + +- name: set backlight brightness writable by video group + become: yes + file: + path: "/sys/class/backlight/rpi_backlight/brightness" + group: "video" + mode: "0664" + +- name: apt install doorbell-viewport dependencies + become: yes + apt: name="{{item}}" + notify: restart doorbell-viewport + loop: + - "mpv" + - "python3-evdev" + - "python3-requests" + - "python3-websockets" + +- name: create doorbell-viewport config dir + become: yes + file: + path: "/etc/doorbell-viewport" + owner: "root" + group: "{{doorbell_viewport_user}}" + mode: "0750" + state: "directory" + +- name: install doorbell-viewport daemon + become: yes + copy: + src: "doorbell-viewport.py" + dest: "/usr/local/bin/doorbell-viewport" + owner: "root" + group: "root" + mode: "0755" + notify: restart doorbell-viewport + +- name: install doorbell-viewport debug tool + become: yes + copy: + src: "doorbell-viewport-debug" + dest: "/usr/local/bin/doorbell-viewport-debug" + owner: "root" + group: "root" + mode: "0755" + +- name: configure doorbell-viewport environment + become: yes + template: + src: "doorbell-viewport.env.j2" + dest: "/etc/doorbell-viewport/doorbell-viewport.env" + owner: "root" + group: "{{doorbell_viewport_user}}" + mode: "0640" + notify: restart doorbell-viewport + no_log: true + +- name: install doorbell-viewport systemd service + become: yes + template: + src: "doorbell-viewport.service.j2" + dest: "/lib/systemd/system/doorbell-viewport.service" + 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: + path: "/boot/firmware/config.txt" + line: "dtoverlay=vc4-fkms-v3d" + regexp: "^dtoverlay=vc4-(f?)kms-v3d" + register: vc4_result + +- name: remind to reboot for vc4 DRM driver to take effect + debug: + msg: "config.txt updated — reboot {{inventory_hostname}} for dtoverlay=vc4-fkms-v3d to take effect" + when: vc4_result.changed + +- name: disable fbcon to free DRM device for mpv + become: yes + lineinfile: + path: "/boot/firmware/cmdline.txt" + backrefs: yes + 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 fbcon=map:99 to take effect" + when: cmdline_result.changed + +- name: ensure doorbell-viewport is started + become: yes + systemd: name="doorbell-viewport.service" enabled="yes" state="started" daemon_reload="yes" |
