SmartIR - Control your Climate, TV and Fan devices via IR/RF controllers

Good afternoon. Faced with anxiety. There is a zigbee Tuya IR remote control TuYa ZS06 control via MQTT | Zigbee2MQTT, connected via a stick.
I send commands through HA like this:
subject: zigbee2mqtt/0x70ac08fffe9db45f/set
payload: >
{ “ir_code_to_send”: “command”}

in the configuration file are used

smartir:
climate:
    - platform: smartir
      name: conder alm
      unique_id: conder_alm
      device_id: 1700
      controller_data: zigbee2mqtt/0x70ac08fffe9db45f/set
      Temperature_sensor: sensor.sredniaia_temperatura_v_dome
      humidity_sensor: sensor.sredniaia_vlazhnost_v_dome
      power_sensor: switch.socket_air conditioner
      power_sensor_restore_state: true

Nothing happens. The remote control does not blink, the command does not destroy it.

There is a topic in the console: homeassistant/sensor/0x70ac08fffe9db45f/learned_ir_code/config
To send a command, you must use ir_code_to_send.

It seems to me that somewhere in the collection of the file or where the line “ir_code_to_send” : “command” is missing

Who faced what to do?

1 Like

Good afternoon, I have a Whirlpool air conditioner ir remote control DG11J1-91 and re-flashed to ESPHome ir remote S08. Please tell me the correct ESPHome configuration so that my air conditioner can work.
image



I configured ESPHome firmware like this but it doesn’t work.

This is an example of what your json should look like:

Or

We’re both using Moes UFO R-11s which are very similar to your Tuya device

Getting a weird issue with MQTT raw commands through Z2M for my UFO R-11. Here is my full json as a reference but I’ll focus on the problematic section below. FYI, the command sequence is exactly the same for my broadlink device only using json instead of mqtt raw and that works pretty much flawlessly.

