TapHome

Sensibo Inteligentne sterowanie klimatyzacją

Packet Parser → HTTP
Dodane przez
Ostatnia aktualizacja: 06. 2026
Sensibo Inteligentne sterowanie klimatyzacją

Szablon Sensibo Air Conditioner Smart Control łączy TapHome z dowolną klimatyzacją sterowaną podczerwienią za pośrednictwem inteligentnego kontrolera Sensibo (Sky, Air lub Air Pro). Urządzenie Sensibo umieszcza się w pobliżu klimatyzatora, uczy się jego kodów IR i udostępnia pełne sterowanie przez Sensibo Cloud API v2. TapHome komunikuje się z serwerami Sensibo przez HTTPS i otrzymuje dane stanu w formacie JSON — nie jest wymagane żadne fizyczne okablowanie klimatyzatora.

Szablon udostępnia 8 urządzeń obejmujących włączanie/wyłączanie, wybór trybu pracy, prędkość wentylatora, pozycję pionowych lameli, termostat z ustawianiem temperatury docelowej, monitorowanie temperatury i wilgotności, sterowanie wyświetlaczem oraz alerty dotyczące konserwacji filtra. Jedyne wymagania to konto Sensibo, urządzenie Sensibo podłączone do Wi-Fi oraz klucz API.

Konfiguracja

Konto Sensibo i konfiguracja urządzenia

Urządzenie Sensibo (Sky, Air lub Air Pro) musi być zainstalowane, sparowane z klimatyzatorem przez aplikację mobilną Sensibo i podłączone do sieci Wi-Fi. Urządzenie musi być widoczne jako online w aplikacji Sensibo przed kontynuowaniem integracji z TapHome.

Uzyskanie klucza API
  1. Otwórz home.sensibo.com/me/api w przeglądarce
  2. Zaloguj się danymi konta Sensibo
  3. Kliknij Generate API Key, jeśli nie masz jeszcze wygenerowanego klucza
  4. Skopiuj klucz API — jest to długi ciąg alfanumeryczny

Klucz API zapewnia dostęp do wszystkich urządzeń Sensibo na koncie.

Znalezienie identyfikatora POD

POD to unikalny identyfikator każdego urządzenia Sensibo. Gdzie go znaleźć:

  • W aplikacji Sensibo — otwórz ustawienia urządzenia i znajdź Device ID
  • Przez API — wywołaj GET https://home.sensibo.com/api/v2/users/me/pods?apiKey={apiKey} i zanotuj pole id dla każdego urządzenia

Każde urządzenie Sensibo ma inny POD. Jeśli masz wiele urządzeń Sensibo, musisz zaimportować szablon osobno dla każdego z jego własnym POD.

Parametry importu

Podczas importowania szablonu w TapHome podaj:

  • API Key — klucz API z portalu deweloperskiego Sensibo
  • POD — unikalny identyfikator konkretnej jednostki Sensibo
Zależność od internetu

Jest to wyłącznie integracja chmurowa. Wszystkie dane przechodzą przez serwery Sensibo (home.sensibo.com:443). Szablon nie będzie działać bez aktywnego połączenia internetowego zarówno na TapHome Core, jak i na urządzeniu Sensibo.

Możliwości urządzeń

Monitorowanie temperatury i wilgotności

Czujnik Current Temperature & Humidity odczytuje wbudowane czujniki temperatury i wilgotności w urządzeniu Sensibo. Temperatura jest raportowana w jednostce skonfigurowanej na urządzeniu Sensibo (zwykle Celsjusz). Wilgotność jest dzielona przez 100 dla zakresu wejścia analogowego TapHome 0–1 (np. 60% staje się 0,60).

Sterowanie termostatem

Thermostat zapewnia pełne sterowanie klimatem z ustawianiem temperatury docelowej. Odczytuje aktualną temperaturę pokojową, wilgotność i temperaturę docelową ze stanu klimatyzatora. Zapisanie nowego setpointu wysyła żądanie PATCH do Sensibo API, które przekazuje odpowiednie polecenie IR do klimatyzatora. Dostępny zakres temperatur zależy od sparowanego modelu klimatyzatora (zwykle 16–32 °C).

Sterowanie zasilaniem

Przełącznik Power włącza i wyłącza klimatyzator. Po wyłączeniu Sensibo wysyła polecenie IR wyłączenia. Po włączeniu klimatyzator wznawia pracę w ostatnim aktywnym trybie.

Wybór trybu klimatyzacji

Przełącznik AC Mode steruje trybem pracy z 6 stanami:

