-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[boschshc] Add support for water detector #16593
Comments
Hi @name-lake, thank you for your enhancement request. We are happy to extend the binding to support water detectors 👍 Please note that in order to test the code, we need the actual hardware devices to confirm that everything is working. I don't have any water detector myself. Before we can start developing the binding code, we need someone who can test it with the real hardware. Do you have a water detector, @GerdZanker or @mike-bike? If not, would you be willing to perform the tests with your hardware @name-lake? This would involve stuff like
As soon as we found someone who has a water detector and is willing to test, we can theoretically start 😎 Please also note that there are other enhancement requests for the |
Like I said, I have water detectors. However, I have to say that I have never done this before (updating and testing a single binding). So yes, I'm ready. |
Sorry, I have no water detector - I'm still using my several years old roller shutter, (floor heating) thermostats, twin guards and window contacts. |
I have a first implementation ready for the water detector 😎 Before we start testing, I need some additional infos @name-lake:
Thank you 🙂 |
As requsted I installed the version 4.2.0.M2. It works.
...
deviceID: hdm:ZigBee:c...
type: WLS -> !UNSUPPORTED!
service: CommunicationQuality -> communicationquality
service: BatteryLevel -> batterylevel
service: WaterLeakageSensorTilt -> !UNSUPPORTED!
service: WaterLeakageSensorCheck -> !UNSUPPORTED!
service: WaterLeakageSensor -> !UNSUPPORTED!
deviceID: hdm:ZigBee:5...
type: WLS -> !UNSUPPORTED!
service: CommunicationQuality -> communicationquality
service: BatteryLevel -> batterylevel
service: WaterLeakageSensorTilt -> !UNSUPPORTED!
service: WaterLeakageSensorCheck -> !UNSUPPORTED!
service: WaterLeakageSensor -> !UNSUPPORTED!
|
Thanks @name-lake 👍 I implemented all services except Here are step by step instructions how you can test:
Then you can report back here what worked and what did not work. We might go through a few development iterations. When we are done, these are the final steps:
|
Thanks for the implementation, I really appreciate it. 👍
Bosch SHC Binding
SymbolicName org.openhab.binding.boschshc
Version 4.2.0.202404120439
...
- WLS = boschshc:water-detector
deviceID: hdm:ZigBee:c...
type: WLS -> water-detector
service: CommunicationQuality -> communicationquality
service: BatteryLevel -> batterylevel
service: WaterLeakageSensorTilt -> !UNSUPPORTED!
service: WaterLeakageSensorCheck -> !UNSUPPORTED!
service: WaterLeakageSensor -> !UNSUPPORTED!
deviceID: hdm:ZigBee:5...
type: WLS -> water-detector
service: CommunicationQuality -> communicationquality
service: BatteryLevel -> batterylevel
service: WaterLeakageSensorTilt -> !UNSUPPORTED!
service: WaterLeakageSensorCheck -> !UNSUPPORTED!
service: WaterLeakageSensor -> !UNSUPPORTED!
Channel UID
boschshc:water-detector:BC1:hdm_ZigBee_5...:water-leakage
Label Water Leakage
Description Indicates whether a water leakage was detected.
Channel UID
boschshc:water-detector:BC1:hdm_ZigBee_5...:push-notifications
Label Push Notification
Description Indicates whether push notifications are enabled.
Channel UID
boschshc:water-detector:BC1:hdm_ZigBee_5...:acoustic-signals
Label Acoustic Signal
Description Indicates whether acoustic signals are enabled.
UID: boschshc:water-detector:BC1:hdm_ZigBee_5...
label: Bosch_Wassermelder_1
thingTypeUID: boschshc:water-detector
configuration:
id: hdm:ZigBee:5...
bridgeUID: boschshc:shc:BC1
channels:
- id: water-leakage
channelTypeUID: boschshc:water-leakage
label: Water Leakage
description: Indicates whether a water leakage was detected.
configuration: {}
- id: push-notifications
channelTypeUID: boschshc:push-notifications
label: Push Notification
description: Indicates whether push notifications are enabled.
configuration: {}
- id: acoustic-signals
channelTypeUID: boschshc:acoustic-signals
label: Acoustic Signal
description: Indicates whether acoustic signals are enabled.
configuration: {}
service: CommunicationQuality -> communicationquality
service: BatteryLevel -> batterylevel
service: WaterLeakageSensorTilt -> !UNSUPPORTED!
service: WaterLeakageSensorCheck -> !UNSUPPORTED!
are missing.
The switcheses
The service
|
Thank you for your detailed test report 👍 Apparently there is a typo in my implementation, the internal type name in the requests/responses should be Also thank you for the explanations regarding in which specific cases the push notifications and the acoustic signals are activated. I will enhance the channel names and the descriptions accordingly. And one last question: do you think it makes sense to put efforts into supporting the |
Hi @name-lake, I just uploaded a new JAR (just use the same link as before). Please unlink and/or delete your items and delete the water detector things before updating the JAR, then re-create the things and then re-link the items or create new items. Changes:
Please let me know if the channels work as expected and if you are fine with the names and descriptions. |
Hello @david-pace, These are the test results at 18.04.2024.
The battery-levels channel shows the correct value (100%) for the sensor/battery is new. 👍 The low-battery channel does not report an alarm, this is OK. 👍 The water leakage channel still works properly. 👍 The signal-strength works also OK. 👍 Both switches However, it seems, the channel for sensor tilt state (WaterLeakageSensorTiltState?) is missing.
I think the line 11:00:41.010 shows the tilt state after sensor moving (some sort of active?),
Free translation: Support of that channel? - a question of the effort, in my opinion it makes sense. |
Hi @name-lake, I just uploaded a new JAR (at the same location as before). Please unlink or delete your items and delete the thing before testing again. Changes:
Currently it looks like I cannot provide a channel like
From this information we cannot conclude whether only the notification settings changed or whether the sensor was actually moved. Unfortunately, there is no API documentation about the sensor check service, so you have to help me by sending me the log messages about the events that are sent and received when starting the check from the Bosch App. The only thing I could find out is that there is a With the current JAR you can theoretically also set the It would be great if you could provide log entries about what happens if you initiate such a check in the Bosch app 👍 |
Hello @david-pace,
Some examples for
The next However there are more message codes than Message for water alarm comming:
Message for water alarm going:
Intrusion alarm coming
Intrusion alarm going
So I identified some message codes: Maybe we need an "event" channel so we could trigger on the event (for example on
I could not change the sensor check item on the page, so I tried by using a rule. I was able to change the item but the item change did not trigger the sensor check.
|
Hi @name-lake, I just uploaded a new JAR 😎 Please delete the water detector thing, re-download, update, and then re-create your water detector thing. Changes:
Please let me know whether the new channel works and if the system is stable. I assume you have some other Bosch things configured on your system? It would be good if you could quickly check whether they still get updates, too. Thanks for your support testing the new binding code 👍 |
Hello @david-pace,
However, there is a small issue. Once the channel has the value |
Thanks for the report @name-lake 👍 @jlaur what do you think - should we leave it as is, meaning that it is up to the user to reset the item whenever it is appropriate, for example by means of rules, or should we send a command to the I would argue that the channel should only receive an |
Why din’t you use a trigger channel instead of a switch channel for the detector? A trigger channel has no state, only sends a signal that can be interpreted by rules. Or an item can be attached using a profile. But had it has no state, it is often more useful to react in rules, e.g. send a push message when leakage detected. With a trigger channel you don’t have to worry about resetting state. |
Thanks for the hint, I was not aware of these kind of channels. I will enhance the code as soon as possible 👍 |
Hi @name-lake, I uploaded a new JAR 👍 Please delete the thing again before testing the new version. I turned the Do you agree that we should leave the |
Hello @david-pace,
|
Thank you all for the great teamwork in the scope of this enhancement ❤️ @name-lake @jlaur @mherwege @GerdZanker |
Since I'm afraid of water and moisture in the basement, I use Bosch water detectors. They work pretty well. However, I couldn't connect them to my openHAB because they are missing from the boschshc binding.
I use openHAB version 4.1.2 (Build) and Bosch Smart Home Controller II.
I would be very happy about an extension of the boschshc binding to use the water detector.
The text was updated successfully, but these errors were encountered: