Code Monkey home page Code Monkey logo

iaqualink's People

Contributors

galletn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

johntdyer

iaqualink's Issues

incompatibility warning for "using deprecated supported features values"

Hi,

Fantastic the new web socket API connection ... neat

Got this in my logs (latest HA)

Entity vacuum.peyrebelle_pool_robot (<class 'custom_components.iaqualinkRobots.vacuum.IAquaLinkRobotVacuum'>) is using deprecated supported features values which will be removed in HA Core 2025.1. Instead it should use <VacuumEntityFeature.STOP|START: 8200>, please create a bug report at https://github.com/galletn/iaqualink/issues/ and reference https://developers.home-assistant.io/blog/2023/12/28/support-feature-magic-numbers-deprecation

Zodiac XA 5095 iQ error in Homeassistant

Hello.
Im noob with this integration but i will try :-)

my iaqualink robot is Zodiac XA 5095 iQ
I installed it from hacs, setup as readme said. but i obtain a error in home assistant:

`Error while setting up iaqualinkRobots platform for sensor
Traceback (most recent call last):
File "/config/custom_components/iaqualinkRobots/sensor.py", line 154, in _update
self._temperature = data["state"]["reported"]["equipment"]["robot"]["sensors"]["sns_1"]["val"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
TypeError: list indices must be integers or slices, not str

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/config/custom_components/iaqualinkRobots/sensor.py", line 157, in _update
self._temperature = data["state"]["reported"]["equipment"]["robot"]["sensors"]["sns_1"]["state"]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
TypeError: list indices must be integers or slices, not str

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform
await asyncio.shield(task)
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/iaqualinkRobots/sensor.py", line 36, in setup_platform
add_devices([iaqualinkRobotSensor(config)])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/iaqualinkRobots/sensor.py", line 52, in init
self._update()
File "/config/custom_components/iaqualinkRobots/sensor.py", line 159, in _update
error = error + ' temparture mapping error'
^^^^^
UnboundLocalError: cannot access local variable 'error' where it is not associated with a value`

any idea or something i can test?

Update for vacuum.peyrebelle_pool_robot fails

Hi,

sorry again, another one:

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:944
First occurred: July 4, 2024 at 11:46:06 PM (15 occurrences)
Last logged: 11:34:10 AM

Update for vacuum.peyrebelle_pool_robot fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 944, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1296, in async_device_update
await self.async_update()
File "/config/custom_components/iaqualinkRobots/vacuum.py", line 248, in async_update
self._status = data['payload']['robot']['state']['reported']['aws']['status']
~~~~~~~~~~~~~~~^^^^^^^^^
KeyError: 'robot'

conflicts with official aqualink integration

this integration seems to conflict w/ the official Jandy / Hass one... Perhaps rename it to iaqualinkRobot ?

➜  ~ grep aqualink config/home-assistant.log
2023-05-31 12:27:23.781 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration iaqualink 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
2023-05-31 12:29:29.452 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'cast', 'telegram_bot', 'script', 'ring', 'ui_lovelace_minimalist', 'nodered', 'repairs', 'hacs', 'energy', 'apple_tv', 'sonoff', 'zha', 'utility_meter', 'season', 'panel_custom', 'webrtc', 'rtsp_to_webrtc', 'system_health', 'discord', 'otbr', 'notify', 'onboarding', 'browser_mod', 'light', 'rflink', 'timer', 'sonos', 'map', 'history', 'shelly', 'input_datetime', 'influxdb', 'uptime', 'moon', 'mail_and_packages', 'persistent_notification', 'proxmoxve', 'image_processing', 'frigate', 'tuya', 'emulated_hue', 'tag', 'iperf3', 'glances', 'image_upload', 'media_source', 'ios', 'filesize', 'co2signal', 'tautulli', 'device_tracker', 'application_credentials', 'google', 'roku', 'huesyncbox', 'bluetooth_adapters', 'diagnostics', 'lovelace', 'switch', 'auto_backup', 'trace', 'group', 'default_config', 'lametric', 'alexa_media', 'opengarage', 'nextdns', 'template', 'withings', 'sonarr', 'file_upload', 'fully_kiosk', 'weatherflow', 'homeassistant_alerts', 'python_script', 'yeelight', 'lovelace_gen', 'zone', 'sun', 'sonos_cloud', 'wake_on_lan', 'xiaomi_miio', 'elgato', 'stream', 'device_automation', 'config', 'mobile_app', 'bond', 'integration', 'esphome', 'conversation', 'samsungtv_smart', 'delete', 'waste_management', 'switch_as_x', 'person', 'homekit_controller', 'homeassistant_sky_connect', 'ltss', 'zwave_js', 'fontawesome', 'cpuspeed', 'input_text', 'harmony', 'simpleicons', 'assist_pipeline', 'uptime_kuma', 'tasmota', 'navien_water_heater', 'hardware', 'spotify', 'local_ip', 'qss', 'icloud', 'homeassistant_hardware', 'thread', 'nut', 'input_boolean', 'peloton', 'sensor', 'airthings_ble', 'search', 'binary_sensor', 'counter', 'shell_command', 'tts', 'prometheus', 'logbook', 'emporia_vue', 'rest_command', 'webostv', 'alert', 'airvisual_pro', 'my', 'scene', 'hpprinter', 'tplink', 'blueprint', 'workday', 'healthchecksio', 'input_number', 'hue', 'automation', 'downloader', 'smartthings', 'plex', 'stt', 'rainmachine', 'auth', 'input_button', 'remote', 'pushover', 'schedule', 'octoprint', 'ffmpeg', 'spotcast', 'ecobee', 'govee', 'camera', 'mqtt', 'wirelesstag', 'cupertino', 'input_select', 'dnsip', 'analytics', 'watchman', 'iaqualink', 'airvisual'}
2023-05-31 12:29:30.068 INFO (MainThread) [homeassistant.setup] Setting up iaqualink
2023-05-31 12:29:30.068 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration iaqualink: No setup or config entry setup function defined.

