dahlb / ha_blueair

Home Assistant Integration for Blueair Class Filters
MIT License
33 stars 8 forks source link

add support for DustMagnet #5

Closed madasus closed 1 year ago

madasus commented 2 years ago

Hello,

I am seeing an error "retrying setup: pm1" loop right now. I have a different product than is listed. My product is a DustMagnet.

I have the full debug log information but was hesitant to post as it looks like there is a lot of tokens and serial numbers. i'm happy to share privately if you think there might be something in it to help resolve the problem.

Thank you

M

neebski commented 1 year ago

How can I contribute to getting this fixed? Do you need logs? API responses? LMK 🤙

@dahlb I have the logs setup but it looks like it needs a lot of sanitizing.

neebski commented 1 year ago

Log Details (ERROR) This error originated from a custom integration. Logger: homeassistant.config_entries Source: custom_components/ha_blueair/init.py:56 Integration: Blueair (documentation, issues) First occurred: 15:41:39 (1 occurrences) Last logged: 15:41:39

Error setting up entry myemail@example.com for ha_blueair Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 365, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/ha_blueair/init.py", line 56, in async_setupentry , aws_devices = await get_aws_devices(username=username, password=password, client_session=client_session) File "/usr/local/lib/python3.10/site-packages/blueair_api/util_bootstrap.py", line 51, in get_aws_devices api_devices = await api.devices() File "/usr/local/lib/python3.10/site-packages/blueair_api/http_aws_blueair.py", line 157, in devices 'Authorization': f"Bearer {await self.get_access_token()}", File "/usr/local/lib/python3.10/site-packages/blueair_api/http_aws_blueair.py", line 151, in get_access_token await self.refresh_access_token() File "/usr/local/lib/python3.10/site-packages/blueair_api/http_aws_blueair.py", line 136, in refresh_access_token await self.refresh_jwt() File "/usr/local/lib/python3.10/site-packages/blueair_api/http_aws_blueair.py", line 120, in refresh_jwt await self.refresh_session() File "/usr/local/lib/python3.10/site-packages/blueair_api/http_aws_blueair.py", line 110, in refresh_session await self._post_request_with_logging_and_errors_raised( File "/usr/local/lib/python3.10/site-packages/blueair_api/http_aws_blueair.py", line 20, in request_with_active_session_wrapper raise e File "/usr/local/lib/python3.10/site-packages/blueair_api/http_aws_blueair.py", line 16, in request_with_active_session_wrapper return await func(*args, **kwargs) File "/usr/local/lib/python3.10/site-packages/blueair_api/http_aws_blueair.py", line 54, in request_with_errors_wrapper raise AuthError(response.text()) blueair_api.errors.AuthError: <coroutine object ClientResponse.text at 0x7f744fef10>

dahlb commented 1 year ago

@neebski I generally don't add features I can't verify myself, so I left this issue open in case another developer wants to make a pr for it.

neebski commented 1 year ago

@dahlb ok. I could understand that. Do you mind discussing with me a path forward? How do I obtain/interpret any API responses from blueair?

Willing to put in the work but never done anything like this.

neebski commented 1 year ago

Looking at the debug log it looks like its working and able to log in but its not generating a entity in home assistant.

