Commit Graph
9 Commits
Author SHA1 Message Date
David PaceandGitHub cc626de89a Support for Thermostat SilentMode (#14779) (#14781)
- Add new channel definition for silent mode
- Implement silent mode service
- Add unit tests
- Add documentation
- Fix some minor documentation issues

Closes #14779

Signed-off-by: David Pace <dev@davidpace.de>
2023-04-11 22:09:56 +02:00
David PaceandGitHub 1a7a1251d4 [boschshc] Enhance device associations in discovery (#14672) (#14752)
- fix door/window contact device model (SWD instead of WRC2)
- fix in-wall light switch device model (BSM instead of PSM)
- fix thing type of BWTH (should be a wall thermostat, not a thermostat)
- add association for PSM (smart plug)
- add association for LEDVANCE_LIGHT (smart light bulb)
- add association for TRV (thermostat)

Closes #14672

Signed-off-by: David Pace <dev@davidpace.de>
2023-04-11 20:54:12 +02:00
David PaceandGitHub ed20ebb41b [boschshc] Code Enhancements (#14667)
* [boschshc] Code Enhancements

This commit fixes several compiler warnings as well as several
Checkstyle, FindBugs, PMD and Sonar issues.

* instantiate loggers consistently
* add missing logger calls
* add chained exceptions to logger calls
* provide central Gson instance that does not serialize or deserialize
loggers
* avoid catching NullPointerExceptions
* extract methods where cyclomatic complexity was too high
* remove unnecessary null check in combination with instanceof
* rename local variables that shadow fields
* add missing @NonNull and @Nullable annotations

Signed-off-by: David Pace <dev@davidpace.de>
2023-03-30 18:31:54 +02:00
David PaceandGitHub 8306210a13 [boschshc] Add unit tests (#14426)
Signed-off-by: David Pace <dev@davidpace.de>
2023-02-20 08:56:29 +01:00
David PaceandGitHub 1251873843 [boschshc] Support smart light bulbs (#13725)
* [boschshc] Support smart light bulbs (#13707)

* add thing type definition for smart bulbs using system channels
* add constants for thing type and channels
* implement and register handler
* implement binary switch service (to switch on/off)
* implement multi-level switch service (allows to get/set brightness
from 0-100%)
* implement service to get and set colors
* add unit tests for handler and state classes
- update documentation

Signed-off-by: David Pace <dev@davidpace.de>
2022-11-20 22:12:49 +01:00
David PaceandGitHub 49fa349590 [boschshc] Support obtaining battery states (#13461) (#13631)
This change adds support for obtaining the battery state for the
following devices:

* Motion Detector
* Thermostat
* Twinguard
* Wall Thermostat
* Window/Door Contact

The following changes were made:

* Add system.battery-level and system.low-battery channels to Motion
Detector, Thermostat, Twinguard, Wall Thermostat and Window/Door Contact
* Add constant for battery-level and low-battery channels in
BoschSHCBindingConstants
* Implement abstract handler and service for battery-powered devices
* Let appropriate devices inherit the abstract implementation
* Add missing super calls in initializeServices() methods
* Rename existing getServiceURL() to getServiceStateURL() in HTTP client
* Add methods to retrieve service states without the suffix "/state" in
the URL
* Rename DeviceStatusUpdate to DeviceServiceData
* Let DeviceServiceData extend BoschSHCServiceState
* Extend DeviceServiceData DTO with model for faults
* Enhance bridge handler: handle updates without state sub-objects,
extract methods to enhance readability
* Add unit tests for all affected devices
* Minor code enhancements
* Update documentation

Signed-off-by: David Pace <dev@davidpace.de>
2022-11-11 08:23:48 +01:00
David PaceandGitHub 71da06dac7 [boschshc] Support for Compact Smart Plugs (#13528) (#13533)
* add thing definition with ID "smart-plug-compact"
* add constant for thing type UID
* extract abstract implementation for devices with power switch and
energy monitoring
* let in-wall switch handler and smart plug handler extend the abstract
implementation
* register new handler
* add method with boolean parameter to fetch initial state actively
* make BoschSHCDeviceHandler abstract
* add documentation
* add unit tests

closes #13528

Signed-off-by: David Pace <dev@davidpace.de>
2022-10-31 17:21:25 +01:00
David PaceandGitHub c16e9df7a0 [boschshc] Support for Bosch Intrusion Detection System (#12700) (#12758)
* [boschshc] Support for Bosch Intrusion Detection System (#12700)

* Add thing and channel definitions for intrusion detection system
* Extract handler abstraction for devices with non-configurable device
IDs
* Extract service abstractions for write-only services (i.e. services
that can not receive states from the bridge)
* Add handler, services and DTO implementations for the intrusion
detection system
* Add detailed Javadocs
* Generalize mechanism to actively fetch initial states for certain
services
* Add unit tests
* Add documentation

closes #12700

* [boschshc] Documentation and formatting enhancements

Signed-off-by: David Pace <dev@davidpace.de>
2022-05-22 21:45:55 +02:00
DaveandGitHub 8460054c9d [boschshc] Support Bosch Smart Home Cameras (#12666) (#12680)
* [boschshc] Support Bosch Smart Home Cameras (#12666)

- add thing definitions for indoor security camera 360 and outdoor
security camera Eyes
- implement services for privacy mode and camera notifications
- implement camera handler
- add unit tests
- update documentation

* [boschshc] Enhance logging and comments (#12666)

* only log on debug level when initial state can not be retrieved
* do not log stack traces
* minor Javadoc fixes

closes #12666

Signed-off-by: David Pace <dev@davidpace.de>
2022-05-06 23:13:04 +02:00