Add add-on to run ser2net

This commit is contained in:
Fredrik Baberg 2023-01-19 23:08:07 +01:00
parent d60f53f251
commit 385428adb4
7 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,14 @@
ARG BUILD_FROM="ghcr.io/home-assistant/amd64-base"
FROM ${BUILD_FROM} AS final
ENV LANG C.UTF-8
RUN echo "Install base requirements." \
&& apk add --no-cache ser2net
COPY rootfs/ /
WORKDIR /
# Make files executable
RUN chmod +x /etc/cont-init.d/*.sh
RUN chmod +x /etc/services.d/*/*

View File

@ -0,0 +1,3 @@
# 3dprinter-remote
Provides remote access to 3DPrinter. Add-on runs ser2net and can be connected to by e.g. socat.

View File

@ -0,0 +1,27 @@
name: "3DPrinter-remote"
version: "2023.01.0"
slug: "3dprinter-remote"
description: "Add-on for accessing 3DPrinter remotely using socat"
url: "https://github.com/fredrikbaberg/ha-3dprinter-addons/tree/main/3dprinter-remote"
arch:
- armv7
- amd64
- armhf
- aarch64
- i386
stage: experimental
init: false
usb: true
ports:
9999/tcp: null
ports_description:
9999/tcp: Port for access to ser2net
options:
printer_path: "/dev/null"
printer_baudrate: "115200"
ser2net_args: ""
schema:
printer_path: "str"
printer_baudrate: "int"
ser2net_args: "str?"
# image: ghcr.io/fredrikbaberg/ha-addon-3dprinter-remote-{arch}

View File

@ -0,0 +1,14 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Add-on: 3dprinter-remote
# Setup ser2net.conf
# ==============================================================================
# Generate ser2net configuration
bashio::var.json \
printer_path "$(bashio::config 'printer_path')" \
printer_baudrate "$(bashio::config 'printer_baudrate')" \
ser2net_args "$(bashio::config 'ser2net_args')" \
| tempio \
-template /usr/share/tempio/ser2net/ser2net.conf.gtpl \
-out /etc/ser2net.conf

View File

@ -0,0 +1,9 @@
#!/usr/bin/execlineb -S0
# ==============================================================================
# Add-on: mjpg-streamer
# Take down the S6 supervision tree when mjpg-streamer fails
# ==============================================================================
if -n { s6-test $# -ne 0 }
if -n { s6-test ${1} -eq 256 }
s6-svscanctl -t /var/run/s6/services

View File

@ -0,0 +1,9 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Add-on: 3dprinter-remote
# Runs ser2net
# ==============================================================================
bashio::log.info "Starting mjpg-streamer.."
exec ser2net -d

View File

@ -0,0 +1,2 @@
9999:raw:0:{{ .printer_path }}:{{ .printer_baudrate }} {{ .ser2net_args }}
BANNER:banner1:Welcome to ser2net \rTCP port \p device \d\r