Commit Graph
10 Commits
Author SHA1 Message Date
maniac103andGitHub 86e3b65816 [homematic] Fix min/max values for rollershutters (#13821)
* [homematic] Fix min/max values for rollershutters

For dimmers, the 1.0 max value sent by CCU was already converted to
percent values in the item state description. Do the same thing also for
roller shutters.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2022-12-03 13:29:52 +01:00
maniac103andGitHub 28ce7ebaed [homematic] Validate datapoint values before writing to config (#12557)
* [homematic] Validate datapoint values before writing to config

HM config datapoint values on some devices can be out of their valid
range in some cases, particularly if they are unused by the device
currently [1]. Since openhab-core now validates attempts to update
configuration by the thing handlers, make sure we always send a valid
configuration even for those affected datapoints.

[1] One example for such behaviour is HmIPW-DRBL4, which has multiple
    datapoints which depend on each other
    - POWERUP_JUMPTARGET can have values OFF, ON, OFF_DELAY, ON_DELAY
    - POWERUP_ONDELAY_VALUE, POWERUP_ONDELAY_UNIT are only used if
      POWERUP_JUMPTARGET has value ON_DELAY
    - likewise, POWERUP_OFFDELAY_VALUE and POWERUP_OFFDELAY_UNIT are
      only used if POWERUP_JUMPTARGET has value OFF_DELAY
    - if e.g. the POWERUP_JUMPTARGET is OFF, e.g. POWERUP_ONDELAY_VALUE
      might stay uninitialized by CCU and/or device itself, in which
      case it may be reported with an invalid value

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2022-04-03 11:39:59 +02:00
maniac103andGitHub f29d86cf4f [homematic] Remove state description step size handling (#12192)
The RPC protocol doesn't provide this value, so it always was made up
more or less arbitrarily. Since the UI now uses this value for
validation purposes, there are cases where valid values can not be
entered due to this step size (particularly for datapoints with more
than 1 decimal digit).

Fixes #12183

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2022-02-06 20:21:59 +01:00
maniac103andGitHub a4c579b753 [homematic] Fix long button press handling for HM-IP devices (#11982)
* [homematic] Fix long button press handling for HM-IP devices

HM devices have the following long press cycle:
PRESS_CONT
PRESS_LONG
PRESS_CONT (N times for repetion)
PRESS_LONG_RELEASE

while (at least some) HM-IP devices use this one:
PRESS_LONG
PRESS_LONG_START
PRESS_LONG (N times for repetition)
PRESS_LONG_RELEASE

Add support for the latter case while keeping support for the former
case.

Signed-off-by: Danny Baumann <dannybaumann@web.de>

* [homematic] Track 'uses LONG_START datapoint' flag per-device
2022-01-13 09:09:19 +01:00
maniac103andGitHub 88975dcd13 [homematic] Remove double press events and improve long press events for button trigger (#11186)
HM devices provide not only 'long press' events, but also 'long
press continued' (sent in configured long press interval) and 'long
press released' events. So far, those events were swallowed in the
button datapoint handler.
Improve the situation by forwarding those events to the button trigger
channel, making them usable in e.g. rules that react on button long
presses.

A double press timeout of 2 seconds is too long and disturbs single
press processing. Additionally, for double press processing to be
useful, the first press would need to be swallowed until double press
timeout elapses, which is not what happened here: the first PRESS was
sent out as SINGLE_PRESS event, making it impossible to meaningfully
distinguish the 'single press' and 'double press' events within rules.

If needed, double press handling can be implemented equally well within
a rule.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2021-09-18 14:32:40 +02:00
maniac103andGitHub 5d7993843a [squeezebox] Cleanup / code simplification (#10941)
* [squeezebox] Reduce boilerplate by using lambda expressions.
* [squeezebox] Make code dealing with key/value responses more readable.
* Fix off-by-one mistake.
* [squeezebox] Simplify CLI response parsing code.
* [squeezebox] Optimize some redundant code.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2021-07-18 19:16:48 +02:00
maniac103andGitHub d8aacd86a0 [homematic] Fix UI enumeration of HM-MOD-EM-8 channels (#10907)
The set of available HM-MOD-EM-8 channels varies depending on the
function a given channel is configured to use, which is why for those
devices we can't determine a static ThingType, but instead must populate
the thing channels on initialization. The existing code already handled
that case, but missed registering channel types for the dynamically
generated channels, which is why those channels were not shown in main
UI.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2021-07-17 23:33:08 +02:00
maniac103andGitHub 89f2da140c [homematic] Update property files (#10942)
* [homematic] Add HM-MOD-EM-8 properties

If a HM-MOD-EM-8 channel is configured to 'sensor' mode, it advertises a
STATE datapoint, which we should both display as non-advanced and give a
description.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2021-07-05 22:40:44 +02:00
maniac103andGitHub ba2a33947d [squeezebox] Map server connection state to thing status. (#10778)
If a player goes offline (it e.g. lost power or network connection),
mark it as such in the thing status.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2021-06-25 13:06:16 +02:00
maniac103andGitHub d87c94d603 [tr064] Normalize numbers in phonebook entries (#9733)
* [tr064] Normalize numbers in phone book entries.

Phone book numbers and numbers to be looked up might be formatted
differently (real world example: '+49 (12345) 67890' vs. '01234567890'
(where the former is phonebook formatting and the latter is the format
transmitted by the avmfritz binding). Make sure such formatting
differences do not cause lookup mismatches.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2021-01-07 17:38:47 +01:00