[rfxcom] Add support for additional blinds (#10877)

Based on the RFXtrx SDK, new blind types. They mostly seem to match existing logic,
so this shouldn't break existing things.

Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
This commit is contained in:
James Hewitt 2021-06-19 07:51:22 +01:00 committed by GitHub
parent ca1de9dc4d
commit 60c199c9c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 40 additions and 12 deletions

View File

@ -265,7 +265,7 @@ A BBQ Temperature device
### blinds1 - RFXCOM Blinds1 Actuator
A Blinds1 device
A Blinds1 device. Not all blinds support all commands.
#### Channels
@ -291,11 +291,22 @@ A Blinds1 device
* T2 - A-OK RF01
* T3 - A-OK AC114/AC123
* T4 - Raex YR1326
* T5 - Media Mount
* T6 - DC106/Rohrmotor24-RMF/Yooda
* T5 - Media Mount (warning - directions reversed)
* T6 - DC106/Rohrmotor24-RMF/Yooda/Dooya/ESMO/Brel/Quitidom
* T7 - Forest
* T8 - Chamberlain CS4330CN
* T9 - Sunpery/BTX
* T10 - Dolat DLM-1, Topstar
* T11 - ASP
* T12 - Confexx CNF24-2435
* T13 - Screenline
* T14 - Hualite
* T15 - Motostar
* T16 - Zemismart
* T17 - Gaposa
* T18 - Cherubini
* T19 - Louvolite One Touch Vogue motor
* T20 - OZRoll
### chime - RFXCOM Chime

View File

@ -36,20 +36,26 @@ public class RFXComBlinds1Message extends RFXComBatteryDeviceMessage<RFXComBlind
public enum SubType implements ByteEnumWrapper {
T0(0), // Hasta new/RollerTrol
T1(1),
T2(2),
T3(3),
T4(4), // Additional commands.
T1(1), // Hasta Old
T2(2), // A-OK RF01
T3(3), // A-OK AC114/AC123/Motorlux
T4(4), // Raex YR1326
T5(5), // MEDIA MOUNT have different direction commands than the rest!! Needs to be fixed.
T6(6),
T7(7),
T6(6), // DC106/Rohrmotor24-RMF/Yooda/Dooya/ESMO/Brel/Quitidom
T7(7), // Forest
T8(8), // Chamberlain CS4330
T9(9), // Sunpery/BTX
T10(10), // Dolat DLM-1, Topstar
T11(11), // ASP
T12(12), // Confexx CNF24-2435
T13(13), // Screenline
T18(18); // Cherubini
T14(14), // Hualite
T15(15), // Motostar
T16(16), // Zemismart
T17(17), // Gaposa
T18(18), // Cherubini
T19(19), // Louvolite One Touch Vogue motor
T20(20); // OZRoll
private final int subType;
@ -118,7 +124,7 @@ public class RFXComBlinds1Message extends RFXComBatteryDeviceMessage<RFXComBlind
subType = fromByte(SubType.class, super.subType);
if (subType == SubType.T6) {
if (subType == SubType.T6 || subType == SubType.T7 || subType == SubType.T9) {
sensorId = (data[4] & 0xFF) << 20 | (data[5] & 0xFF) << 12 | (data[6] & 0xFF) << 4 | (data[7] & 0xF0) >> 4;
unitCode = (byte) (data[7] & 0x0F);
} else {

View File

@ -38,10 +38,21 @@
<option value="T3">A-OK AC114/AC123</option>
<option value="T4">Raex YR1326</option>
<option value="T5">Media Mount</option>
<option value="T6">DC106/Rohrmotor24-RMF/Yooda</option>
<option value="T6">DC106/Rohrmotor24-RMF/Yooda/Dooya/ESMO/Brel/Quitidom</option>
<option value="T7">Forest</option>
<option value="T8">Chamberlain CS4330CN</option>
<option value="T9">Sunpery/BTX</option>
<option value="T10">Dolat DLM-1, Topstar</option>
<option value="T11">ASP</option>
<option value="T12">Confexx CNF24-2435</option>
<option value="T13">Screenline</option>
<option value="T14">Hualite</option>
<option value="T15">Motostar</option>
<option value="T16">Zemismart</option>
<option value="T17">Gaposa</option>
<option value="T18">Cherubini</option>
<option value="T19">Louvolite One Touch Vogue motor</option>
<option value="T20">OZRoll</option>
</options>
</parameter>
</config-description>