242376089-2c3b4d1f-f5c4-4b52-9424-a124d15c0435

Authorization header requires 'Credential' parameter

when I make a POST to https://prod.zodiac-io.com/devices/v2/xxxxxx/shadow it returns the following error:

Authorization header requires 'Credential' parameter. Authorization header requires 'Signature' parameter. Authorization header requires 'SignedHeaders' parameter. Authorization header requires existence of either a 'X-Amz-Date' or a 'Date' header.

With mitm proxy I see that it does a GET against https://r-api.iaqualink.net/v2/devices.json?user_id=xxx&signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&timestamp=1683216063

any idea? maybe it does a calculation of the signature and timestamp?

HAC Support ??

It doesn't appear this integration is actually supported by HACs.. Its missing manifiest and hacs data so you cant even import it best I can tell.. I assume this is something ion the road map to address?

Information ra 6500 iq

Hello,
I have a ra 6500 iq is after configuring the integration I only see that the robot is online but I don't see any other data

How do I display the other data like when is it until the end of cleaning or filter status?

Thanks

i have only this sensor
image

Unable to update plugin via HACS

Hey @galletn,

Thanks for your work on this.

For some reason iaqualink is the only HACS plugin that I have that can't be updated through the Home Assistant UI.

I have to uninstall and then reinstall through HACS with each update.

I've attached the following screenshots with the final showing the error message that Home Assistant displays.

CleanShot 2024-07-26 at 14 48 00@2x

And here is the detail from the error generated in the log.

`Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:241
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 2:47:58 PM (2 occurrences)

Last logged: 2:52:00 PM

[140582331245632] Unexpected exception
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/homeassistant/components/websocket_api/commands.py", line 241, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/homeassistant/core.py", line 2731, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/homeassistant/core.py", line 2774, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/homeassistant/helpers/service.py", line 999, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/homeassistant/helpers/service.py", line 1071, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/homeassistant/components/update/init.py", line 154, in async_install
await entity.async_install_with_progress(version, backup)
File "/usr/local/lib/python3.12/site-packages/homeassistant/components/update/init.py", line 458, in async_install_with_progress
await self.async_install(version, backup)
File "/config/custom_components/hacs/update.py", line 111, in async_install
await self._ensure_capabilities(version)
File "/config/custom_components/hacs/update.py", line 95, in _ensure_capabilities
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: The version cfcedea for this integration can not be used with HACS.`

Unable to Complete Setup (Polaris VRX iQ+)

I just purchased a Polaris VRX iQ+ (a supported model) and have it connected to my iAquaLink account*, but I cannot get it to complete the initial setup.

