feat(Somfyprotect2mqtt) add somfyprotect2mqtt (#7458)

* feat(somfyprotect2mqtt) add somfyprotect2mqtt

* update chart

* remove changes from cloudflared

* set tag v0.2.9

* fix sites range

* fix int variables

* fix host type in values

* convert to string

* fix manual_snapshot variable

* fix secrets.tpl

* remove unused secret obj

* fix config
This commit is contained in:
Xstar97TheNoob 2023-02-22 10:33:56 -05:00 committed by GitHub
parent 61ac76402c
commit 6109a65a68
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 369 additions and 0 deletions

View File

@ -0,0 +1,30 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl
# docs folder
/docs
# icon
icon.png

View File

@ -0,0 +1 @@
# Changelog

View File

@ -0,0 +1,31 @@
apiVersion: v2
appVersion: "0.2.9"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 11.1.2
deprecated: false
description: Somfy Protect to MQTT
home: https://truecharts.org/charts/incubator/somfyprotect2mqtt
icon: https://truecharts.org/img/hotlink-ok/chart-icons/somfyprotect2mqtt.png
keywords:
- somfyprotect2mqtt
- mqtt
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: somfyprotect2mqtt
sources:
- https://github.com/truecharts/charts/tree/master/charts/incubator/somfyprotect2mqtt
- https://github.com/Minims/SomfyProtect2MQTT
- https://hub.docker.com/r/minims/somfyprotect2mqtt
type: application
version: 0.0.1
annotations:
truecharts.org/catagories: |
- homeautomation
- mqtt
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@ -0,0 +1 @@
# README

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -0,0 +1,192 @@
# Include{groups}
portals: {}
questions:
# Include{global}
# Include{controller}
# Include{replicas}
# Include{replica1}
# Include{controllerExpertExtraArgs} somfyprotect2mqtt
- variable: somfyprotect2mqtt
group: App Configuration
label: SomfyProtect2MQTT Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: somfy
label: Somfy
schema:
additional_attrs: true
type: dict
attrs:
- variable: username
label: Username
schema:
type: string
required: true
default: ""
- variable: password
label: Password
schema:
type: string
required: true
private: true
default: ""
- variable: sites
label: Sites
description: Zones Label to check.
schema:
type: list
required: true
default: ["Maison"]
items:
- variable: sites_entry
label: Somfy Site Entry
description: Single site per entry.
schema:
type: string
default: ""
required: true
- variable: ha
label: Home-Assistant
schema:
additional_attrs: true
type: dict
attrs:
- variable: alarm_code
label: Alarm Code
description: Code to arm/disarm, Remove code to disable.
schema:
type: string
default: ""
- variable: alarm_code_arm_required
label: Alarm Code Required
schema:
type: boolean
default: false
- variable: alarm_code_disarm_required
label: Alarm Code Disarm Required
schema:
type: boolean
default: true
- variable: mqtt
label: MQTT
schema:
additional_attrs: true
type: dict
attrs:
- variable: host
label: Host
schema:
type: string
required: true
default: ""
- variable: port
label: Port
schema:
type: int
required: true
default: 1883
- variable: username
label: Username
schema:
type: string
required: true
default: ""
- variable: password
label: Password
schema:
type: string
required: true
private: true
default: ""
- variable: client_id
label: Client ID
schema:
type: string
required: true
private: true
default: ""
- variable: topic_prefix
label: Topic Prefix
schema:
type: string
required: true
default: somfyProtect2mqtt
- variable: ha_discover_prefix
label: Home-Assistant Topic Prefix
schema:
type: string
required: true
default: homeassistant
- variable: delay_site
label: Delay Site (seconds)
schema:
type: int
default: 10
min: 1
- variable: delay_device
label: Delay Device (seconds)
schema:
type: int
default: 60
min: 30
- variable: manual_snapshot
label: Manual Snapshot
schema:
type: boolean
default: false
# Include{containerConfig}
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceList}
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: Privileged mode
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: ReadOnly Root Filesystem
schema:
type: boolean
default: true
- variable: allowPrivilegeEscalation
label: Allow Privilege Escalation
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: runAsNonRoot
schema:
type: boolean
default: false
# Include{podSecurityContextRoot}
- variable: runAsUser
label: runAsUser
description: The UserID of the user running the application
schema:
type: int
default: 0
- variable: runAsGroup
label: runAsGroup
description: The groupID this App of the user running the application
schema:
type: int
default: 0
- variable: fsGroup
label: fsGroup
description: The group that should own ALL storage.
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
# Include{codeserver}
# Include{vpn}
# Include{documentation}

