diff options
| author | Karel Kočí <cynerd@email.cz> | 2020-02-11 11:22:37 +0100 | 
|---|---|---|
| committer | Karel Kočí <cynerd@email.cz> | 2020-02-11 11:22:37 +0100 | 
| commit | f210cba93aa555c39b2583704524f728b89b3e94 (patch) | |
| tree | 3a9fc67bf8e66df84f7694bbc666a037ae3d0aba /bigclown-mqtt2influxdb | |
| parent | 11fd7bb9e59cc8f74507f3bbbc270fe5e259fcd7 (diff) | |
| download | openwrt-personal-pkgs-f210cba93aa555c39b2583704524f728b89b3e94.tar.gz openwrt-personal-pkgs-f210cba93aa555c39b2583704524f728b89b3e94.tar.bz2 openwrt-personal-pkgs-f210cba93aa555c39b2583704524f728b89b3e94.zip | |
Try to update bigclown tools
Diffstat (limited to 'bigclown-mqtt2influxdb')
| -rw-r--r-- | bigclown-mqtt2influxdb/Makefile | 49 | ||||
| -rw-r--r-- | bigclown-mqtt2influxdb/files/config.yml | 67 | ||||
| -rw-r--r-- | bigclown-mqtt2influxdb/files/init | 21 | 
3 files changed, 137 insertions, 0 deletions
| diff --git a/bigclown-mqtt2influxdb/Makefile b/bigclown-mqtt2influxdb/Makefile new file mode 100644 index 0000000..38f317a --- /dev/null +++ b/bigclown-mqtt2influxdb/Makefile @@ -0,0 +1,49 @@ +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=bigclown-mqtt2influxdb +PKG_VERSION:=1.3.0 +PKG_RELEASE:=1 + +PKG_SOURCE_URL:=https://codeload.github.com/bigclownlabs/bch-mqtt2influxdb/tar.gz/v$(PKG_VERSION)? +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_HASH:=56e1de1f83cb2c5fd5f280c29917c5c25021c36311075c12414733dd0d701697 +PKG_LICENSE:=MIT +PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz> +PKG_BUILD_DIR:=$(BUILD_DIR)/bch-mqtt2influxdb-$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk +include ../../../lang/python/python3-package.mk + +define Package/$(PKG_NAME) +  SECTION:=utils +  CATEGORY:=Utilities +  SUBMENU:=BigClown +  URL:=https://github.com/bigclownlabs/bch-mqtt2influxdb +  TITLE:=BigCLown MQTT to Influxdb bridge +  DEPENDS:=+python3-paho-mqtt +python3-yaml +python3-influxdb +python3-jsonpath-ng +python3-schema +endef + +define Py3Package/$(PKG_NAME)/install +	$(INSTALL_DIR) $(1)/usr/bin +	$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ + +	$(INSTALL_DIR) $(1)/etc/init.d +	$(INSTALL_BIN) ./files/init $(1)/etc/init.d/bigclown-mqtt2influxdb +	$(INSTALL_DATA) ./files/config.yml $(1)/etc/bigclown-mqtt2influxdb.yml +endef + +define Package/$(PKG_NAME)/conffiles +/etc/bigclown-mqtt2influxdb.yml +endef + +define Build/Compile +	sed -i 's/@@VERSION@@/$(PKG_VERSION)/' "$(PKG_BUILD_DIR)/setup.py" +	$(call Py3Build/Compile/Default) +endef + +$(eval $(call Py3Package,$(PKG_NAME))) +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/bigclown-mqtt2influxdb/files/config.yml b/bigclown-mqtt2influxdb/files/config.yml new file mode 100644 index 0000000..350c85a --- /dev/null +++ b/bigclown-mqtt2influxdb/files/config.yml @@ -0,0 +1,67 @@ +## Example bigclown-mqtt2influxdb configuration + +# MQTT configuration +mqtt: +  #host: 127.0.0.1 +  #port: 1883 + +# InfluxDB configuration +influxdb: +  #host: 127.0.0.1 +  #port: 8086 +  #database: node + +# This is default configuration used to mirror all values produced by default +# BigClown modules firmware. You might want to add your topics or drop those for +# modules you don't own. +points: +  - measurement: temperature +    topic: node/+/thermometer/+/temperature +    fields: +      value: $.payload +    tags: +      id: $.topic[1] +      channel: $.topic[3] + +  - measurement: relative-humidity +    topic: node/+/hygrometer/0:4/relative-humidity +    fields: +      value: $.payload +    tags: +      id: $.topic[1] + +  - measurement: illuminance +    topic: node/+/lux-meter/0:0/illuminance +    fields: +      value: $.payload +    tags: +      id: $.topic[1] + +  - measurement: pressure +    topic: node/+/barometer/0:0/pressure +    fields: +      value: $.payload +    tags: +      id: $.topic[1] + +  - measurement: co2 +    topic: node/+/co2-meter/-/concentration +    fields: +      value: $.payload +    tags: +      id: $.topic[1] + +  - measurement: voltage +    topic: node/+/battery/+/voltage +    fields: +      value: $.payload +    tags: +      id: $.topic[1] + +  - measurement: button +    topic: node/+/push-button/+/event-count +    fields: +      value: $.payload +    tags: +      id: $.topic[1] +      channel: $.topic[3] diff --git a/bigclown-mqtt2influxdb/files/init b/bigclown-mqtt2influxdb/files/init new file mode 100644 index 0000000..5c95600 --- /dev/null +++ b/bigclown-mqtt2influxdb/files/init @@ -0,0 +1,21 @@ +#!/bin/sh /etc/rc.common + +START=99 +STOP=1 + +USE_PROCD=1 + +PROG=/usr/bin/mqtt2influxdb +CONF=/etc/bigclown-mqtt2influxdb.yml + +start_service() { +	procd_open_instance +	procd_set_param command "$PROG" -d -c "$CONF" +	procd_set_param stdout 1 +	procd_set_param stderr 1 +	procd_close_instance +} + +stop_service() { +	service_stop "$PROG" +} | 