Here are the steps I've taken:

  • In HACS, I added your custom repository main branch. I noticed there's also a patch1 branch, but did not use that one.
  • Restarted HA
  • Added the provided Setup config to my configuration.yaml. I assume none of the values get quotes ("), but please confirm
  • Restarted HA
  • Checked for any devices and/or entities matching the name I provided in the config. Nothing.

Any ideas for where to continue troubleshooting?

*I've confirmed the robot has a green light and I can control it via the iOS iAquaLink app (when on my LAN and off via cellular data), but for some reason, the iAquaLink Owner's Center Portal indicates that its offline.

image

Zodiac CNX 30 iQ request

Hi,

Would there be any chance to extend the supported models list with additional robots?

As others mentioned, plugin works fine, connects, but that's about it.

Serial number: xxxxxxxxxxx
Robot name: Pool robot
Last online: 4 June 2024 at 11:12:03
Temperature: 0
Pressure: N/A
Total hours: 0
Error state: N/A
Lift control: N/A
Equipment ID: N/A
Cycle start time: 1 January 2000 at 09:00:00
Canister: N/A
Running: N/A
Model: CNX 30 iQ

Add cycle selection

Enhancement request
Hi @galletn, you know I love your work and am very appreciative. If its not too much work. do you think it will be possible to add the ability to select the cycle type? I am happy to help with any traces, testing, videos etc
Thanks in advance

It's not possible to configure iaqualink sensor by adding platform: iaqualink

When adding the configuration like suggested I get this error message:

Unused YAML configuration for the iaqualink integration

It's not possible to configure iaqualink sensor by adding platform: iaqualink to the sensor configuration. Please check the documentation for more information on how to set up this integration.

To resolve this:

Remove platform: iaqualink occurences from the sensor: configuration in your YAML configuration file.
Restart Home Assistant.
Example that should be removed:

sensor:

  • platform: iaqualink

Status not updating and start/stop command not working

This was working well for a few days but now the status is stuck on cleaning and he start/stop buttons give the following error

I've tried restarting with not luck.

[139713914131008] Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 241, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2731, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2774, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 999, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1071, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/iaqualinkRobots/vacuum.py", line 202, in async_stop
    data = await self.setCleanerState(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/iaqualinkRobots/vacuum.py", line 393, in setCleanerState
    return message.json()
           ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/http_websocket.py", line 121, in json
    return loads(self.data)
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/__init__.py", line 339, in loads
    raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not NoneType

Since installing via HACS - ModelNumber no longer reported

I noticed recently that the model number was no longer being reported. When I traced it back , I noticed that it was no longer being reported once I reinstalled via HACS. Upon investigation, I realised that sensor.py is missing the following lines;

Line 11

URL_GET_DEVICE_FEATURES="https://prod.zodiac-io.com/devices/v2/"

and lines 134 -141

                    url = URL_GET_DEVICE_FEATURES + self._serial_number + "/features"
                    data = None
                    self._headers = {"Content-Type": "application/json; charset=utf-8", "Connection": "keep-alive", "Accept": "*/*", "Authorization" : self._id_token}
                    response = requests.get(url, headers = self._headers)
                    if response.status_code == 200:
                        data = response.json()
                        self._model = data["model"]
                        self._attributes['model'] = self._model

I manually added those lines into sensor.py and restarted HASS and the model number is now being reported. Would it cause an issue if we re-added that back in?

Zodiac RE 4600 iQ not working

just wanted to say thank you for the great work!

Unfortunately, it doesn't really work with my RE 4600 iQ. If you have the muse to invest here, I would gladly make myself available as a test object and help out (but I'm a coding noob)...

pool season has already opened ;-)

grafik

Include example card and assets

You have a nice looking card int he demo video at the bottom, it would be cool if you could include that code in an examples dir

CNX40 IQ

Hi, I have a CNX40 IQ

The integration did not work at all because of:

Logger: homeassistant.components.websocket_api.http.connection
Quelle: components/websocket_api/commands.py:241
Integration: Home Assistant WebSocket API (Dokumentation, Probleme)
Erstmals aufgetreten: 14:09:07 (2 Vorkommnisse)
Zuletzt protokolliert: 14:09:13

[139765092741856] Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 241, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2763, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2806, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 999, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1071, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/iaqualinkRobots/vacuum.py", line 227, in async_start
    data = await asyncio.wait_for(self.setCleanerState(request), timeout=30)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
    return await fut
           ^^^^^^^^^
  File "/config/custom_components/iaqualinkRobots/vacuum.py", line 480, in setCleanerState
    await self.async_update()
  File "/config/custom_components/iaqualinkRobots/vacuum.py", line 389, in async_update
    self._total_hours = data['payload']['robot']['state']['reported']['equipment']['robot.1']['totRunTime']
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'totRunTime'

I checked my iAqualink app on the mobile and even there it says "null Stunden" at total time.

