Intellifire (Wifi Fireplace Module) - Hearth and Home

Well here’s the error at least…

So just need to find out what that actually means … :thinking:

So its looking for something called intellifire_b but the component is still loading itself as intellifire… so if I can track that down we are probably in good shape.

Which is probably here!!

image

custom components folder name?

Woohoo! As Mando says… THIS IS THE WAY:

  1. Get a copy of my code and move it to your

<config_dir>/custom_components/intellifire_beta

  1. Edit manifest.json
  "domain": "intellifire_beta",
  "name": "IntelliFire Beta",
  "version": "1.2.3" # really just pick something
  1. Edit const.py
DOMAIN = "intellifire_beta"

I think this should work.

Now to make a quick little bash script…

will try now

I’m so confused as to why I’m having issues…

go to your core repository. Download the entire repo. Go into components, grabbed intellifire.

Copied this folder into my custom_components directory as inteliifire_beta.

I changed the files you referenced.

Restarted HASS - and I do not have an option for Intellifire Beta in my Integration choices.

Do I need to add anything to configuration.yaml?

i had same issue - Intellifire Beta did not show up in integrations. i then added intellifire_beta: to config.yaml, and on restart, got the following error:

Source: components/hassio/__init__.py:598
Integration: Home Assistant Supervisor (documentation, issues)
First occurred: 9:12:03 AM (1 occurrences)
Last logged: 9:12:03 AM

The system cannot restart because the configuration is not valid: Component error: intellifire_beta - cannot import name 'IntellifireControlAsync' from 'intellifire4py' (/usr/local/lib/python3.9/site-packages/intellifire4py/__init__.py)

You may have to do a pip install intellifire4py==0.9.6

Also I’m working on a check out script you can run if you want…

the config.yaml step i set out above doesn’t appear to be needed. Although “Intellifire Beta” is appearing as an integration now, I’m getting the error loading the config flow. @jeeftor, can you update your commits so that I am using your latest and greatest? github is showing latest code >2 hours old.

thx

hmm… everything up to date… maybe I didn’t do what I said I did? :slight_smile:

Any error messages coming out on the logs?

Another thing you can do is modify __init__.py and remove some platforms one at a time:

PLATFORMS = [
    Platform.BINARY_SENSOR,
    # Platform.SENSOR,
    # Platform.SWITCH,
    # Platform.FAN,
    # Platform.CLIMATE,
    # Platform.BUTTON,
]

So this will ONLY load binary sensors… and I think I might have checked that in by accident :slight_smile:

Ok I got it working…I would have had this working earlier if I was actually working with the right container mount point.

As you mentioned, I needed to manually update via pip to get the right version of intellifire4py.

The Fireplace flame height is kinda messed up a bit.

Also there are other things like the thermostat that don’t seem to be connected to the entity directly…

Can an integration create a input select entity? If so, could you do flame height via a combo of input select + button entity? The input select would be the flame height, and the button would be to ‘set the flame height’ that is selected on the input select.

Looks like a solid probably…

Well, i have modified and uploaded the files into custom_components/intellifire_beta, and I can see Intellifire Beta in integrations, but I am stuck with an erroring config_flow. I’ll try to install the right version of intellifire4py, is it 0.9.6 or 0.9.7?

Steps I did to get it running:

  1. Copied components/intellifire directory as custom_components/intellifire_beta
  2. Updated manifest.json (changed domain and name)
  3. Update const.py (changed domain)
  4. ssh’d into my homeassistant docker container and installed intellifire4py version 0.9.6
  5. Restarted HASS
1 Like

Thanks. step 4 errored out for me, unfortunately. I guess I will wait this out.

Building wheels for collected packages: aiohttp, frozenlist, multidict, yarl
  Building wheel for aiohttp (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpbd9_7lgd
       cwd: /tmp/pip-install-hegxbioc/aiohttp_bb275201478244239c3dfe18dbafb84c
  Complete output (27 lines):
  *********************
  * Accelerated build *
  *********************
  running bdist_wheel
  running build
  running build_py
  running egg_info
  writing aiohttp.egg-info/PKG-INFO
  writing dependency_links to aiohttp.egg-info/dependency_links.txt
  writing requirements to aiohttp.egg-info/requires.txt
  writing top-level names to aiohttp.egg-info/top_level.txt
  reading manifest file 'aiohttp.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'aiohttp' anywhere in distribution
  warning: no previously-included files matching '*.pyc' found anywhere in distribution
  warning: no previously-included files matching '*.pyd' found anywhere in distribution
  warning: no previously-included files matching '*.so' found anywhere in distribution
  warning: no previously-included files matching '*.lib' found anywhere in distribution
  warning: no previously-included files matching '*.dll' found anywhere in distribution
  warning: no previously-included files matching '*.a' found anywhere in distribution
  warning: no previously-included files matching '*.obj' found anywhere in distribution
  warning: no previously-included files found matching 'aiohttp/*.html'
  no previously-included directories found matching 'docs/_build'
  adding license file 'LICENSE.txt'
  running build_ext
  building 'aiohttp._websocket' extension
  error: command 'gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for aiohttp

Another option I see is really fleshing out the Climate entity.

You could use a bunch of Presents, Fan Modes - both of these allow for custom values.

Just not sure how this works in practice as they’re not entirely independent from each other

Got it. Had to uninstall then reinstall intellifire4py then restart. Thanks for the guidance. Thanks jeef for pushing this forward!