fully working homeassistant integration
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
alias_001415daa6ff=Vorlauf
|
alias_001415daa6ff=Vorlauf
|
||||||
alias_000802775a88=Ext_1
|
alias_000802775a88=Umgebung
|
||||||
alias_0008027777d5=Ext_2
|
alias_0008027777d5=Rücklauf
|
||||||
alias_00000614a13f=Schlafzimmer_1
|
alias_00000614a13f=Schlafzimmer_1
|
||||||
alias_00000614a9dd=Schlafzimmer_2
|
alias_00000614a9dd=Schlafzimmer_2
|
||||||
alias_00042c37a7ff=Wohnzimmer_1
|
alias_00042c37a7ff=Wohnzimmer_1
|
||||||
|
|||||||
16
mqtt/mqtt
16
mqtt/mqtt
@@ -11,9 +11,9 @@
|
|||||||
# Prerequesite
|
# Prerequesite
|
||||||
#apt install mosquitto-clients
|
#apt install mosquitto-clients
|
||||||
|
|
||||||
LC_NAME="${DEVICE_NAME,,}"
|
|
||||||
|
|
||||||
# Device attriutes
|
# Device attriutes
|
||||||
|
DEVICE_NAME=${DEVICE_NAME:-$HOSTNAME}
|
||||||
|
LC_NAME="${DEVICE_NAME,,}"
|
||||||
DEVICE_ID="${LC_NAME// /_}"
|
DEVICE_ID="${LC_NAME// /_}"
|
||||||
DEVICE_MANUFACTURER="custom"
|
DEVICE_MANUFACTURER="custom"
|
||||||
DEVICE_MODEL="${DEVICE_NAME}" #"custom"
|
DEVICE_MODEL="${DEVICE_NAME}" #"custom"
|
||||||
@@ -48,14 +48,14 @@ case ${SENSOR_UNIT} in
|
|||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
SENSOR_ID="${DEVICE_ID}_${SENSOR_TYPE}"
|
SENSOR_ID="${DEVICE_ID}_${SENSOR_NAME}_${SENSOR_TYPE}"
|
||||||
SENSOR_EXPIRE_AFTER_S="600"
|
SENSOR_EXPIRE_AFTER_S="600"
|
||||||
|
|
||||||
# MQTT attributes
|
# MQTT attributes
|
||||||
MQTT_CONFIG_TOPIC="homeassistant/sensor/${SENSOR_ID}/config"
|
MQTT_CONFIG_TOPIC="homeassistant/sensor/${SENSOR_ID}/config"
|
||||||
MQTT_STATE_TOPIC="${LC_NAME// //}/${SENSOR_NAME}/state"
|
MQTT_STATE_TOPIC="${DEVICE_ID// //}/${SENSOR_NAME}/${SENSOR_TYPE}/state"
|
||||||
|
MQTT_BROKER="${MQTT_BROKER:-localhost}"
|
||||||
|
MQTT_PORT="${MQTT_PORT:-1883}"
|
||||||
|
|
||||||
function send {
|
function send {
|
||||||
TOPIC=$1
|
TOPIC=$1
|
||||||
@@ -64,11 +64,11 @@ function send {
|
|||||||
echo "TOPIC=$TOPIC"
|
echo "TOPIC=$TOPIC"
|
||||||
echo "PAYLOAD=$PAYLOAD"
|
echo "PAYLOAD=$PAYLOAD"
|
||||||
if [ -n "${MQTT_USERNAME}" ] && [ -n "${MQTT_PASSWORD}" ]; then
|
if [ -n "${MQTT_USERNAME}" ] && [ -n "${MQTT_PASSWORD}" ]; then
|
||||||
mosquitto_pub -h "${MQTT_BROKER:=localhost}" -p "${MQTT_PORT:=1883}" -u "${MQTT_USERNAME}" -P "${MQTT_PASSWORD}" \
|
mosquitto_pub -h "${MQTT_BROKER}" -p "${MQTT_PORT}" -u "${MQTT_USERNAME}" -P "${MQTT_PASSWORD}" \
|
||||||
-t "$TOPIC" \
|
-t "$TOPIC" \
|
||||||
-m "$PAYLOAD"
|
-m "$PAYLOAD"
|
||||||
else
|
else
|
||||||
mosquitto_pub -h "${MQTT_BROKER:=localhost}" -p "${MQTT_PORT:=1883}" \
|
mosquitto_pub -h "${MQTT_BROKER}" -p "${MQTT_PORT}" \
|
||||||
-t "$TOPIC" \
|
-t "$TOPIC" \
|
||||||
-m "$PAYLOAD"
|
-m "$PAYLOAD"
|
||||||
fi
|
fi
|
||||||
|
|||||||
18
mqtt/send
18
mqtt/send
@@ -11,27 +11,25 @@ do
|
|||||||
s=${s##*-}
|
s=${s##*-}
|
||||||
v=$(cat $f)
|
v=$(cat $f)
|
||||||
|
|
||||||
SENSORS+=("${s} ${v}")
|
SENSOR=${s}
|
||||||
done
|
VALUE=${v/#[0-9][0-9]/&.}
|
||||||
|
VALUE=$(echo "scale=1; (10*($VALUE+0.5))/10" | /usr/bin/bc)
|
||||||
for ROW in "${SENSORS[@]}"; do
|
|
||||||
ENTRY=( $ROW )
|
|
||||||
SENSOR=${ENTRY[0]}
|
|
||||||
VALUE=${ENTRY[1]/#[0-9][0-9]/&.}
|
|
||||||
|
|
||||||
# Overrides SENSOR - Example: env.sensor_0_0 Batterie
|
# Overrides SENSOR - Example: env.sensor_0_0 Batterie
|
||||||
ENV_SENSOR_VAR_NAME="alias_${SENSOR}"
|
ENV_SENSOR_VAR_NAME="alias_${SENSOR}"
|
||||||
ENV_SENSOR_NAME=${!ENV_SENSOR_VAR_NAME}
|
ENV_SENSOR_NAME=${!ENV_SENSOR_VAR_NAME}
|
||||||
|
|
||||||
if [ -n "${ENV_SENSOR_NAME}" ]; then
|
if [ -n "${ENV_SENSOR_NAME}" ]; then
|
||||||
echo "${ENV_SENSOR_NAME}.value ${VALUE}"
|
SENSOR="${ENV_SENSOR_NAME}"
|
||||||
else
|
|
||||||
echo "${SENSOR}.value ${VALUE}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "${SENSOR}.value ${VALUE}"
|
||||||
|
SENSOR_NAME="${SENSOR}" SENSOR_UNIT="°C" ./mqtt ${VALUE}
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#SENSOR_NAME="voltage" SENSOR_UNIT="mV" DEVICE_NAME="heat-pi ina219" ./mqtt $VOLTAGE
|
#SENSOR_NAME="voltage" SENSOR_UNIT="mV" DEVICE_NAME="heat-pi ina219" ./mqtt $VOLTAGE
|
||||||
#SENSOR_NAME="current" SENSOR_UNIT="mA" DEVICE_NAME="heat-pi ina219" ./mqtt $CURRENT
|
#SENSOR_NAME="current" SENSOR_UNIT="mA" DEVICE_NAME="heat-pi ina219" ./mqtt $CURRENT
|
||||||
#SENSOR_NAME="power" SENSOR_UNIT="mW" DEVICE_NAME="heat-pi ina219" ./mqtt $POWER
|
#SENSOR_NAME="power" SENSOR_UNIT="mW" DEVICE_NAME="heat-pi ina219" ./mqtt $POWER
|
||||||
|
|||||||
Reference in New Issue
Block a user