![Logo](admin/air-conditioner.png)
# iobroker.gree-hvac

[![NPM version](https://img.shields.io/npm/v/iobroker.gree-hvac.svg)](https://www.npmjs.com/package/iobroker.gree-hvac)
[![Downloads](https://img.shields.io/npm/dm/iobroker.gree-hvac.svg)](https://www.npmjs.com/package/iobroker.gree-hvac)
![Number of Installations](https://iobroker.live/badges/template-installed.svg)
![Current version in stable repository](https://iobroker.live/badges/gree-hvac-stable.svg)

**Tests:** [![Test and Release](https://github.com/xhunter74/ioBroker.gree-hvac/actions/workflows/test-and-release.yml/badge.svg)](https://github.com/xhunter74/ioBroker.gree-hvac/actions/workflows/test-and-release.yml)

Adapter for Gree and C&amp;H conditioners

## Supported devices
All devices which can be controlled via EWPE Smart app should be supported, including:

- Gree Smart series
- Cooper&Hunter: Supreme, Vip Inverter, ICY II, Arctic, Alpha, Alpha NG, Veritas, Veritas NG series
- EcoAir X series
- ProKlima

**Please note that new air conditioners, and possibly old ones, will not work without internet access. They simply stop responding to adapter requests.**

**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.

## Changelog
### 3.0.3 (2026-06-01)
 - Fixed adapter runtime dependencies and updated CI workflow

### 3.0.2 (2026-05-28)
 - Filtered network-related errors from Sentry reporting

### 3.0.1 (2026-05-28)
 - Fixed i18n translation files

### 3.0.0 (2026-05-25)
 - Migrated adapter source code to TypeScript
 - Updated build pipeline to use `build-adapter ts` (esbuild + tsc)
 - Updated CI/CD workflow to run on all branches with explicit build steps

### 2.0.9 (2026-05-21)
 - Adapter requires node.js >= 22 now
 - Fixed connection status indicator incorrectly showing connected when no devices are bound
 - Fixed fan speed cycling button skipping the maximum speed level
 - Fixed memory leak: UDP event listener not removed on request timeout
 - Fixed maintain-room-temperature (StHt) state never being polled from the device
 - Fixed potential null reference errors when reading adapter states
 - Closed UDP sockets on adapter shutdown

### 2.0.8 (2026-02-14)
 - Updated properties mapping

[Older changelogs can be found there](CHANGELOG_OLD.md)

## Acknowledgments
- [tomikaa87](https://github.com/tomikaa87) for reverse-engineering the Gree protocol
- [stas-demydiuk](https://github.com/stas-demydiuk) for code of DeviceManager
- Sizenko Alexander for Digital-7 fonts
- [cont1nuity] for adding AES-GCM encryption

## License
MIT License

Copyright (c) 2025-2026 Serhiy Krasovskyy xhunter74@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
