This is an integration for ATEN PE Rack PDUs. It uses SNMPv3 to control the units.
mtdcr / homeassistant-aten-pe Goto Github PK
View Code? Open in Web Editor NEWHome Assistant integration for ATEN Rack PDUs
License: Apache License 2.0
Home Assistant integration for ATEN Rack PDUs
License: Apache License 2.0
Hello!
I think my PDU (PE6108G with firmware 2.4.232
) does not support some of the reports that this integration expects. It makes the integration crash when trying to poll the power related values: indeed, this model does not have per-plug values, only PDU global measurements. It does have however individual plug switch (which seems to works correctly, at least in appearance). I do not currently have the time to fix it, but will probably in a few weeks.
I should probably be able to send some sorts of dumps or anything else required if needed!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 663, in state
numerical_value = float(value) # type:ignore[arg-type]
^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyasn1/type/univ.py", line 1044, in __float__
return float(self._value)
^^^^^^^^^^^^^^^^^^
ValueError: could not convert string to float: b'not-support'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1525, in _async_process_registry_update_or_remove
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1000, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1126, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1061, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1006, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 665, in state
raise ValueError(
ValueError: Sensor sensor.switch_current has device class 'current', state class 'measurement' unit 'A' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: 'not-support' (<class 'DisplayString'>)
I own multiple PDUs
Currently the naming schema for entities is something like this:
switch.outlet_1
If i add a second or more pdus entities for same outlet (it's the same for other readings available from pdus) are named
switch.outlet_1-2
switch.outlet_1-3
and so on..
It's very very confusing
Tried this via HACs and got the same issue
home-assistant/core#85471
homeassistant-0 homeassistant 2023-01-08 21:02:42.201 ERROR (MainThread) [aiohttp.server] Error handling request
homeassistant-0 homeassistant Traceback (most recent call last):
homeassistant-0 homeassistant File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
homeassistant-0 homeassistant resp = await request_handler(request)
homeassistant-0 homeassistant File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
homeassistant-0 homeassistant resp = await handler(request)
homeassistant-0 homeassistant File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
homeassistant-0 homeassistant return await handler(request)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
homeassistant-0 homeassistant return await handler(request)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 227, in forwarded_middleware
homeassistant-0 homeassistant return await handler(request)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
homeassistant-0 homeassistant return await handler(request)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 81, in ban_middleware
homeassistant-0 homeassistant return await handler(request)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
homeassistant-0 homeassistant return await handler(request)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 136, in handle
homeassistant-0 homeassistant result = await result
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
homeassistant-0 homeassistant return await super().post(request, flow_id)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 73, in wrapper
homeassistant-0 homeassistant result = await method(view, request, data, *args, **kwargs)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
homeassistant-0 homeassistant result = await self._flow_mgr.async_configure(flow_id, data)
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 286, in async_configure
homeassistant-0 homeassistant result = await self._async_handle_step(
homeassistant-0 homeassistant File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 374, in _async_handle_step
homeassistant-0 homeassistant result: FlowResult = await getattr(flow, method)(user_input)
homeassistant-0 homeassistant File "/config/custom_components/aten_pe/config_flow.py", line 60, in async_step_user
homeassistant-0 homeassistant if await self._test_connection(host, port, user_input):
homeassistant-0 homeassistant File "/config/custom_components/aten_pe/config_flow.py", line 45, in _test_connection
homeassistant-0 homeassistant await dev.deviceMAC()
homeassistant-0 homeassistant File "/config/deps/lib/python3.10/site-packages/atenpdu/__init__.py", line 168, in deviceMAC
homeassistant-0 homeassistant return str(await self.getAttribute("deviceMAC"))
homeassistant-0 homeassistant File "/config/deps/lib/python3.10/site-packages/atenpdu/__init__.py", line 161, in getAttribute
homeassistant-0 homeassistant varbind_table = await self._get([(name, index)])
homeassistant-0 homeassistant File "/config/deps/lib/python3.10/site-packages/atenpdu/__init__.py", line 128, in _get
homeassistant-0 homeassistant err_indication, err_status, _, varbind_table = await getCmd(
homeassistant-0 homeassistant RuntimeError: await wasn't used with future
Hi your Aten integration fails to install on lastest home assistant, could you take a look at it,
many thanks
Logger: homeassistant.util.package
Source: util/package.py:122
First occurred: 12:18:41 (3 occurrences)
Last logged: 12:18:45
Unable to install package atenpdu==0.6.1: ERROR: Cannot install atenpdu==0.6.1 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.