Program API для создания собственных драйверов Возможно создавать два типа драйверов: * Драйвер ввода - код, конфигурируемый в разделе **inputs** и отвечающий за опрос каких либо внешних устройств (кнопки, сенсоры), не подразумевающих передачу каких-либо команд из внешнего мира к данным устройствам * Драйверы вывода - код, конфигурируемый в разделе **items**. Основное назначение которого - транслировать внешним устройствам управляющие команды (по командам MQTT или от внутренних объектов контроллера). Драйверы вывода, также, имеют возможность транслировать в MQTT или другим объектам контроллера, информацию, получаемую от внешних устройств, изменившийся статус внешних устройств. То есть драйверы данного типа двунаправлены. **Общий класс-предок, определяющий абстрактные методы как для драйвера ввода так и для драйвера вывода:** Class abstractCh-| Setup(), Stop(), Poll(), Status() ; publishTopic(topic, value) | | **Унаследованный класс, определяющий прототип для драйвера ввода** |-Class abstractIn in + publish() | | **Унаследованный класс, определяющий прототип для драйвера вывода** |-Class abstractOut item + Ctrl(), isActive(), getDefaultOnVal()