mqtt should now work
This commit is contained in:
parent
57b49b75dd
commit
82340939fb
@ -13,56 +13,43 @@
|
|||||||
|
|
||||||
source ~/.mqtt-hass.conf
|
source ~/.mqtt-hass.conf
|
||||||
|
|
||||||
#MQTT_BROKER=""
|
LC_NAME="${DEVICE_NAME,,}"
|
||||||
#MQTT_PORT=1883
|
|
||||||
#MQTT_USERNAME=""
|
|
||||||
#MQTT_PASSWORD=""
|
|
||||||
|
|
||||||
#TYPE="power"
|
# Device attriutes
|
||||||
#NAME="Host $(hostname -s)"
|
DEVICE_ID="${LC_NAME// /_}"
|
||||||
#ID="host_$(hostname -s)"
|
DEVICE_MANUFACTURER="custom"
|
||||||
#TOPIC="host/$(hostname -s)"
|
DEVICE_MODEL="${DEVICE_NAME}" #"custom"
|
||||||
|
|
||||||
LC_NAME=${DEVICE_NAME,,}
|
# Sensor attributes
|
||||||
ID=${LC_NAME// /_}
|
SENSOR_ID="${DEVICE_ID}_${SENSOR_TYPE}"
|
||||||
|
SENSOR_EXPIRE_AFTER_S="600"
|
||||||
|
|
||||||
TOPIC=${LC_NAME// //}
|
case ${SENSOR_TYPE} in
|
||||||
|
|
||||||
|
|
||||||
case ${TYPE} in
|
|
||||||
"power")
|
"power")
|
||||||
DEVICE_CLASS="power"
|
SENSOR_UNIT="W"
|
||||||
UNIT="W"
|
SENSOR_ICON="mdi:lightning-bolt"
|
||||||
ICON="mdi:lightning-bolt"
|
|
||||||
;;
|
;;
|
||||||
"voltage")
|
"voltage")
|
||||||
DEVICE_CLASS="voltage"
|
SENSOR_UNIT="V"
|
||||||
UNIT="V"
|
SENSOR_ICON="mdi:sine-wave"
|
||||||
ICON="mdi:sine-wave"
|
|
||||||
;;
|
;;
|
||||||
"temperature")
|
"temperature")
|
||||||
DEVICE_CLASS="temperature"
|
SENSOR_UNIT="°C"
|
||||||
UNIT="°C"
|
SENSOR_ICON="mdi:thermometer"
|
||||||
ICON="mdi:thermometer"
|
|
||||||
;;
|
;;
|
||||||
"humidity")
|
"humidity")
|
||||||
DEVICE_CLASS="humidity"
|
SENSOR_UNIT="%"
|
||||||
UNIT="%"
|
SENSOR_ICON="mdi:water-percent"
|
||||||
ICON="mdi:water-percent"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown sensor type: ${TYPE}" >2
|
echo "Unknown sensor type: ${SENSOR_TYPE}" >&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# MQTT attributes
|
||||||
MANUFACTURER="custom"
|
MQTT_CONFIG_TOPIC="homeassistant/sensor/${SENSOR_ID}/config"
|
||||||
MODEL="custom"
|
MQTT_STATE_TOPIC="${LC_NAME// //}/${SENSOR_TYPE}/state"
|
||||||
EXPIRE_AFTER_S="600"
|
|
||||||
|
|
||||||
MQTT_CONFIG_TOPIC="homeassistant/sensor/${ID}/config"
|
|
||||||
MQTT_STATE_TOPIC="${TOPIC}/${DEVICE_CLASS}"
|
|
||||||
|
|
||||||
function send {
|
function send {
|
||||||
TOPIC=$1
|
TOPIC=$1
|
||||||
@ -85,18 +72,18 @@ function state {
|
|||||||
|
|
||||||
function setupEntity {
|
function setupEntity {
|
||||||
config "{\
|
config "{\
|
||||||
\"name\": \"${NAME}\",\
|
\"name\": \"${SENSOR_NAME}\",\
|
||||||
\"unique_id\": \"${ID}_${DEVICE_CLASS}\",\
|
\"unique_id\": \"${SENSOR_ID}\",\
|
||||||
\"device_class\": \"${DEVICE_CLASS}\",\
|
\"device_class\": \"${SENSOR_TYPE}\",\
|
||||||
\"unit_of_measurement\": \"${UNIT}\",\
|
\"unit_of_measurement\": \"${SENSOR_UNIT}\",\
|
||||||
\"state_topic\": \"${MQTT_STATE_TOPIC}\",\
|
\"state_topic\": \"${MQTT_STATE_TOPIC}\",\
|
||||||
\"expire_after\": \"${EXPIRE_AFTER_S}\",\
|
\"expire_after\": \"${SENSOR_EXPIRE_AFTER_S}\",\
|
||||||
\"icon\": \"${ICON}\",\
|
\"icon\": \"${SENSOR_ICON}\",\
|
||||||
\"device\": {\
|
\"device\": {\
|
||||||
\"name\": \"${DEVICE_NAME}\",\
|
\"name\": \"${DEVICE_NAME}\",\
|
||||||
\"identifiers\": \"${ID}\",\
|
\"identifiers\": [\"${DEVICE_ID}\"],\
|
||||||
\"manufacturer\": \"${MANUFACTURER}\",\
|
\"manufacturer\": \"${DEVICE_MANUFACTURER}\",\
|
||||||
\"model\": \"${MODEL}\"\
|
\"model\": \"${DEVICE_MODEL}\"\
|
||||||
}}"
|
}}"
|
||||||
|
|
||||||
#\"firendly_name\": \"${NAME} power\",\
|
#\"firendly_name\": \"${NAME} power\",\
|
||||||
|
|||||||
@ -79,9 +79,9 @@ for PLUGIN in ${PLUGINS}; do
|
|||||||
|
|
||||||
if [ $MQTT_OK = "true" ];
|
if [ $MQTT_OK = "true" ];
|
||||||
then
|
then
|
||||||
MQTT="NAME=\"${LINE_TYPE}\" DEVICE_NAME=\"${PLUGIN} ${LINE_ROOM}\" TYPE=\"${TYPE}\" ${SCRIPT_PATH}/mqtt.sh ${LINE_VALUE}"
|
MQTT="SENSOR_NAME=\"${LINE_TYPE}\" SENSOR_TYPE=\"${TYPE}\" DEVICE_NAME=\"${PLUGIN} ${LINE_ROOM}\" ${SCRIPT_PATH}/mqtt.sh ${LINE_VALUE}"
|
||||||
echo "$MQTT"
|
echo "$MQTT"
|
||||||
#eval $MQTT
|
eval $MQTT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done # LINE
|
done # LINE
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user