diff options
author | Tom Grime <tom.grime@gmail.com> | 2022-06-02 10:22:11 +0100 |
---|---|---|
committer | Rosen Penev <rosenp@gmail.com> | 2022-06-09 12:31:24 -0700 |
commit | f8b97f7962a8f4b271751c511750d5aef28a1236 (patch) | |
tree | e35a338c32b9d76244dfc0610cad5516ba288f2c /utils/mqttled | |
parent | db8205e5458e27152b02c57609f2224586843271 (diff) |
mqttled: add new package
Signed-off-by: Tom Grime <tom.grime@gmail.com>
Diffstat (limited to 'utils/mqttled')
-rw-r--r-- | utils/mqttled/Makefile | 58 | ||||
-rw-r--r-- | utils/mqttled/files/mqttled.config | 34 | ||||
-rw-r--r-- | utils/mqttled/files/mqttled.init | 16 |
3 files changed, 108 insertions, 0 deletions
diff --git a/utils/mqttled/Makefile b/utils/mqttled/Makefile new file mode 100644 index 000000000..1620fe155 --- /dev/null +++ b/utils/mqttled/Makefile @@ -0,0 +1,58 @@ + +include $(TOPDIR)/rules.mk + +PKG_NAME:=mqttled +PKG_VERSION:=0.1.0 +PKG_RELEASE:=1 + +PYPI_NAME:=mqttled +PKG_HASH:=20f46b7114b6ddace6e0faaaa078640f609c3d495e4ccff8d8caeb77ac5418f7 + +PKG_MAINTAINER:=Tom Grime <tom.grime@gmail.com> +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENCE + +include ../../lang/python/pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../../lang/python/python3-package.mk + +define Package/mqttled + SECTION:=utils + CATEGORY:=Utilities + TITLE:=LED Control from MQTT + URL:=https://github.com/trevortrevor/mqttled/ + DEPENDS:= \ + +python3-paho-mqtt \ + +python3-uci \ + +python3-idna \ + +python3-jsonpath-ng \ + +python3-yaml \ + +python3-schema \ + +python3-netifaces \ + +python3-logging \ + +python3-urllib \ + +python3-asyncio \ + +python3-pkg-resources + +endef + +define Package/mqttled/description + Exposes the LEDs of your device to an MQTT broker with optional Home Assistant auto discovery +endef + +define Py3Package/mqttled/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mqttled $(1)/usr/bin/ + + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/mqttled.init $(1)/etc/init.d/mqttled + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_DATA) ./files/mqttled.config $(1)/etc/config/mqttled +endef + +define Package/mqttled/conffiles +/etc/config/mqttled +endef + +$(eval $(call Py3Package,mqttled)) +$(eval $(call BuildPackage,mqttled)) diff --git a/utils/mqttled/files/mqttled.config b/utils/mqttled/files/mqttled.config new file mode 100644 index 000000000..e3c793a86 --- /dev/null +++ b/utils/mqttled/files/mqttled.config @@ -0,0 +1,34 @@ +config mqtt 'mqtt' + #MQTT Broker Address + option host '192.168.1.1' + option port '1883' + #May work without this, should bind to all interfaces. Needs to be an interface matching in /etc/config/network + option interface 'lan' + option username '' + option password '' + #Not tested + option tls '0' + option cert '' + option discovery 'homeassistant' + #Set your topic here: e.g. OpenWRTleds/CustomDevice/led1 + option basetopic 'OpenWRTleds' + option subtopic 'CustomDevice' + #Reported in the 'device' page in Home Assistant + option model 'OpenWRT Device' + +config leds 'leds' + #Setting this to 1 will ignore any includes + option includeall '1' + #excluded LEDs will allways be supressed + list exclude 'mt76-phy0' + list exclude 'rt2800soc-phy1::assoc' + list exclude 'rt2800soc-phy1::quality' + list exclude 'rt2800soc-phy1::radio' + #list include 'blue:internet' + +config trigger 'triggers' + #Only triggers listed here will be presented to HA as 'effects' + list triggers 'none' + list triggers 'default-on' + list triggers 'heartbeat' + list triggers 'timer' diff --git a/utils/mqttled/files/mqttled.init b/utils/mqttled/files/mqttled.init new file mode 100644 index 000000000..3b785bb31 --- /dev/null +++ b/utils/mqttled/files/mqttled.init @@ -0,0 +1,16 @@ +#!/bin/sh /etc/rc.common + +START=99 +STOP=99 + +USE_PROCD=1 + +PROG=/usr/bin/mqttled + +start_service() { + procd_open_instance + procd_set_param command "$PROG" + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_close_instance +} |