Giter VIP home page Giter VIP logo

home-assistant-frigidaire's People

Contributors

bm1549 avatar cpyarger avatar gazpachoking avatar pem884 avatar rothn avatar sarahemm avatar thejevans avatar zachpl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

home-assistant-frigidaire's Issues

Error adding entities for domain humidifier with platform frigidaire

Logger: homeassistant.components.humidifier
Source: custom_components/frigidaire/humidifier.py:194
Integration: Humidifier (documentation, issues)
First occurred: 1:59:41 PM (2 occurrences)
Last logged: 1:59:41 PM

Error adding entities for domain humidifier with platform frigidaire
Error while setting up frigidaire platform for humidifier
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 428, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 673, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 777, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 533, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 574, in _async_write_ha_state
attr.update(self.extra_state_attributes or {})
File "/config/custom_components/frigidaire/humidifier.py", line 194, in extra_state_attributes
).number_value
AttributeError: 'NoneType' object has no attribute 'number_value'

Entities suddenly unavailable

Using 306ea32 with HA 2021.9.6 (details below). A few days ago, my Frigidaire entities became unavailable after weeks (months) of working without incident. They're working in the Android app and working/communicating in both the Alexa skill and Google Assistant, so I know they are 'online'. They just suddenly stopped showing available in HA.

Tried uninstalling/reinstalling the component (from the integrations section) and although the config flow works without error and detects my two AC units, they show as unavailable. Adding debug to the logs via:

logger:
  default: critical
  logs:    
    custom_components.frigidaire: debug
    homeassistant.components.climate: debug

showed only a successful setup on the climate side:

2021-09-13 10:23:04 INFO (MainThread) [homeassistant.components.climate] Setting up climate.frigidaire

and no messages at all from the component. Not sure what's wrong as it worked awesome from the first time I set it up until a few days ago and I'm not sure how to proceed with further debugging. Open to suggestions on gathering more data that I might have missed. No changes in my network and only changes to HA have been core updates.

NOTE: I have not tried removing and reinstalling from HACS yet, but will be glad to do so if you need the info.

System Health

version core-2021.9.6
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.6
os_name Linux
os_version 5.10.61
arch x86_64
timezone America/New_York
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4207
Installed Version 1.15.2
Stage running
Available Repositories 892
Installed Repositories 66
AccuWeather
can_reach_server ok
remaining_requests 13
Home Assistant Cloud
logged_in true
subscription_expiration September 16, 2021, 8:00 PM
relayer_connected true
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled true
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 6.3
update_channel stable
supervisor_version supervisor-2021.09.0
docker_version 20.10.7
disk_total 30.8 GB
disk_used 21.3 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.1.3), ADB - Android Debug Bridge (0.8.0), ESPHome (2021.8.2), Visual Studio Code (3.6.2), Let's Encrypt (4.11.0), Node-RED (10.0.0), Home Assistant Google Drive Backup (0.105.1), MariaDB (2.4.0), Check Home Assistant configuration (3.8.0), Glances (0.13.0), Vaultwarden (Bitwarden) (0.13.0), Portainer (2.0.0), Tautulli (2.3.0), phpMyAdmin (0.5.0), php-nginx Docker Image (latest), rest980 Docker Image (20200205), ioBroker (0.8.0), eufy_security_addon (0.3.3), ozwcp (1.1.2)
Lovelace
dashboards 2
resources 50
views 28
mode storage

Changing Fan Speed Error

I am using a fhww082wce model a/c unit and integrated the unit into Home Assistant. All works well aside from the following error received when trying to adjust the fan speed settings:

Failed to call service climate/set_fan_mode. type object 'Setting has no attribute 'FAN_SPEED_SETTING'

Any advice on how to fix this error would be very much appreciated!

EDIT: here is the log:

2024/02/13 20:51:37 stdout AttributeError: type object 'Setting' has no attribute 'FAN_SPEED_SETTING'�[0m
2024/02/13 20:51:37 stdout ^^^^^^^^^^^^^^^^^^^^^^^^^
2024/02/13 20:51:37 stdout return [Component(Setting.FAN_SPEED_SETTING, fan_speed)]
2024/02/13 20:51:37 stdout File "/usr/local/lib/python3.12/site-packages/frigidaire/init.py", line 145, in set_fan_speed
2024/02/13 20:51:37 stdout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024/02/13 20:51:37 stdout action = frigidaire.Action.set_fan_speed(HA_TO_FRIGIDAIRE_FAN_MODE[fan_mode])
2024/02/13 20:51:37 stdout File "/config/custom_components/frigidaire/climate.py", line 242, in set_fan_mode

Connection Errors

Anyone seeing connection errors the past 1-2 days where it was previously working?

Deprecation warnings with 2024.1.0

I suspect you're aware of this, but I thought I'd raise the issue just so it's documented.

After an update to 2024.1.0

2024-01-03 20:08:05.359 WARNING (MainThread) [homeassistant.components.climate.const] HVAC_MODE_AUTO was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACMode.AUTO instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.361 WARNING (MainThread) [homeassistant.components.climate.const] HVAC_MODE_COOL was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACMode.COOL instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.364 WARNING (MainThread) [homeassistant.components.climate.const] HVAC_MODE_FAN_ONLY was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACMode.FAN_ONLY instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.366 WARNING (MainThread) [homeassistant.components.climate.const] HVAC_MODE_OFF was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACMode.OFF instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.369 WARNING (MainThread) [homeassistant.components.climate.const] SUPPORT_FAN_MODE was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use ClimateEntityFeature.FAN_MODE instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.371 WARNING (MainThread) [homeassistant.components.climate.const] SUPPORT_TARGET_TEMPERATURE was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use ClimateEntityFeature.TARGET_TEMPERATURE instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.374 WARNING (MainThread) [homeassistant.const] TEMP_CELSIUS was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.376 WARNING (MainThread) [homeassistant.const] TEMP_FAHRENHEIT was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.FAHRENHEIT instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.405 WARNING (MainThread) [homeassistant.components.humidifier.const] DEVICE_CLASS_DEHUMIDIFIER was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use HumidifierDeviceClass.DEHUMIDIFIER instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:05.407 WARNING (MainThread) [homeassistant.components.humidifier.const] SUPPORT_MODES was used from frigidaire, this is a deprecated constant which will be removed in HA Core 2025.1. Use HumidifierEntityFeature.MODES instead, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues
2024-01-03 20:08:09.845 WARNING (MainThread) [homeassistant.helpers.entity] Entity None (<class 'custom_components.frigidaire.climate.FrigidaireClimate'>) is using deprecated supported features values which will be removed in HA Core 2025.1. Instead it should use <ClimateEntityFeature.TARGET_TEMPERATURE|FAN_MODE: 9>, please create a bug report at https://github.com/bm1549/home-assistant-frigidaire/issues and reference https://developers.home-assistant.io/blog/2023/12/28/support-feature-magic-numbers-deprecation

Error 502

I just recently started getting an error 502, is anyone else seeing this issue?

Traceback (most recent call last):
  File "/config/custom_components/frigidaire/__init__.py", line 20, in setup
    hass.data[DOMAIN][entry.entry_id] = frigidaire.Frigidaire(
  File "/usr/local/lib/python3.9/site-packages/frigidaire/__init__.py", line 256, in __init__
    self.authenticate()
  File "/usr/local/lib/python3.9/site-packages/frigidaire/__init__.py", line 292, in authenticate
    auth_response = self.post_request('/authentication/authenticate', data)
  File "/usr/local/lib/python3.9/site-packages/frigidaire/__init__.py", line 420, in post_request
    return self.parse_response(response)
  File "/usr/local/lib/python3.9/site-packages/frigidaire/__init__.py", line 394, in parse_response
    raise FrigidaireException(f'Request failed with status {response.status_code}: {response.content}')
frigidaire.FrigidaireException: Request failed with status 502: b'{"status":"ERROR","message":"Exception when calling service: epi-server, status: 502, body: <!DOCTYPE html PUBLIC \\"-//W3C//DTD XHTML 1.0 Strict//EN\\" \\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\\">\\r\\n<html xmlns=\\"http://www.w3.org/1999/xhtml\\">\\r\\n<head>\\r\\n<meta http-equiv=\\"Content-Type\\" content=\\"text/html; charset=iso-8859-1\\"/>\\r\\n<title>502 - Web server received an invalid response while acting as a gateway or proxy server.</title>\\r\\n<style type=\\"text/css\\">\\r\\n<!--\\r\\nbody{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}\\r\\nfieldset{padding:0 15px 10px 15px;} \\r\\nh1{font-size:2.4em;margin:0;color:#FFF;}\\r\\nh2{font-size:1.7em;margin:0;color:#CC0000;} \\r\\nh3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} \\r\\n#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:\\"trebuchet MS\\", Verdana, sans-serif;color:#FFF;\\r\\nbackground-color:#555555;}\\r\\n#content{margin:0 0 0 2%;position:relative;}\\r\\n.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}\\r\\n-->\\r\\n</style>\\r\\n</head>\\r\\n<body>\\r\\n<div id=\\"header\\"><h1>Server Error</h1></div>\\r\\n<div id=\\"content\\">\\r\\n <div class=\\"content-container\\"><fieldset>\\r\\n  <h2>502 - Web server received an invalid response while acting as a gateway or proxy server.</h2>\\r\\n  <h3>There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.</h3>\\r\\n </fieldset></div>\\r\\n</div>\\r\\n</body>\\r\\n</html>\\r\\n","code":"ECP0204","data":{}}'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 304, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/config/custom_components/frigidaire/__init__.py", line 28, in async_setup_entry
    await hass.async_add_executor_job(
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/frigidaire/__init__.py", line 26, in setup
    raise data_entry_flow.AbortFlow from err
TypeError: __init__() missing 1 required positional argument: 'reason'

Integration no longer recognized after new Frigidaire app released

Frigidaire required me to move from the 2.88.0.80 Android app to their new Frigidaire app version 1.25. After this, I noticed the Home Assistant integration no longer works. I have the latest code from here (with "frigidaire==0.18.13" in the manifest file).

Is there a fix for this?

Failed to connect

I replaced the integration with the updated one, restarted HA and tried to add the integration, but I keep getting "Failed to connect". There is nothing in the logs.

"Failed to connect" on setup flow

I'm getting an instant failure when submitting my username (email) and password.

I tried debugging with the package locally with Postman, and the same headers/auth is giving me a 401 - Unauthorized response.

Did this break recently?

Home Assistant 2023.5.4
Supervisor 2023.04.1
Operating System 10.2
Frontend 20230503.3 - latest

No other info in debugging logs in HA (yes I have it all enabled for debugging - logger and integration debugging for HACS).

Uses "frigidaire" package which always connect to LATAM Region - Should use "pyelectroluxconnect" Instead

This code has a couple of issues related to connecting to Electrolux which owns the Frigidaire brand:

In the manifest.json file there is a hard coded dependency - "frigidaire==0.18.11" that should be changed to "frigidaire>=0.18.11" since the current version of the "frigidaire" package is 0.18.12. Without this change, the integration will not bring up the configuration screen asking for the username and password to connect to the Frigidaire API.

An even bigger issue that this the "frigidaire" package always connects to the same API URL (https://api.latam.ecp.electrolux.com) which is for the Latin America region. Electrolux runs API servers in multiple regions of the world and each has a unique URL. The Python package "pyelectroluxconnect" takes this into consideration and provides a "region" parameter which can be set during the initial connection to the Electrolux API server.

I would respectfully suggest changing out the "frigidaire" package for the "pyelectroluxconnect" connect package since it appears to be more fully featured and functional across different regions.

Dehumidifier error

I started getting this error a few months ago, I don't think I changed anything, been busy and havent reported it, home assistant shows it as undefined

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 382, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 613, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 748, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 505, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 540, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/usr/src/homeassistant/homeassistant/components/humidifier/init.py", line 170, in state_attributes
data[ATTR_MODE] = self.mode
File "/config/custom_components/frigidaire/humidifier.py", line 158, in mode
return FRIGIDAIRE_TO_HA_MODE[frigidaire_mode]
KeyError: 6

I can still connect to the dehumidifer fine through the fridgidair app, so I think it is a problem with the code @gazpachoking is this happening yours?

Dehumidifier detected as AC unit

I saw the conversation about detecting type, however my unit is returning the NA SN with KK.

Not sure why that's happening. Here is the result of the call to user-appliance-reg/users/{{username}}/appliances?country=US&includeFields=true

I have a Frigidaire FGAC7044U1E

{
    "status": "OK",
    "code": "ECP0000",
    "message": "success",
    "data": [
        {
            "appliance_type": "950133009_00",
            "appliance_id": "91806328-443E07019513",
            "pnc": "950133009",
            "elc": "00",
            "sn": "91800000",
            "mac": "443E07019513",
            "cpv": "00",
            "nickname": "Dehumidifier",
            "fields": {
                "NASerialNumber": "KK91800000"
            }
        }
    ]
}

As I don't have an Frigidaire AC, I worked around it by removing the check and only having the humidify defined. I am posting here, if other have problems, you have more data to work with.

Also, it does detected correctly as a Dehumidifier in the Frigidaire app.

Frigidaire no longer working after HA update?

After the latest HA update, the Frigidaire component no longer seems to load:

Home Assistant 2023.5.0
Supervisor 2023.04.1
Operating System 10.1
Frontend 20230503.1 - latest

Here is the error from the HA log snippet:

Logger: homeassistant.config_entries
Source: custom_components/frigidaire/init.py:32
Integration: frigidaire
First occurred: 12:32:26 AM (2 occurrences)
Last logged: 7:14:44 AM

Error setting up entry frigidaire for frigidaire
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/frigidaire/init.py", line 32, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'

Frigidaire login component no longer working

For a few weeks now, I'm no longer able to login to the Frigidaire server through this integration.

Whenever I enter my username and password, I immediately get a "Failed to Connect" error.

I've verified that the username and password login correctly in the Frigidaire 2.0 app and on the Frigidaire.com servers.

Error setting up entry frigidaire for frigidaire

Recently updated to HA 2023.5.3 and am no longer able to use the Frigidaire integration. Reloading the integration nor rebooting resolves the issue.

Home Assistant 2023.5.3
Supervisor 2023.04.1
Operating System 10.1
This error originated from a custom integration.

Logger: homeassistant.config_entries
Source: custom_components/frigidaire/__init__.py:32
Integration: frigidaire
First occurred: 10:04:29 AM (1 occurrences)
Last logged: 10:04:29 AM

Error setting up entry frigidaire for frigidaire
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/frigidaire/__init__.py", line 32, in async_setup_entry
    hass.config_entries.async_setup_platforms(entry, PLATFORMS)
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'

async_setup_platforms

Logger: homeassistant.helpers.frame
Source: helpers/frame.py:77
First occurred: 6:31:23 AM (1 occurrences)
Last logged: 6:31:23 AM

Detected integration that called async_setup_platforms instead of awaiting async_forward_entry_setups; this will fail in version 2023.3. Please report issue to the custom integration author for frigidaire using this method at custom_components/frigidaire/init.py, line 32: hass.config_entries.async_setup_platforms(entry, PLATFORMS)

Unable to recover from high latency

I've been running your custom component for a couple weeks and it has been working great as long as my network is stable. I've been having issues with my ISP that causes my TCP latency to jump up really high and most services stop loading for about a minute or so around 1-2 times a day. Each time this happens your component stops working until I restart HA.

These are the only logs I get related to the issue:

WARNING (MainThread) [homeassistant.helpers.entity] Update of climate.bedroom_ac is taking over 10 seconds
WARNING (MainThread) [homeassistant.components.climate] Updating frigidaire climate took longer than the scheduled update interval 0:01:00
WARNING (MainThread) [homeassistant.components.climate] Updating frigidaire climate took longer than the scheduled update interval 0:01:00
....repeat until I restart...

I have tried to reproduce the issue a couple ways by null-routing the traffic and blocking port 443 to the API endpoints, but it seems to recover from those just fine. It only stops when I have these high latency events.

I also tried to update my logger to debug level for homeassistant.components.climate, but I don't see any additional log messages:

logger:
  default: info
  logs:
    homeassistant.components.climate: debug

Any idea how I could trace this down? I have an appointment scheduled for my ISP to come out this weekend and take a look at the root cause, but wanted to see if there was additional logging that could be put in place to figure out.

Thanks.

Cloud servers down?

As of 10pm EST US I can't access my AC units in HA or the Frigidaire app.

I'm hoping they get it fixed soon.

I'm also hoping my account isn't being blocked due to the frequent polling I'm doing...

Anyone else?

Unable to run config flow

Hello - thanks for your work on this, I'm hoping to use it to help integrate my dehumidifier!

I'm having a difficult time running the ConfigFlow for the integration - here is the log output:

2021-08-07 10:07:11 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading configuration flow for integration frigidaire: cannot import name 'FlowResult' from 'homeassistant.data_entry_flow' (/usr/src/homeassistant/homeassistant/data_entry_flow.py)

I'm using Home Assistant 2021.4.6

Thanks in advance!

Dehumidifier (FGAC7044U1) No Longer Available after Update

I have a Frigidaire FGAC7044U1 dehumidifier that is no longer detected after the recent update to correct the login issues/API changes. The dehumidifier is displayed in the Frigidaire app, connected to the same WiFi, and verified working properly.

My Frigidaire Portable AC is detected and working, but the dehumidifier is no longer available in HA.

Thank you for the quick update for the auth issue!

Entity no longer provided, after update.

Getting error connecting to FHPW122AC1
"Frigidaire 3-in-1 Connected Portable Room Air Conditioner 12,000 BTU". Had worked in HA previously, now no longer does. Control still works directly through Frigidaire app. Unfortunately I didn't notice when it went offline, but may be related to beta update, have done two additional updates since, currently at 2023.8.1. integration installed via HACS, using most recent version.

"This entity is no longer being provided by the frigidaire integration. If the entity is no longer in use, delete it in settings."

Home Assistant 2023.8.1
Supervisor 2023.08.1
Operating System 10.4
Frontend 20230802.0 - latest

Logger: homeassistant.components.climate
Source: custom_components/frigidaire/climate.py:191
Integration: Climate (documentation, issues)
First occurred: August 5, 2023 at 3:44:46 PM (6 occurrences)
Last logged: 6:26:44 AM

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 510, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 750, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1004, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 746, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 808, in _async_write_ha_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 752, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 242, in state
hvac_mode = self.hvac_mode
^^^^^^^^^^^^^^
File "/config/custom_components/frigidaire/climate.py", line 191, in hvac_mode
return FRIGIDAIRE_TO_HA_MODE[frigidaire_mode]
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 6

Dehumidifier is no longer being provided b the frigidaire integration

Good Afternoon,

I just added this integration - which worked perfectly to identify what Frigidaire devices are on my network. Unfortunately once I added the integration and my dehumidifier popped up - I received this warning

"This entity is no longer being provided by the frigidaire integration. If the entity is no longer in use, delete it in settings."

I left it for about an hour to see if it just took some time to receive info/controls from the dehumidifier, but the dehumidifier entity remains as unavailable.

I will mention - I noticed I needed to install a new frigidaire app recently - wondering if this integration only uses the previous version of the app?

Frigidaire failing to configure/reconfigure

Core - 2024.1.3
Supervisor - 2023.12.1
Operating System - 11.4
Frontend - 20240104.0

Logger: homeassistant.config_entries
Source: config_entries.py:406
First occurred: 12:16:51 AM (3 occurrences)
Last logged: 9:10:14 AM

Error setting up entry frigidaire for frigidaire
Traceback (most recent call last):
File "/config/custom_components/frigidaire/init.py", line 20, in setup
hass.data[DOMAIN][entry.entry_id] = frigidaire.Frigidaire(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/frigidaire/init.py", line 246, in init
self.authenticate()
File "/usr/local/lib/python3.11/site-packages/frigidaire/init.py", line 282, in authenticate
auth_response = self.post_request('/authentication/authenticate', data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/frigidaire/init.py", line 430, in post_request
return self.parse_response(response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/frigidaire/init.py", line 404, in parse_response
raise FrigidaireException(f'Request failed with status {response.status_code}: {response.content}')
frigidaire.FrigidaireException: Request failed with status 403: b'{"message":"Forbidden"}'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 406, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/frigidaire/init.py", line 28, in async_setup_entry
await hass.async_add_executor_job(
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/frigidaire/init.py", line 26, in setup
raise data_entry_flow.AbortFlow from err
TypeError: AbortFlow.init() missing 1 required positional argument: 'reason'

Failed to set up...

We (or at least I) seem to be having problems with this integration again. It just stopped working after a recent HA update (2024.5.3). I updated to 2024.5.4 and it's still not working. I honestly don't know if it's related to the HA update at all, could just be a coincidence in timing.

Is this still working for anyone else? I tried reloading it but I still have the same issue...

Logger: homeassistant.config_entries
Source: config_entries.py:575
First occurred: 4:34:40 PM (3 occurrences)
Last logged: 4:51:24 PM

Error setting up entry frigidaire for frigidaire
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/frigidaire/__init__.py", line 530, in post_request
    return self.parse_response(response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/frigidaire/__init__.py", line 477, in parse_response
    raise FrigidaireException(f'Request failed with status {response.status_code}: {response.content}')
frigidaire.FrigidaireException: Request failed with status 429: b'{"error":"cas_3403","message":"You have exceeded the maximum number of active sessions. Please log out of another device or wait until an existing session expires.","detail":"Too many active login context"}'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/frigidaire/__init__.py", line 20, in setup
    hass.data[DOMAIN][entry.entry_id] = frigidaire.Frigidaire(
                                        ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/frigidaire/__init__.py", line 247, in __init__
    self.authenticate()
  File "/usr/local/lib/python3.12/site-packages/frigidaire/__init__.py", line 371, in authenticate
    frigidaire_auth_response = self.post_request(self.regional_base_url, '/one-account-authorization/api/v1/token', self.get_headers_frigidaire("POST", include_bearer_token=False), data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/frigidaire/__init__.py", line 532, in post_request
    self.handle_request_exception(e, "POST", f'{url}{path}', headers, encoded_data)
  File "/usr/local/lib/python3.12/site-packages/frigidaire/__init__.py", line 501, in handle_request_exception
    raise FrigidaireException(error_str)
frigidaire.FrigidaireException: Error processing request:
POST https://api.us.ocp.electrolux.one/one-account-authorization/api/v1/token
headers={'x-api-key': 'UcGF9pmUMKUqBL6qcQvTu4K4WBmQ5KJqJXprCTdc', 'Authorization': 'Bearer', 'Accept': 'application/json', 'Accept-Charset': 'UTF-8', 'User-Agent': 'Ktor client', 'Content-Type': 'application/json'}
payload={"grantType": "urn:ietf:params:oauth:grant-type:token-exchange", "clientId": "FrigidaireOneApp", "idToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlJFUTBNVVE1TjBOQ1JUSkVNemszTTBVMVJrTkRRMFUwUTBNMVJFRkJSamhETWpkRU5VRkJRZyJ9.eyJpc3MiOiJodHRwczovL2ZpZG0uZ2lneWEuY29tL2p3dC80X0F4MThhbTlXOWFieU5kTHViNmlkTGcvIiwiYXBpS2V5IjoiNF9BeDE4YW05VzlhYnlOZEx1YjZpZExnIiwiaWF0IjoxNzE2NTAwMDgwLCJleHAiOjE3MTY1MDAzODAsInJpc2tTY29yZSI6MC4wLCJzdWIiOiJlNGYzZWM3ODcwMGQ0YTBjYTcwZDA2ZWYyMjE3ZThlZCIsImNvdW50cnkiOiJVUyJ9.cCpIOAI7GtpACrZ_owjpKAC_2N9YPn2dfOWF3kj5o1lXmBnropDauDebHMvcfg_7D9Nqlmpc4bsok0ah-nBzQQDhrMHYzvflE6Z7Yw0HolWajCuSSUMVpcNOWl31Oky5LgDzVtdGAlATIQ-nBevHLUVVB3TpqTsBBH7gJql3w1PWmknk5EwvMObp8nq1fAnbE_9Kn4hjMObnOMCUldPXe7pebGD7_L0NsgRG96vdJxBDxxypnARoFZZJkkFy-pctCT-L4tMXHJMiByk5IJ2UCPfV6yTIWwyqIfSycLzX0Nzz20q7kl1Z4DD0mVturU26ARYiHkTIFmHoGJXvsz_SZA", "scope": ""}


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 575, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/frigidaire/__init__.py", line 28, in async_setup_entry
    await hass.async_add_executor_job(
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/frigidaire/__init__.py", line 26, in setup
    raise data_entry_flow.AbortFlow from err
TypeError: AbortFlow.__init__() missing 1 required positional argument: 'reason'

Depreciated call to async_setup_platforms() in __init__.py

Logger: homeassistant.helpers.frame
Source: helpers/frame.py:77
First occurred: May 7, 2023 at 11:12:14 PM (1 occurrences)
Last logged: May 7, 2023 at 11:12:14 PM

Detected integration that called async_setup_platforms instead of awaiting async_forward_entry_setups; this will fail in version 2023.3. Please report issue to the custom integration author for frigidaire using this method at custom_components/frigidaire/init.py, line 32: hass.config_entries.async_setup_platforms(entry, PLATFORMS)

Update intervals?

I'm working on improving the reliability and fidelity of the current_temperature readings. It updates very infrequently, perhaps only when settings are changed? I'm having a difficult time finding if/where a regular polling interval is set. What is throwing me off I think is this comment

        # Although we can access the Frigidaire API to get updates, they are
        # not reflected immediately after making a request. To improve the UX
        # around this, we set assume_state to True
        self._attr_assumed_state = True

Does this mean the state is not regularly updated? Or, is it just that the state read back after changing a state is ignored and not updated until the regular polling interval?

Thank you for helping clarify. I'd be happy to help improve this code.

Unexpected Error

I've used this integration for the past couple of years for my window AC units. I just installed my window AC units today and noticed my HA integration stopped working. I deleted the old files, reuploaded the new ones and tried to connect. I'm getting an Unexpected error. I've also noticed that if I change my password in the app, I only get a code in an email to log in. My login does work on the frigidaire website to log into my account. Here are the logs:

This error originated from a custom integration.

Logger: custom_components.frigidaire.config_flow
Source: custom_components/frigidaire/config_flow.py:66
integration: frigidaire
First occurred: 10:05:25 AM (1 occurrences)
Last logged: 10:05:25 AM

Unexpected exception
Traceback (most recent call last):
File "/config/custom_components/frigidaire/config_flow.py", line 66, in async_step_user
await validate_input(self.hass, user_input)
File "/config/custom_components/frigidaire/config_flow.py", line 38, in validate_input
appliances = await hass.async_add_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/frigidaire/config_flow.py", line 31, in setup
return client.get_appliances()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/frigidaire/init.py", line 417, in get_appliances
return get_appliances_inner()
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/frigidaire/init.py", line 414, in get_appliances_inner
return list(map(generate_appliance, appliances))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/frigidaire/init.py", line 403, in generate_appliance
return Appliance(raw_appliance)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/frigidaire/init.py", line 106, in init
self.appliance_type: str = args['properties']['reported']['applianceInfo']['applianceType']
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'applianceInfo'

AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'

I get this whenever I try and reload the integration
ha 2023.05.01
supervised on Debian - fully supported install

Logger: homeassistant.config_entries
Source: custom_components/frigidaire/init.py:23
Integration: frigidaire
First occurred: 10:30:55 PM (1 occurrences)
Last logged: 10:30:55 PM
Error setting up entry frigidaire for frigidaire

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/frigidaire/init.py", line 23, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'

Not all `property`s that are being set in `climate.py` show up as attributes in homeassistant

Here are the attributes that I am seeing in homeassistant right now (homeassistant 2021.8.6, home-assistant-frigidaire f717fa6b6597da59ba55b6285f4846e1b183771d):

hvac_modes:
  - 'off'
  - cool
  - auto
  - fan_only
min_temp: 60
max_temp: 90
target_temp_step: 1
fan_modes:
  - auto
  - low
  - medium
  - high
current_temperature: 75
temperature: 60
fan_mode: low
friendly_name: Window AC
assumed_state: true
supported_features: 9

notably this appears to be missing hvac_mode even though it is defined in what appears to be the same way as fan mode which does appear in the list.

I'm happy to fix this myself and PR it up, I just can't for the life of me figure out why it doesn't show up at all.

Cannot connect to Frigidaire

This morning, my dehumidifier showed up as "unavailable" in HA. I can still connect to and control it via the Frigidaire iOS app.

I deleted and tried to re-add the Integration in HA, and receive a "Failed to connect" error upon entering username/password.

ERROR ECP0105 - Session key not found

Error:

{"status":"ERROR","code":"ECP0105","message":"Session key not found","data":{}}

Is there a way to reset/clear the session key so that it grabs a new one, or is there another API problem happening?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.