Fusion Energy Smart Home Energy Monitor with 16 50A Circuit Level Sensors

Just wanted to document the Fusion Energy Monitor. @129 on Amazon
https://www.amazon.com/dp/B0D6VZQBPF?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1

I almost bought the Emporia Vue 3 for $200 but found that the Fusion model had MQTT output for local monitoring.

Things I liked
PRICE
snap on CT's (you dont have to remove wires)
nice phone app to see graphs and setup notifications
mqtt messaging for local monitoring into Hubitat
Ability to not send to cloud
support responds the same night
Upcoming release will merge multiple units (if you need>16)

Here is the details and driver

Here is example pic of device page

Here is an example pic of app

1 Like

Yeah, the above is the part that's exciting to me - 16 sensors just isn't enought, as I have 2 x 200A panels.. - I'm actually using a Brultech GEM, and I had to make "compromises" to fit into 32 circuits.

Do they have any plans to support "generic" pulse counters (flow), or 1-wire temp sensors?
The MQTT interface is a nice interface (versus the Brultech and the need for some Python on a rPI), as well as the $130 price is impressive.

Just need a bunch more than 16 channels. - Does it have support for solar and netmetering for circuits with "negative" power flow into the panel?

The Brultech/GEM now has an adapter board inside it ("ESP-Wifi") that speaks MQTT natively. You can reach out to their sales team to buy one to retrofit to older GEM's (which is what I did).

Their module was done for easier GEM/HA integration, but a HE driver wouldn't be difficult... you could also use [RELEASE] Simple MQTT Client Driver, which is what I'm using to pull in my GEM data.

NB: It's on my todo list to cutover from my Python/rPi/MQTT driver to use the native GEM MQTT support.

I'd still need the MQTT Broker (as we all do). Some of the python code, to bridge my Solar data to PVOutput.org would be needed in my env also

Yes there is solar panel support and it tracks EnergyIn and EnergyOut

2 Likes

Can you please clarify - are you saying that
a. the linked Simple MQTT Client Driver can be installed on Hubitat
b. it could theoretically be possible to get the Fusion Energy Monitor data direct into Hubitat without another computer via this Simple MQTT Client Driver?

Eta: In the reviews, users point out privacy issues and that the thing apparently phones home even in "Super Privacy Mode."...

thats a great question.... and i was interested in the answer....i asked chatGPT and it said " Short answer: No, not directly. Your Fusion Energy monitor must have a broker in between, because that’s how MQTT works. Hubitat can only subscribe via a broker"

Also I asked the company if they support a generic pulse counter and they said "no"

btw, I setup the mqtt broker using Docker on my always on Windows 10 PC so it really doesn't cost anything. Instructions are included on setting up on Docker.

a. the linked Simple MQTT Client Driver can be installed on Hubitat

If it fits the bill for the messages you're reading in, then yes. That said, if there's a type-specific Device driver, matching the functionality needed, then I'd use that instead (like what @tim.ocallag has posted in here).

There are certain trade-offs in using generic drivers. In this case, the tradeoffs just happen to work nearly perfectly for my energy (MQTT) datafeed.

For me, using my GEM's MQTT format, this came down to:

  • One Child device in HE per EMS Power monitoring channel (for rules, graphing, etc)
  • No complex (JSON) values needing deep post-processing
  • Easily add new Channels without digging into config files
  • Driver source code so I could tweak stuff
  • Support for basic/primitive values, so things like WatchTower work easily

Notes: HA's MQTT format allows for auto-[re]discovery of children, datatypes, etc. When I make the switch to using the HA MQTT format, vs GEM-MQTT, I'll revisit whether I need a custom Driver to handle it.

Also on the todo list :slight_smile:

b. it could theoretically be possible to get the Fusion Energy Monitor data direct into Hubitat without another computer via this Simple MQTT Client Driver?

Nope. Until HE has a natively integrated, presumably optional, MQTT Broker, you'll always have one of these running externally [in the middle, an another box] between measurement device and HE.