So I removed totRunTime completely from the integration.

image

Now it works, but there is still an error when changing modes:

Logger: homeassistant.components.websocket_api.http.connection
Quelle: components/websocket_api/commands.py:241
Integration: Home Assistant WebSocket API (Dokumentation, Probleme)
Erstmals aufgetreten: 14:17:29 (1 Vorkommnisse)
Zuletzt protokolliert: 14:17:29

[140518812086144] Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 241, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2763, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2806, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 999, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1071, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/iaqualinkRobots/vacuum.py", line 523, in async_set_fan_speed
    request = {"action":"setCleaningMode","namespace":"cyclonext","payload":{"clientToken":clientToken,"state":{"desired":{ "equipment":{"robot.1":{"cycle":_cycle_speed}}}}},"service":"StateController","target":self._serial_number,"version":1}
                                                                                                                                                            ^^^^^^^^^^^^
UnboundLocalError: cannot access local variable '_cycle_speed' where it is not associated with a value

Kind regards and many many thanks for your work on this integration
Markus

Zodiac CNX 4090 iQ Not Working

Zodiac CNX 4090 iQ Not Working:
username: xxxxxxx
first_name: xxxxxxx
last_name: xxxxxxx
serial_number: xxxxxxxxx
robot_name: Limpia Fondos
last_online: "2024-05-29T12:46:24.495000"
temperature: "0"
pressure: N/A
total_hours: 0
error_state: N/A
lift_control: N/A
equipment_id: N/A
cycle_start_time: "2000-01-01T09:00:00.000000"
canister: N/A
running: N/A
model: CNX 4090 iQ

Added attributes to capture operational and canister state

Enhancement suggestion

I also added a few more attributes such as running state and canister empty/ok

I modified sensor.py in the section where the response from the API call is being mapped into attributes (I think) here
self._headers = {"Content-Type": "application/json; charset=utf-8", "Connection": "keep-alive", "Accept": "*/*", ``"Authorization" : self._id_token}
response = requests.get(url, headers = self._headers)
if response.status_code == 200:

and added the following lines;
self._canister = data["state"]["reported"]["equipment"]["robot"]["canister"]
self._attributes['canister'] = self._canister
self._running = data["state"]["reported"]["equipment"]["robot"]["state"]
self._attributes['running'] = self._running

Then I created template sensors in the config.yaml to map 0/1 to empty/full or running/Idle

Then in the card, I created badges and animations to show when running/idle or when the canister needs emptying.

poolrobot.1.HB_proc.mp4

HACS install sensor.py mapping incorrect attributes

Reposting from #flz/iaqualink-py#23

HACS install works but there is an issue with mapping which prevents the sensor from loading in HASS

I managed to get it working by tweaking sensor.py

Here is what I changed:

line 110 is trying to map

self._temperature = data["state"]["reported"]["equipment"]["robot"]["sensors"]["sns_1"]["val"]
but it should be (in my case)
self._temperature = data["state"]["reported"]["equipment"]["robot"]["sensors"]["sns_1"]["state"]
as "val" doesn't exist

so now I get this

not sure if this is just specific to my device.

Add lift command

VR supports lift command to get robot out of the pool, investigate on how to add this

Experimenting with an unsupported model, Polaris 9650iq

I figured I'd give it a try, what the heck. The attributes shown are accurately returning my account information, so the authentication is working, but I'm getting the "Device does not belong to user" status reported:

Screenshot 2024-06-27 170212

I'm willing to do any legwork you would like for me to assist with getting this model supported. If you have a basic postman collection I can use to start investigating my specific model, please share it.

[IMPROVE IDEA] docked when other sensor is closed

Hello.
I have a maybe stupid idea but i think its interesting to tell you.
my robot is zodiac XA 5095 IQ and works fine in home assistant now with the last version (july 2024).
But the robot only report 2 states:
Cleaning: when the robot is cleaning in the pool
Idle: when the robot is not cleaning

The problem is the idle state, because the robot can be in the pool (in the water ) or in the dock (outside the water).
It will be interesting to know when the robot is in the water or outside the water. because I can make a automation that clean the pool at some hour of the day only when the robot is in the water. If the robot its outside the water I dont want to start cleaning.

The problem with this idea is the robot not report when it is in the water or ouside the water.
And I have a idea to solve this:

  • A contact sensor!!!

I use a contact sensor (aqara zigbee door sensor) atached to the cable and when this sensor is "closed" I am sure that the robot its ouside the water. And when the sensor is "open" i am sure that the robot its IN the water.

