fully working homeassistant integration

This commit is contained in:
2026-09-20 15:42:55 +00:00
parent 4bd18bd448
commit 665cae84e5
3 changed files with 24 additions and 26 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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