In my case, the thing that's running the GEM <-> MQTT converter code (btmon.py with MQTT extensions) is also running my MQTT Broker (mosquitto).

This is running 110 active MQTT topics (power, energy, volts, temperature, etc) - attached to a dedicated C8 Pro, since it's a lot to process and gather :wink:

In the reviews, users point out privacy issues and that the thing apparently phones home even in "Super Privacy Mode."...

Yeah, I found that amusing. Folks with more advanced Networking gear can work-around that easily, but it's PITA to have to.

I recently found one of my devices sending data to China-mobile IP's. Worked with the vendor to fix that up, but will leave all my Router-rules to prevent most of the common abuse cases... along with some dodgy DNS behavior they implemented - hard-coded 8.8.8.8 (who would do that), calling it with incorrect ports (80, 443 and 22) not just the plain-text DNS port)

My car makes NTP (Time protocol) calls all over the world, so there's lots of cloud-enabled things that need to be fixed...

Update ... I gave up waiting for the master-slave firmware update and installed the second unit. Both units have different MQTT Topics so its easy to parse out and both work side by side. On the app you have to pick which one and then you can see the data for that one,
I'm guessing when the master slave support is there they will be unified.

The 2 second mqtt publishing really needs to be filter out duplicate (small change) With the help of AI Copilot/chatGPT i now have a python script that does a lot of filtering and then sends back to the MQTT broker for use by my Hubitat driver. T The Python script also sends to InFluxDB for use by Grafana Local and it also sends to Grafana Agent for use by Grafana Cloud. The hardcoding for the CT's is in the python script and those names are sent to Hubitat where the children are auto created. Note anything with -A and -B are summed and the letter dropped (i.e. Main-A and Main-B)

ct_mappings = {
"94A9900AD2F2": {
1: "Laundry/Garage", 2: "Fridge/Floor Outlets", 3: "MeganRm/Bath",4: "Ryan/Blue Rm",
5: "Dryer", 6: "Master/Bath", 7: "Family Rm", 8: "Microwave", 9: "DiningOutlets",
10: "Stg/Util/Hall Lgts", 11: "Furnace",12: "TVRm/South/Deck Outlets",
13: "TVRmLights/NE/Exer Outlets", 14: "RecRm/Low Deck Outlets", 15: "BasmtBed Outlets",
16: "NA", 17: "NA", 18: "Main-A", 19: "Main-B"
},
"94A9900BAAAE": {
1: "Washer", 2: "Master/Blue Beds", 3: "KitchenOutlets" , 4: "Foyer/Kitchen Lights", 5: "Den/DR/Sink Lights",
6: "MainBath/LR", 7: "Dishwasher", 8: "AC-A", 9: "AC-B", 10: "Stove-A", 11: "AC-B",
12: "UtilRmOutlet/Hall", 13: "Basement Bath/RecRm Lights", 14: "Basement Bed Lgts",
15: "SEM PWR", 16: "NA", 17: "Main2-A", 18: "Main2-A", 19: "NA"
},
}

Also I found that the app does allow you to specify the different rates based on day of week and time of day and you can see the costs per day.... i just updated so the costs are wrong...but going forward should be accurate

@tim.ocallag
I have one of these energy monitors (soon to be 2), and am using your driver in a virtual energy monitor and it works.
Questions....
I see you have hard coded the different CT channels in the driver, so I assume that I have to manually edit the CT mapping, correct?
Is there a way to get the voltage value? All I see is the different wattage values.
Would also be helpful to get the currents as well.

Since there are no child devices, I am guessing that when displaying/plotting the different channels, the attribute is what needs to be selected?

Thanks for this and I do like the meter and the FAST update rates!!!!
I was trying the Meross EP16 and it has sllloooooww update rate of about 15 seconds, plus it is higher priced.
I did not like the segregation or grouping of the different CT inputs either on the Meross! Really limits functionality.

Would be nice if you provided more instructions on how to configure your driver though....

