From 0d810335cfc55c836a054db14fab36fb99f58441 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 13 Jun 2021 11:41:11 +0100 Subject: add atacama --- mqtt_dash.sh | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100755 mqtt_dash.sh (limited to 'mqtt_dash.sh') diff --git a/mqtt_dash.sh b/mqtt_dash.sh new file mode 100755 index 0000000..e0378bc --- /dev/null +++ b/mqtt_dash.sh @@ -0,0 +1,190 @@ +#!/bin/bash + +id=1 + +TMP=/tmp/metrics.$$ + +( + + +color() +{ +guid=$(uuidgen) +echo " + { + \"enableIntermediateState\": true, + \"enablePub\": true, + \"enteredIntermediateStateAt\": 0, + \"format\": 0, + \"icon\": \"ic_radio_button_checked\", + \"id\": \"$guid\", + \"intermediateStateTimeout\": 0, + \"jsBlinkExpression\": \"\", + \"jsOnDisplay\": \"\", + \"jsOnReceive\": \"\", + \"jsOnTap\": \"\", + \"jsonPath\": \"\", + \"longId\": $id, + \"name\": \"$1\", + \"qos\": 0, + \"retained\": false, + \"topic\": \"$2\", + \"topicPub\": \"\", + \"type\": 6, + \"updateLastPayloadOnPub\": true + } +" +id=$[ $id + 1] +} + + +list() { +guid=$(uuidgen) +echo " + { + \"enableIntermediateState\": true, + \"enablePub\": true, + \"enteredIntermediateStateAt\": 0, + \"id\": \"$guid\", + \"intermediateStateTimeout\": 0, + \"items\": [ +" +echo "$3" + +echo " + ], + \"jsBlinkExpression\": \"\", + \"jsOnDisplay\": \"\", + \"jsOnReceive\": \"\", + \"jsOnTap\": \"\", + \"jsonPath\": \"\", + \"longId\": $id, + \"mainTextSize\": \"LARGE\", + \"name\": \"$1\", + \"qos\": 0, + \"retained\": false, + \"textColor\": -1, + \"topic\": \"$2\", + \"topicPub\": \"\", + \"type\": 4, + \"updateLastPayloadOnPub\": true + } +" + +id=$[ $id + 1] +} + +toggle() +{ +guid=$(uuidgen) +echo " + { + \"enableIntermediateState\": true, + \"enablePub\": $4, + \"enteredIntermediateStateAt\": 0, + \"iconOff\": \"ic_check_box_unchecked\", + \"iconOn\": \"ic_check_box_checked\", + \"id\": \"$guid\", + \"intermediateStateTimeout\": 0, + \"jsBlinkExpression\": \"\", + \"jsOnDisplay\": \"\", + \"jsOnReceive\": \"\", + \"jsOnTap\": \"\", + \"jsonPath\": \"\", + \"longId\": $id, + \"name\": \"$1\", + \"offColor\": -1, + \"onColor\": -1, + \"payloadOff\": \"$5\", + \"payloadOn\": \"$6\", + \"qos\": 0, + \"retained\": false, + \"topic\": \"$3\", + \"topicPub\": \"$2\", + \"type\": 2, + \"updateLastPayloadOnPub\": true + } +" +id=$[ $id + 1] +} + +numeric() { +guid=$(uuidgen) +echo " + { + \"decimalPrecision\": 1, + \"displayPayloadValue\": true, + \"enableIntermediateState\": false, + \"enablePub\": $4, + \"id\": \"$guid\", + \"intermediateStateTimeout\": 0, + \"jsBlinkExpression\": \"\", + \"jsOnDisplay\": \"\", + \"jsOnReceive\": \"\", + \"jsOnTap\": \"\", + \"jsonPath\": \"\", + \"longId\": $id, + \"maxValue\": $6, + \"minValue\": $5, + \"name\": \"$1\", + \"postfix\": \"\", + \"prefix\": \"\", + \"progressColor\": -1, + \"qos\": 0, + \"retained\": false, + \"topic\": \"$3\", + \"topicPub\": \"$2\", + \"type\": 3, + \"updateLastPayloadOnPub\": true + } + +" +id=$[ $id + 1] +} + + +lightswitch() { +toggle $1 cmnd/$2/$3 stat/$2/$3 true OFF ON +} + +lightswitch_l() { +lightswitch $1 $1 POWER +} + +radiator() { +toggle "${1}_coil" cmnd/$1/POWER stat/$1/POWER false OFF ON +echo "," +toggle "${1}_open" cmnd/$1/OPEN stat/$1/OPEN false 0 1 +echo "," +numeric "${1}_temp" cmnd/$1/TEMPERATURE stat/$1/TEMPERATURE false 5.0 35.0 +echo "," +numeric "${1}_low" cmnd/$1/var1 stat/$1/var1 true 5.0 35.0 +echo "," +numeric "${1}_high" cmnd/$1/var2 stat/$1/var2 true 5.0 35.0 +} + + + +echo "[" + + +for r in hall_radiator laundry_radiator kitchen_radiator dd_radiator1 dd_radiator2 dd_radiator3 music_room_radiator music_room_e_radiator plc0_radiator7; do +radiator $r +echo "," +done + +for r in bathroom_radiator bedroom_radiator kstudy_radiator boxroom_radiator spare_bedroom_radiator ; do +radiator $r +echo "," +done + +radiator 2fl_main_radiator +echo "," +radiator 2fl_stair_radiator + +echo "]" + + +) > ${TMP} + +mosquitto_pub -h 10.32.137.1 -t metrics/exchange -f ${TMP} -- cgit v1.2.3