Install mqttdpms
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 8d6ee17b56
6 changed files with 38 additions and 3 deletions

1
.gitignore vendored
View File

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

View File

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

11
ci/Jenkinsfile vendored
View File

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

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
systemctl --user import-environment DISPLAY TZ
systemctl --user start firefox-marionette.socket firefox
systemctl --user start firefox-marionette.socket firefox mqttdpms
exec openbox-session