From c681fccb630eab9c221948bc6280922230ea702f Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 3 Nov 2021 21:55:17 +0100 Subject: [PATCH] install mqttwarn --- _apps/mqttwarn.yaml | 21 ++++++++++++ mqttwarn/cm-transformers.yaml | 64 +++++++++++++++++++++++++++++++++++ mqttwarn/deployment.yaml | 34 +++++++++++++++++++ mqttwarn/mqttwarn-ini.yaml | 17 ++++++++++ 4 files changed, 136 insertions(+) create mode 100644 _apps/mqttwarn.yaml create mode 100644 mqttwarn/cm-transformers.yaml create mode 100644 mqttwarn/deployment.yaml create mode 100644 mqttwarn/mqttwarn-ini.yaml diff --git a/_apps/mqttwarn.yaml b/_apps/mqttwarn.yaml new file mode 100644 index 0000000..a5b8264 --- /dev/null +++ b/_apps/mqttwarn.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: mqttwarn + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + destination: + namespace: mqttwarn + server: https://kubernetes.default.svc + project: apps + source: + path: mqttwarn + repoURL: https://git.tbrnt.ch/tobru/gitops-tbrnt.git + targetRevision: HEAD +--- +apiVersion: v1 +kind: Namespace +metadata: + name: mqttwarn diff --git a/mqttwarn/cm-transformers.yaml b/mqttwarn/cm-transformers.yaml new file mode 100644 index 0000000..4471290 --- /dev/null +++ b/mqttwarn/cm-transformers.yaml @@ -0,0 +1,64 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: transformers +data: + transformers.py: | + import ast + import logging + + + def laq4_values(topic, data, srv=None): + payload = ast.literal_eval(data["payload"]) + d = dict( + battery=payload["uplink_message"]["decoded_payload"]["Bat_V"], + temperature=payload["uplink_message"]["decoded_payload"]["TempC_SHT"], + humidity=payload["uplink_message"]["decoded_payload"]["Hum_SHT"], + tvoc_ppb=payload["uplink_message"]["decoded_payload"]["TVOC_ppb"], + co2_ppm=payload["uplink_message"]["decoded_payload"]["CO2_ppm"], + rssi=payload["uplink_message"]["rx_metadata"][0]["rssi"], + consumed_airtime=payload["uplink_message"]["consumed_airtime"].replace("s", ""), + gateway_id=payload["uplink_message"]["rx_metadata"][0]["gateway_ids"][ + "gateway_id" + ], + ) + logging.debug(d) + return d + + + def rhf1s001_values(topic, data, srv=None): + payload = ast.literal_eval(data["payload"]) + d = dict( + battery=payload["uplink_message"]["decoded_payload"]["battery"], + temperature=payload["uplink_message"]["decoded_payload"]["temp"], + humidity=payload["uplink_message"]["decoded_payload"]["hum"], + rssi=payload["uplink_message"]["rx_metadata"][0]["rssi"], + consumed_airtime=payload["uplink_message"]["consumed_airtime"].replace("s", ""), + gateway_id=payload["uplink_message"]["rx_metadata"][0]["gateway_ids"][ + "gateway_id" + ], + ) + logging.debug(d) + return d + + + def lds02_values(topic, data, srv=None): + payload = ast.literal_eval(data["payload"]) + d = dict( + Topic=topic, + Battery=payload["uplink_message"]["decoded_payload"]["BAT_V"], + Alarm=payload["uplink_message"]["decoded_payload"]["ALARM"], + DoorOpenStatus=payload["uplink_message"]["decoded_payload"]["DOOR_OPEN_STATUS"], + DoorOpenTimes=payload["uplink_message"]["decoded_payload"]["DOOR_OPEN_TIMES"], + LastDoorOpenDuration=payload["uplink_message"]["decoded_payload"][ + "LAST_DOOR_OPEN_DURATION" + ], + Mod=payload["uplink_message"]["decoded_payload"]["MOD"], + rssi=payload["uplink_message"]["rx_metadata"][0]["rssi"], + consumed_airtime=payload["uplink_message"]["consumed_airtime"].replace("s", ""), + gateway_id=payload["uplink_message"]["rx_metadata"][0]["gateway_ids"][ + "gateway_id" + ], + ) + logging.debug(d) + return d diff --git a/mqttwarn/deployment.yaml b/mqttwarn/deployment.yaml new file mode 100644 index 0000000..d81f611 --- /dev/null +++ b/mqttwarn/deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: mqttwarn + name: mqttwarn +spec: + replicas: 1 + selector: + matchLabels: + app: mqttwarn + template: + metadata: + labels: + app: mqttwarn + spec: + containers: + - image: ghcr.io/jpmens/mqttwarn-full:0.28.1 + name: mqttwarn-full + imagePullPolicy: IfNotPresent + volumeMounts: + - name: config + mountPath: /etc/mqttwarn/mqttwarn.ini + subPath: mqttwarn.ini + - name: transformers + mountPath: /etc/mqttwarn/transformers.py + subPath: transformers.py + volumes: + - name: config + secret: + secretName: mqttwarn-ini + - name: transformers + configMap: + name: transformers diff --git a/mqttwarn/mqttwarn-ini.yaml b/mqttwarn/mqttwarn-ini.yaml new file mode 100644 index 0000000..8fdddb4 --- /dev/null +++ b/mqttwarn/mqttwarn-ini.yaml @@ -0,0 +1,17 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: mqttwarn-ini + namespace: mqttwarn +spec: + encryptedData: + mqttwarn.ini: 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 + template: + metadata: + creationTimestamp: null + name: mqttwarn-ini + namespace: mqttwarn + type: Opaque +status: {} +