After being annoyed with how bad the IntelliFire mobile app is for controlling their WiFi fireplace modules, I went ahead and wrote a Hubitat IntelliFire driver based upon the intellifire4py module for Home Assistant. I and a couple others have been using this driver for about a year now, and I think it's ready for a more wider release.
The driver communicates with your fireplace directly over the local network. Once configured, there is no need for Hubitat to communicate through IntelliFire's servers like their mobile app does. The driver can be used to fully control the fire settings, thermostat, fan, and light (assuming your fireplace has these features).
Also included is a Intellifire Fireplace Manager app to help you set up the fireplace. If you provide it your credentials, it will pull the required keys from IntelliFire's servers for you and configure your fireplace device for easy setup. After that, you don't need to use this app anymore unless you need to reset the system. Unfortunately that seems to happen once a year because these modules aren't the most reliable, but by re-running the app, none of your Hubitat device settings will be lost.
Also provided in the ReadMe are instructions on how to connect this device through the Google Home Community app.
More details about everything are included in the ReadMe.
Thanks for this! Just had my fireplace installed today and this connected effortlessly. Looks like everything I may need to start writing some
Rules for the fireplace. What, if any rules have you written already for this? Just looking for some ideas. Thanks again!
My main focus was trying to replace the not-great app and the horrible physical remote that came with my fireplace. The interface with Google Assistant (both via voice and via UI) is working much better than their app.
But I also have a rule that makes sure the fireplace is automatically turned off when I go the bed at night. (We've inadvertantly left it on at night a few times.). I also have it hooked up to my rule that notifies is when we leave the house if we forgot to turn it off.
Since you probably shouldn't leave the fireplace unattended, I deliberately don't use any rules that turn it on automatically (such as when the weather is cold).
I know another user has a rule that adjusts the fan understand certain circumstances (not sure what), possibly because the fireplace sometimes forgets the fan setting if you turn it off while the fireplace is warming up (before it starts the fan). That's actually something I'm trying to decide on a clean solution for...
Interesting. I know I want to automate the cold climate setting to turn the pilot light on and off based on outside temperature and agree on shutting it off when no one is home. Thank you for that reminder. I may look to setup automating it based on motion sensors in the room as well as temp outside and/or time of day. So much to think about but I appreciate the feedback.
@corinuss so I have the driver installed and I can control the lights and set fan speeds, etc. but when I push “On” I hear a beep but the flame never come on. Am I missing something here? Who do I actually get the fireplace flame to ignite and turn on? Logs aren’t showing a failure, just that the fireplace is off and that requests for status will be every 15 minutes. Any help would be appreciated.
That should work. The fact that it's beeping suggests the fireplace is receiving a command.
Is there anything in the 'errors' state variable? You might need to manually Refresh the fireplace one more time.
Try enabling debug logging (option on the driver screen). Then try pressing the On button again. Could you send me a copy of the output? (Both the output from the command being sent and the automatic refresh that follows.)
So what happened to me yesterday was the Intellifire app on my phone gave me an error that said the appliance was unavailable and wouldn’t respond to commands. I had to pull the front face off and press the ECM reset button. Once it reset I was able to control again with the app. I reran the fireplace manager app to rediscover the fireplace. That’s when I was able to control the lights and other stuff.
Here is a debug log since I turned on debugging and tried to turn the fireplace on.
Please let me know if I’m missing anything. Thank you.
I suspected something like that, where the fireplace got in a soft-lock. That state should also appear in the "errors" state here if you look at your device when it's not responding. (FWIW, my fireplace also encountered an ECM error last night, but I suspect it's coincidence that we both hit it.)
I have a theory that some of the ECM errors might be caused by a race condition if a refresh happens while the fireplace is executing another command. If that's the case, I think that might be solved by setting "singleThreaded" in the definition near the top of the file...
definition (name: "IntelliFire Fireplace", namespace: "IntelliFire", author: "corinuss", singleThreaded: true)
I'm currently testing this a bit to make sure it doesn't have any other side effects, but you want to give it a try too, you can try modifying your local source and add that bit of text. I'm going to include that in my next update once I've soaked it a bit.
I’ll add the code and report back.
Hers what my device looks like.
Also, what does what I have circled do?
It is just on() and off() via one interface. That interface is required by Google Home Community for the On/Off trait.
Actually, it looks like GHC does support separate commands. I think I added it back when I was planning to have only Google behavior restore the thermostat when powering on, rather than building that option into on() itself.
Since setOnOff is redundant, I'm going to remove that on my next update.
I made the requested change to the driver code and today it’s turning on and off as intended. Thank you.
I've pushed out a new 1.1.0 update for the driver.
- If your fireplace has a Light, it can now be controlled via a child virtual device. This device can be created by the App, or by clicking a button on the main Fireplace device. You can still use the old setLightLevel() function in on the main fireplace app to control the light without the virtual device, if you want.
- New option to have the device try to ensure that the fan is running after the fireplace is turned on. (It is possible for the Fireplace to forget its fan setting if you turn the fireplace off during warm up, or if you reset the ECM.)
- Fireplace device is now singleThreaded to hopefully reduce the chance that the ECM gets in a bad state.
- Removed redundant setOnOff() function. The reason for this existing was fixed before launch.
Only other request would be to add option in the driver for the light like you did the fan where turn on light at last level when turning on fireplace?
If you use the Virtual Light device, that's exactly what happens if you press the on() button. It will restore the light level to the last non-zero value it saw. (You can also call lightOn() on the main Fireplace device for this behavior too.)
'temperatureRaw' is the unmodified 'temperature' variable that the fireplace reports, which is room temperature in Celsius. It has to be renamed 'raw' because we need to use 'temperature' for the TemperatureMeasurement capability, which should be reported in the hub's preferred units (C or F).
And I’m back to not working again. happy Thanksgiving by the way (if you celebrate the holiday).
Fireplace had to be reset at the switch yesterday (calling the wifi company next week to discuss why it keeps dropping so often). But since the switch reset yesterday, rerun the Intellifire app in Hubitat. Won’t turn the burner on. Lights come on and off, here the beep, but no dice on flame.
Thanks for the Thanksgiving wishes. Yeah, I was on break a bit longer.
Next time it stop responding, can you grab a copy of the logs before resetting? If it's a WiFi issue, you'll see errors in the log. However, I bet the Status polling will still be working but your controller is reporting an error. Try to share a full copy of your Status (the line with all the information in it). Can PM it to me if you want.
As for now, the log you posted looks like you're turning off the fireplace, but can I see a log of you turning it on, and/or the full Status line when it's on?