And now comes my stupid idea!!!
It will be interesting if the sensor is "closed" the robot apears as "DOCKED" in his state.
I dont know how dificult is this. Maybe its hard! and stupid. but i want to share this idea with you :-)

Temperature not updating

This has been working for a while, but stopped seemingly when I updated to 480e9cd.

Something weird happened where it created a new robot entity, not sure if it is related. I have since uninstalled via HACS, deleted all robot entities, reinstalled and now have just the 1 entity. But the temperature value is not updating. Normally this would only update when the robot is running which is fine, but it's now no longer updating regardless of whether the robot is running or not.

Interestingly, in the iAqualink app there is a new notification saying that the robot temperature only updates when the robot is running which I don't recall seeing before, but either way I can't find anywhere which actually shows the temperature value in the app. Why is this relevant - suggests perhaps iAqualink may have made some recent changes to the temperature functionality.

These are the relevant errors in the logs:

Logger: homeassistant
Source: components/sensor/__init__.py:670
First occurred: 20:59:12 (1 occurrences)
Last logged: 20:59:12

Error doing job: Exception in callback <_OneTimeListener homeassistant.helpers.start:<function _async_at_core_state.<locals>._matched_event at 0x7f02b744a160>>(<Event homeassistant_start[L]>)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 663, in state
    numerical_value = int(value)
                      ^^^^^^^^^^
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 666, in state
    numerical_value = float(value)
                      ^^^^^^^^^^^^
ValueError: could not convert string to float: ''

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/core.py", line 1196, in __call__
    self.hass.async_run_job(self.listener, event)
  File "/usr/src/homeassistant/homeassistant/core.py", line 775, in async_run_job
    return self.async_run_hass_job(HassJob(target), *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 727, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/helpers/start.py", line 40, in _matched_event
    hass.async_run_hass_job(at_start_job, hass)
  File "/usr/src/homeassistant/homeassistant/core.py", line 727, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/components/template/template_entity.py", line 486, in _async_template_startup
    result_info.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 1076, in async_refresh
    self._refresh(None)
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 1262, in _refresh
    self.hass.async_run_hass_job(self._job, event, updates)
  File "/usr/src/homeassistant/homeassistant/core.py", line 727, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/components/template/template_entity.py", line 434, in _handle_results
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 992, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1113, in _async_write_ha_state
    state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1050, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 998, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 670, in state
    raise ValueError(
ValueError: Sensor sensor.pool_temperature_robot_cleaner has device class 'temperature', state class 'measurement' unit '°C' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: '' (<class 'str'>)
Logger: homeassistant.helpers.template
Source: helpers/template.py:2377
First occurred: 20:59:12 (2 occurrences)
Last logged: 20:59:12

Template variable warning: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'temperature' when rendering '{{ states.sensor.iaqualinkrobots_viron_qt1050_pool_cleaner_robot.attributes.temperature }}'

Crash at init and at Vacuum.start service call:

Hi,

Just adding in case you never seen it

On latest HA, latest iAqualink :

  • At init:

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:241
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: July 4, 2024 at 11:59:12 PM (2 occurrences)
Last logged: July 4, 2024 at 11:59:55 PM

[281472418726384] Unexpected exception
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 241, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2731, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2774, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 999, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1071, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/config/custom_components/iaqualinkRobots/vacuum.py", line 186, in async_start
data = await self.setCleanerState(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/iaqualinkRobots/vacuum.py", line 393, in setCleanerState
return message.json()
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/http_websocket.py", line 121, in json
return loads(self.data)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/json/init.py", line 339, in loads
raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not int

  • at start call:
  • Logger: homeassistant.core
    Source: core.py:2751
    First occurred: July 4, 2024 at 11:58:10 PM (1 occurrences)
    Last logged: July 4, 2024 at 11:58:10 PM

Error executing service: <ServiceCall vacuum.start (c:01J1ZVG67CYWGD2YNJ2N6RK6KY): entity_id=['vacuum.peyrebelle_pool_robot']>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/core.py", line 2751, in _run_service_call_catch_exceptions
await coro_or_task
File "/usr/src/homeassistant/homeassistant/core.py", line 2774, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 999, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1071, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/config/custom_components/iaqualinkRobots/vacuum.py", line 186, in async_start
data = await self.setCleanerState(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/iaqualinkRobots/vacuum.py", line 393, in setCleanerState
return message.json()
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/http_websocket.py", line 121, in json
return loads(self.data)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/json/init.py", line 339, in loads
raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not int

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.