Integracja z klimatyzatorem LG za pomocą modułu LG PDRYCB500

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: