ESPHome integration for FUST Novamatic A/C and all AR-715 remote-controlled A/C units

Hello, folks! I’ve automated my A/C unit and I’ve made the code available for all of you who have similar units to go through summer with maximum comfort and maximum power savings.

Here you go:

FUST Novamatic CL 1590 for ESPHome

This project integrates a Novamatic CL 1590 portable mini-split
air conditioning unit, through its infrared port and a small
ESP8285 microcontroller with infrared transmitter on board
(typically board type esp01_m on ESPHome). It supports all
modes and temperature targets of the air conditioner unit.

Will this work with my A/C unit?

The remote control this climate component simulates is model
number AR-715 (parts code IR30-0168CN—B), so check your
A/C unit’s remote — if it matches, this is for you: you got
yourself a smart A/C unit now.

Will this work with my ESP device?

Probably, so long as it has an infrared transmitter that can
do 38 KHz.
This is the unit I got.
It works perfectly with the code as it ships.

If your transmitter doesn’t do 38 KHz by default, you may have
to adjust the code to change the default frequency of your unit,
as the code does not do this currently. Right after
auto *data = transmit.get_data(); in novamatic_climate.cpp
you may add data->set_carrier_frequency(38000); to achieve
that effect.

How do I program the circuit?

Use your own version of this sample ESPHome sketch:

esphome:
  name: ir-transceiver
  friendly_name: IR transceiver

external_components:
  - source:
      type: git
      url: https://github.com/Rudd-O/novamatic_climate
      ref: master
    components:
    - novamatic_climate

esp8266:
  # ESP8285 IR transceiver
  board: esp01_1m

# Enable logging
logger:
  level: debug

# Enable Home Assistant API
api:
  encryption:
    key: !secret api_key
  services:
  - service: send_pronto
    variables:
      data: string
    then:
    - remote_transmitter.transmit_pronto:
        data: !lambda 'return data;'

ota:
  password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

button:
- platform: restart
  name: Restart
  entity_category: diagnostic
  icon: mdi:restart
- platform: safe_mode
  name: Safe mode restart
  entity_category: diagnostic
  icon: mdi:restart-alert

climate:
- platform: novamatic_climate
  name: Novamatic CL 1590
  supports_heat: false
  transmitter_id: transmitter
  icon: mdi:air-conditioner

remote_receiver:
  id: receiver
  pin:
    number: GPIO14
    inverted: True
  dump: pronto

remote_transmitter:
  id: transmitter
  pin: GPIO4
  carrier_duty_percent: 50%

sensor:
- platform: wifi_signal
  name: "Wi-Fi signal strength"
  update_interval: 10s
  entity_category: "diagnostic"
1 Like