On my Pi4 I have data from weewx and data from my solar and power/water consumption monitoring system combined to a single MQTT stream and this is used within HAAS.
I also had some issues but I have included here my relevant part of my config yaml.....Note the MQTT section hope this helps...I am running the latest HAAS on my Pi.
# Actron aircon information
rest:
- resource:
http://192.168.0.51/6.json sensor:
- name: "InsideTemp_AC"
value_template: "{{ (value_json.roomTemp_oC) }}"
unit_of_measurement: "°C"
unique_id: actronTemp
- name: "AirConSetTemp"
value_template: "{{ (value_json.setPoint) }}"
unit_of_measurement: "°C"
unique_id: actronSetTemp
- name: "AirconRunning"
value_template: "{{ (value_json.isOn) }}"
unique_id: actronrunning
- name: "AirconFanSpeed"
value_template: "{{ (value_json.fanSpeed) }}"
unique_id: actronfanspeed
template:
- sensor:
- name: "Grid Supplied power calculated"
device_class: power
unit_of_measurement: "W"
state: >
{% set grid_production = states('sensor.metern_solar') | float(0) %}
{% set grid_consumption = states('sensor.metern_power') | float(0) %}
{% if (grid_consumption - grid_production) < 0 %}
0
{% else %}
{{ (grid_consumption - grid_production) }}
{% endif %}
unique_id: Grid_supplied
- sensor:
- name: "To Grid power calculated"
device_class: power
unit_of_measurement: "W"
state: >
{% set to_grid_production = states('sensor.metern_solar') | float(0) %}
{% set to_grid_consumption = states('sensor.metern_power') | float(0) %}
{% if (to_grid_production - to_grid_consumption) < 0 %}
0
{% else %}
{{( to_grid_production - to_grid_consumption) }}
{% endif %}
unique_id: Energy_calculated_returned_to_grid
## These samples from meterN solar and power as well as weewx weather system
mqtt:
sensor:
- name: "meterN power"
state_topic: "weather/loop"
device_class: power
state_class: measurement
unit_of_measurement: "W"
value_template: "{{ (value_json.mNpowerW) }}"
unique_id: meterN_data_power
- name: "meterN solar"
state_topic: "weather/loop"
device_class: power
state_class: measurement
unit_of_measurement: "W"
value_template: "{{ (value_json.mNsolarW) }}"
unique_id: meterN_data_solar
- name: "meterN Water usage"
state_topic: "weather/loop"
device_class: water
state_class: total_increasing
unit_of_measurement: "L"
value_template: "{{ (value_json.water5min) }}"
unique_id: MeterN_data_water
- name: "Outside Temperature"
state_topic: "weather/loop"
unit_of_measurement: "°C"
value_template: "{{ (value_json.outTemp_C | round(1)) }}"
unique_id: Outside temperature deg C
- name: "Outside Humidity"
state_topic: "weather/loop"
unit_of_measurement: "%"
value_template: "{{ (value_json.outHumidity | round(1)) }}"
unique_id: Outside Humidity percentage
- name: "Air pressure"
state_topic: "weather/loop"
unit_of_measurement: "hPa"
value_template: "{{ (value_json.pressure_mbar | round(2)) }}"
unique_id: Atmospheric air pressure
- name: "Lounge Temperature"
state_topic: "weather/loop"
unit_of_measurement: "°C"
value_template: "{{ (value_json.inTemp_C | round(1)) }}"
unique_id: Lounge Temp
- name: "Outside room Temperature"
state_topic: "weather/loop"
unit_of_measurement: "°C"
value_template: "{{ (value_json.extraTemp1_C | round(1)) }}"
unique_id: Sunroom Temp
# - name: "Dining room Teperature"
# state_topic: "weather/loop"
# unit_of_measurement: "C"
# value_template: "{{ (value_json.acroomtempsensor_C | round(2)) }}"
# unique_id: Dining Room Temp
- name: "FARS speed"
state_topic: "weather/loop"
unit_of_measurement: "rpm"
value_template: "{{ (value_json.farsSpeed | round(2)) }}"
unique_id: FARS fan measured speed