Here’s the MQTT raw code for my Daikin AC

  "operationModes": [
    "cool"
  ],
  "fanModes": [
    "Auto",
    "Quiet",
    "Low",
    "Medium",
    "High",
    "Turbo"
  ],
  "commands": {
    "on": {"ir_code_to_send": "AVsmgAELxxH1CSYBxwEmAfkDgAMD/QEBAUALA/0BJgFAFwPHAQEBQAuAEwEBAUAPQANAD0AHQBNAC4ADAwEBxwGAC0AXwANAEwPHAQEBQANAE+ADBwPHASYBwBNACwXHAQEB+QOAB8AXgAeAEwPHAQEBQB/gCRMJAQH5AyYBxwEmAUAH4AMfQA8DxwEBAUAHwAMBxwFAAwkBAfkDUwENUMcR"},
    "off": {"ir_code_to_send": "AVsmgAELxxH1CSYBxwEmAfkDgAMD/QEBAUALA/0BJgFAFwPHAQEBQAuAEwEBAUAPQANAD0AHQBNAC4ADAwEBxwGAC0AXwANAEwPHAQEBQANAE+ADBwPHASYBwBNACwXHAQEB+QOAB8AXgAeAEwPHAQEBQB/gCRMJAQH5AyYBxwEmAUAH4AMfQA8DxwEBAUAHwAMBxwFAAwkBAfkDUwENUMcR"},

When sending the “on” command using Climate controls in HA, it doesn’t register on the AC. I get a confirmation beep that it has received the command but won’t turn on. Sending the “off” command will turn the AC on AND off (this also means that the climate controls won’t work because it’s “off”).

I’ve tried a 2 other on commands: “on_once” and “power on”. Same result. I’ve also tried removing the “on” command entirely and it’s still the same result.

I’m not sure this is related but here’s the error from HA’s log

Logger: homeassistant.helpers.template
Source: helpers/template.py:735
First occurred: 09:40:37 (50 occurrences)
Last logged: 09:41:00

Template variable warning: 'dict object' has no attribute 'ir_code_to_send' when rendering '{{ value_json.ir_code_to_send }}'

and the Z2M log

debug 2023-07-07 18:03:41Received MQTT message on 'zigbee2mqtt/Dining_Hall_IR_Remote/set' with data '{"ir_code_to_send": "AVsmgAELxxH1CSYBxwEmAfkDgAMD/QEBAUALA/0BJgFAFwPHAQEBQAuAEwEBAUAPQANAD0AHQBNAC4ADAwEBxwGAC0AXwANAEwPHAQEBQANAE+ADBwPHASYBwBNACwXHAQEB+QOAB8AXgAeAEwPHAQEBQB/gCRMJAQH5AyYBxwEmAUAH4AMfQA8DxwEBAUAHwAMBxwFAAwkBAfkDUwENUMcR"}'
debug 2023-07-07 18:03:41Publishing 'set' 'ir_code_to_send' to 'Dining_Hall_IR_Remote'
debug 2023-07-07 18:03:41Sending IR code: "AVsmgAELxxH1CSYBxwEmAfkDgAMD/QEBAUALA/0BJgFAFwPHAQEBQAuAEwEBAUAPQANAD0AHQBNAC4ADAwEBxwGAC0AXwANAEwPHAQEBQANAE+ADBwPHASYBwBNACwXHAQEB+QOAB8AXgAeAEwPHAQEBQB/gCRMJAQH5AyYBxwEmAUAH4AMfQA8DxwEBAUAHwAMBxwFAAwkBAfkDUwENUMcR"
debug 2023-07-07 18:03:41Sending IR code initiated.
debug 2023-07-07 18:03:41Received Zigbee message from 'Dining_Hall_IR_Remote', type 'commandZosungSendIRCode01', cluster 'zosungIRTransmit', data '{"cmd":2,"length":294,"seq":0,"unk1":0,"unk2":57348,"unk3":1,"unk4":0,"zero":0}' from endpoint 1 with groupID 0
debug 2023-07-07 18:03:41"IR-Message-Code01" received (msg:{"zero":0,"seq":0,"length":294,"unk1":0,"unk2":57348,"unk3":1,"cmd":2,"unk4":0})
debug 2023-07-07 18:03:41IRCode to send: "{\"key_num\":1,\"delay\":300,\"key1\":{\"num\":1,\"freq\":38000,\"type\":1,\"key_code\":\"AVsmgAELxxH1CSYBxwEmAfkDgAMD/QEBAUALA/0BJgFAFwPHAQEBQAuAEwEBAUAPQANAD0AHQBNAC4ADAwEBxwGAC0AXwANAEwPHAQEBQANAE+ADBwPHASYBwBNACwXHAQEB+QOAB8AXgAeAEwPHAQEBQB/gCRMJAQH5AyYBxwEmAUAH4AMfQA8DxwEBAUAHwAMBxwFAAwkBAfkDUwENUMcR\"}}" (seq:0)

Or could all of this simply be a result of Z2M or the device not being able to send the commands fast enough to get a result?

Maybe the Breaking Changes for MQTT with HA 2023.7 help to solve the problem? Take a look here.

1 Like

Currently I writing a python script to make custom json creation easier.

There is an example to start:

import paho.mqtt.client as mqtt
import json

# Variable to hold the last value of learned_ir_code
last_learned_ir_code = None

# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, flags, rc):
    print(f"Connected with result code {str(rc)}")

    # Subscribing in on_connect() means that if we lose the connection and
    # reconnect then subscriptions will be renewed.
    client.subscribe("zigbee2mqtt/0x70ac08fffeadb14b")

# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
    global last_learned_ir_code  # we need to declare the variable as global to modify it

    message = json.loads(msg.payload.decode('utf-8'))  # Convert the JSON string to a Python dictionary
    learned_ir_code = message.get('learned_ir_code')  # Get the value of 'learned_ir_code'

    # Check if the learned_ir_code has changed
    if learned_ir_code != last_learned_ir_code:
        print(f"{msg.topic} {learned_ir_code}")
        # Change learned_ir_code to 'on' and publish it
        client.publish("zigbee2mqtt/0x70ac08fffeadb14b/set", '{ "learn_ir_code":"ON" }')

    last_learned_ir_code = learned_ir_code  # store the current learned_ir_code for next comparison

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

# Set the MQTT server details
client.username_pw_set("addons", "neiY6aikieba0keiwahlah9omaic4seileevoongoaZeth9Dohphothairi2ooch") # replace with your MQTT username and password
client.connect("10.10.10.254", 1883, 60)  # replace with your MQTT broker IP and port

#message['learn_ir_code'] = 'ON'
client.publish("zigbee2mqtt/0x70ac08fffeadb14b/set", '{ "learn_ir_code":"ON" }')  # Convert the dictionary back to JSON

# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
client.loop_forever()

Hello together,
i just found this project and try to set it up. I search, but my climate is not yet listet in the github. Therefore i have to create my own file. I also started reading the codes.
What i dont understand is: Why do they always define codes from 16 to 30 for every command?

Each code represents the temperature in Celsius that the remote sends out; 16-30 represents the min and max range of the remote. You can define them in Fahrenheit too if you desire, with each key being a temperature used. If you edit climate.py in the custom component with the changes listed here, it’ll automatically convert C to F and F to C.

I currently have a sonoff rf bridge that is flashed with tasmota and Portisch Firmware. Im wondering if its possible to implement it with smartir for my fans?

I have installed the smartir addon in home assistant 2023.7.2 after following all the instructions, record a new control for a samsung air. add the thermostat card. smartir just does nothing absolutely nothing, that same control code using the call service function instead it works, any ideas ?

Thanks !!!

Hi all
I have an AUX AC and I am using the 1961 code for climate which is almost perfect. However I noticed 2 strange cases.

Although from the remote control and their app, I can select only fan and it seems available in the following code it is not available in the HA. This is minor and I don’t care. However if there was an easy fix I would be interested.

The awkward behavior which I would like to fix is when I select the desired temperature. Since it has 0.5 precision I am noticing if I select for example 20 in HA, the AC and their app, reads 20.5.

So If I want 20 I should select 19.5.
I am thinking of replacing the numbers in the file accordingly but I am wondering if there is a better/elegant solution for this.

Any ideas?

  "manufacturer":"AUX",
  "supportedModels":[
    "AUX FREEDOM AUX-09FH"
  ],
  "supportedController":"Broadlink",
  "commandsEncoding":"Base64",
  "minTemperature":16.0,
  "maxTemperature":32,
  "precision":0.5,
  "operationModes": [
    "cool",
    "heat",
    "dry",
    "fan",
    "heat_cool"
  ],
  "fanModes":[
    "silence",
    "low",
    "mid",
    "high",
    "turbo",
    "auto"
  ],

example

  "commands":{
    "on":"JgDYAAABJpUSOBM4EhMTExITExMSOBM4EzgSOBM4EzgSExM4EzgSExMUERMTExITExMSOBM4EzgSFRETEhMTExITExMTEhMTExQRFBITEhMTExI4ExMTNxMUEhQRExMTEhMTExITExMSExMTEhMTExITEzgTExITExQRFRETEhMTExITExMTExIUEhMSExMSExMTExITExMSFRETEhMTExITEzgTExITExMSExMTEhMTExITExMTEhM4ExMSOBMTEhMTExITExMSOBM4EzgSExM4EjgTOBM4EgANBQ==",
    "off":"JgDYAAABJ5MUNhU2FRAVERUQFREVNhU1FTYVNhQ2FTYVEBU2FTYVEBURFBIUERQRFREUNhU2FTYVERQRFRAVERUQFREVERQRFREUEhQRFBEVERQ2FREVNRYRFBEUERURFBEVERQRFREUEhQRFBEVERQRFTYVEBURFREUEhQRFBEVERQRFREUERURFBIUERQSFBEUERURFREUEhQRFBEVERQRFREUERURFREUERQRFREUERURFRAVERU2FBIUNhQRFREUERURFREUNhU2FDYVERQ2FREVNhU2FAANBQ==",
    "dry":{
      "silence":{
        "16": "JgDYAAABJ5MUNxQ2FRITERURFBEVNhU2FDUWNhQ2FREUEhQRFTYUERUTEhMTEhMRFREUNxQ2FTYUExMSExIUERQSFBEVERQRFREUExMRFBEVERQ2FRETOBQSFBEUERUREhMVERQSFDYUExETFBIUERMTFBEVNhMTEhUSEhITExQRExMTFBETExQTERQRExMTEhMTExMSExMTExIUExISExMTEjgTExMTEhQSEhMTExIVERMSExMTExI4FBISFRETEhMTExITExMTOBI4ExQROBMTFDYTOBMUEQANBQ==",
        "16.5": "JgDYAAABKJMUNhU2FBMTERQRFREUNhU2FTYUNhU2FBIUERURFDYVERQTExITERURFBEVNhU2FDYVERQRFREUERURFBIUERU2FBMTEhMRFREUERU2ExMUNhMUEhQRExMTEhMTExITEzgTFBETEhQSExITExMTOBITExMSFRETEhMTExITExMTExIVERMSExMSExMTExITExMSExMTEhMTExITEzgTEhMTExMSExMTEhMTExITExMSExMTEhMTExITExMSExMTExMSExM4EhMUNxMSFDcUNxM3FAANBQ==",
        "17": "JgDYAAABJZUTOBI4ExMSExMTEhMTOBM4EjgTOBI4EzgUEhITFDcUEhMTEhMTEhMTExIUNxM3FDcUEhMSFBITEhQSExITExMSFBITEhMTExIUEhM3FBIUNxMTExITEhQSExIUEhMSFDcUEhMSFBITEhQSExIUNxQSExMTEhMSFBITEhQSExIUEhMTExITEhQSExIUEhQSExIUEhMSFBITEhQSEzcUEhQRFBIUERQSFBEUEhQRFBIUEhMTExITEhQSExIUEhMSFBIUEhM3FBITEhQ3EzcUNxQSEwANBQ==",
        "17.5": "JgDYAAABJZUTOBI4ExMSExMTEhMTOhE4EzcTOBM4EjgTExITEzgTExIUEhMSExMTEhMTOBI4FDcUEhIUEhMSExMTEhMTExM4EhQSExITExMSExM4ExITOBMTEhMTExITExMSExMTEjkTExITEhMTExMSFBITNxMTExMSExITExMTEhQSFBITEhQSEhQTEhITFBITEhQSFBEUEhMTExITEhQSFDYUEhQSExMTEhMSFBITEhQSFBEUEhQSExIUEhMSFBITEhQSExIUEhM3FBIUERQ3FDcTNxQ3FAANBQ==",
        "18": "JgDYAAABJ5QTNxQ3ExIUEhMSFBITNxQ3FDcTNxQ3FBITNxQSEzcUEhQSEhMUEhMSFBITNxQ3FDcTEhQSExIUEhMSFBITEhQSFBITEhMSFBITEhQ3FBITNxQSFBITEhMSFBIUERQSFDcUEhMSExIUEhMSFBIUNxMSFBITEhQSExIUEhMSFBIUEhMSExIUEhMSFBIUERQSFBITExMSExIUEhMSFDcTEhQSFBITEhMSFBIUERQSFBITEhQSExIUEhMSFBITEhQSFBEUEhQ2FBIUNxM3FDcUNxMSFAANBQ==",
        "18.5": "JgDYAAABJ5QTNxQ3ExIUEhMSFBITNxQ3FDcTNxQ3FBITNxQSEzcUEhQSExIUEhMSFBITNxQ3FDYUEhQSExIUEhMSFBITEhQ3FBITEhQRFBIUERQ3FBITNxQSExIUEhMSFBIUERQSFDcUEhMSExIUEhMSFBIUNhQSFBITEhQSExIUEhMSFBITEhQSExIUEhMSFBITEhQSFBITExMSExIUEhMSFDcTEhQSFBITEhMSFBITEhQSFBITEhQSExIUEhMSFBITEhURFBEUEhQ2FBIUNxM3FDcUNxM3FAANBQ==",
        "19": "JgDYAAABJpUTNxM3FBITEhQSFBEUNxQ3FDYUNxQ3EzcUNxQRFDUWEhMTExITEhQSExIUNxQ1FTcUEhMSFBITEhQSFBEUEhQSExMTEhMSFBITEhQ3FBEUNxQSExIUEhMSFBITEhQSFDcTExMSExIUEhMSFBITNxQSFBITEhQSExIUEhMSFBITEhQSExIUEhMSFBITEhQSFBITExMSExIUEhMSFDcTEhQSFBITEhMSFBIUERQSFBITEhQSExIUEhMSFBITEhQSFBEUEhQ2FBIUEhMSFBITEhQ3FAANBQ==",
        "19.5": "JgDYAAABJpQUNxM2FRITEhQSExIUNxQ3EzcUNxQ2FDcUNxMSFDcUEhMTExITEhQSExIUNxM3FDcUEhMSFBITEhQSExIUEhQ2FBMTEhMSFBITEhQ3ExIUNxQSExIUEhMSFBITEhQSEzcUEhQSExIUERQSFBITNxQSExMTEhMSFBITEhQSExIUEhQSExIUEhMSFBEUEhQSExIUEhMSFBITEhQSEzcUEhQSExMTEhMSFBITEhQSExIUEhMTExITEhQSExIUEhQRFBIUEhM3FBITEhQSExIUEhMTEwANBQ==",
        "20": "JgDYAAABJpQUNxM3FBITEhQSExIUNxQ3EzcUNxQ2FBIUEhM3FDcUEhMTExITEhQSExIUNxM3FDcUEhMSFBITEhQSExIUEhQSExIUEhMSFBEUEhQ3ExIUNxQSExIUEhMSFBEUEhQSEzcUEhQRFBITEhQSFBEUNxQSFBEUEhMSFBITEhQSFBEUEhQSExIUEhMSFBITEhQSExIUEhMSFBITEhQSEzcUEhQSExMTEhMSFBITEhQSExIUEhQSExIUERQSFBEUEhQSExIUEhM3FBITNxQSFBITEhQ3FAANBQ==",
        "20.5": "JgDYAAABJ5QTNxQ3ExIUEhMSFBITNxQ3FDcTNxQ3ExIUEhM4EzcUEhQSEhMTEhQSFBEUNxM4FDYUExITEhMUEhMSFBITEhQ3FBITEhQRFBITEhQ3FBITNxQTExISExMSFBIUEhITFDcUEhMSExIUEhMSFBIUNxMSFBITEhQSExIUEhMSFBIUEhMTEhMTEhQSExIUEhMSFBITExMSExIUEhMSFDcUEhMSFBITEhQSExIUEhMSFBIUERQSExIUEhMSFBIUERQSFBITEhQ3ExIUNxMSFBIUEhMTEwANBQ==",
        "21": "JgDYAAABJ5MUNxI4FBIUERURFBEVNhQ3EjgVNhQ2FTYUEhQ2FTYUEhQRFBMTERQSFBEUNxQ2FTYVEhMRFBIUERMTFBETExMTEhQSFBETFBETExM4EhMTOBMUERQSEhMTExITExMTEjgTFBETExMSExMTEhMTOBMTEhURExITExMSExMTEhMTExMUERMTEhMTExMSExMTEhMTExIVERMSExMTEjgTExMTEhMTFBETExMSExMTEhMTExMUERMSExMTEhMTExMTEhMTExI4ExMSExM4ExMSExM4EgANBQ==",
        "21.5": "JgDYAAABJZUTOBM3ExMSExMTEhMTOBM4EjgTOBI4EzgTExI4EzgTExITExMSExMSExMTOBI4EzgTExIVERMSExMTEhMTExI4ExQSFBETExITExM4EhMTOBMUERQSEhMTExITExMTEjgTFBETExMSExMTEhMTOBMTEhQSExITExMSExMTEhMTExITExMSExMTEhMTExMSExMTFBETExMSExMTEjgTExMSExMSExMTEhMTExITExMTExITExMSFBITEhMTExITExMSExM4ExMSExM4EhMTExMSEwANBQ==",
        "22": "JgDYAAABJZYSOBQ2ExMTEhURFBEVNhU2FDcUNhQ3FBEUNxQ2FTYVERQTExITERURFBEVNhQ3FDYVERQTExEUERURFBEVERQSFBMSEhQRFBIUERQ3EhMVNhQTERQSExITExMSExQSEjgTFBITEhMTEhMTExITOBMTEhQSExITExQRExMTExITExMUERMTEhMTExITExMTEhMTFBEVERMSExMTEjgTExMTEhMTExITExMSExMTEhMTExIVERMSExMTEhMTExITExMTExI4ExMSOBM4EhMTExM4EgANBQ==",
        "22.5": "JgDYAAABJpUSOBM4EhMTExITExMSOBM4EzgSOBM4ExMSOBM4EzcTExMTEhMTExITExMSOBM4EzgSFRETEhMTExITExMTEhM4ExQRExMTEhMTExI4ExMTOBITExMSExMTEhMTExITEzgTExIUEhMSExMTEhMTOBMTEhQSExITExITExMTEhMTExIUEhQRExMTEhMTExITExMTFBETExMSExMTEjgTExMSExQSExITEhMTExMSExMTExITExQRExMTEhMTExITExMTExI4ExMSOBM4EhMTExMTEgANBQ==",
        "23": "JgDYAAABJpUSOBM4EhMTExITExMTOBI4EzgTNxM4EzgSOBM4EzgSExMTEhMTExITExMSOBM4EzgTExITExITExMTEhMTExITExMSExMTEhMTExI4ExMTNhQUEhMSExMTEhMTExITEzgTExITExMSFRETEhMTOBMTEhQSExITExMSExMTEhMTExIUEhMSExMTEhMTExITExMTExITExMSExMTEjgTExMSExQSEhMTEhMTExMTEhMTExITExMSExMTEhMTExITExMTExI4ExMSExMTEjgTExM4EgANBQ==",
        "23.5": "JgDYAAABJZUTOBI4ExMSExMTEhMTOBM4EjgTOBM3EzgTOBI4EzgTExMTEhQRFRETEhMTOBM4EjgTExMTEhMTExITExMSExM4ExQRExMSExMTEhM4ExMSOBMTExMSExMSExMTExITEzgTExITExMSExMTEhMTOBMSExQRExMTEhMTExMSExMTExITExMSExMTEhMTExITExMTExITExMSExMTEjgTExMSExMTEhMTEhMTExMTEhMTExIUEhMSExMTEhMTExITExMTExI4ExMSExMTEjgTExMTEgANBQ==",
        "24": "JgDYAAABJpUSOBM4ExMSExITExMTOBI4EzgTOBI4ExMSExMTEhMTOBMUERQSExITExMSOBM4EzgSExMUERMTExITExMSExMTExQRExMSExMTEhM4ExMSOBMUEhMSExMSExMTExITEzgSFRETEhMTExITExMTOBITExQRExMTEhMTExITExMTEhMVERITExITExMTEhMTExMSFREUERMTExITEzgTEhMTExQRExMUERMTExITExMSExMUERMTExITExMSExMTExMSExM4EhMTOBITEzgTExI4EwANBQ==",
        "24.5": "JgDYAAABJZYSOBI4ExMTExITExMSOBM4EzgSOBM4EhMTExITExMTOBITExMSExMTEhMTOBI4EzgTFBETExMSExMTEhMTExM4EhMTFBETExMSExM4ExITOBMUERMTExITExMSExMTEzcTFBITEhMTExITExMSOBMTExMSExITExMTEhMTExMSExMTEhMTExITExMSExMTExMSFBITEhMTExITEzgSExMTExMSExITExMSExMTExMSExMTEhMTExITExMSExMTExITExM4EhMTOBITEzgTEhMTEwANBQ==",
        "25": "JgDYAAABJpUSOBM4EhURExITExMSOBM4EzgSOBM4EjgTExMTEhMTNhUTEhMSExMTEhMTOBM4EjgTExMSExQSEhMTExITExMTEhUTERITExMSExM4EhMTOBMTEhMTExITExMSExMTEjgTFBITEhMTEhMTExMSOBMTExQRExITExMSExMTExMSExMUERMTExITExMSExMTExMSFRESExMSExMTEzcTExMTEhURExITExMSExMTEhMTExMSExQRExMTEhMTExMTEhMTExI4ExMSExM4EzgSExM4EgANBQ==",
        "25.5": "JgDYAAABJZYSOBI4ExQRExMTEhMTOBM4EzcTOBM4EjgTExITExMTOBITExQRFRETEhMTOBI4EzgTFBETExMSExMTEhMTExM4EhURExITExMSExM4EhMTOBMTEhMTExITExMSExMTEzcTFBITEhMTExITExMSOBMTExMSExITExMSExMTExMSExMUERMTExITExMSExMTEhMTFBEVERMSExMTEjgTExMTEhQSExITExMSExMTEhMTExMUERMTEhMTExMSExMTEhMTExI4ExMSExM4EzgSExMTEgANBQ==",
        "26": "JgDYAAABJZUTOBI4ExMSExMTEhMTOBM4EjgTOBI4ExMTNxMTExMSORIVERQRExITExMTNxM4EzgTFBETExMSExMSExMTExITExQRFBITEhMTExI4ExMTOBITExMSExMTEhMTExITEzgTExITExMSExMTEhMYMxITExUQExMTEhMTExITExMTExIUEhMSExMTEhMTExITExMTExITEhMTExITEzgTExITExQRExMTEhMTExITExMTEhMUEhMSExITExMTEhMTExMSExM4EhMTOBI4EzgTExM3EwANBQ==",
        "26.5": "JgDYAAABJZUTOBI1FhMSExMTExITOBM4EjgTOBM4EhMTOBITExMTOBIVERMSExMTEhMTOBI4EzgTFBETExQRExMTEhMTExM4EhMTExITExMSExM4ExITOBMTEhMTExITExMSExMTEzgSExMUERMTExITExMSOBMTExQRFBISExMTEhMTExMSExMTEhURFBETExMSExMTExITFBIUERMTEhMTEzgSExMTEhURFBETExMSExMTExITExMUERMTFBETExMSExMTEhMTExI4ExMTOBI3FDgTExITEwANBQ==",
        "27": "JgDYAAABJpMUOBM4EhMTExITExMTNxM4EzgSOBM4EzgSOBMTExMSOBMTEhMTExITExMSOBM4EzgSFBITEhMTExITExMTExITExMSExMTEhMTExI4ExMTNxMTExQRExMTEhMTExITEzgTFBEUERMTExITExMTOBITExMSExMTEhMTExITExMTExIUEhITExMSExMTExITExMSFRETEhMTExITEzgTEhMTExMSFBITEhMTExITExMSExMUERMTExITExMSExMTExMSExM4EhMTExITExMSOBM4EwANBQ==",
        "27.5": "JgDYAAABJpUSOBM4EhMTExITExMSOBM4EzgSOBM4EzcTOBMTEhMTOBMUERQSExITExMSOBM4EzgSExMUERMTExITExMSExM4ExMSExMTEhMTExI4ExMSOBMUEhQRExMTEhMTExITEzgTExITEhMTExITExMTOBITExMSExMTEhMTExITExMTExIUEhMSExMSExMTExITExMSExMUERMTExITEzcUEhMTExMSExMTEhMTExITExMSExMTEhMTExITExMSExMTExMSExM4EhMTExITExMSOBMUEgANBQ==",
        "28": "JgDYAAABJZUSOBM4ExMSExMTEhMTOBI4EzgTOBI4ExMSExM4ExMSOBMUERURExITExMSOBM4EzgTExITExITExMSExMTExITExQTERMTEhMTExI4ExMTOBIVERMSExMTEhMTExITEzgTFBETExMSExMTEhMTOBMTEhQSEhMTExITExMTEhMTExITExMSExMTEhMTExITExMTFBETExITExMSEzgTExITExMSExMTEhMTExITExMTExIUEhMSExMTEhMTExITExMSExM4EhMTOBMTEhMTOBM3EwANBQ==",
        "28.5": "JgDYAAABJZYSOBM3ExMTExITExMSOBM4GDMSOBM4EhMTExM3ExMTOBMUERMSExMTEhMTOBM4EjgTFBIUERMTEhMTExMSExM4EhQSExITExMSExM4ExMSOBMUERMTExITExMSExMTEzgSFRETEhMTExITExMSOBMTExMSFBITEhMTEhMTExMSExMTEhURExITExMSExMTExMSFRETEhMSExMTEzcTExMTEhURExITExMSExMTEhMTExMUERQSExITExITExMTEhMTExI4ExMSOBMTExMSOBMTEgANBQ==",
        "29": "JgDYAAABJZUTOBI4ExMSExMTEhMTOBM4EjgTOBM4EjgTExI4ExMTOBIVERMSExMTEhMTOBM4EjgTFBETExMSExMTEhMTExMTEhMTFBETExMSExM4EhMTOBMTEhMTExITExMSExMTEzcTFBITEhMTEhMTExMSOBMTExITExITExMSExMTExMSExMUERMTExITExMSExMTEhMTExIVERMSExMTEjgTExMTEhURExITExMSExMTExITExMUERQRExMTEhMTExMTEhMTExI4ExMSExM4EhMTOBM4EgANBQ==",
        "29.5": "JgDYAAABJZUTOBI5EhMSExMTEhMTOBM4EjgTOBM4EjgTExI4ExMTOBIVERMSFRETEhMTOBM3EzgTFBETExMSExMTEhMTExM4EhMTFBETExMSExM4EhMTOBMTEhMTExITExMSExMTEjgTExMTEhMTEhMTExMSOBMTExMSExITExMSExMTExITExMTEhQSFBETExMSExMTEhMTFBETExMSExMTEjgTExMTEhURExITExMSExMTEhMTExIVERQRExMTEhMTExMSExMTExI4ExMSExM4EhMTOBMTEgANBQ==",
        "30": "JgDYAAABJpUSOBM4EhQSExITExMSOBM4EzgSOBM4EhMTOBM4EhMTOBMUERQSExITExMSOBM4EzgSFBIVEBMTExITExMSExMTExQRExIVERMSExM4ExMSOBMUEhQRFBETExMTExITEzgSExMTEhMTExITExMTOBITExQRFREUERMTExITExMTExIUEhMSExMTEhMTExITExMSFREUERMTExITEzgTExITExMSExMTEhMTExITExMSExMUERMTExITExMSExMTExMSExM4EhMTOBI4ExMTOBM3EwANBQ==",
        "30.5": "JgDYAAABJpUSOBM4EhURExITExMSOBM4EzgSOBM4ExMSOBM4EhMTOBMUERURFBETExMSOBM4EzgSExMTEhMTExITExMTExI4ExQRExMTEhMTExI4ExMTOBIVERMSExMTEhMTExMSEzgTExIVERMSExMTEhMTOBMTEhURExITExMSExMTEhMTExMSExMSExMTEhMTExMTEhMTFBEVERMSExMTEjgTExMTEhMTExITExMSExMTEhMTExIVERQRExMTEhMTExMTEhMTExI4ExMSOBM4ExMSOBMUEQANBQ==",
        "31": "JgDYAAABJpUSOBM4EhMTExITExMTNxM4EzgSOBM4EzgSOBM4ExMSOBMTEhMTExITExMSOBM4EzgSExMTEhURExITFBITExITExUQFBITEhMTExI4ExMTNBYVERQRExMTEhMTExITEzgTFBEUEhQRExMTEhMTOBITExQRExMTEhMTExITExMTExIUEhQRExMSExMTExITExMSFRETEhMTExITEzgTExITExMSExMTEhMTExITExMTEhMUERURExITExMSExMTExMSExM4EhMTExITEzgTOBI4EwANBQ==",
        "31.5": "JgDYAAABJZUTNxM3FBMSExMTEhMTOBM3EzgTOBI4EzgTNxM4ExMTOBIUEhMSExMTEhMTOBI4EzgTFBETExMSExMTEhMTExI4ExMTEhMTExITExM4EhMTOBMTEhMTFBETExITExMTEjgTFBETExMSExMTEhMTOBMTEhURExITExMSExMTEhMTExMUERQRExMTEhMTExMTEhMTFBEVERMSExMTEjgTExMTEhMTExITExITExMTEhMTExIVERMSExMTEhMTExITExMTExI4ExMSExMTEjgTOBMUEQANBQ==",
        "32": "JgDYAAABJpUSOBM4EhMTExITExMSOBM4EzcTOBM4ExITExITEzgTOBMUERMSExMTEhMTOBM4EjgTFBIUERMSExMTExITExMTEhURFBETExMSExM4EhMTOBMUERURExIUEhMSExMTEjgTExMTEhMTExITExMSOBMTExQRExITExMTEhMTExMSExMTEhURExITExMSExMTExITFBISExMSExMTEjgTExMTEhMTExITExMSExMTEhMTExMUERMTFBETExITExMTEhMTExI4ExQROBMTEzgSOBM4EwANBQ=="
      },

Late response to this, but in case anyone finds it useful - I have a similar very simple window AC unit with a remote that just sends single on/off and up/down commands. Instead of using SmartIR, I managed to integrate it using this Template Climate integration, which is designed more for this use case: GitHub - jcwillox/hass-template-climate: ❄️Templatable Climate Device for Home Assistant, Supports Running Actions On Service Calls.

Does anybody know if and how you can change the precision of temperature_sensor?

climate:
  - platform: smartir
    name: Bedroom AC
    unique_id: bedroom_ac
    device_code: 1080
    controller_data: remote.bedroom_ac
    temperature_sensor: sensor.bedroom_temperature_bedroom_temperature

Hi, if I’m using with esphome
What’s the recommended way to copy the ir signal codes into the yaml?
Since the codes are really long and I’m worried I might missed 1 or few more digits when importing them from esphome web server console.

    "cool": {
      "auto": {
        "16": "[3500, -1700, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -9000, 3500, -1700, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -1250, 450, -390, 450]",
        "17": "[3500, -1700, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -9000, 3500, -1700, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -390, 450, -1250, 450, -390, 450, -1250, 450, -390, 450, -1250, 450, -390, 450]",```

Hello Guys,
I have very strange problem. I have few Mitsubishi Heavy AC multisplit. I didn`t found ready JSON file so I have created my own with Broadlink Manager. The only issue is that the only command that the HA or SmartIR sends to the broadlinks is OFF everything else the LED is not blinking. When I send the same commands with Broadlink everytihng is working. Here is the JSON file and the configurations.
smartir:
update_branch: rc

climate:

  • platform: smartir
    name: AC Master Bedroom
    unique_id: ac_master_bedroom
    device_code: 1120
    controller_data: remote.roditelska
    temperature_sensor: sensor.temperatura_roditelska_temperature
    humidity_sensor: sensor.temperatura_roditelska_humidity

https://github.com/smartHomeHub/SmartIR/files/12464005/mitsubishi-codes.json.txt

Good afternoon. Please help! I have a Galactic air conditioner, sort of like an analogue of Whirlpool. Controlled by remote control DG11J1-91. Please tell me if there is a device_code on it? If it is not there, tell me how can I make my own .json file??? Thank you.

I know it’s a long thread but if you can’t find a code file for your device, I’m pretty sure I posted an example a few years ago, further up this thread. Other people have as well. It’s pretty easy to create your own file.

Thank you. But I don’t understand how to do it. If you can give advice.

Have a look through the codes here and see if any of them list your device, or even one very similar which may work, or perhaps would be a good starting point to creating a new one.

Failing the above, take a code that is similar to your device as a starting point. This isn’t required but will make things easier as you will get to see the correct formatting.

In HA, go to the developer tools and then services. Select options as per this, but using your IR transceiver.


Press ‘call service’ and then using the AC’s original remote, press a button while aiming it at the IR IR transceiver. eg: press the on/off button.

HA should give you a notification where it will have the IR code for that button. You then need to copy that and put it in the JSON file in the line relevant to the on/off button.
eg:

Repeat the process for each button / function of the original remote.

i have a problen. the json file with al code its generate and mediaplayerentity is aviable on HA, but when i test command (developtools---->service) i recive the erro “command not found”

this the yaml

service: remote.send_command
data:
  command: "on"
  device: media_player.tv_cameretta_bimbi
  entity_id: remote.broadlinkletto_remote

this the json

{
    "manufacturer": "LG",
    "supportedModels": [
      "32letto"
    ],
    "supportedController": "Broadlink",
    "commandsEncoding": "Base64",
    "commands": {
        "off": "JgBgAAABI5AVEBUPFRAVEBUPFRAVEBUPFTQVNRU0FTQVNBU0FRAVNBU1FQ8VNBU1FQ8VEBUQFQ8VEBU0FRAVDxU0FTUVNBU0FQAFQgABKEcVAAxKAAEnRxUADEkAASdHFgANBQ==",
        "on": "JgBgAAABI5AVEBUPFRAVEBUPFRAVEBUPFTQVNRU0FTQVNBU0FRAVNBU1FQ8VNBU1FQ8VEBUQFQ8VEBU0FRAVDxU0FTUVNBU0FQAFQgABKEcVAAxKAAEnRxUADEkAASdHFgANBQ==",
        "previousChannel": "JgBQAAABIZMTERMSEhITEhMSEhITEhMSEjcSNxM2EzYTNxI3EhITNxI3EjcTEhI3EhITEhM2ExISEhMSEzYTEhM2EzYTEhM2EwAFRAABIkoSAA0F",
        "nextChannel": "JgBYAAABI5ETEhISExITEhISExITEhISEzYTNxI3EjcTNhM2ExITNhQREzYUERI3ExISEhM2FBETNhMSEjcTEhI3EzYTEhI3EwAFQgABJkkUAAxMAAEiShIADQU=",
        "volumeDown": "JgBQAAABIZIUERISFBETEhISExITEhMREzYTNxI3EjcTNhM2ExITNhM2EzcSEhMSExISEhM2ExITEhISEzYTNxI3EzYTEhI3EwAFQAABJkoSAA0F",
        "volumeUp": "JgBYAAABIpMTERMSExISEhMSEhITEhMSEjcSNxM2EzYTNxI3ExISNxISExITNhMSEhITEhM2ExITNhM2ExITNhM2EzcSEhM3EgAFQwABJkkTAAxKAAEmSRMADQU=",
        "mute": "JgBYAAABIZIUERMSEhITEhISExITEhISEzYTNxI3EjcTNhM2ExITNhMSEzYTNhM3EhITEhISExITNhMSEhMSEhM2EzcSNxI3EwAFRAABIkoSAAxHAAEmShIADQU=",
        "exit": "JgBgAAABIZIVEBMSEhITEhISExITEhISEzYTNxI3EzYTNhM2ExITNhMSExISNxI3EzYTEhI3ExISNxI3ExISEhMSEzYTEhI3EwAFSAABJ0kTAAxTAAEiShIADFQAASJJEwANBQ==",
        "sources": {
            "Input": "JgBYAAABKpIUERMSEzYUERQRFBETERQRFDYUNRQRFDYUNRQ2FDYTNhQ2FDUUERQ2FBEUERMRFBEUERQRFDUUERQ2FDYTNhQ2FAAFJQABKkgUAAxVAAEqSBQADQU==",
            "guide": "JgBYAAABIZIUERISExITEhISExITEhISEzYTNxI3EjcTNhM3EhITNhMSEzYTEhI3EzYTNhMSExISNxMSEjcSEhMSExISNxM2EwAFQgABJ0kTAAxKAAElSRMADQU=",
            "ch_list": "JgBYAAABIpIUERISExISEhMSExISEhMSEzYTNhM4ETcSNxM2ExISNxM2ExISEhMSExISNxMSEhITEhI3EzYTNhM3EhITNxI3EgAFQwABJkkTAAxKAAElSRMADQU=",
            "play_pause": "JgBYAAABIZMTERMSEhITEhMSEhITEhMSEjcSNxM2EzcSNxI3EhITNxISEzYTEhM2ExITEhI3EjcTNhMSEjcTEhI3EzYTEhISEwAFRgABJkkTAAxNAAElSRMADQU=",
            "menu": "JgBYAAABIpMTERMSEhITEhMSEhITEhMSEjcSNxM2EzYTNxI3EhITNxISExITNhMSEjcTEhISExISNxM2ExITNhMSEjcTNhM2EwAFSAABJEkTAAxOAAElSRMADQU=",
            "back": "JgBYAAABJJAVEBUQFBAUERQRExEUERMREzcSNxI3EzYTNhM3EhITNhMSExISEhM3EhITEhI3ExISNxM2EzYTEhM2FTQVEBQ1EwAFRgABJkkTAAxNAAEmSRMADQU=",
            "arrow_up": "JgBYAAABIpITEhISExISEhMSExISEhMSEzYTNhM3FDUSNxM2ExISNxMSEjcSNxMSEjcSEhMSExISNxMSEhITNhMSEzYTNxI3EgAFRgABJkoSAAxMAAEnSRMADQU=",
            "arrow_down": "JgBQAAABIpIUERISExITEhISExITEhISEzYTNxI3EjcTNhM2ExITNhM2EzcSNxMREzcSEhMSExISEhMSEhITNxISEzYTNxI3EwAFSQABI0kTAA0F",
            "arrow_left": "JgBQAAABIZMTERMSExISEhMSExISEhMSEjcTNhM2EzcSNxI3ExISNxI3ExISExI2EzcSEhMSExISEhM2EzcSEhMSEjcTNhM3EgAFRAABJkkTAA0F",
            "arrow_right": "JgBQAAABI5ETEhITEhITEhISExITEhISEzYTNxI3EjcTNhM2ExITNhMSExISEhM2EzcSEhMSEhITNxI3EzYTEhISEzcSNxI3EwAFQwABJ0kTAA0F",
            "ok": "JgBQAAABIpITERMSExISEhMSEhITEhMSEjcSNxM2EzYTNxI3EhITNxI3EhITNxISEzcSEhMSEhITEhM2ExISNxMSEjcTNhM2EwAFRAABJkkTAA0F",
            "home": "JgBQAAABIZMTERMSEhITEhMSEhITEhISEzcSNxM2EzYTNhM3EhITNxISExISEhMSExISNxMRExITNhM3EjcSNxM2ExISNxM2EwAFQgABJ0kTAA0F",
            "text": "JgBQAAABIZMTERMSEhITEhMSEhITEhISEzcSNxM2EzYTNxI3EhITNxI3EhITNxISExISEhM3EhITEhM2ExISNxM2EzYTEhM2EwAFRgABJkkTAA0F",
            "subtitle": "JgBYAAABIpIUERISExITEhISExISEhMSEzYTNxI3EjcTNhM2ExITNhM2EzcSNxM2EzYTEhMSEhITEhISExITEhISEzYTNxI3EwAFRQABJ0kTAAxNAAElSRMADQU=",
            "info": "JgBYAAABIZMTEhISExISEhMSExISEhMSEjcTNhM2EzcSNxI3ExISNxMSEhITNhM3EhITEhISExITNhM3EhITEhI3EzYTNhM3EgAFRgABJkoSAAxNAAEmSRMADQU=",
            "deezer": "JgBQAAABIZMTERMSEhITEhMSEhITEhISEzcSNxM2EzYTNhM3EhITNhMSEzYTNxISExISNxM2ExISNxMSEhITNhM3ExETEhM2EwAFRAABJkkTAA0F",
            "timvision": "JgBQAAABIZIUERISExITEhISExITEhISEzcTNhI3EzYTNhM2FBETNhMSEhITNxMRExITNhM2FBETNhQ1ExITNhM2ExITEhI3EwAFQwABKEgTAA0F",
            "chili": "JgBYAAABIZIUERISExITEhISExITEhISEzYTNxI3EjcTNhM2ExITNhQ1EzcSNxISExITEhISEzcSEhMSEhITNxI3EjcTNhMSEgAFRAABJkoSAAxLAAEmSRMADQU=",
            "netflix": "JgBQAAABIZIUERMSEhITEhISExITEhISEzcSNxI3EzYTNhM3EhITNhM3EhITNxI3EhITNxISExITEhI3EhITEhM2ExISNxM2EwAFQQABJkkTAA0F",
            "primevideo": "JgBYAAABIZIUERMSEhITEhISExITEhISEzYTNxI3EzYTNhM3EhITNhM3EjcTEhI3EjcTNhMSEjcTEhISEzcSEhMSEhMSNxISEwAFRwABJUoSAAxQAAEjShIADQU=",
            "youtube": "JgBQAAABIpITEhISExISEhMSExISEhMSEjcTNxI2EzcSNxM2ExISNxMSEjcSExI3EhITNxISEzYTNxISEzYTEhM2ExITNhMSEgAFRAABJ0kTAA0F",
            "rakuten": "JgBQAAABIZIUERMSEhITEhMSEhITEhISEzcSNxI3EzYTNhM3EhITNxI3EhITEhM2EzYTEhM2EzcSEhM2EzcSEhMSEjcTEhISEwAFRgABJkoSAA0F",
            "raiplay": "JgBQAAABIpITEhISExISEhMSExISEhMSEzYTNhM3EjcSNxM2ExITNhMSEjcTNhMSEhMSEhMSEjcTNhMSEhITNxI3EzYTNhMSEwAFRAABJkkTAA0F",
            "infinity": "JgBYAAABIpIUERISExITEhISExITERMSExISNxMSEjcSNxM2ExITNhMSEhITEhMSEhITEhMSEhITNhM3EjcTNhM2EzcSNxI3EwAFjQABJkoSAAxLAAEmSRMADQU=",
            "Channel 0": "JgBYAAABIZIUERMSEhITEhMSEhITEhISEzcSNxI3EzYTNhM3EhITNhMSExISEhMSExISEhMSEhITNxI3EjcTNhM2EzcSNxM2EwAFQgABJkoSAAxJAAEmShIADQU=",
            "Channel 1": "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
            "Channel 2": "JgBYAAABI5EVEBQQFRAUERQQFRAVEBMRFTQVNRQ1FDUVNBU0FRAVNBUQFTQVEBQQFRAVEBQQFRAVNBUQFDUVNBU0FTQVNRQ1FQAFPgABJ0gTAAxHAAEpRhYADQU=",
            "Channel 3": "JgBYAAABJJAUEBUQFQ8VEBUQFQ8VEBUPFTUVNBU0FTQVNBU1FQ8VNBY0FTQVEBUPFRAVDxUQFRAUEBUQFDUUNRQ2EzYSNxM2EwAFQAABKUcVAAxFAAEmSRMADQU=",
            "Channel 4": "JgBYAAABIpIUERISExITEhISExITEhISEzYTNxI3EjcTNhQ1ExITNhMSEhITNxISExITEhISExISNxM2ExISNxM2EzcSNxI3EwAFSQABJkkTAAxQAAEmSRMADQU=",
            "Channel 5": "JgBYAAABIpITERMSExISEhMSExISEhMSEjcTNhM2EzcSNxI3ExISNxI3ExISNxISExITEhISExITEhI3EhITNxI3EjcTNhM2EwAFSQABJkoSAAxRAAElSRMADQU=",
            "Channel 6": "JgBYAAABIZIUERMSEhITEhISExITEhISEzYTNxI3EzYTNhM3EhITNhMSEzYTNhMSExISEhMSExISNxISExITNhM2EzcSNxM2EwAFSQABJkoSAAxSAAEkSRMADQU=",
            "Channel 7": "JgBYAAABJJAVEBUPFRAVEBQQFRAVDxUQFTQVNBU1FDUVNBU0FRAVNBU0FTQVNRQQFRAVEBQQFRAVDxUQFRAUNRU0FTQVNBU1FQAFQwABKUYWAAxJAAEpRxUADQU=",
            "Channel 8": "JgBYAAABJJAVEBQQFRAUEBUQFRAUEBUQFTQVNBU1FDUUNRM2ExISNxMSEhITEhI3ExISEhMSExISNxI3EzcSEhI3EzYTNhM3EgAFRgABJkkTAAxMAAEmShIADQU=",
            "Channel 9": "JgBYAAABIZIUERISExISEhMSExISEhMSEzYTNhM3EjcSNxM2ExISNxM2ExISEhM3EhITEhMSEhITEhI3EzYTEhM2EzYTNxI3EgAFRgABJkoSAAxMAAEmSRMADQU=",
            "Channel 10": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABIZIUERMSEhITEhMSEhITEhISEzcSNxI3EzYTNhM3EhITNhMSExISEhMSExISEhMSEhITNxI3EjcTNhM2EzcSNxM2EwAFQgABJkoSAAxJAAEmShIADQU="
            ],
            "Channel 11": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU="
            ],
            "Channel 12": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABI5EVEBQQFRAUERQQFRAVEBMRFTQVNRQ1FDUVNBU0FRAVNBUQFTQVEBQQFRAVEBQQFRAVNBUQFDUVNBU0FTQVNRQ1FQAFPgABJ0gTAAxHAAEpRhYADQU="
            ],
            "Channel 13": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABJJAUEBUQFQ8VEBUQFQ8VEBUPFTUVNBU0FTQVNBU1FQ8VNBY0FTQVEBUPFRAVDxUQFRAUEBUQFDUUNRQ2EzYSNxM2EwAFQAABKUcVAAxFAAEmSRMADQU="
            ],
            "Channel 14": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABIpIUERISExITEhISExITEhISEzYTNxI3EjcTNhQ1ExITNhMSEhITNxISExITEhISExISNxM2ExISNxM2EzcSNxI3EwAFSQABJkkTAAxQAAEmSRMADQU="
            ],
            "Channel 15": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABIpITERMSExISEhMSExISEhMSEjcTNhM2EzcSNxI3ExISNxI3ExISNxISExITEhISExITEhI3EhITNxI3EjcTNhM2EwAFSQABJkoSAAxRAAElSRMADQU="
            ],
            "Channel 16": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABIZIUERMSEhITEhISExITEhISEzYTNxI3EzYTNhM3EhITNhMSEzYTNhMSExISEhMSExISNxISExITNhM2EzcSNxM2EwAFSQABJkoSAAxSAAEkSRMADQU="
            ],
            "Channel 17": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABJJAVEBUPFRAVEBQQFRAVDxUQFTQVNBU1FDUVNBU0FRAVNBU0FTQVNRQQFRAVEBQQFRAVDxUQFRAUNRU0FTQVNBU1FQAFQwABKUYWAAxJAAEpRxUADQU="
            ],
            "Channel 18": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABJJAVEBQQFRAUEBUQFRAUEBUQFTQVNBU1FDUUNRM2ExISNxMSEhITEhI3ExISEhMSExISNxI3EzcSEhI3EzYTNhM3EgAFRgABJkkTAAxMAAEmShIADQU="
            ],
            "Channel 19": [
                "JgBYAAABJpIUERQQFDYUERMRFBEUERMRFDYUNRQRFDUUNhM2FDUUNhQ1FBEUERMRFDYTERQRFBEUERM2FDUUNhMRFDYUNRQ2EwAFIgABJ0oTAAxNAAEnShQADQU=",
                "JgBYAAABIZIUERISExISEhMSExISEhMSEzYTNhM3EjcSNxM2ExISNxM2ExISEhM3EhITEhMSEhITEhI3EzYTEhM2EzYTNxI3EgAFRgABJkoSAAxMAAEmSRMADQU="
            ]
        }
    }
}

image