diff --git a/pi_mqtt_gpio/__init__.py b/pi_mqtt_gpio/__init__.py index 329e6d8a80b662d6db51283325db2c2e52285604..f3d999a73501eb3440da5c45419d937deb7ba5a0 100644 --- a/pi_mqtt_gpio/__init__.py +++ b/pi_mqtt_gpio/__init__.py @@ -1,4 +1,163 @@ -import sys -print("FATAL ERROR: The file at pi_mqtt_gpio/__init__.py should be replaced us" - "ing 'make schema' before packaging.") -sys.exit(1) +import yaml + +CONFIG_SCHEMA = yaml.load(""" +mqtt: + type: dict + required: yes + schema: + host: + type: string + empty: no + required: no + default: localhost + port: + type: integer + min: 1 + max: 65535 + required: no + default: 1883 + user: + type: string + required: no + default: "" + password: + type: string + required: no + default: "" + client_id: + type: string + required: no + default: "" + topic_prefix: + type: string + required: no + default: "" + coerce: rstrip_slash + protocol: + type: string + required: no + empty: no + coerce: tostring + default: "3.1.1" + allowed: + - "3.1" + - "3.1.1" + status_topic: + type: string + required: no + default: status + status_payload_running: + type: string + required: no + default: running + status_payload_stopped: + type: string + required: no + default: stopped + status_payload_dead: + type: string + required: no + default: dead + +gpio_modules: + type: list + required: yes + 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 + default: [] + schema: + type: dict + schema: + name: + type: string + required: yes + empty: no + module: + type: string + required: yes + empty: no + pin: + type: integer + required: yes + min: 0 + on_payload: + type: string + required: yes + empty: no + off_payload: + type: string + required: yes + empty: no + pullup: + type: boolean + required: no + default: no + pulldown: + type: boolean + required: no + default: no + retain: + type: boolean + required: no + default: no + +digital_outputs: + type: list + required: no + default: [] + schema: + type: dict + schema: + name: + type: string + required: yes + module: + type: string + required: yes + pin: + type: integer + required: yes + min: 0 + on_payload: + type: string + required: no + empty: no + off_payload: + type: string + required: no + empty: no + inverted: + type: boolean + required: no + default: no + initial: + type: string + required: no + allowed: + - high + - low + retain: + type: boolean + required: no + default: no + + +""")