Celem niniejszego artykułu jest przedstawienie sposobu integracji klimatyzatora LG za pomocą modułu PDRYCB500 z systemem Grenton Smart Home za pośrednictwem protokołu komunikacyjnego Modbus RTU.
Dokumentacja została zamieszczona tutaj.
Integracja ta pozwala m. in. na:
- Włączanie/wyłączanie klimatyzatora
- Sterowanie trybem urządzenia
- Sterowanie prędkością wentylatora
- Zmianę temperatury zadanej
Do zrealizowania poniższego przykładu potrzebujemy:
- Gate Modbus (o nazwie Gate_Modbus)
- Klimatyzator LG
- Moduł LG PDRYCB500
Tworzenie cech użytkownika
1. Dwukrotnie kliknij w obiekt Modbus, aby wejść do ustawień modułu:
2. Przejdź do zakładki "Cechy użytkownika" i stwórz potrzebne cechy:
- KLIMA_POKOJ1_FAN_SPEED_LOW - Wartość początkowa: 0 Typ: number
- KLIMA_POKOJ1_FAN_SPEED_MEDIUM - Wartość początkowa: 0 Typ: number
- KLIMA_POKOJ1_FAN_SPEED_HIGH - Wartość początkowa: 0 Typ: number
- KLIMA_POKOJ1_MODE_AUTO - Wartość początkowa: 0 Typ: number
- KLIMA_POKOJ1_MODE_VENT - Wartość początkowa: 0 Typ: number
- KLIMA_POKOJ1_MODE_COLD - Wartość początkowa: 0 Typ: number
- KLIMA_POKOJ1_MODE_WARM - Wartość początkowa: 0 Typ: number
Konfiguracja obiektów wirtualnych Modbus
Poniższa integracja została przygotowana dla urządzenia o następujących parametrach komunikacji Modbus:
- Adres urządzenia: 5
- Prędkość transmisji: 9600
- Ilość bitów stopu: 1
- Parzystość: None
1. Na module Gate Modbus dodajemy obiekty wirtualne Modbus:
2. Uzupełniamy wartości cech wbudowanych obiektów wirtualnych:
* Stan urządzenia:
* Tryb:
* Odczyt Temperatury:
* Nastawa temperatury:
* Prędkość wentylatora:
3. Dodaj skrypt KLIMA_POKOJ1_ZMIANA_TEMP:
if(param==1 and MODBUS->KLIMA_POKOJ1_TEMPERATURA_SET->Value>18) then
MODBUS->KLIMA_POKOJ1_TEMPERATURA_SET->SetValue(MODBUS->KLIMA_POKOJ1_TEMPERATURA_SET->Value-1)
end
if(param==2 and MODBUS->KLIMA_POKOJ1_TEMPERATURA_SET->Value<28) then
MODBUS->KLIMA_POKOJ1_TEMPERATURA_SET->SetValue(MODBUS->KLIMA_POKOJ1_TEMPERATURA_SET->Value+1)
end
Dodaj parametr o nazwie param, typie number i wartości domyślnej 0 w skrypcie KLIMA_POKOJ1_ZMIANA_TEMP:
4. Dodaj skrypt sKLIMA_POKOJ1_MODE:
if MODBUS->KLIMA_POKOJ1_MODE->RegisterValue == 0 then
MODBUS->KLIMA_POKOJ1_MODE_AUTO = 0
MODBUS->KLIMA_POKOJ1_MODE_VENT = 0
MODBUS->KLIMA_POKOJ1_MODE_COLD = 1
MODBUS->KLIMA_POKOJ1_MODE_WARM = 0
end
if MODBUS->KLIMA_POKOJ1_MODE->RegisterValue == 2 then
MODBUS->KLIMA_POKOJ1_MODE_AUTO = 0
MODBUS->KLIMA_POKOJ1_MODE_VENT = 1
MODBUS->KLIMA_POKOJ1_MODE_COLD = 0
MODBUS->KLIMA_POKOJ1_MODE_WARM = 0
end
if MODBUS->KLIMA_POKOJ1_MODE->RegisterValue == 3 then
MODBUS->KLIMA_POKOJ1_MODE_AUTO = 1
MODBUS->KLIMA_POKOJ1_MODE_VENT = 0
MODBUS->KLIMA_POKOJ1_MODE_COLD = 0
MODBUS->KLIMA_POKOJ1_MODE_WARM = 0
end
if MODBUS->KLIMA_POKOJ1_MODE->RegisterValue == 4 then
MODBUS->KLIMA_POKOJ1_MODE_AUTO = 0
MODBUS->KLIMA_POKOJ1_MODE_VENT = 0
MODBUS->KLIMA_POKOJ1_MODE_COLD = 0
MODBUS->KLIMA_POKOJ1_MODE_WARM = 1
end
Przypisz skrypt sKLIMA_POKOJ1_MODE do zdarzenia OnChange w obiekcie KLIMA_POKOJ1_MODE:
5. Dodaj skrypt sKLIMA_POKOJ1_FAN_SPEED:
if MODBUS->KLIMA_POKOJ1_FAN_SPEED->RegisterValue == 1 then
MODBUS->KLIMA_POKOJ1_FAN_SPEED_LOW = 1
MODBUS->KLIMA_POKOJ1_FAN_SPEED_MEDIUM = 0
MODBUS->KLIMA_POKOJ1_FAN_SPEED_HIGH = 0
end
if MODBUS->KLIMA_POKOJ1_FAN_SPEED->RegisterValue == 2 then
MODBUS->KLIMA_POKOJ1_FAN_SPEED_LOW = 0
MODBUS->KLIMA_POKOJ1_FAN_SPEED_MEDIUM = 1
MODBUS->KLIMA_POKOJ1_FAN_SPEED_HIGH = 0
end
if MODBUS->KLIMA_POKOJ1_FAN_SPEED->RegisterValue == 3 then
MODBUS->KLIMA_POKOJ1_FAN_SPEED_LOW = 0
MODBUS->KLIMA_POKOJ1_FAN_SPEED_MEDIUM = 0
MODBUS->KLIMA_POKOJ1_FAN_SPEED_HIGH = 1
end
Przypisz skrypt sKLIMA_POKOJ1_FAN_SPEED do zdarzenia OnChange w obiekcie KLIMA_POKOJ1_FAN_SPEED:
6. Tak utworzoną konfigurację przesyłamy do modułu Gate Modbus.
Tworzenie interfejsu myGrenton do sterowania klimatyzacją
1. Stwórz widżet ON_OFF i skonfiguruj go następująco:
2. Stwórz widżet VALUE_DOUBLE i skonfiguruj go następująco:
3. Stwórz widżet SCENE_DOUBLE i skonfiguruj go następująco:
4.Stwórz obiekt HEADER i skonfiguruj go następująco:
5. Stwórz obiekt ON_OFF_DOUBLE i skonfiguruj go następująco:
6. Stwórz widżet ON_OFF_DOUBLE i skonfiguruj go następująco:
7.Stwórz obiekt HEADER i skonfiguruj go następująco:
8. Stwórz widżet ON_OFF i skonfiguruj go następująco:
9. Stwórz widżet ON_OFF i skonfiguruj go następująco:
10. Stwórz widżet ON_OFF i skonfiguruj go następująco:
Po wysłaniu interfejsu na telefon będzie wyglądał w następujący sposób: