summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Kočí <karel.koci@nic.cz>2018-09-13 17:05:35 +0200
committerKarel Kočí <karel.koci@nic.cz>2018-09-13 17:05:35 +0200
commita927a28b3ac837ade33929b95268d89a7979ff8a (patch)
treef767a2a5753d6ca4e9637d30f129a4bad1427ae9
parentb6e3cde6e911ae1a66b6681ab69498bd340ffaf1 (diff)
downloadopenwrt-personal-pkgs-a927a28b3ac837ade33929b95268d89a7979ff8a.tar.gz
openwrt-personal-pkgs-a927a28b3ac837ade33929b95268d89a7979ff8a.tar.bz2
openwrt-personal-pkgs-a927a28b3ac837ade33929b95268d89a7979ff8a.zip
bigclown-mqtt2influxdb: add configuration
-rw-r--r--bigclown-mqtt2influxdb/Makefile9
-rw-r--r--bigclown-mqtt2influxdb/files/config.yml60
-rw-r--r--bigclown-mqtt2influxdb/files/init39
3 files changed, 70 insertions, 38 deletions
diff --git a/bigclown-mqtt2influxdb/Makefile b/bigclown-mqtt2influxdb/Makefile
index 0fe33dd..fd606f0 100644
--- a/bigclown-mqtt2influxdb/Makefile
+++ b/bigclown-mqtt2influxdb/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bigclown-mqtt2influxdb
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=https://github.com/bigclownlabs/bch-mqtt2influxdb.git
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
@@ -17,6 +17,13 @@ endef
define Py3Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) ./files/mqtt2influxdb $(1)/usr/bin/mqtt2influxdb
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/init $(1)/etc/init.d/bc-mqtt2influxdb
+ $(INSTALL_DATA) ./files/config.yml $(1)/etc/bc-mqtt2influxdb.yml
+endef
+
+define Package/$(PKG_NAME)/conffiles
+/etc/bc-mqtt2influxdb.yml
endef
define Build/Compile
diff --git a/bigclown-mqtt2influxdb/files/config.yml b/bigclown-mqtt2influxdb/files/config.yml
new file mode 100644
index 0000000..922c1b9
--- /dev/null
+++ b/bigclown-mqtt2influxdb/files/config.yml
@@ -0,0 +1,60 @@
+mqtt:
+ host: 127.0.0.1
+ port: 1883
+
+influxdb:
+ host: 127.0.0.1
+ port: 8086
+ database: node
+
+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
index f9efc0e..76e5d2d 100644
--- a/bigclown-mqtt2influxdb/files/init
+++ b/bigclown-mqtt2influxdb/files/init
@@ -6,41 +6,12 @@ STOP=1
USE_PROCD=1
PROG=/usr/bin/mqtt2influxdb
-CONF=/tmp/etc/bc-mqtt2influxdb.conf
-
-append() {
- local cfg="$1"
- local uci_name="$2"
- local out_name="$3"
- local default="$4"
- config_get val $cfg $uci_name $default
- if [ -n "$val" ]; then
- echo "$out_name $val" >> $CONF
- fi
-}
+CONF=/etc/bc-mqtt2influxdb.yml
start_service() {
- config_load bc-gateway-usb-dongle
-
- rm -rf $CONF
- echo "Generating bc-gateway-usb-dongle config file in $CONF"
-
- append gateway name 'name:' usb-dongle
- append gateway device 'device:' /dev/ttyUSB0
- append gateway automatic_rename_kit_nodes 'automatic_rename_kit_nodes:' 1
- append gateway base_topic_prefix 'base_topic_prefix:'
-
- echo "mqtt:" >> $CONF
-
- append mqtt host ' host:' localhost
- append mqtt port ' port:' 1883
- append mqtt cafile ' cafile:'
- append mqtt certfile ' certfile:'
- append mqtt keyfile ' keyfile:'
-
procd_open_instance
procd_set_param respawn
- procd_set_param command "$PROG" -c "$CONF" --debug
+ procd_set_param command "$PROG" -c "$CONF"
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
@@ -48,10 +19,4 @@ start_service() {
stop_service() {
service_stop "$PROG"
- ps | grep "$PROG" | grep -v grep | sed -e 's/^\s*\([0-9]\+\)\s.*$/\1/' | xargs -r -- kill -9
-}
-
-service_triggers()
-{
- procd_add_reload_trigger 'bc-gateway-usb-dongle'
}