Frigidaire Air Conditioners

Also he wrote a node.js module for it

+1

Have their connected Dehumidifier, it works great, but would love to integrate it with HA. Right now, all my automations to control it are within Alexa.

+1 for Frigidaire integration.

I just built this out actually.

I’m currently using this as a custom component and it’s working great for me.

1 Like

@bm1549 - how did you get it built out? I’m not crazy tech savvy, what do I need to do to get this component recognized by HA?

I copied the code into it and registered it as a custom component. This guide explains how to do it fairly well: How to add community build component to home assistant

@bm1549 Any chance you could add some more details?

I created a custom_components folder and uploaded the frigidaire folder with init.py inside but nothing seems to happening. I’m not seeing a device or any errors in the logs. Is there additional configuration I need to do to init.py or my configuration.yaml file?

@wvaughan if you’re like me and you can’t wait for @bm1549’s code to get approved/merged/released, you can use the following steps to set it up on HA Core in the mean time as a custom component:

  1. Clone down his fork of home-assistant.
  2. Check out his frigidaire branch (git checkout frigidaire)
  3. Copy the homeassistant/components/frigidaire/ folder to your custom components folder (/config/custom_components/)
custom_components/
|-- frigidaire
|   |-- __init__.py
|   |-- climate.py
|   |-- config_flow.py
|   |-- const.py
|   |-- manifest.json
|   |-- strings.json
|   `-- translations
|       `-- en.json
  1. Add a random version to the manifest.json file ("version": "0.1.0",)
  2. Check configuration and restart HA
  3. Go to Configuration > Integrations and add the Frigidaire integration (should be in the list now)
  4. It should prompt you for your username (email) and password. Fill those in and hit Submit
  5. It should say it successfully added N number of climate entities.

After all that, you should be able to use it with the climate services. Here is an example of a script that works for me:

alias: Bedroom AC On
sequence:
  - service: climate.set_hvac_mode
    target:
      entity_id: climate.bedroom_ac
    data:
      hvac_mode: cool
  - service: climate.set_temperature
    data:
      temperature: 69
    target:
      entity_id: climate.bedroom_ac
mode: single

1 Like

Thanks @Jaydubya . I’m still having an issue at step 6 - Frigidaire isn’t showing up as a possible integration. I’ve checked logs and there are no errors / warnings. Do I need to add anything to my configuration.yaml page? I have HACS in the same custom_components folder and that’s been working fine.

I had an issue at that same place if the version was missing from the dictionary in the manifest.json file (step 4). Do you see the following warning at least in your logs?

We found a custom integration frigidaire which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

All custom components should load first right after a restart, and you should see a very similar message for hacs. If it fails to load the custom component, the error will probably be near there.

Edit: to answer your question about the configuration.yaml file, no - nothing needed there.

I didn’t have any errors in the logs, but it seems like my Home Assistant version was out of date. After updating to the latest release the frigidaire integration is visible. Thanks for the help!

1 Like

My mistake for missing the conversation here, but big thanks to @Jaydubya for including thorough instructions here. I’ve included the necessary code (with version number) and their directions in a repo for easy reference:

2 Likes

Got it to show up in my integrations, but won’t seem to authenticate after triple checking my credentials. Anyone else run into this?

What error does it show in the logs? Are you using your email address for the username?

You can clone down his python library and instantiate the Frigidaire class to try and isolate the issue. It will also show you the exact API errors.

Here are some example steps:

git clone https://github.com/bm1549/frigidaire.git
cd frigidaire
python -m venv .
source bin/activate
pip install -e .
python
>>> from frigidaire import Frigidaire
>>> f = Frigidaire("[email protected]", "your_password")

Looks like your PR is going very well on its way to being merged! Do you happen to know if it will also work with smart Frigidaire dehumidifiers?

@heytcass I do not own a Frigidaire dehumidifier so I’d assume it would not work, but you’re welcome to try it out using the custom component

I was just looking into buying a frigidaire dehumidifier with wifi for home assistant too, it does appear to use the frigidaire 2.0 app. I think I will buy it, i’m willing to do what I can to help get it working with HA

Just got the dehumidifier, I can confirm they do not work currently, this is the error that it returns.

Logger: homeassistant.components.climate
Source: custom_components/frigidaire/climate.py:133
Integration: Climate ([documentation](https://www.home-assistant.io/integrations/climate), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+climate%22))
First occurred: 7:20:03 PM (2 occurrences)
Last logged: 7:20:03 PM

* Error adding entities for domain climate with platform frigidaire
* Error while setting up frigidaire platform for climate

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 383, in async_add_entities await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 499, in _async_add_entity capabilities=entity.capability_attributes, File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 221, in capability_attributes self.hass, self.min_temp, self.temperature_unit, self.precision File "/config/custom_components/frigidaire/climate.py", line 193, in min_temp if self.temperature_unit == TEMP_FAHRENHEIT: File "/config/custom_components/frigidaire/climate.py", line 133, in temperature_unit unit = self._details.for_code( AttributeError: 'NoneType' object has no attribute 'string_value'

I have the dehumidifier, and am making progress on adding support with @bm1549

Awesome! if you need another tester let me know.