View File

@ -0,0 +1,46 @@
{{/* Define the secret */}}
{{- define "somfyprotect2mqtt.secret" -}}
{{- $secretName := printf "%s-secret" (include "tc.common.names.fullname" .) }}
{{- $secretStorageName := printf "%s-storage-secret" (include "tc.common.names.fullname" .) }}
{{- $sp2mqtt := .Values.somfyprotect2mqtt }}
---
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: {{ $secretName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
stringData:
config.yaml: |
somfy_protect:
username: {{ $sp2mqtt.somfy.username | quote }}
password: {{ $sp2mqtt.somfy.password | quote }}
{{- with $sp2mqtt.somfy.sites }}
sites:
{{- range $site := . }}
- {{ . | quote }}
{{- end }}
{{- end }}
homeassistant_config:
code: {{ $sp2mqtt.ha.alarm_code }}
code_arm_required: {{ ternary "true" "false" $sp2mqtt.ha.alarm_code_arm_required }}
code_disarm_required: {{ ternary "true" "false" $sp2mqtt.ha.alarm_code_disarm_required }}
mqtt:
host: {{ $sp2mqtt.mqtt.host | quote }}
port: {{ $sp2mqtt.mqtt.port | quote }}
username: {{ $sp2mqtt.mqtt.username | quote }}
password: {{ $sp2mqtt.mqtt.password | quote }}
client-id: {{ $sp2mqtt.mqtt.client_id | quote }}
topic_prefix: {{ $sp2mqtt.mqtt.topic_prefix | quote }}
ha_discover_prefix: {{ $sp2mqtt.mqtt.ha_discover_prefix | quote }}
delay_site: {{ $sp2mqtt.delay_site | quote }}
delay_device: {{ $sp2mqtt.delay_device | quote }}
manual_snapshot: {{ ternary "true" "false" $sp2mqtt.manual_snapshot }}
{{- end -}}

View File

@ -0,0 +1,8 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.common.loader.init" . }}
{{/* Render secret */}}
{{- include "somfyprotect2mqtt.secret" . }}
{{/* Render the templates */}}
{{ include "tc.common.loader.apply" . }}

View File

@ -0,0 +1,60 @@
image:
repository: tccr.io/truecharts/somfyprotect2mqtt
pullPolicy: IfNotPresent
tag: v0.2.9@sha256:96adf01880eb7569f86cc8b0637c9d0f2504df29ca336ba76456111c19c0c874
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
somfyprotect2mqtt:
somfy:
username: admin
password: password
sites: ["Maison"]
ha:
alarm_code: 1234
alarm_code_arm_required: false
alarm_code_disarm_required: true
mqtt:
host: "0.0.0.0"
port: 1883
username: admin
password: password
client_id: client_id
topic_prefix: somfyProtect2mqtt
ha_discover_prefix: homeassistant
delay_site: 10
delay_device: 60
manual_snapshot: false
service:
main:
enabled: false
ports:
main:
enabled: false
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
persistence:
configfile:
enabled: true
type: secret
readOnly: true
defaultMode: "0600"
objectName: '{{ include "tc.common.names.fullname" . }}-secret'
mountPath: /config/config.yaml
subPath: config.yaml
portal:
enabled: false