* Extract getHost() and getUDN() to common handler base class.
* Delete AbstractWemoHandler as it serves no purpose.
* Extract isUpnpDeviceRegistered() to base class.
* Fix typo.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Extract dynamic channel creation to separate classes.
* Avoid double list allocations.
* Add test coverage for scenarios with no channels built.
* Extract common builder stuff to super class.
* Fix grammar.
* Reduce constructor access modifiers.
* Removed unneeded this keyword for protected method.
* Fix null annotation issues.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add support for calibrating a shade.
Fixes#11767
* Fix startup problems by decoupling capabilities cache from updateSoftProperties.
* Minor refactoring of capabilities and shade id handling.
* Dispose faster/safer by killing any remaining tasks.
* Set shade thing status to UNKNOWN until we receive any data for shade.
* Fix position update glitch after setting position.
* Remove unneeded catch after shade id refactoring.
* Document return values in Javadoc.
* Avoid logging InterruptedException during dispose.
* Add calibration example item.
* Reduce nesting.
* Add myself as reviewer for binding.
* Add Andrew Fiddian-Green as reviewer for binding.
* Handle JsonParseException.
* Fix alphabetic order.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix SAT warnings about missing @NonNullByDefault.
* Move part of firmware JSON response validation to HDPowerViewWebTargets.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add support for enabling/disabling automations.
Fixes#11516
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix class description.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Document automation channel and channel groups.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update scene example in documentation.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Consolidate method for getting channel map.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Extract channel updating from data fetching methods.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Draft implementation of better automation description.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Simplify and optimize building weekday string.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Further simplify building weekday string.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update scheduled event channels when modified.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update scene channels when modified.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update scene group channels when modified.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix cache synchronization during initialization.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Reduced code duplication.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Shorten time formatting.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Danish translations for dynamic channels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Simplify, optimize and fix dynamic channel creation.
Channel order is now preserved when updating an existing channel.
Scenes and scene collection are sorted correctly.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Provide backwards compatibility for deprecated channels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Document purpose of createDeprecatedSceneChannels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Cleaned up poll method for improved readability.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix potential race condition when initialize() is called while updating channels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix reconnect after first connection to TV is lost.
Fixes#7055
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Reduced log level to TRACE for logging of entered methods several times per second.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add support for scene collections.
Fixes#11533
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add unit test for parsing of scene collections response.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add default i18n properties file.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix CAT: File does not end with a newline.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update documentation with scene collections.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix CAT: File does not end with a newline.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix formatting.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix CAT: File does not end with a newline.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Split offline tests into separate distinct tests.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Increase test coverage for scene/scene collection parsing.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Internationalization of dynamic scene/scene collection channels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Rename scene collections to scene groups.
Renamed for all user-oriented texts/references to be consistent with now abandoned feature of the PowerView app.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Change custom text keys to not collide with framework.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Avoid multiple thing updates.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add missing label/description texts for secondary channel.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Remove unneeded @Nullable annotations.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Use appliance cache for getting full UID with protocol prefix instead of relying on property.
* Set bare protocol name as property.
* Fix potential null pointer access warnings.
* Remove unused import.
* Renamed property protocol to protocolAdapter for correctness.
* Add connectionType property.
* Add appliance model property.
* Remove useless properties brandId and companyId always having value MI.
* Rename property dc to deviceClass and set it consistently (not only from auto-discovered things).
* Added constants for remaining handlers with hardcoded device classes.
* Fix SCA: AuthorContributionDescriptionCheck
* Fix SCA: ModifierOrderCheck
* Rename ExtendedDeviceStateUtil to be a bit more generic.
* Extract device class string parsing to utility method.
* Fix SCA: ForbiddenPackageUsageCheck
* Fix redundant null check.
* Fix potential null pointer access warnings.
* Fix unsafe null type conversion (type annotations)
* Share same configuration (UID) for all appliance types.
* Refer to gateway instead of ZigBee network in configuration.
* Remove dependency to seriaNumber property for multicast channel updates.
* Simplified filtering of irrelevant device class.
* Remove devices from remoteUid cache also when disappearing from gateway, although this is a quite rare scenario.
* Add default i18n properties file.
* Add partial Danish translation.
Fixes#11422
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add filter period channel.
Fixes#11310
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Round remaining filter life percentage to one decimal.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Improve and extend example configuration.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Mark filter period channel as advanced due to Link CC/Air Dial conflicts.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add comment about value getting overwritten.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Remove redundant parentheses.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix SCA report: First javadoc author should have 'Initial contribution' contribution description.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix SCA issue: NoEmptyLineSeparatorCheck
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add raw channels for state, program and phase.
* Provide program/phase texts when missing from XGW 3000 and for multicast.
* Consistent handling of missing program/phase text across all appliance types.
* Fix tumble dryer example configuration.
* Changed tumble dryer Finished phase text for consistency.
Fixes#11335
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Improvements for temperature channels
Fixes#11317
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Added jlaur as miele binding maintainer
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix spinning speed for washing machines
Fixes#11317
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Added time as category for DateTime-related channels
Fixes#11317
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Elapsed/remaining time channels are no longer marked as advanced.
Fixes#11317
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fixed type for temperature item examples.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Document all states (cross-appliance).
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Improved error handling for getTemperatureState
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Split current/target temperature into two channel types for label reuse
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix possible NullPointerException
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Distinguish between oven program temperatures
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Mark oven program temperature 1 and 2 as advanced.
Fixes#11317
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix typos.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Do not expose getTypeClass through interface.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix channel supercool for fridges and partially fix supercool/superfreeze for fridge-freezers.
Fixes#11320
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix two-way channel synchronization for supercool/superfreeze for fridge-freezer.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix Potential null pointer accesses
* Added constants for TCP port and poll interval in seconds.
* Extract interface from DanfossAirUnitCommunicationController.
* Remove unused constants which seems to be left-overs from skeleton.
* Added constant for discovery timeout value for readability.
* Created handler subfolder for DanfossAirUnitHandler (like discovery) for consistency with other bindings.
* Handle lost connection gracefully without updating all channels to zero.
* Fix infinitly blocking network calls preventing proper error handling.
* Fix thing status being reset to ONLINE after failing to update all channels.
* Fix error handling when receiving invalid manual fan step.
Fixes#11167Fixes#11188
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix multicast and multi-protocol support (ZigBee/Wi-Fi)
* Fix channel description referring to hood but also used for oven and other appliances.
* Fix auto-discovery finding already configured things through files.
Fixes#11242Fixes#11243
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add Hub configuration option hardRefreshBatteryLevel for refreshing battery status more frequently.
* Explicitly update battery channels to Undefined when data is missing or invalid.
Fixes#11259
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Change Humidity channel from Number to Number:Dimensionless
* Fix documentation for temperature channels.
Fixes#9755
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Use system default channel type for battery level.
* Add channel categories where applicable
* Add missing channel descriptions (and fix two existing)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>