Ok so after much work on this I finally got my Acuparse data to read into HA.
Here is what I did
- In Acuparse under Upload, enable it to be able to send the data to your HA MQTT broker
I set the main topic to be weather
Next once its publishing to the broker I then installed a MQTT publishing client on a linux box and ran the following
#Declare variables make sure that you adjust these as necessary
mqtthost=IP of Broker
mqttuser=MQTTUSER
mqttpass=MQTTPASSWORD
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_wind_heading/config" -m '{
"name": "Wind Heading",
"state_topic": "weather/main/wind_heading",
"unit_of_measurement": "°",
"value_template": "{{ value | float }}",
"unique_id": "weather_wind_heading",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_wind_direction/config" -m '{
"name": "Wind Direction",
"state_topic": "weather/main/windDIR",
"unique_id": "weather_wind_direction",
"icon": "mdi:weather-windy",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_rainfall/config" -m '{
"name": "Rainfall",
"state_topic": "weather/main/rainIN",
"unit_of_measurement": "in",
"value_template": "{{ value | float }}",
"unique_id": "weather_rainfall",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_temp_high/config" -m '{
"name": "High Temperature",
"state_topic": "weather/main/tempF_high",
"unit_of_measurement": "°F",
"device_class": "temperature",
"unique_id": "weather_tempF_high",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_temp_low/config" -m '{
"name": "Low Temperature",
"state_topic": "weather/main/tempF_low",
"unit_of_measurement": "°F",
"device_class": "temperature",
"unique_id": "weather_tempF_low",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_temp_avg/config" -m '{
"name": "Average Temperature",
"state_topic": "weather/main/tempF_avg",
"unit_of_measurement": "°F",
"device_class": "temperature",
"unique_id": "weather_tempF_avg",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_dew_point/config" -m '{
"name": "Dew Point",
"state_topic": "weather/main/dewptF",
"unit_of_measurement": "°F",
"device_class": "temperature",
"unique_id": "weather_dewptF",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_feels_like/config" -m '{
"name": "Feels Like Temperature",
"state_topic": "weather/main/feelsF",
"unit_of_measurement": "°F",
"device_class": "temperature",
"unique_id": "weather_feels_like",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_wind_heading/config" -m '{
"name": "Wind Heading",
"state_topic": "weather/main/wind_heading",
"unit_of_measurement": "°",
"value_template": "{{ value | float }}",
"unique_id": "weather_wind_heading",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_wind_direction/config" -m '{
"name": "Wind Direction",
"state_topic": "weather/main/windDIR",
"unique_id": "weather_wind_direction",
"icon": "mdi:weather-windy",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
#Adjust for your area if you're in imperial use inHG for the pressure
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_pressure/config" -m '{
"name": "Pressure",
"state_topic": "weather/main/pressure",
"unit_of_measurement": "hPa",
"value_template": "{{ value | float }}",
"unique_id": "weather_pressure",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
mosquitto_pub -h $mqtthost -p 1883 -u $mqttuser -P $mqttpass -t "homeassistant/sensor/weather_humidity/config" -m '{
"name": "Humidity",
"state_topic": "weather/main/humidity",
"unit_of_measurement": "%",
"value_template": "{{ value | float }}",
"unique_id": "weather_humidity",
"device": {
"identifiers": ["acuparse"],
"name": "Weather Station"
}
}'
Ok then when that was all done time for a custom weather entity
weather:
- platform: template
name: "Acuparse Weather"
temperature_template: "{{ states('sensor.weather_station_temperature') | float }}"
humidity_template: "{{ states('sensor.acuparse_humidity') | int }}"
pressure_template: "{{ states('sensor.weather_station_pressure') | float }}"
wind_speed_template: "{{ states('sensor.weather_station_wind_speed') | float }}"
condition_template: "{{ states('weather.pirateweather') }}"
I still use the pirate weather for the condition
Now I finally have my acuparse data reporting into HA via MQTT and its useable.
I used ChatGPT to assist with the MQTT topic stuff because that is not something I am knowledgeable about. I am sure that there are easier methods to go about this
But in the end now under MQTT integration I have Weather Station and these entitities
I also have this weather entity as well for using in my dashboards
I am certain someone much smarter than I am can create a custom integration for this or something lol but hey it works.