From 0cc3c19492831b3e5303ce6d07dc3c8873d11063 Mon Sep 17 00:00:00 2001
From: Ellis Percival <flyte@failcode.co.uk>
Date: Sat, 17 Oct 2020 15:25:43 +0100
Subject: [PATCH] Add stream config schema to config.schema.yml. Add black to
 makefile.

---
 Makefile                         |  4 ++
 config.schema.yml                | 67 ++++++++++++++++++++++++++++++++
 pi_mqtt_gpio/modules/__init__.py |  1 +
 3 files changed, 72 insertions(+)

diff --git a/Makefile b/Makefile
index b52a77e..648f5d9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,9 @@
 schema:
 	python setup.py insert_schema
+	$(MAKE) black
+
+black:
+	black -l 90 pi_mqtt_gpio
 
 packages: clean schema sdist wheel2 wheel3
 
diff --git a/config.schema.yml b/config.schema.yml
index 42dcedc..7feb3c4 100644
--- a/config.schema.yml
+++ b/config.schema.yml
@@ -145,6 +145,27 @@ sensor_modules:
         required: no
         default: yes
 
+stream_modules:
+  type: list
+  required: no
+  default: []
+  schema:
+    type: dict
+    allow_unknown: yes
+    schema:
+      name:
+        type: string
+        required: yes
+        empty: no
+      module:
+        type: string
+        required: yes
+        empty: no
+      cleanup:
+        type: boolean
+        required: no
+        default: yes
+
 digital_inputs:
   type: list
   required: no
@@ -286,6 +307,52 @@ sensor_inputs:
         default: 2
         min: 0
 
+stream_reads:
+  type: list
+  required: no
+  default: []
+  schema:
+    type: dict
+    allow_unknown: yes
+    schema:
+      name:
+        type: string
+        required: yes
+        empty: no
+      module:
+        type: string
+        required: yes
+        empty: no
+      retain:
+        type: boolean
+        required: no
+        default: no
+      encoding:
+        type: string
+        required: no
+      interval:
+        type: float
+        required: no
+        default: 60
+        min: 0.01
+
+stream_writes:
+  type: list
+  required: no
+  default: []
+  schema:
+    type: dict
+    allow_unknown: yes
+    schema:
+      name:
+        type: string
+        required: yes
+        empty: no
+      module:
+        type: string
+        required: yes
+        empty: no
+
 logging:
   type: dict
   required: no
diff --git a/pi_mqtt_gpio/modules/__init__.py b/pi_mqtt_gpio/modules/__init__.py
index c284e15..0661d99 100644
--- a/pi_mqtt_gpio/modules/__init__.py
+++ b/pi_mqtt_gpio/modules/__init__.py
@@ -91,6 +91,7 @@ class GenericSensor(object):
         """
         pass
 
+
 class GenericStream(object):
     """
     Abstracts a generic stream interface to be implemented
-- 
GitLab