openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.88k stars 3.59k forks source link

Velux Binding: Strict validation of serial numbers now requires fake serials for non-Velux devices #12601

Closed Oggerschummer closed 2 years ago

Oggerschummer commented 2 years ago

OH3.3 M3 introduced a strict validation of configuration parameters, resulting in the requirement that device serials need to fit into a pattern like e.g. 11:22:33:44:55:66:77:88. Unfortunately non-Velux devices like Somfy awnings do not report a serial number, so the implemented workaround is to use the name given to the device within the KLF UI as a serial in openHAB. This no longer works (e.g. "Terrace awning") won't be valid anymore. The documentation needs to reflect this, a proper workaround now is to set a device name ("fake serial") in the KLF UI that fits the pattern required in openHAB.

openhab-bot commented 2 years ago

This issue has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/velux-new-openhab2-binding-feedback-welcome/32926/1346

andrewfg commented 2 years ago

@Oggerschummer many thanks for reporting this. Actually I am not sure if we should change the documentation, or if we should change (relax) the Thing configuration checking code. Maybe we could check if the Thing is either a Velux device (use the validation), or not (skip the validation).

andrewfg commented 2 years ago

^ I just checked the ReadMe, quoted below..

Somfy devices do not provide a valid serial number to the Velux KLF200 gateway. In this case you should enter the default serial number 00:00:00:00:00:00:00:00, and in addition enter the name parameter; this is the name that you gave to the actuator when you first registered it in the KLF200 Bridge.

So, did you try entering '00:00:00:00:00:00:00:00' in the serial config param (thus satisfying the validation)? And then also entering the device name in the hub in the (normally optional but in your case not) name config param?

openhab-bot commented 2 years ago

This issue has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/velux-new-openhab2-binding-feedback-welcome/32926/1347

Oggerschummer commented 2 years ago

Me bad. That's what validation is supposed to prevent.... When setting up things initially some months ago (without validation on 3.0) I did put the name into serial number and name field. Am I right that the is the S/N is not unique, 00:...:00 or not found by the binding, as a fallback, it tries to match the value of the name fields to identify the device? Then the behaviour is clear and validation makes sense. It worked up to 3.2 and would still work without validation in place. Anyhow, I bow my head for being stupid and close this topic. It is working fine.

andrewfg commented 2 years ago

@Oggerschummer

Yes indeed, the all-zero serial number '00:...:00' is a special marker. If you put that value in the serial parameter, the validation checks will pass, but it also makes the binding use the name parameter value instead of the serial parameter value when it talks to the KLF hub.

Notwithstanding your closing this issue, I will push a change request to the ReadMe documentation, in order to make the above point clearer.