2022-12-06 22:05:06.221 DEBUG (MainThread) [blueair_api.util_http] response json: {'appConfig': {}, 'identityconfig': {}, 'deviceInfo': [{'id': '1926dc54-fb23-44a1-8282-63bada87f6b4', 'configuration': {'df': {'a': 877, 'ot': 'B4Filter', 'fsfc': 12000000, 'alg': 'FilterAlg1'}, 'di': {'cfv': '2.2.9', 'cma': 'e0:e2:e6:96:5c:5c', 'mt': '1', 'name': 'Living Room Purifier', 'sku': '104664', 'mfv': '2.2.8', 'ofv': '2.2.9', 'hw': 'b4basic_m_1.1', 'ds': '110466402001111110003489'}, '_ot': 'CmConfig', '_f': False, '_it': 'urn:blueair:openapi:version:healthprotect:0.0.5', '_eid': '664e405f-72c9-11ec-acc6-7d1119b91997', '_sc': 'Instance', 'ds': {'fu0': {'tf': 'senml+json', 'ot': 'FU', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/fu0', 'ttl': -1, 'n': 'fu0', 'fe': True}, 'rssi': {'tf': 'senml+json', 'ot': 'RSSI', 'e': False, 'i': 60000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/rssi', 'ttl': 600, 'n': 'rssi', 'fe': True}, 'ledb': {'tf': 'senml+json', 'ot': 'Led', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/ledb', 'ttl': -1, 'n': 'ledb', 'fe': True}, 'chl': {'tf': 'senml+json', 'ot': 'ChildLock', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/chl', 'ttl': -1, 'n': 'chl', 'fe': True}, 'is': {'tf': 'senml+json', 'ot': 'IonizerState', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/is', 'ttl': -1, 'n': 'is', 'fe': True}, 'am': {'tf': 'senml+json', 'ot': 'AutoMode', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/am', 'ttl': -1, 'n': 'am', 'fe': True}, 'sb': {'tf': 'senml+json', 'ot': 'Standby', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/sb', 'ttl': -1, 'n': 'sb', 'fe': True}, 'rt5m': {'tf': 'senml+json', 'ot': 'RT5m', 'e': False, 'i': 300000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/5m', 'sn': ['pm2_5'], 'ttl': 1200, 'n': 'rt5m', 'fe': True}, 'rt1s': {'tf': 'senml+json', 'ot': 'RT1s', 'e': False, 'i': 1000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/1s', 'sn': ['fsp0', 'pm2_5'], 'ttl': 0, 'n': 'rt1s', 'fe': True}, 'rt5s': {'tf': 'senml+json', 'ot': 'RT5s', 'e': False, 'i': 5000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/5s', 'sn': ['pm2_5'], 'ttl': 1200, 'n': 'rt5s', 'fe': True}, 'pm2_5': {'tf': 'senml+json', 'ot': 'PM2_5', 'e': False, 'i': 60000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/pm2_5', 'ttl': 1200, 'n': 'pm2_5', 'fe': True}, 'b5m': {'tf': 'senml+json', 'th': ['5kb', '4h'], 'ot': 'Batch5m', 'e': True, 'i': 300000, 'tn': '$aws/rules/telemetry_ingest_rule/d/1926dc54-fb23-44a1-8282-63bada87f6b4/s/batch/b5m', 'sn': ['pm2_5', 'fsp0'], 'ttl': -1, 'n': 'b5m', 'fe': True}, 'sp': {'tf': 'senml+json', 'ot': 'SensorBoxPresense', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/sp', 'ttl': -1, 'n': 'sp', 'fe': True}, 'fsp0': {'st': 'fsp0', 'tf': 'senml+json', 't': 10, 'ot': 'Fanspeed', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/fsp0', 'sn': ['fsp0'], 'ttl': -1, 'n': 'fsp0', 'fe': True}, 'nm': {'tf': 'senml+json', 'ot': 'NightMode', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/nm', 'ttl': -1, 'n': 'nm', 'fe': True}}, '_r': 'us-east-2', '_s': {'sig': 'a21168964dffc15d6abd59760877174303c4313bd159835eca6dab503e86c347', 'salg': 'SHA256'}, '_t': 'Diff', '_v': 1669849891, '_cas': 1641896484, '_id': '1926dc54-fb23-44a1-8282-63bada87f6b4', 'fc': {'pwd': '9102revreSyrotcaF', 'ssid': 'BAFactory', 'url': ' '}, 'da': {'reboot': {'p': True, 'a': False, 'ot': 'Reboot', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/reboot', 'n': 'reboot', 'fe': True}, 'uitest': {'p': False, 'a': 'off', 'ot': 'UiTest', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/uitest', 'n': 'uitest', 'fe': True}, 'ledb': {'p': True, 'a': 100, 'tf': 'senml+json', 'ot': 'LedBrightness', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/ledb', 'n': 'ledb', 'fe': True}, 'chl': {'p': True, 'a': False, 'tf': 'senml+json', 'ot': 'ChildLock', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/chl', 'n': 'chl', 'fe': True}, 'sflu': {'p': False, 'a': False, 'ot': 'SensorFlush', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/sflu', 'n': 'sflu', 'fe': True}, 'buttontest': {'p': False, 'a': False, 'ot': 'ButtonTest', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/buttontest', 'n': 'buttontest', 'fe': True}, 'is': {'p': False, 'a': False, 'tf': 'senml+json', 'ot': 'IonizerState', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/is', 'n': 'is', 'fe': True}, 'am': {'p': True, 'a': False, 'tf': 'senml+json', 'ot': 'AutoMode', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/am', 'n': 'am', 'fe': True}, 'fsp0': {'p': True, 'st': 'fsp0', 'a': 11, 'tf': 'senml+json', 'ot': 'Fanspeed', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/fsp0', 'n': 'fsp0', 'fe': True}, 'sb': {'p': True, 'a': False, 'tf': 'senml+json', 'sbt': 'sensor_on', 'ot': 'Standby', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/sb', 'n': 'sb', 'fe': True}, 'nm': {'p': True, 'maxfsp': 23, 'a': False, 'tf': 'senml+json', 'ot': 'NightMode', 'ledb': 12, 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/nm', 'n': 'nm', 'fe': True}}, 'dc': {'cfv': {'d': 'di.cfv', 't': 'integer', 'v': 0, 'n': 'cfv'}, 'filterusage': {'s': 'fu0', 't': 'integer', 'v': 0, 'n': 'filterusage'}, 'brightness': {'a': 'ledb', 's': 'ledb', 't': 'integer', 'v': 100, 'n': 'brightness'}, 'standby': {'a': 'sb', 's': 'sb', 't': 'boolean', 'v': False, 'n': 'standby'}, 'fanspeed': {'a': 'fsp0', 's': 'fsp0', 't': 'integer', 'v': 11, 'n': 'fanspeed'}, 'nightmode': {'a': 'nm', 's': 'nm', 't': 'boolean', 'v': False, 'n': 'nightmode'}, 'childlock': {'a': 'chl', 's': 'chl', 't': 'boolean', 'v': False, 'n': 'childlock'}, 'mfv': {'d': 'di.mfv', 't': 'integer', 'v': 0, 'n': 'mfv'}, 'ofv': {'d': 'di.ofv', 't': 'integer', 'v': 0, 'n': 'ofv'}, 'automode': {'a': 'am', 's': 'am', 't': 'boolean', 'v': False, 'n': 'automode'}}}, 'alarms': [], 'events': [], 'sensordata': [{'v': '0', 'n': 'pm2_5', 't': 1670393046}, {'v': '11', 'n': 'fsp0', 't': 1670393046}], 'states': [{'n': 'cfv', 'v': 33554953, 't': 1670393105}, {'n': 'filterusage', 'v': 1, 't': 1670393105}, {'n': 'brightness', 'v': 50, 't': 1670393105}, {'n': 'standby', 'vb': False, 't': 1670393105}, {'n': 'fanspeed', 'v': 11, 't': 1670393105}, {'n': 'nightmode', 'vb': False, 't': 1670393105}, {'n': 'childlock', 'vb': False, 't': 1670393105}, {'n': 'mfv', 'v': 33554952, 't': 1670393105}, {'n': 'ofv', 'v': 33554953, 't': 1670393105}, {'n': 'automode', 'vb': True, 't': 1670393105}, {'t': 1670393105, 'vb': True, 'n': 'online'}], 'welcomehome': {'setting': {'lng': -xxxxxxxxxxx, 'textValue': 'xxxxxxxxx', 'radius': 2000, 'lat': xxxxxxxxxxx}}, 'fleet_info': []}]}

dahlb commented 1 year ago

the first step is to update the supporting library with support for dust magnets https://github.com/dahlb/blueair_api once it is added there this repo is pretty simple, the api responses are very cryptic but there are examples of converting them in https://github.com/dahlb/blueair_api/blob/master/src/blueair_api/device_aws.py

neebski commented 1 year ago

@dahlb I gave this a good ol college try but sorry I don't know enough about this stuff. My above comment somewhat useful?

dahlb commented 1 year ago

it could be useful to another developer if they want to take up this issue. If they don't have a dustmagnet they would likely need more logs to understand what is missing in the code, for you to see that response yet the entity not to be generated

dahlb commented 1 year ago

thanks to @averzicco I think this is fixed in version 1.7.2

neebski commented 1 year ago

@averzicco @dahlb

2023-02-23 18:52:02.652 DEBUG (MainThread) [blueair_api.util_http] response status: 200 2023-02-23 18:52:02.656 DEBUG (MainThread) [blueair_api.util_http] response json: {'appConfig': {}, 'identityconfig': {}, 'deviceInfo': [{'id': '1926dc54-fb23-44a1-8282-63bada87f6b4', 'configuration': {'df': {'a': 877, 'ot': 'B4Filter', 'fsfc': 12000000, 'alg': 'FilterAlg1'}, 'di': {'cfv': '2.2.9', 'cma': 'e0:e2:e6:96:5c:5c', 'mt': '1', 'name': 'Living Room Purifier', 'sku': '104664', 'mfv': '2.2.8', 'ofv': '2.2.9', 'hw': 'b4basic_m_1.1', 'ds': '110466402001111110003489'}, '_ot': 'CmConfig', '_f': False, '_it': 'urn:blueair:openapi:version:healthprotect:0.0.5', '_eid': '664e405f-72c9-11ec-acc6-7d1119b91997', '_sc': 'Instance', 'ds': {'fu0': {'tf': 'senml+json', 'ot': 'FU', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/fu0', 'ttl': -1, 'n': 'fu0', 'fe': True}, 'rssi': {'tf': 'senml+json', 'ot': 'RSSI', 'e': False, 'i': 60000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/rssi', 'ttl': 600, 'n': 'rssi', 'fe': True}, 'ledb': {'tf': 'senml+json', 'ot': 'Led', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/ledb', 'ttl': -1, 'n': 'ledb', 'fe': True}, 'chl': {'tf': 'senml+json', 'ot': 'ChildLock', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/chl', 'ttl': -1, 'n': 'chl', 'fe': True}, 'is': {'tf': 'senml+json', 'ot': 'IonizerState', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/is', 'ttl': -1, 'n': 'is', 'fe': True}, 'am': {'tf': 'senml+json', 'ot': 'AutoMode', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/am', 'ttl': -1, 'n': 'am', 'fe': True}, 'sb': {'tf': 'senml+json', 'ot': 'Standby', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/sb', 'ttl': -1, 'n': 'sb', 'fe': True}, 'rt5m': {'tf': 'senml+json', 'ot': 'RT5m', 'e': False, 'i': 300000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/5m', 'sn': ['pm2_5'], 'ttl': 1200, 'n': 'rt5m', 'fe': True}, 'rt1s': {'tf': 'senml+json', 'ot': 'RT1s', 'e': False, 'i': 1000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/1s', 'sn': ['fsp0', 'pm2_5'], 'ttl': 0, 'n': 'rt1s', 'fe': True}, 'rt5s': {'tf': 'senml+json', 'ot': 'RT5s', 'e': False, 'i': 5000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/5s', 'sn': ['pm2_5'], 'ttl': 1200, 'n': 'rt5s', 'fe': True}, 'pm2_5': {'tf': 'senml+json', 'ot': 'PM2_5', 'e': False, 'i': 60000, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/pm2_5', 'ttl': 1200, 'n': 'pm2_5', 'fe': True}, 'b5m': {'tf': 'senml+json', 'th': ['5kb', '4h'], 'ot': 'Batch5m', 'e': True, 'i': 300000, 'tn': '$aws/rules/telemetry_ingest_rule/d/1926dc54-fb23-44a1-8282-63bada87f6b4/s/batch/b5m', 'sn': ['pm2_5', 'fsp0'], 'ttl': -1, 'n': 'b5m', 'fe': True}, 'sp': {'tf': 'senml+json', 'ot': 'SensorBoxPresense', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/sp', 'ttl': -1, 'n': 'sp', 'fe': True}, 'fsp0': {'st': 'fsp0', 'tf': 'senml+json', 't': 10, 'ot': 'Fanspeed', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/fsp0', 'sn': ['fsp0'], 'ttl': -1, 'n': 'fsp0', 'fe': True}, 'nm': {'tf': 'senml+json', 'ot': 'NightMode', 'e': True, 'i': 0, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/s/nm', 'ttl': -1, 'n': 'nm', 'fe': True}}, '_r': 'us-east-2', '_s': {'sig': 'a21168964dffc15d6abd59760877174303c4313bd159835eca6dab503e86c347', 'salg': 'SHA256'}, '_t': 'Diff', '_v': 1669849891, '_cas': 1641896484, '_id': '1926dc54-fb23-44a1-8282-63bada87f6b4', 'fc': {'pwd': '9102revreSyrotcaF', 'ssid': 'BAFactory', 'url': ' '}, 'da': {'reboot': {'p': True, 'a': False, 'ot': 'Reboot', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/reboot', 'n': 'reboot', 'fe': True}, 'uitest': {'p': False, 'a': 'off', 'ot': 'UiTest', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/uitest', 'n': 'uitest', 'fe': True}, 'ledb': {'p': True, 'a': 100, 'tf': 'senml+json', 'ot': 'LedBrightness', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/ledb', 'n': 'ledb', 'fe': True}, 'chl': {'p': True, 'a': False, 'tf': 'senml+json', 'ot': 'ChildLock', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/chl', 'n': 'chl', 'fe': True}, 'sflu': {'p': False, 'a': False, 'ot': 'SensorFlush', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/sflu', 'n': 'sflu', 'fe': True}, 'buttontest': {'p': False, 'a': False, 'ot': 'ButtonTest', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/buttontest', 'n': 'buttontest', 'fe': True}, 'is': {'p': False, 'a': False, 'tf': 'senml+json', 'ot': 'IonizerState', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/is', 'n': 'is', 'fe': True}, 'am': {'p': True, 'a': False, 'tf': 'senml+json', 'ot': 'AutoMode', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/am', 'n': 'am', 'fe': True}, 'fsp0': {'p': True, 'st': 'fsp0', 'a': 11, 'tf': 'senml+json', 'ot': 'Fanspeed', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/fsp0', 'n': 'fsp0', 'fe': True}, 'sb': {'p': True, 'a': False, 'tf': 'senml+json', 'sbt': 'sensor_on', 'ot': 'Standby', 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/sb', 'n': 'sb', 'fe': True}, 'nm': {'p': True, 'maxfsp': 23, 'a': False, 'tf': 'senml+json', 'ot': 'NightMode', 'ledb': 12, 'e': True, 'tn': 'd/1926dc54-fb23-44a1-8282-63bada87f6b4/a/nm', 'n': 'nm', 'fe': True}}, 'dc': {'cfv': {'d': 'di.cfv', 't': 'integer', 'v': 0, 'n': 'cfv'}, 'filterusage': {'s': 'fu0', 't': 'integer', 'v': 0, 'n': 'filterusage'}, 'brightness': {'a': 'ledb', 's': 'ledb', 't': 'integer', 'v': 100, 'n': 'brightness'}, 'standby': {'a': 'sb', 's': 'sb', 't': 'boolean', 'v': False, 'n': 'standby'}, 'fanspeed': {'a': 'fsp0', 's': 'fsp0', 't': 'integer', 'v': 11, 'n': 'fanspeed'}, 'nightmode': {'a': 'nm', 's': 'nm', 't': 'boolean', 'v': False, 'n': 'nightmode'}, 'childlock': {'a': 'chl', 's': 'chl', 't': 'boolean', 'v': False, 'n': 'childlock'}, 'mfv': {'d': 'di.mfv', 't': 'integer', 'v': 0, 'n': 'mfv'}, 'ofv': {'d': 'di.ofv', 't': 'integer', 'v': 0, 'n': 'ofv'}, 'automode': {'a': 'am', 's': 'am', 't': 'boolean', 'v': False, 'n': 'automode'}}}, 'alarms': [], 'events': [], 'sensordata': [{'v': '0', 'n': 'pm2_5', 't': 1677206997}, {'v': '11', 'n': 'fsp0', 't': 1677206997}], 'states': [{'n': 'cfv', 'v': 33554953, 't': 1677207122}, {'n': 'filterusage', 'v': 24, 't': 1677207122}, {'n': 'brightness', 'v': 50, 't': 1677207122}, {'n': 'standby', 'vb': False, 't': 1677207122}, {'n': 'fanspeed', 'v': 11, 't': 1677207122}, {'n': 'nightmode', 'vb': False, 't': 1677207122}, {'n': 'childlock', 'vb': False, 't': 1677207122}, {'n': 'mfv', 'v': 33554952, 't': 1677207122}, {'n': 'ofv', 'v': 33554953, 't': 1677207122}, {'n': 'automode', 'vb': True, 't': 1677207122}, {'t': 1677207122, 'vb': True, 'n': 'online'}], 'welcomehome': {'setting': {'lng': -117.20531309, 'textValue': '###removed###. San Diego. United States', 'radius': 2000, 'lat': 32.74490992}}, 'fleet_info': []}]} 2023-02-23 18:52:02.661 DEBUG (MainThread) [blueair_api.http_aws_blueair] response 200 2023-02-23 18:52:02.662 DEBUG (MainThread) [custom_components.ha_blueair.blueair_aws_data_update_coordinator] Finished fetching ha_blueair-1926dc54-fb23-44a1-8282-63bada87f6b4 data in 0.995 seconds (success: False)

madasus commented 1 year ago

@dahlb @averzicco

It looks like i'm just stuck in a loop

"Retrying setup: 'germshield'" and sometimes it seems to be stuck on Retrying setup: 'pm1'

I don't see any errors in the log in debug mode. My account has 4 of the DustMagnets (which it seems to see).

2023-02-24 08:16:39.743 DEBUG (MainThread) [blueair_api.device_aws] creating blueair device aws: XX 2023-02-24 08:16:39.743 DEBUG (MainThread) [blueair_api.device_aws] creating blueair device aws: YY 2023-02-24 08:16:39.743 DEBUG (MainThread) [blueair_api.device_aws] creating blueair device aws: ZZ 2023-02-24 08:16:39.743 DEBUG (MainThread) [blueair_api.device_aws] creating blueair device aws: ZA

all of the response status codes are 200

What is helpful to debug this further?

averzicco commented 1 year ago

@dahlb has released a version (1.7.3) which fix the Retrying setup: 'germshield' error, I've tested and seems to be working for me (I have a DustMagnet 5210i)

madasus commented 1 year ago

bingo - that did it. Thanks

neebski commented 1 year ago

Jackpot! Worked here as well!!

On Fri, Feb 24, 2023 at 4:45 PM madasus @.***> wrote:

bingo - that did it. Thanks

— Reply to this email directly, view it on GitHub https://github.com/dahlb/ha_blueair/issues/5#issuecomment-1444559153, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5QJQC65E63UFBDHTJEAEDWZETWVANCNFSM6AAAAAARBUXS2Q . You are receiving this because you were mentioned.Message ID: @.***>

dahlb commented 1 year ago

Thanks @averzicco