Hi, have you made any progress on this?
I managed to integrate data from my Emporia electricity monitor. I built a heat pump system and I wanted to add a graph of the energy usage to be visible with weather so i understand what my hvac is doing during more extreme weather events.
TBH, I don't fully understand what I did to get it working, but in my conf I have a few sections where i added the reference. To get the data in there I have a shell script where i post to MQTT myself, and ther config below manages to get that data into the loop for picking up in the interface.
My weather hardware is an ecowit using gw1000 device extension, also using the addon MQTTSubscribeService on top of the normal mqtt setup expected. The skin is blechertown which complained at first of new fields, but seemed to be happy if I put a placeholder in.
Maybe this can help you. I am also interested in the Wave Plus, are you happy with it? I have a CO2 monitor in my house and have noticed that CO2 increases slowly even without people or animals home. I suspect radon and issues possibly coming from under the concrete slab in the basement.
[[MQTT]][Accumulator]
server_url = mqtt://user:password@localhost:1883/
topic = weather
unit_system = METRIC
binding = archive, loop
aggregation = aggregate
[[[Decoders]]]
# Map MQTT topics to WeeWX observation types
weather/houseac = houseac
[[Belchertown]]
....
[[[Extras]]]
houseac = none
[[[Labels]]]
# Users frequently change the labels for these observation types.
[[[[Generic]]]]
# inHumidity = Inside Humidity
# inTemp = Inside Temperature
# outHumidity = Outside Humidity
# outTemp = Outside Temperature
# extraTemp1 = Temperature1
# extraTemp2 = Temperature2
# extraTemp3 = Temperature3
# The following line is used to keep the above lines indented
# properly. It can be ignored.
houseac = HVAC kwHrs
[Accumulator]
....
[[houseac]]
extractor = last
[[Services]]
prep_services = weewx.engine.StdTimeSynch
data_services = user.gw1000.GatewayService, user.MQTTSubscribe.MQTTSubscribeService
process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta
archive_services = weewx.engine.StdArchive
restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS, user.mqtt.MQTT
report_services = weewx.engine.StdPrint, weewx.engine.StdReport
[MQTTSubscribeService]
# This section is for the MQTTSubscribe service.
# Turn the service on and off.
# Default is: true
# Only used by the service.
enable = true
# The MQTT server.
# Default is localhost.
host = localhost
# The port to connect to.
# Default is 1883.
port = 1883
# Maximum period in seconds allowed between communications with the broker.
# Default is 60.
keepalive = 60
# username for broker authentication.
# Default is None.
username = weather
# password for broker authentication.
# Default is None.
password = blackma1l
# The binding, loop or archive.
# Default is: loop
# Only used by the service.
binding = loop
# The message handler to use
[[message_callback]]
# The format of the MQTT payload.
# Currently support: individual, json, keyword
# Must be specified.
type = individual
# The topics to subscribe to.
[[topics]]
# Units for MQTT payloads without unit value.
# Valid values: US, METRIC, METRICWX
# Default is: US
unit_system = METRIC
[[[weather/houseac]]]
topic_tail_is_fieldname = True