diff --git a/config.schema.yml b/config.schema.yml index 6fa3531c2da5d4992dbba4505742a41f06924bbd..133374eff92e996e7ae65f3de7f4696ad834aa8f 100644 --- a/config.schema.yml +++ b/config.schema.yml @@ -148,10 +148,11 @@ digital_inputs: required: yes empty: no pin: - type: string + type: + - string + - integer required: yes empty: no - coerce: int_if_possible on_payload: type: string required: yes @@ -187,10 +188,11 @@ digital_outputs: type: string required: yes pin: - type: string + type: + - string + - integer required: yes empty: no - coerce: int_if_possible on_payload: type: string required: no diff --git a/pi_mqtt_gpio/__init__.py b/pi_mqtt_gpio/__init__.py index d3a4def93e22171da2bc229e98ad43d377940212..65cc2cbf8f5334e15d69afbc22a1d5295d3f0564 100644 --- a/pi_mqtt_gpio/__init__.py +++ b/pi_mqtt_gpio/__init__.py @@ -151,10 +151,11 @@ digital_inputs: required: yes empty: no pin: - type: string + type: + - string + - integer required: yes empty: no - coerce: int_if_possible on_payload: type: string required: yes @@ -190,10 +191,11 @@ digital_outputs: type: string required: yes pin: - type: string + type: + - string + - integer required: yes empty: no - coerce: int_if_possible on_payload: type: string required: no diff --git a/pi_mqtt_gpio/server.py b/pi_mqtt_gpio/server.py index e3777f92f0cabea355efe4e4c7fd85f4828e2e2a..37dc1666cfe2cc6425f084055333c895789f52c0 100644 --- a/pi_mqtt_gpio/server.py +++ b/pi_mqtt_gpio/server.py @@ -87,19 +87,6 @@ class ConfigValidator(cerberus.Validator): """ return str(value) - @staticmethod - def _normalize_coerce_int_if_possible(value): - """ - Convert value to integer if possible. - :param value: Value to convert - :return: Value represented as an int if possible, else string. - :rtype: str or int - """ - try: - return int(value) - except ValueError: - return value - def on_log(client, userdata, level, buf): """