Hi sorry for the delay ... I'm pretty sure that the code is quite out of date. My latest code will send data to Grafana cloud and Hubitat.
The hubitat driver automatically creates children
2026-05-24 21_29_16-Devices - Tim Home — Mozilla Firefox

...so you have to define the CT's in the mqtt_prometheus_bridge

ct_mappings = {
    "94A9900AD2F2": {
        1: "Laundry/Garage", 2: "Fridge/Floor Outlets", 3: "MeganRm/Bath",4: "Ryan/Blue Rm", 
        5: "Dryer", 6: "Master/Bath", 7: "Family Rm", 8: "Microwave", 9: "DiningOutlets", 
        10: "Stg/Util/Hall Lgts", 11: "Furnace",12: "TVRm/South/Deck Outlets", 
        13: "TVRmLights/NE/Exer Outlets", 14: "RecRm/Low Deck Outlets", 15: "BasmtBed Outlets",
        16: "NA",  17: "NA", 18: "Main-A", 19: "Main-B"
    },
    "94A9900BAAAE": {
        1: "Washer", 2: "Master/Blue Beds", 3: "KitchenOutlets" , 4: "Foyer/Kitchen Lights", 5: "Den/DR/Sink Lights",                              
        6: "MainBath/LR", 7: "Dishwasher", 8: "AC-A", 9: "AC-B", 10: "Stove-A", 11: "Stove-B",
        12: "UtilRmOutlet/Hall", 13: "Basement Bath/RecRm Lights", 14: "Basement Bed Lgts",
        15: "SEM PWR", 16: "NA", 17: "Main2-A", 18: "Main2-B", 19: "NA"
    },
}

That code also has a lot of knobs to throttle the amount of data to avoid sending too much data.


I originally setup influxdb and grafana local but realized grafana cloud was the way to go. Here is a circuit


Let me try and collect and upload the latest and i will let you know

2 Likes

Oh, just my opinion but the voltage (constant) and current (power is more useful).

1 Like

I updated github GitHub - tjodork1960/FusionEnergy: Fusion Energy driver · GitHub

read the readme,, ..let me know if any questions

1 Like

Thank you for the updated info and instructions!
MQTT is really new to me, so i have been researching and reading about it and used the Eclipse MQTT installation instructions for Windows, which did not include installing docker.
Here is the website in case you would like to look at it:
https://www.cedalo.com/blog/how-to-install-mosquitto-mqtt-broker-on-windows

I did get it working from the Fusion to my windows box that has Mosquitto running.
I used MQTT Explorer to verify and the data is showing up from the energy meter.
LOTS of trial and error and reading reading reading!!!

I do not expect you to "teach me" how to install docker as several people here have good instructions on how to do it.

Guess I now need to install docker on my windows box and configure MQTT there..OUI another learning experience, but since I also want to use Grafina, this will be necessary I guess?

Do I need Prometheus to post data in Hubitat?
Thank you again!

Another note...
I would like to keep Influx and grafana local in my case, but I should get the MQTT broker/docker running first!

Prometheus is what logs to Grafana cloud.
Sorry I had influx and grafana local and decided to simplify it
Curious what benefit the grafana local will give you?
I found that I wanted to look at stuff while at work and couldn't.

I just despise cloud based stuff.
I guess I will give it a try though....

So far, I haven't gotten docker/mqtt broker to run though..
I installed docker on my win10 pc, and using the GUI for docker, installed Eclipse MQTT and it does run, but my SEMMETER doesn't publish data YET.
Obviously, I am doing something wrong, but I will attack it tomorrow.

There are alot of things about docker that I need to study up on, but the info is out there, and I am NOT afraid to find out!
I AM learning which is a good thing (or could just be dangerous!) LOL.

thank you for all your help!
Have a great Memorial Day.

definitely give it a try,...much better for viewing anywhere and so far its free for me

1 Like

Hi! Are we able to use this with watchtower? I have the sem meter (but haven’t installed it yet) and mosquitto setup in docker on my synology. I am new to mqtt as well (this is my first time using it). Do I need to use the mqtt importer on my he c8 pro?