Integracja kontrolera podczerwieni Zigbee ZS05 z SmartIR przez Zigbee2MQTT
Kontroler podczerwieni Zigbee ZS05 łączy się z Home Assistant za pomocą Zigbee2MQTT i integracji SmartIR. Główna trudność to prawidłowa konfiguracja tematów MQTT oraz konwersja komand podczerwieni z formatu Broadlink na Raw MQTT. Dzięki temu można sterować klimatyzacją, telewizorami i projektorami bez błędów typowych dla ZHA.
Wymagania systemowe
Do działania potrzebne są:
- Home Assistant w aktualnej wersji.
- Zigbee2MQTT jako dodatek lub w Docker.
- SmartIR przez HACS.
- Kontroler ZS05 lub kompatybilny odpowiednik.
Podłączanie urządzenia w Zigbee2MQTT
- Aktywuj Permit Join w Zigbee2MQTT.
- Zresetuj ZS05, przytrzymując przycisk do migania diody LED.
- Urządzenie pojawi się w interfejsie Z2M.
- Przypisz przyjazną nazwę, np.
ir_salon— określa ona temat MQTTzigbee2mqtt/ir_salon.
Sprawdź logi: urządzenie powinno publikować i odbierać wiadomości. Tematy typu zigbee2mqtt/ir_salon potwierdzają połączenie.
Instalacja SmartIR
W HACS znajdź repozytorium SmartIR, zainstaluj i zrestartuj HA. Integracja tworzy encje typu climate, media_player, które używają MQTT do wysyłania sygnałów podczerwieni.
Prawidłowa konfiguracja w configuration.yaml
Błąd w dokumentacji SmartIR — nieprawidłowy subtemat w controller_data. Dla ZS05 użyj /set/ir_code_to_send, a nie /command.
Przykład dla encji klimatyzacji:
smartir:
climate:
- platform: smartir
name: Klimatyzacja IR w salonie
unique_id: klimatyzacja_salon_ir
device_code: 1200
controller_data: zigbee2mqtt/ir_salon/set/ir_code_to_send
temperature_sensor: sensor.temperatura
humidity_sensor: sensor.wilgotnosc
power_sensor: binary_sensor.moc_klimatyzacji
power_sensor_restore_state: true
Kluczowe parametry:
controller_data:zigbee2mqtt/{przyjazna_nazwa}/set/ir_code_to_send— dokładna ścieżka dla komand ZS05.device_code: Kod numeryczny z biblioteki SmartIR (smartir/codes/climate). Dla rzadkich marek dobieraj według protokołu (Gree, Midea).- Czujniki temperatury/wilgotności/mocy — opcjonalnie dla pełnej automatyzacji.
Konwersja kodów podczerwieni na Raw MQTT
Biblioteka SmartIR przechowuje kody w formacie Broadlink. ZS05 wymaga Base64 Raw MQTT. Konwertuj pliki:
- Pobierz JSON z repozytorium
smartir/codes/{typ}. - Użyj konwertera online Broadlink → Raw MQTT lub skryptu w Pythonie.
- Umieść przekonwertowany plik w
\/config\/custom_components\/smartir\/codes\/climateprzez Sambę.
W device_code podaj tylko liczbę z nazwy pliku (np. 9990).
Przykład przekonwertowanych komand dla Tosot T09H-SNa/I (ogrzewanie, niska, 16°C):
{
"manufacturer": "Tosot",
"supportedModels": ["T09H-SJ"],
"supportedController": "MQTT",
"commandsEncoding": "Raw",
"minTemperature": 16,
"maxTemperature": 30,
"precision": 1,
"operationModes": ["heat", "cool", "dry", "fan_only", "heat_cool"],
"fanModes": ["low", "medium", "high", "auto"],
"commands": {
"off": "CRgjnBElAm0GJQLgCwHgAxfAC+APK+ALO8AD4A9X4AtfAQpO4B1j4AdX4B+X4Bur",
"heat": {
"low": {
"16": "BRgjnBElAsABAW0G4AEDwA/gLwHgB0vgBxvgB1/AawEKTuAdd+AHV+Azq+AHRw=="
}
}
}
}
Pełne komandy dla wszystkich trybów/temperatur dostępne są w bibliotece po konwersji.
Testowanie i debugowanie
- Zrestartuj HA.
- W interfejsie klimatyzacji zmień temperaturę lub tryb.
- W Developer Tools → MQTT lub logach Z2M sprawdź publikację w
zigbee2mqtt/ir_salon/set. - Miganie diody LED na ZS05 i reakcja urządzenia potwierdzają sukces.
Co jest ważne
- Używaj dokładnego tematu
/{przyjazna_nazwa}/set/ir_code_to_sendwcontroller_data. - Konwertuj kody na Raw MQTT dla kompatybilności z ZS05.
- Dobieraj
device_codewedług protokołu, testuj na podobnych modelach. - Logi Z2M i MQTT to główne narzędzia debugowania.
- Zigbee2MQTT jest stabilniejszy niż ZHA dla kontrolerów podczerwieni.
— Editorial Team
Brak komentarzy.