Skip to content

Kocom Wallpad and LG System aircon mqtt Handler for Home assistant.

License

Notifications You must be signed in to change notification settings

bongdang/hacollector

Repository files navigation

HACollector

hacollector는 Home Assitant에서 RS485 프로토콜을 지원하는 아파트를 제어하고 정보를 보여주기 위해 mqtt를 사용해서 정보를 주고 받는 파이썬 어플리케이션입니다.

(주의) 이 버전은 Kocom 월패드, LG System Aircon만 지원합니다.

기능

  1. 현재 KOCOM 월패드, LG System Aircon을 기준으로 개발되었고, 다음과 같은 기기의 컨트롤 혹은 모니터링이 가능합니다.
    1. 전등
      1. On/Off
    2. 플러그
      1. On/Off
    3. 난방
      1. 온도조절
      2. 난방
      3. 송풍
      4. 전원
    4. 공기순환기(Himpel)
      1. On/Off
      2. 세기 조절
      3. CO2 농도 센서 기능
    5. 도시가스
      1. Off Only(for Safety).
    6. 엘리베이터
      1. Call Only
    7. 시스템에어컨(LG)
      1. 온도조절
      2. 냉방
      3. 제습
      4. 송풍
      5. 전원

요구사항

아파트 환경: RS485프로토콜을 지원하는 Kokomo Wallpad. LG System Aircon.

시스템 : OS : 리눅스 혹은 MacOS MQTT: mosquitto mqtt Python: 3.9.7 이상

장비 : EW11 RS485 Modbus to Ethernet Gateway 2EA : Kocom WallPad용 1개, LG System Aircon용 1개

주요 설명

  1. EW11을 설치하고 테스트하는 방법은 HA동호회 등에서 관련 정보를 참고 하십시오. 여기서는 정상적으로 설치 되고 동작한다는 가정을 합니다.
  2. 다양한 버전을 참고하여 개발하였습니다. 설정파일 등이 기존에 공개된 프로그램에 사용하던 방식과 유사한 부분이 많습니다. 기본적으로 config.py를 수정해서 바꿀 수 있습니다.
  3. thread를 사용하지 않고, asyncio를 사용하고 있습니다.
  4. Python-dotenv를 사용하여 .env파일에서 일부분의 정보를 읽어들입니다. (주로 테스트용입니다.)
  5. Dockerfile을 예제로 제공합니다.
  6. Himpel 공기순환기에 대한 자료가 없어서 완벽하지는 않지만, Himpel에서 제공하는 CO2 농도 센서를 추가 했습니다.
  7. LG System Aircon의 경우에 패킷을 분석해서 공유해 주신 여러분들 덕분에 모든 기능은 아니지만 여름에 필요한 정도는 구현이 되어있습니다. (정리가 덜 되어서 엉성한 코드지만 작년 한 해 만들어서 잘 사용했고, 필요하신 분들이 계실 것 같아서 공유하는 가장 큰 이유 입니다.)

다양한 설정 방법

hacollector는 환경을 설정하는 방법이 두가지가 있습니다. config.py를 수정하는 방법과 .env를 사용해 환경변수를 세팅하는 방법을 선택적으로 사용 가능합니다.

  1. config.py를 수정하는 방법
    1. 파이선 소스를 직접 수정하는 방법에 속하며, 이전 소스들이 비슷한 방식을 사용합니다. 파이선 문법에 맞춰 설정해야 하지만, 쉽게 이해하고 수정이 가능합니다.
    2. 설정할 수 있는 값이 다양하며, mqtt 토픽의 이름을 바꿀 수도 있습니다.
    3. 단, 환경변수를 추가하여 설정을 한 경우는 환경변수의 값이 우선됩니다.
  2. .env파일 혹은 환경변수를 수정하는 방법
    1. 도커 이미지를 사용하는 경우나, 파이선 소스는 수정하지 않고 필요한 값만 수정하는데 유리합니다.
    2. hacollector가 접속해야 하는 MQTT서버, EW11 Gateway IP 설정, 방 이름 및 컨트롤 가능한 전등이나 플러그 설정, 디버깅 레벨 설정등이 가능합니다.
    3. 단, .env에 값이 있는 경우(환경변수에 설정해도 같습니다.) config.py의 설정 값을 대치합니다.
    4. 방 이름 설정에서 방과 방사이의 구분은 콜론(‘:’) 문자를 사용합니다.

About

Kocom Wallpad and LG System aircon mqtt Handler for Home assistant.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published