WartośćTryb
0WYŁ
1Chłodzenie
2Ogrzewanie
3Wentylator
4Osuszanie
5Auto

Ustawienie trybu na 0 (WYŁ) wysyła polecenie wyłączenia zamiast zmiany trybu. Dostępne tryby zależą od sparowanego klimatyzatora — nie wszystkie jednostki obsługują każdy tryb.

Sterowanie prędkością wentylatora

Przełącznik Fan Level steruje prędkością wentylatora z 6 poziomami:

WartośćPoziom
0Brak
1Niski
2Średni
3Wysoki
4Auto
5Silny

Dostępne poziomy wentylatora zależą od modelu sparowanego klimatyzatora.

Sterowanie pionowymi lamelami

Przełącznik Vertical Swing steruje pozycją pionowych lameli z 10 stanami:

WartośćPozycja
0Zatrzymane
1Stała góra
2Stała środek-góra
3Stała środek
4Stała środek-dół
5Stała dół
6Zakres góra
7Zakres środek
8Zakres dół
9Zakres pełny

Dostępne pozycje lameli zależą od sparowanego klimatyzatora. Wiele jednostek obsługuje tylko podzbiór tych pozycji.

Sterowanie wyświetlaczem

Przełącznik Display Light steruje panelem LED na klimatyzatorze. Nie wszystkie modele klimatyzatorów obsługują sterowanie wyświetlaczem przez IR — jeśli sparowana jednostka nie obsługuje tej funkcji, polecenie nie będzie miało efektu.

Alert konserwacji filtra

Czujnik Filter Clean Required (kontakt magnetyczny) wskazuje, kiedy filtry klimatyzatora wymagają czyszczenia. Odczytuje flagę shouldCleanFilters z Sensibo API — wartość wynosi 1, gdy filtry wymagają czyszczenia, i 0, gdy są czyste. Wskaźnik filtra można zresetować przez aplikację mobilną Sensibo.

Dodatkowe możliwości

Sensibo API udostępnia również sterowanie poziomymi lamelami, funkcje timera, Climate React (automatyczne sterowanie klimatem na podstawie wartości progowych), pomiary historyczne i czujniki jakości powietrza (TVOC, CO2 w Air Pro). Te funkcje mogą zostać dodane w przyszłej aktualizacji szablonu.

Rozwiązywanie problemów

API zwraca błąd lub brak danych
  1. Sprawdź, czy urządzenie Sensibo jest online — skontroluj diodę LED statusu i aplikację mobilną Sensibo
  2. Potwierdź, że klucz API jest poprawny i nie został ponownie wygenerowany
  3. Upewnij się, że parametr POD dokładnie odpowiada identyfikatorowi urządzenia (rozróżnia wielkość liter)
  4. Sprawdź, czy zarówno TapHome Core, jak i urządzenie Sensibo mają aktywne połączenie internetowe
Błąd “API Key is empty” lub “Pod is empty”

Szablon sprawdza, czy oba parametry są ustawione przed wysłaniem żądań API. Jeśli widzisz ten błąd, otwórz zmienne modułu w TapHome i sprawdź, czy pola API Key i POD zawierają prawidłowe wartości.

Polecenia nie mają efektu na klimatyzator

Urządzenie Sensibo steruje klimatyzatorem za pomocą sygnałów IR (podczerwień). Upewnij się, że urządzenie Sensibo ma bezpośrednią linię wzroku do odbiornika IR klimatyzatora. Jeśli określona funkcja (wyświetlacz, pozycja lameli) nie działa, sparowany klimatyzator może nie obsługiwać tej funkcji przez swój protokół IR.

Sensibo Cloud API wymaga aktywnego połączenia internetowego i zależy od dostępności serwerów Sensibo. Podczas awarii chmury lub przerw w internecie szablon nie będzie otrzymywać zaktualizowanych danych ani wysyłać poleceń. Nie istnieje lokalny fallback — cała komunikacja odbywa się przez serwery Sensibo.

Dostępne urządzenia

Sensibo Inteligentne sterowanie klimatyzacją Moduł
Zmienne niestandardowe
apiKey (string)Klucz Sensibo Cloud API (uzyskaj na https://home.sensibo.com/me/api)
pod (string)Identyfikator urządzenia Sensibo (POD ID, unikalny dla każdego urządzenia Sensibo)

Sensibo Air Conditioner Smart Control

Odczyt (moduł)
responseJson := "error";
IF LENGTH(apiKey) = 0
    ADDERROR("API Key is empty. Fill API Key in module variables");
	RETURN(0);
END

IF LENGTH(pod) = 0
    ADDERROR("Pod is empty. Fill pod in module variables");
	RETURN(0);
END

VAR response := SENDHTTPREQUEST("/api/v2/pods/"+pod+"/?fields=*&apiKey="+apiKey, "GET", "");

IF(response.IsSuccess)
    responseJson := response.Content;
    mode := PARSEJSON(responseJson,"$.result.acState.mode");
ELSE
    VAR contentJson := response.Content;
    VAR errCode := response.StatusCode;
    VAR message := PARSEJSON(contentJson, "message", 1);
	IF ISNULL(message)
		message := PARSETEXT(response.Content, "<title>", "</title>");
	END
    ADDERROR("Failed to read data - (" + errCode + ") " + message);
END
Aktualna temperatura i wilgotność Czujnik temperatury Tylko do odczytu

Wbudowane czujniki temperatury i wilgotności — wilgotność dzielona przez 100 dla zakresu TapHome 0–1

numeric Jednostka: °C / % JSON parsejson()

Aktualna temperatura i wilgotność

Odczyt wilgotności
PARSEJSON(responseJson,"$.result.measurements.humidity")/100.0;
Odczyt temperatury
PARSEJSON(responseJson,"$.result.measurements.temperature");
Poziom wentylatora Przełącznik wielowartościowy

Sterowanie prędkością wentylatora — niski, średni, wysoki, auto, silny (dostępne poziomy zależą od sparowanego modelu)

string → numeric JSON parsejson() + SWITCH mapping
Wartości / Stany: low · medium · high · auto · strong

Poziom wentylatora

Odczyt stanu przełącznika
VAR fanLevel := PARSEJSON(responseJson,"$.result.acState.fanLevel");
SWITCH(fanLevel, "low", 1, "medium", 2, "high", 3, "auto", 4, "strong", 5, 0);
Zapis stanu przełącznika
VAR localfan := SWITCH(Mu, 1, "low", 2, "medium", 3, "high", 4, "auto", 5, "strong", "");

SENDHTTPREQUEST("/api/v2/pods/"+pod+"/acStates/fanLevel?apiKey="+apiKey, "PATCH", "{\"newValue\": \""+localfan+"\"}");
Wyświetlacz Przełącznik

Sterowanie LED wyświetlacza klimatyzatora — nie wszystkie modele obsługują tę funkcję

string/boolean JSON parsejson() + IF comparison
Wartości / Stany: ON · OFF

Wyświetlacz

Odczyt stanu przełącznika
IF(PARSEJSON(responseJson,"$.result.acState.light")="on",1,0)
Zapis stanu przełącznika
SENDHTTPREQUEST("/api/v2/pods/"+pod+"/acStates/light?apiKey="+apiKey, "PATCH", "{\"newValue\": "+IF(St,"true","false")+"}");
Tryb klimatyzacji Przełącznik wielowartościowy

Tryb pracy klimatyzatora — WYŁ, Chłodzenie, Ogrzewanie, Wentylator, Osuszanie, Auto (dostępne tryby zależą od sparowanego modelu)

string → numeric Custom variable + SWITCH mapping
Wartości / Stany: OFF · Cool · Heat · Fan · Dry · Auto

Tryb klimatyzacji

Odczyt stanu przełącznika
SWITCH(mode, "cool", 1, "heat", 2, "fan", 3, "dry", 4, "auto", 5, 0);
Zapis stanu przełącznika
VAR localmode := SWITCH(Mu, 1, "cool", 2, "heat", 3, "fan", 4, "dry", 5, "auto", "");

IF (Mu > 0)
SENDHTTPREQUEST("/api/v2/pods/"+pod+"/acStates/mode?apiKey="+apiKey, "PATCH", "{\"newValue\": \""+localmode+"\"}");

ELSE

SENDHTTPREQUEST("/api/v2/pods/"+pod+"/acStates/on?apiKey="+apiKey, "PATCH", "{\"newValue\": false}");

END
Zasilanie Przełącznik

Włączanie/wyłączanie klimatyzatora przez polecenie IR

boolean JSON parsejson() + IF
Wartości / Stany: ON · OFF

Zasilanie

Odczyt stanu przełącznika
IF(PARSEJSON(responseJson,"$.result.acState.on"),1,0)
Zapis stanu przełącznika
SENDHTTPREQUEST("/api/v2/pods/"+pod+"/acStates/on?apiKey="+apiKey, "PATCH", "{\"newValue\": "+IF(St,"true","false")+"}");
Czyszczenie filtra wymagane Kontakt reed Tylko do odczytu

Alert konserwacji filtra — wskazuje, kiedy filtry klimatyzatora wymagają czyszczenia

boolean JSON parsejson() + IF

Czyszczenie filtra wymagane

Odczyt
IF(PARSEJSON(responseJson,"$.result.filtersCleaning.shouldCleanFilters"),1,0)
Pionowe lamele Przełącznik wielowartościowy

Sterowanie pozycją pionowych lameli — 10 pozycji od stałej do zakresu (dostępne pozycje zależą od sparowanego modelu)

string → numeric JSON parsejson() + SWITCH mapping
Wartości / Stany: stopped · fixedTop · fixedMiddleTop · fixedMiddle · fixedMiddleBottom · fixedBottom · rangeTop · rangeMiddle · rangeBottom · rangeFull

Pionowe lamele

Odczyt stanu przełącznika
VAR swing := PARSEJSON(responseJson,"$.result.acState.swing");
SWITCH(swing, 
"stopped", 0, 
"fixedTop", 1, 
"fixedMiddleTop", 2, 
"fixedMiddle", 3, 
"fixedMiddleBottom", 4, 
"fixedBottom", 5, 
"rangeTop", 6, 
"rangeMiddle", 7, 
"rangeBottom", 8, 
"rangeFull", 9, 
0);
Zapis stanu przełącznika
VAR localswing := SWITCH(Mu, 

0, "stopped", 
1, "fixedTop", 
2, "fixedMiddleTop", 
3, "fixedMiddle", 
4, "fixedMiddleBottom", 
5, "fixedBottom", 
6, "rangeTop", 
7, "rangeMiddle", 
8, "rangeBottom", 
9, "rangeFull"

, "");

SENDHTTPREQUEST("/api/v2/pods/"+pod+"/acStates/swing?apiKey="+apiKey, "PATCH", "{\"newValue\": \""+localswing+"\"}");
Termostat Termostat

Ustawianie temperatury docelowej z aktualnymi odczytami temperatury i wilgotności

numeric Jednostka: °C JSON parsejson()

Termostat

Odczyt temperatury
PARSEJSON(responseJson,"$.result.measurements.temperature");
Odczyt wilgotności
PARSEJSON(responseJson,"$.result.measurements.humidity")/100.0;
Odczyt temperatury zadanej
PARSEJSON(responseJson,"$.result.acState.targetTemperature");
Zapis temperatury zadanej
SENDHTTPREQUEST("/api/v2/pods/"+pod+"/acStates/targetTemperature?apiKey="+apiKey, "PATCH", "{\"newValue\": "+Se+"}");
Połączenie: Packet Parser → HTTP
Możliwe ulepszenia (10)
  • Horizontal Swing — Horizontal swing/louver position control. Available values vary by AC model. Present in acState but not implemented in TapHome template
  • Timer — GET/PUT/DELETE /pods/{pod}/timer — set countdown timer for AC on/off. Available in HA as 10-minute timer toggle
  • Schedules — GET/POST/PUT/DELETE /pods/{pod}/schedules — create and manage recurring AC schedules
  • Climate React — GET/PUT/POST /pods/{pod}/smartMode — automatic climate control based on temperature/humidity thresholds. Configurable high/low triggers with independent AC states
  • Historical Measurements — GET /pods/{pod}/historicalMeasurements — temperature and humidity history over time
  • TVOC Sensor — Total Volatile Organic Compounds sensor. Available on Sensibo Air Pro only
  • CO2 Sensor — Carbon dioxide level sensor. Available on Sensibo Air Pro only
  • Feels-Like Temperature — Computed feels-like temperature based on temperature and humidity. Available on Sky, Air, Air Pro
  • Filter Last Reset — Timestamp of last filter cleaning indicator reset
  • Filter Reset — Button to reset filter cleaning indicator (currently template only reads shouldCleanFilters, cannot reset)

Źródła

Znalazłeś problem z tym szablonem urządzenia?

Napisz nam, co nie działa, czego brakuje lub jak powinien zachowywać się szablon. Twoja opinia pomaga nam utrzymać katalog dokładnym.

Zweryfikowane przez TapHome

Chcesz tego użyć w swoim TapHome Core?

Otwórz ten szablon w portalu klienta, aby zastosować go w swoim domu, lub zaproponuj modyfikację i wyślij ją z powrotem do katalogu.

Otwórz w portalu