Install mqttdpms
basementhud/pipeline/head This commit looks good Details
fedora-pi-netboot/pipeline/head Build started... Details
dustin/basementhud/pipeline/head There was a failure building this commit Details

The `mqttdpms` tool will allow the screens to be turned off and on using
Home Assistant.  We'll install it into the rootfs image by copying the
artifact from its Jenkins build into the overlay tree before building
the image.
Dustin 2022-05-22 14:12:32 -05:00
parent 51a2324a1c
commit 3b4d9c0109
6 changed files with 38 additions and 3 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/_build /_build
overlay/home/user/.config/mqttdpms/config.toml

View File

@ -1,7 +1,9 @@
SHELL ?= /bin/sh SHELL ?= /bin/sh
.PHONY: rootfs .PHONY: rootfs
rootfs: rootfs: \
overlay/usr/local/bin/mqttdpms \
overlay/home/user/.config/mqttdpms/config.toml
$(SHELL) mkrootfs.sh _build/rootfs $(SHELL) mkrootfs.sh _build/rootfs
.PHONY: initramfs .PHONY: initramfs
@ -15,3 +17,7 @@ _build/rootfs/boot/initramfs.img: \
.PHONY: publish .PHONY: publish
publish: publish:
$(SHELL) publish.sh _build/rootfs $(SHELL) publish.sh _build/rootfs
overlay/home/user/.config/mqttdpms/config.toml: \
overlay/home/user/.config/mqttdpms/config.toml.in
sed "s:@PASSWORD@:${MQTTDPMS_PASSWORD}:" < $< > $@

13
ci/Jenkinsfile vendored
View File

@ -39,7 +39,18 @@ pipeline {
sh 'rm -rf _build' sh 'rm -rf _build'
} }
} }
sh 'make rootfs initramfs' copyArtifacts \
filter: 'aarch64/mqttdpms',
projectName: 'mqttdpms/master',
selector: lastSuccessful()
sh 'install aarch64/mqttdpms overlay/usr/local/bin/'
withCredentials([usernamePassword(
usernameVariable: 'MQTTDPMS_USERNAME',
passwordVariable: 'MQTTDPMS_PASSWORD',
credentialsId: 'mqttdpms-basementhud',
)]) {
sh 'make rootfs initramfs'
}
} }
} }

View File

@ -0,0 +1,9 @@
[Unit]
Description=MQTT DPMS Control
[Service]
ExecStart=/usr/local/bin/mqttdpms
Environment=RUST_LOG=info
Restart=always
StandardInput=null
StandardOutput=journal

View File

@ -0,0 +1,8 @@
name = "Basement HUD"
[mqtt]
host = 'homeassistant.pyrocufflink.blue'
port = 8883
tls = true
username = 'basementhud'
password = "@PASSWORD@"

View File

@ -7,6 +7,6 @@ TZ="$(curl https://ipapi.co/timezone)"
export TZ export TZ
systemctl --user import-environment DISPLAY TZ systemctl --user import-environment DISPLAY TZ
systemctl --user start firefox-marionette.socket firefox systemctl --user start firefox-marionette.socket firefox mqttdpms
exec openbox-session exec openbox-session