Uniwersalny inteligentny pilot zdalnego sterowania wentylatorem sufitowym i ściemniaczem światła
Funkcje: 3-Speed Ceiling Fan Remote, Off-timer, Dimming
Zakupiony: amazon.com
![[BK7231N/CB2S] Sterownik wentylatora sufitowego ze ściemniaczem i pilotem RF [BK7231N/CB2S] Sterownik wentylatora sufitowego ze ściemniaczem i pilotem RF](https://obrazki.elektroda.pl/4797170800_1702090627_thumb.jpg)
Szybki start:
- wylutuj moduł, wgraj OBK, wlutuj go na miejsce
- nie trzeba konfigurować GPIO, OpenBeken dba o TuyaTX/RX automatycznie.
- Umieść ' autoexec.bat ' w systemie plików urządzenia i uruchom ponownie.
- Pobierz ' HA MQTT yaml ' na dole tego postu.
Producent: San Sheng (Zhongshan), ale jest markowy [lub niemarkowy] pod różnymi nazwami.
Model: RE-028W
Chipset: CB2S Moduł Firmware: V2.1.6
MCU Firmware: V1.0.0
Zamiennik: ESP8685-WROOM-03-H4
Uwagi: Urządzenie łączy się elektrycznie z obciążeniem i przewodem neutralnym bez uziemienia.
Podstawowi dystrybutorzy:
ParrotUncle (spółka zależna Eileen Grays Network Technology)
Model: GA030
FEKOTS
Model: SS-T28
Potencjalny FCC-ID: 2AX7R-.RE021
O PCB
Urządzenie jest dostarczane z Beken BK7231N na CB2S:
Z przodu chipa tylko pin CEN został przylutowany do płytki.
Z tyłu układu wszystkie piny zostały przylutowane do płytki.
Jednak jedynymi ważnymi pinami wydają się być Tuya_Rx i Tuya_Tx.
ESP8685-WROOM-03 jest bezpośrednim zamiennikiem, tylko z innymi nazwami pinów.
CB2S : CEN || 3v3 | GND | RX1 | TX1 | P24 | P26
ESP-x : _EN || 3V3 | GND | RX_ | TX_ | IO5 | IO4
Tuya Cloud Controls and Device Info:
Przed flashowaniem urządzenia starałem się zebrać jak najwięcej informacji na temat jego funkcjonalności.
Poniżej znajdują się funkcje dostępne w aplikacji Tuya Cloud i informacje o wersji.
W Tuya Dev Project, poniżej znajdują się JSON Tuya i standardowy zestaw instrukcji:
JSON EDITOR
STANDARD INSTRUCTION SET
Informacje o debugowaniu asystenta domowego dla integracji z chmurą Tuya
Tuya Punkty danych dla przypisania DpId
Flashowanie i konfiguracja
Po zdobyciu wszystkich danych, które uważałem za dostępne, Odlutowałem CB2S z urządzenia i sflashowałem go za pomocą bk7231flasher_1.1.2.
Wprowadzenie modułu w tryb flashowania było proste; wystarczyło podłączyć pin CEN do masy, podczas gdy bk-flasher próbował odczytać magistralę.
Odczytanie wyjścia dla konfiguracji Template/GPIO zaniepokoiło mnie.
Zrzut konfiguracji z ltchiptool przyniósł podobne obawy.
Przystąpiłem do flashowania.
Po zakończeniu wlutowałem chip z powrotem do urządzenia i ponownie wszystko zmontowałem. W celu przetestowania podłączyłem go do zasilania sieciowego i użyłem zacisków krokodylkowych do podłączenia lampy do testów.
Połączyłem się z aplikacją internetową OpenBeken pod adresem 192.168.4.1 na domyślnym SSID nadawania i ponownie skonfigurowałem ją, aby łączyła się z moją siecią IoT.
Myślałem, że GPIO5 / GPIO4 będą moimi magicznymi pinami z GPIO20 / GPIO21 (RX / TX) dla komunikacji TuyaMCU.
W tym momencie zaczęła się zabawa.
Okazuje się, że OpenBeken komunikował się z TuyaMCU po wyjęciu z pudełka bez konieczności konfigurowania jakichkolwiek pinów. Reszta pinów nic nie robi, a cała konfiguracja jest oparta na kanale za pomocą autoexec.bat.
Po wielu debugowaniach i naciśnięciach przycisków na pilocie RF, udało mi się opracować poniższy autoexec.bat
autoexec.bat powinien zawierać poniższą zawartość i zostać przesłany do systemu plików urządzenia OpenBeken.
Powinno to zapewnić wszystkie niezbędne funkcje z kilkoma rzeczami, na które należy zwrócić uwagę:
-temp_value DpId23 jest oznaczony jako ReadOnly. Albo nie mam żadnych żarówek, które używają tej funkcji, albo funkcja nie działa. LowMidHigh powinno włączyć tę funkcję.
-fan_direction DpId63 jest również oznaczony jako ReadOnly. Urządzenie ma punkt lutowniczy i funkcja ta pojawia się w Tuya Cloud, jednak nie wspomniano o niej w opisie produktu ani instrukcji, a okablowanie nie jest dołączone do urządzenia. Prawdopodobnie ryzykowne jest również potencjalne odwrócenie i odwrócenie go podczas pracy wentylatora. Nie udało mi się dowiedzieć, jak zmienić nazwy etykiet funkcji w aplikacji internetowej OpenBeken, aby zapewnić lepszą użyteczność (np. wybór timera jest wymieniony jako prędkość wentylatora). Jeśli ktoś wie jak, zaktualizuję skrypt.
Home Assistant
Jak na razie, Mam tylko minimalnie wykonalną integrację HA i byłem w stanie odczytać tylko ustawienie timera. Jeśli ktoś bardziej doświadczony może stworzyć lepszy interfejs użytkownika i skonfigurować timer, byłoby świetnie!
Muszę również dowiedzieć się, jak sprawić, by MQTT częściej wysyłał wiadomości. Znalazłem przypadek brzegowy, w którym czasami po wyłączeniu zasilania i wyczyszczeniu pamięci podręcznej MQTT HA prędkość wentylatora zostanie ustawiona na 0, a włączenie / wyłączenie wentylatora w interfejsie użytkownika nie spowoduje żadnych obrotów.
W aplikacji internetowej OpenBeken przejdź do Config > Configure MQTT i wprowadź informacje MQTT Home Assistant.
HA MQTT yaml
Firmware Dump i JSON w załączeniu
Mam nadzieję, że moje wysiłki pomogą innym, którzy napotkają to urządzenie. Jeśli ktoś wymyśli jakieś ulepszenia, chętnie je przyjmę. Chciałbym również dostosować konfigurację Tasmota do mojego modułu ESP.
Funkcje: 3-Speed Ceiling Fan Remote, Off-timer, Dimming
Zakupiony: amazon.com
Szybki start:
- wylutuj moduł, wgraj OBK, wlutuj go na miejsce
- nie trzeba konfigurować GPIO, OpenBeken dba o TuyaTX/RX automatycznie.
- Umieść ' autoexec.bat ' w systemie plików urządzenia i uruchom ponownie.
- Pobierz ' HA MQTT yaml ' na dole tego postu.
Producent: San Sheng (Zhongshan), ale jest markowy [lub niemarkowy] pod różnymi nazwami.
Model: RE-028W
Chipset: CB2S Moduł Firmware: V2.1.6
MCU Firmware: V1.0.0
Zamiennik: ESP8685-WROOM-03-H4
Uwagi: Urządzenie łączy się elektrycznie z obciążeniem i przewodem neutralnym bez uziemienia.
Podstawowi dystrybutorzy:
ParrotUncle (spółka zależna Eileen Grays Network Technology)
Model: GA030
FEKOTS
Model: SS-T28
Potencjalny FCC-ID: 2AX7R-.RE021
O PCB
Urządzenie jest dostarczane z Beken BK7231N na CB2S:
Z przodu chipa tylko pin CEN został przylutowany do płytki.
Z tyłu układu wszystkie piny zostały przylutowane do płytki.
Jednak jedynymi ważnymi pinami wydają się być Tuya_Rx i Tuya_Tx.
ESP8685-WROOM-03 jest bezpośrednim zamiennikiem, tylko z innymi nazwami pinów.
CB2S : CEN || 3v3 | GND | RX1 | TX1 | P24 | P26
ESP-x : _EN || 3V3 | GND | RX_ | TX_ | IO5 | IO4
Tuya Cloud Controls and Device Info:
Przed flashowaniem urządzenia starałem się zebrać jak najwięcej informacji na temat jego funkcjonalności.
Poniżej znajdują się funkcje dostępne w aplikacji Tuya Cloud i informacje o wersji.
W Tuya Dev Project, poniżej znajdują się JSON Tuya i standardowy zestaw instrukcji:
JSON EDITOR
[
{
"code": "switch_led",
"value": true
},
{
"code": "bright_value",
"value": 100
},
{
"code": "temp_value",
"value": 1
},
{
"code": "fan_switch",
"value": false
},
{
"code": "fan_speed",
"value": 1
},
{
"code": "fan_direction",
"value": "forward"
},
{
"code": "fan_countdown_set",
"value": "cancel"
}
]STANDARD INSTRUCTION SET
Code Type Values
switch_led Boolean
"{true,false}"
bright_value Integer
{
"unit": "",
"min": 1,
"max": 100,
"scale": 0,
"step": 1
}
temp_value Integer
{
"unit": "",
"min": 1,
"max": 3,
"scale": 0,
"step": 1
}
fan_switch Boolean
"{true,false}"
fan_speed Integer
{
"unit": "",
"min": 1,
"max": 3,
"scale": 0,
"step": 1
}
fan_direction Enum
{
"range": [
"forward",
"reverse"
]
}
fan_countdown_set Enum
{
"range": [
"cancel",
"1h",
"2h",
"4h",
"8h"
]
}Informacje o debugowaniu asystenta domowego dla integracji z chmurą Tuya
{
"home_assistant": {
[...]
},
"integration_manifest": {
"domain": "tuya",
"name": "Tuya",
"codeowners": [
"@Tuya",
"@zlinoliver",
"@frenck"
],
"config_flow": true,
"dependencies": [
"ffmpeg"
],
"dhcp": [
{
"macaddress": "REDACTED*"
}
}
],
"documentation": "https://www.home-assistant.io/integrations/tuya",
"integration_type": "hub",
"iot_class": "cloud_push",
"loggers": [
"tuya_iot"
],
"requirements": [
"tuya-iot-py-sdk==0.6.6"
],
"is_built_in": true
},
"data": {
"endpoint": "https://openapi.tuyaus.com",
"auth_type": 0,
"country_code": "1",
"app_type": "smartlife",
"mqtt_connected": null,
"disabled_by": null,
"disabled_polling": false,
"name": "Ceiling Fan",
"model": "AC 02",
"category": "fsd",
"product_id": "puj7wgpctcgpn70b",
"product_name": "Ceiling Fan",
"online": true,
"sub": false,
"time_zone": "-05:00",
"active_time": "2023-11-16T00:51:32+00:00",
"create_time": "2023-11-15T04:02:47+00:00",
"update_time": "2023-11-16T00:51:32+00:00",
"function": {
"switch_led": {
"type": "Boolean",
"value": {}
},
"bright_value": {
"type": "Integer",
"value": {
"unit": "",
"min": 1,
"max": 100,
"scale": 0,
"step": 1
}
},
"temp_value": {
"type": "Integer",
"value": {
"unit": "",
"min": 1,
"max": 3,
"scale": 0,
"step": 1
}
},
"fan_switch": {
"type": "Boolean",
"value": {}
},
"fan_speed": {
"type": "Integer",
"value": {
"unit": "",
"min": 1,
"max": 3,
"scale": 0,
"step": 1
}
},
"fan_direction": {
"type": "Enum",
"value": {
"range": [
"forward",
"reverse"
]
}
},
"fan_countdown_set": {
"type": "Enum",
"value": {
"range": [
"cancel",
"1h",
"2h",
"4h",
"8h"
]
}
}
},
"status_range": {
"switch_led": {
"type": "Boolean",
"value": {}
},
"bright_value": {
"type": "Integer",
"value": {
"unit": "",
"min": 1,
"max": 100,
"scale": 0,
"step": 1
}
},
"temp_value": {
"type": "Integer",
"value": {
"unit": "",
"min": 1,
"max": 3,
"scale": 0,
"step": 1
}
},
"fan_switch": {
"type": "Boolean",
"value": {}
},
"fan_speed": {
"type": "Integer",
"value": {
"unit": "",
"min": 1,
"max": 3,
"scale": 0,
"step": 1
}
},
"fan_direction": {
"type": "Enum",
"value": {
"range": [
"forward",
"reverse"
]
}
},
"fan_countdown_set": {
"type": "Enum",
"value": {
"range": [
"cancel",
"1h",
"2h",
"4h",
"8h"
]
}
}
},
"status": {
"switch_led": true,
"bright_value": 100,
"temp_value": 1,
"fan_switch": false,
"fan_speed": 1,
"fan_direction": "forward",
"fan_countdown_set": "cancel"
},
"home_assistant": {
"name": "Ceiling Fan",
"name_by_user": null,
"disabled": false,
"disabled_by": null,
"entities": [
{
"disabled": false,
"disabled_by": null,
"entity_category": null,
"device_class": null,
"original_device_class": null,
"icon": null,
"original_icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "fan.ceiling_fan",
"state": "off",
"attributes": {
"preset_modes": [],
"direction": "forward",
"percentage": 1,
"percentage_step": 1.0,
"preset_mode": null,
"friendly_name": "Ceiling Fan",
"supported_features": 5
},
"last_changed": "2023-11-16T01:54:03.463633+00:00",
"last_updated": "2023-11-16T01:54:03.463633+00:00"
}
},
{
"disabled": false,
"disabled_by": null,
"entity_category": null,
"device_class": null,
"original_device_class": null,
"icon": null,
"original_icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "light.ceiling_fan",
"state": "on",
"attributes": {
"min_color_temp_kelvin": 2000,
"max_color_temp_kelvin": 6535,
"min_mireds": 153,
"max_mireds": 500,
"supported_color_modes": [
"brightness",
"color_temp"
],
"color_mode": "color_temp",
"brightness": 255,
"color_temp_kelvin": 2000,
"color_temp": 500,
"hs_color": [
30.601,
94.547
],
"rgb_color": [
255,
136,
13
],
"xy_color": [
0.599,
0.382
],
"friendly_name": "Ceiling Fan",
"supported_features": 0
},
"last_changed": "2023-11-16T01:54:03.464796+00:00",
"last_updated": "2023-11-16T01:54:03.464796+00:00"
}
}
]
}
}
}Tuya Punkty danych dla przypisania DpId
{"20":"Lamp ON/OFF","22":"Brightness","23":"Color Temperature","60":"Fan ON/OFF","62":"Wind Speed Level","63":"Direction Fan","101":"Fan Countdown Set"}Flashowanie i konfiguracja
Po zdobyciu wszystkich danych, które uważałem za dostępne, Odlutowałem CB2S z urządzenia i sflashowałem go za pomocą bk7231flasher_1.1.2.
Wprowadzenie modułu w tryb flashowania było proste; wystarczyło podłączyć pin CEN do masy, podczas gdy bk-flasher próbował odczytać magistralę.
Odczytanie wyjścia dla konfiguracji Template/GPIO zaniepokoiło mnie.
Zrzut konfiguracji z ltchiptool przyniósł podobne obawy.
Przystąpiłem do flashowania.
Po zakończeniu wlutowałem chip z powrotem do urządzenia i ponownie wszystko zmontowałem. W celu przetestowania podłączyłem go do zasilania sieciowego i użyłem zacisków krokodylkowych do podłączenia lampy do testów.
Połączyłem się z aplikacją internetową OpenBeken pod adresem 192.168.4.1 na domyślnym SSID nadawania i ponownie skonfigurowałem ją, aby łączyła się z moją siecią IoT.
Myślałem, że GPIO5 / GPIO4 będą moimi magicznymi pinami z GPIO20 / GPIO21 (RX / TX) dla komunikacji TuyaMCU.
W tym momencie zaczęła się zabawa.
Spoiler:
Nie byłem w stanie określić właściwej konfiguracji pinów i spróbowałem podłączyć go do mojego oscyloskopu. POP! Urządzenie nie ma uziemienia i usmażyło CB2S. Miałem kopię zapasową, ale chciałem ją zachować, dopóki nie zorientuję się i nie będę wiedział, że mogę ją uruchomić. Zamieniłem ugotowany CB2S na ESP8685, który miałem do dyspozycji i załadowałem pełne oprogramowanie układowe Tasmota.
Fun fakt, ESP8685-WROOM-03-H4 nie jest prawie tak prosty do flashowania. GPIO8 [EN?] wymaga podciągnięcia do 3V3, podczas gdy GPIO9 wymaga podciągnięcia do GND i jest dostępne tylko jako pad z tyłu płytki.
Kontynuowałem zabawę z ustawieniami Tasmota, ale bez powodzenia. Dyskusja na forum doprowadziła mnie do podjęcia skoku i ponownej próby OBK mojej nietkniętej jednostki i nadziei, że uda mi się ją uruchomić.
Fun fakt, ESP8685-WROOM-03-H4 nie jest prawie tak prosty do flashowania. GPIO8 [EN?] wymaga podciągnięcia do 3V3, podczas gdy GPIO9 wymaga podciągnięcia do GND i jest dostępne tylko jako pad z tyłu płytki.
Kontynuowałem zabawę z ustawieniami Tasmota, ale bez powodzenia. Dyskusja na forum doprowadziła mnie do podjęcia skoku i ponownej próby OBK mojej nietkniętej jednostki i nadziei, że uda mi się ją uruchomić.
Okazuje się, że OpenBeken komunikował się z TuyaMCU po wyjęciu z pudełka bez konieczności konfigurowania jakichkolwiek pinów. Reszta pinów nic nie robi, a cała konfiguracja jest oparta na kanale za pomocą autoexec.bat.
Po wielu debugowaniach i naciśnięciach przycisków na pilocie RF, udało mi się opracować poniższy autoexec.bat
autoexec.bat powinien zawierać poniższą zawartość i zostać przesłany do systemu plików urządzenia OpenBeken.
startDriver TuyaMCU
//setChannelType [ChannelIndex][TypeString]
//linkTuyaMCUOutputToChannel [dpId][varType][channelID][bDPCache-Optional]
//{"TuyaReceived":{"Data":"55AA03070005140100010125","Cmnd":7,"CmndData":"1401000101","DpType1Id20":1,"20":{"DpId":20,"DpIdType":1,"DpIdData":"01"}}}
//Map DpID20 to channel1, type1 (Boolean) - Lamp On/Off
setChannelType 1 Toggle
linkTuyaMCUOutputToChannel 20 1 1
//{"TuyaReceived":{"Data":"55AA03070008160200040000006491","Cmnd":7,"CmndData":"1602000400000064","DpType2Id22":100,"22":{"DpId":22,"DpIdType":2,"DpIdData":"00000064"}}}
//Map DpID22 to channel2, type2 (Integer) - bright_value - {1-100,step1}
setChannelType 2 Dimmer
linkTuyaMCUOutputToChannel 22 2 2
//{"TuyaReceived":{"Data":"55AA0307000817020004000000012F","Cmnd":7,"CmndData":"1702000400000001","DpType2Id23":1,"23":{"DpId":23,"DpIdType":2,"DpIdData":"00000001"}}}
//Map DpID23 to channel3, type2 (Integer) - [color] temp_value - {1-3,step1}
//Note: This feature is not on the remote, but shows up in Tuya Cloud and I cannot find appropriate bulbs to test. If used, field should be: LowMidHigh
setChannelType 3 ReadOnly
linkTuyaMCUOutputToChannel 23 2 3
//{"TuyaReceived":{"Data":"55AA030700053C010001004C","Cmnd":7,"CmndData":"3C01000100","DpType1Id60":0,"60":{"DpId":60,"DpIdType":1,"DpIdData":"00"}}}
//Map DpID20 to channel4, type1 (Boolean) - Fan On/Off (On=1)
setChannelType 4 Toggle
linkTuyaMCUOutputToChannel 60 1 4
//{"TuyaReceived":{"Data":"55AA030700083E0200040000000358","Cmnd":7,"CmndData":"3E02000400000003","DpType2Id62":3,"62":{"DpId":62,"DpIdType":2,"DpIdData":"00000003"}}}
//Map DpID20 to channel5, type2 (Integer) - Fan Speed - {Off,Low,Med,High} (0,1,2,3)
setChannelType 5 OffLowMidHigh
linkTuyaMCUOutputToChannel 62 2 5
//{"TuyaReceived":{"Data":"55AA030700053F0400010052","Cmnd":7,"CmndData":"3F04000100","DpType4Id63":0,"63":{"DpId":63,"DpIdType":4,"DpIdData":"00"}}}
//Map DpID63 to channel6, type4 (Enum) - fan_direction - {"range": ["forward","reverse"]}
//Note: This model does not include wiring for the fan-reverse function. However, the solder-pad is labeled on the board and the toggle displays in Tuya Cloud. Feature Untested.
setChannelType 6 ReadOnly
linkTuyaMCUOutputToChannel 63 4 6
//{"TuyaReceived":{"Data":"55AA03070005650400010078","Cmnd":7,"CmndData":"6504000100","DpType4Id101":0,"101":{"DpId":101,"DpIdType":4,"DpIdData":"00"}}}
//Map DpID101 to channel7, type4 (Enum) - fan_countdown_set - {"range": ["cancel","1h","2h","4h","8h"]} (0,1,2,3,4)
setChannelType 7 LowestLowMidHighHighest
linkTuyaMCUOutputToChannel 101 4 7
//enable powersave mode
//seems to be default enabled
startDriver SSDP
PowerSave 1Powinno to zapewnić wszystkie niezbędne funkcje z kilkoma rzeczami, na które należy zwrócić uwagę:
-temp_value DpId23 jest oznaczony jako ReadOnly. Albo nie mam żadnych żarówek, które używają tej funkcji, albo funkcja nie działa. LowMidHigh powinno włączyć tę funkcję.
-fan_direction DpId63 jest również oznaczony jako ReadOnly. Urządzenie ma punkt lutowniczy i funkcja ta pojawia się w Tuya Cloud, jednak nie wspomniano o niej w opisie produktu ani instrukcji, a okablowanie nie jest dołączone do urządzenia. Prawdopodobnie ryzykowne jest również potencjalne odwrócenie i odwrócenie go podczas pracy wentylatora. Nie udało mi się dowiedzieć, jak zmienić nazwy etykiet funkcji w aplikacji internetowej OpenBeken, aby zapewnić lepszą użyteczność (np. wybór timera jest wymieniony jako prędkość wentylatora). Jeśli ktoś wie jak, zaktualizuję skrypt.
Home Assistant
Jak na razie, Mam tylko minimalnie wykonalną integrację HA i byłem w stanie odczytać tylko ustawienie timera. Jeśli ktoś bardziej doświadczony może stworzyć lepszy interfejs użytkownika i skonfigurować timer, byłoby świetnie!
Muszę również dowiedzieć się, jak sprawić, by MQTT częściej wysyłał wiadomości. Znalazłem przypadek brzegowy, w którym czasami po wyłączeniu zasilania i wyczyszczeniu pamięci podręcznej MQTT HA prędkość wentylatora zostanie ustawiona na 0, a włączenie / wyłączenie wentylatora w interfejsie użytkownika nie spowoduje żadnych obrotów.
W aplikacji internetowej OpenBeken przejdź do Config > Configure MQTT i wprowadź informacje MQTT Home Assistant.
HA MQTT yaml
light:
name: "Bedroom Fan Light"
unique_id: "re028w.bedroom_fan_light"
state_topic: "re028w/cfan_br/1/get"
command_topic: "re028w/cfan_br/1/set"
payload_on: "1"
payload_off: "0"
brightness_state_topic: "re028w/cfan_br/2/get"
brightness_command_topic: "re028w/cfan_br/2/set"
brightness_scale: 100
color_temp_state_topic: "re028w/cfan_br/3/get"
color_temp_command_topic: "re028w/cfan_br/3/set"
color_temp_value_template: >-
{% if value == '1' %}
Warm
{% elif value == '2' %}
Neutral
{% elif value == '3' %}
Cool
{% else %}
Invalid
{% endif %}
availability_topic: "re028w/cfan_br/connected"
payload_available: "online"
payload_not_available: "offline"
qos: 1
retain: true
device:
configuration_url: http://192.168.4.1/cfg
manufacturer: Parrot Uncle
model: RE-028W
name: Bedroom Fan Light
identifiers: [ 're028w.bedroom_fan_light' ]
fan:
name: "Bedroom Fan"
unique_id: "re028w.bedroom_fan"
state_topic: "re028w/cfan_br/4/get"
command_topic: "re028w/cfan_br/4/set"
payload_on: '1'
payload_off: '0'
preset_modes:
- 'Low'
- 'Med'
- 'Hi'
preset_mode_state_topic: "re028w/cfan_br/5/get"
preset_mode_value_template: >
{% if value_json.FanSpeed == '1' %}
Low
{% elif value_json.FanSpeed == '2' %}
Med
{% elif value_json.FanSpeed == '3' %}
Hi
{% else %}
Off
{% endif %}
preset_mode_command_topic: "re028w/cfan_br/5/set"
preset_mode_command_template: >
{% if value == 'Low' %}
1
{% elif value == 'Med' %}
2
{% elif value == 'Hi' %}
3
{% else %}
Invalid
{% endif %}
direction_state_topic: "re028w/cfan_br/6/get"
direction_value_template: >
{% if value == '1' %}
Reverse
{% else %}
Forward
{% endif %}
direction_command_topic: "re028w/cfan_br/6/set"
direction_command_template: >
{% if value_json.FanSpeed == '1' %}
Reverse
{% else %}
Forward
{% endif %}
availability_topic: "re028w/cfan_br/connected"
payload_available: "online"
payload_not_available: "offline"
qos: 1
retain: true
device:
configuration_url: http://192.168.4.1/cfg
manufacturer: Parrot Uncle
model: RE-028W
name: Bedroom Fan
identifiers: [ 're028w.bedroom_fan' ]
sensor:
name: "Bedroom Fan Timer"
unique_id: "re028w.bedroom_fan_timer"
icon: mdi:fan-clock
state_topic: "re028w/cfan_br/7/get"
value_template: >
{% if value == '1' %}
1Hr
{% elif value == '2' %}
2Hr
{% elif value == '3' %}
4Hr
{% elif value == '4' %}
8Hr
{% else %}
Disabled
{% endif %}
availability_topic: "re028w/cfan_br/connected"
payload_available: "online"
payload_not_available: "offline"
qos: 1
device:
configuration_url: http://192.168.4.1/cfg
manufacturer: Parrot Uncle
model: RE-028W
name: Bedroom Fan Timer
identifiers: [ 're028w.bedroom_fan_timer' ]
Firmware Dump i JSON w załączeniu
{
"vendor": "Parrot Uncle",
"bDetailed": "1",
"name": "Universal Smart Ceiling Fan Remote Control and Dimmer Light Switch",
"model": "RE-028W",
"chip": "BK7231N",
"board": "CB2S",
"flags": "1024",
"keywords": [
"Eileen Grays",
"Parrot Uncle",
"ParrotUncle",
"RE-028W",
"GA030",
"San Sheng",
"2AX7R-RE021"
"FEKOTS",
"SS-T28",
"Fan",
"Dimmer"
],
"pins": {},
"command": "",
"image": "https://obrazki.elektroda.pl/4797170800_1702090627_thumb.jpg",
"wiki": "https://www.elektroda.com/rtvforum/viewtopic.php?p=20853026"
}
Mam nadzieję, że moje wysiłki pomogą innym, którzy napotkają to urządzenie. Jeśli ktoś wymyśli jakieś ulepszenia, chętnie je przyjmę. Chciałbym również dostosować konfigurację Tasmota do mojego modułu ESP.
Fajne? Ranking DIY
