Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

position_state_address fails with old KNX devices #105

Closed
MrChrisCool opened this issue Jan 28, 2018 · 6 comments
Closed

position_state_address fails with old KNX devices #105

MrChrisCool opened this issue Jan 28, 2018 · 6 comments

Comments

@MrChrisCool
Copy link

Hi !

My Knx cover device is Hager TS225 with application program TK338

I have the following error in home-assistant.log

2018-01-28 18:06:47 ERROR (MainThread) [xknx.log] Exception while processing telegram:
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.5/site-packages/xknx/core/telegram_queue.py", line 99, in process_telegram
yield from self.process_telegram_incoming(telegram)
File "/srv/homeassistant/lib/python3.5/site-packages/xknx/core/telegram_queue.py", line 130, in process_telegram_incoming
yield from device.process(telegram)
File "/srv/homeassistant/lib/python3.5/site-packages/xknx/devices/cover.py", line 229, in process
position_processed = yield from self.position.process(telegram)
File "/srv/homeassistant/lib/python3.5/site-packages/xknx/devices/remote_value.py", line 76, in process
raise CouldNotParseTelegram()
xknx.exceptions.exception.CouldNotParseTelegram:

It's because position_state_address in xknx is of type 5.001 and my old knx device send its position state with type 1.001 (open or close...)

The question is :
Is it possible to modify position_state_address to handle type 1.001 and 5.001 ?
for example 00(1.001) -> 0%(5.001) and 01(1.001) -> 100%(5.001)

Many thanks !
Chris

@MrChrisCool
Copy link
Author

Hmm... I just see that Issue #68 should resolve this one...

@jncanches
Copy link

Is there any news forthis issue ?
I am in the same case with a cover state type in 1.001

Many thanks !

JN

@Julius2342
Copy link
Collaborator

Not really, Im not happy with #107 . We should solve this the right way and introduce the correct DPT abstraction to handle these devices.

@Julius2342
Copy link
Collaborator

@jncanches : may you jump in and implement it? :-)

@MrChrisCool
Copy link
Author

Hi jncanches, No news for this issues, but you can use the hack #107 to solve your problem, it will not break your covers as a 1.00x can always be converted to a 5.00x value.

But Julius2342 is right, we must provide a correct implement.

Further more, this old devices that sending position in 1.00x type introduce the state unknown the type 5.00x should not have.
for exemple 01(1.00x) is closed and 00(1.00x) is open/unknown that mean only one position is sure...
that mean changing the code that calculate the position.

Something great would be in the config file the possibility to do :

  • platform: xknx
    name: MainOffice Cover
    move_long_address: 1/3/81, 1.001
    move_short_address: 1/3/85,
    position_state_address: 1/3/91, 5.001

property: addressValue, typeValue

if typeValue is not present use a default value.

The long way...

@farmio
Copy link
Member

farmio commented Aug 18, 2020

There is no binary_position_state_address, but telegrams to move_long_address are now (0.12.0) processed by xknx, so it should be in sync (if the actuators and xknx movement times match).

@farmio farmio closed this as completed Aug 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants