Samsung AC

I’m having a bit of trouble extracting the token on port 8888. I launch the actest file and I get nothing, if I connect to the address http://192.168.0.13:8888/ I see error 400 bad request

Climate Ip slows down home assistant and makes it unstable.
has anyone found other solutions for ac samsung with port 2878?

Hi everyone,
I have HA 0.112.3 core on a CentOS 7 environment with Python 3.8.

I installed “climate_ip” custom component from the latest version by @atxbyea from GitHub - atxbyea/samsungrac: Home Assistant Climate Device for controlling (not only) Samsung AC to configure Samsung MIM-H03.
In the SmartThings application I see the 2 indoor units and I can manage them.
I would like to proceed with the integration with HA but, although following all the steps described in the README, I receive this error

2020-07-07 01:58:08 ERROR (MainThread) [custom_components.climate_ip.climate] climate_ip: error while creating controller!
2020-07-07 01:58:09 ERROR (MainThread) [homeassistant.components.climate] Error while setting up climate_ip platform for climate

Can you help me understand?
Thank you all.

2020-07-07 01:58:07 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for climate_ip which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] climate_ip: async setup platform
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] Loading configuration file: /home/homeassistant/.homeassistant/custom_components/climate_ip/mim-h03_heatpump.yaml
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] ip_address: 192.168.10.101
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] token: q3z7fpoh50
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] Validate properties: False (False)
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] Updating state…
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] Updating getter…
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] Checking execute condition
2020-07-07 01:58:07 WARNING (MainThread) [custom_components.climate_ip.climate] Execute condition not found, executing
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] Executing command…
2020-07-07 01:58:07 INFO (MainThread) [custom_components.climate_ip.climate] {‘timeout’: 5, ‘cert’: ‘/home/homeassistant/.homeassistant/custom_components/climate_ip/ac14k_m.pem’, ‘verify’: False, ‘headers’: {‘Authorization’: ‘Bearer q3z7fpoh50’, ‘Content-Type’: ‘application/json’}, ‘method’: ‘GET’, ‘url’: ‘https : // 192.168.10.101:8888/devices’}
2020-07-07 01:58:08 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for climate_ip doing I/O at custom_components/climate_ip/connection_request.py, line 89: resp = session.request(**self._params)
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Command executed with code: 200, text: {“Devices”:[{“ConfigurationLink”:{“href”:“/devices/0/configuration”},“InformationLink”:{“href”:“/devices/0/information”},“Operation”:{“dhwPower”:“Off”,“power”:“On”,“ventilationPower”:“Off”},“Temperatures”:[{“desired”:0,“id”:“0”,“increment”:1,“unit”:“Celsius”}],“description”:“DisableTempIncrement”,“id”:“0”,“name”:“Wifi-kit”,“resources”:[“Alarms”,“Operation”,“Temperatures”,“Information”,“Configuration”],“type”:“Air_Conditioner”,“uuid”:“702C1F80-C05D-0000-0000-000000000000”},{“Alarms”:[{“alarmType”:“Device”,“code”:“0”,“id”:“0”,“triggeredTime”:“2020-07-07T01:57:47”}],“ConfigurationLink”:{“href”:“/devices/032001000/configuration”},“InformationLink”:{“href”:“/devices/032001000/information”},“Mode”:{“modes”:[“Opmode_Dry”],“options”:[“Volume_100”],“supportedModes”:[“Opmode_Auto”,“Opmode_Cool”,“Opmode_Dry”,“Opmode_Fan”,“Opmode_Heat”]},“Operation”:{“power”:“Off”},“Temperatures”:[{“current”:25,“desired”:25,“id”:“0”,“increment”:1,“maximum”:30,“minimum”:18,“name”:“INDOOR”,“unit”:“Celsius”}],“Wind”:{“direction”:“Fix”,“speedLevel”:0,“supportedWindModes”:[“0”,“Up_And_Low”,“Fix”]},“description”:“RAC”,“id”:“032001000”,“name”:“AC Soggiorno”,“resources”:[“Operation”,“Wind”,“Mode”,“Temperatures”,“Information”,“Configuration”,“Alarms”],“type”:“Air_Conditioner”,“uuid”:“464bcf9f-dc9a-4ff5-a067-d507950afe0b”},{“Alarms”:[{“alarmType”:“Device”,“code”:“0”,“id”:“0”,“triggeredTime”:“2020-07-07T01:57:47”}],“ConfigurationLink”:{“href”:“/devices/032001001/configuration”},“InformationLink”:{“href”:“/devices/032001001/information”},“Mode”:{“modes”:[“Opmode_Dry”],“options”:[“Volume_100”],“supportedModes”:[“Opmode_Auto”,“Opmode_Cool”,“Opmode_Dry”,“Opmode_Fan”,“Opmode_Heat”]},“Operation”:{“power”:“On”},“Temperatures”:[{“current”:23,“desired”:20,“id”:“0”,“increment”:1,“maximum”:30,“minimum”:18,“name”:“INDOOR”,“unit”:“Celsius”}],“Wind”:{“direction”:“Fix”,“speedLevel”:0,“supportedWindModes”:[“0”,“Up_And_Low”,“Fix”]},“description”:“RAC”,“id”:“032001001”,“name”:“AC Camera Matrimoniale”,“resources”:[“Operation”,“Wind”,“Mode”,“Temperatures”,“Information”,“Configuration”,“Alarms”],“type”:“Air_Conditioner”,“uuid”:“d8a74d11-be50-4c3e-92f9-cc6d9944ff7d”}]}

2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Getter updated with value: {‘Alarms’: [{‘alarmType’: ‘Device’, ‘code’: ‘0’, ‘id’: ‘0’, ‘triggeredTime’: ‘2020-07-07T01:57:47’}], ‘ConfigurationLink’: {‘href’: ‘/devices/032001000/configuration’}, ‘InformationLink’: {‘href’: ‘/devices/032001000/information’}, ‘Mode’: {‘modes’: [‘Opmode_Dry’], ‘options’: [‘Volume_100’], ‘supportedModes’: [‘Opmode_Auto’, ‘Opmode_Cool’, ‘Opmode_Dry’, ‘Opmode_Fan’, ‘Opmode_Heat’]}, ‘Operation’: {‘power’: ‘Off’}, ‘Temperatures’: [{‘current’: 25, ‘desired’: 25, ‘id’: ‘0’, ‘increment’: 1, ‘maximum’: 30, ‘minimum’: 18, ‘name’: ‘INDOOR’, ‘unit’: ‘Celsius’}], ‘Wind’: {‘direction’: ‘Fix’, ‘speedLevel’: 0, ‘supportedWindModes’: [‘0’, ‘Up_And_Low’, ‘Fix’]}, ‘description’: ‘RAC’, ‘id’: ‘032001000’, ‘name’: ‘AC Soggiorno’, ‘resources’: [‘Operation’, ‘Wind’, ‘Mode’, ‘Temperatures’, ‘Information’, ‘Configuration’, ‘Alarms’], ‘type’: ‘Air_Conditioner’, ‘uuid’: ‘464bcf9f-dc9a-4ff5-a067-d507950afe0b’}
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Updating operations…
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Updating properties…
2020-07-07 01:58:08 ERROR (MainThread) [custom_components.climate_ip.climate] climate_ip: error while creating controller!
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] climate_ip: async setup platform
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Loading configuration file: /home/homeassistant/.homeassistant/custom_components/climate_ip/mim-h03_heatpump.yaml
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] ip_address: 192.168.10.101
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] token: q3z7fpoh50
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Validate properties: False (False)
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Updating state…
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Updating getter…
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Checking execute condition
2020-07-07 01:58:08 WARNING (MainThread) [custom_components.climate_ip.climate] Execute condition not found, executing
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Executing command…
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] {‘timeout’: 5, ‘cert’: ‘/home/homeassistant/.homeassistant/custom_components/climate_ip/ac14k_m.pem’, ‘verify’: False, ‘headers’: {‘Authorization’: ‘Bearer q3z7fpoh50’, ‘Content-Type’: ‘application/json’}, ‘method’: ‘GET’, ‘url’: ‘https : // 192.168.10.101:8888/devices’}
2020-07-07 01:58:08 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for climate_ip doing I/O at custom_components/climate_ip/connection_request.py, line 89: resp = session.request(**self._params)
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Command executed with code: 200, text: {“Devices”:[{“ConfigurationLink”:{“href”:“/devices/0/configuration”},“InformationLink”:{“href”:“/devices/0/information”},“Operation”:{“dhwPower”:“Off”,“power”:“On”,“ventilationPower”:“Off”},“Temperatures”:[{“desired”:0,“id”:“0”,“increment”:1,“unit”:“Celsius”}],“description”:“DisableTempIncrement”,“id”:“0”,“name”:“Wifi-kit”,“resources”:[“Alarms”,“Operation”,“Temperatures”,“Information”,“Configuration”],“type”:“Air_Conditioner”,“uuid”:“702C1F80-C05D-0000-0000-000000000000”},{“Alarms”:[{“alarmType”:“Device”,“code”:“0”,“id”:“0”,“triggeredTime”:“2020-07-07T01:57:47”}],“ConfigurationLink”:{“href”:“/devices/032001000/configuration”},“InformationLink”:{“href”:“/devices/032001000/information”},“Mode”:{“modes”:[“Opmode_Dry”],“options”:[“Volume_100”],“supportedModes”:[“Opmode_Auto”,“Opmode_Cool”,“Opmode_Dry”,“Opmode_Fan”,“Opmode_Heat”]},“Operation”:{“power”:“Off”},“Temperatures”:[{“current”:25,“desired”:25,“id”:“0”,“increment”:1,“maximum”:30,“minimum”:18,“name”:“INDOOR”,“unit”:“Celsius”}],“Wind”:{“direction”:“Fix”,“speedLevel”:0,“supportedWindModes”:[“0”,“Up_And_Low”,“Fix”]},“description”:“RAC”,“id”:“032001000”,“name”:“AC Soggiorno”,“resources”:[“Operation”,“Wind”,“Mode”,“Temperatures”,“Information”,“Configuration”,“Alarms”],“type”:“Air_Conditioner”,“uuid”:“464bcf9f-dc9a-4ff5-a067-d507950afe0b”},{“Alarms”:[{“alarmType”:“Device”,“code”:“0”,“id”:“0”,“triggeredTime”:“2020-07-07T01:57:47”}],“ConfigurationLink”:{“href”:“/devices/032001001/configuration”},“InformationLink”:{“href”:“/devices/032001001/information”},“Mode”:{“modes”:[“Opmode_Dry”],“options”:[“Volume_100”],“supportedModes”:[“Opmode_Auto”,“Opmode_Cool”,“Opmode_Dry”,“Opmode_Fan”,“Opmode_Heat”]},“Operation”:{“power”:“On”},“Temperatures”:[{“current”:23,“desired”:20,“id”:“0”,“increment”:1,“maximum”:30,“minimum”:18,“name”:“INDOOR”,“unit”:“Celsius”}],“Wind”:{“direction”:“Fix”,“speedLevel”:0,“supportedWindModes”:[“0”,“Up_And_Low”,“Fix”]},“description”:“RAC”,“id”:“032001001”,“name”:“AC Camera Matrimoniale”,“resources”:[“Operation”,“Wind”,“Mode”,“Temperatures”,“Information”,“Configuration”,“Alarms”],“type”:“Air_Conditioner”,“uuid”:“d8a74d11-be50-4c3e-92f9-cc6d9944ff7d”}]}

2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Getter updated with value: {‘Alarms’: [{‘alarmType’: ‘Device’, ‘code’: ‘0’, ‘id’: ‘0’, ‘triggeredTime’: ‘2020-07-07T01:57:47’}], ‘ConfigurationLink’: {‘href’: ‘/devices/032001000/configuration’}, ‘InformationLink’: {‘href’: ‘/devices/032001000/information’}, ‘Mode’: {‘modes’: [‘Opmode_Dry’], ‘options’: [‘Volume_100’], ‘supportedModes’: [‘Opmode_Auto’, ‘Opmode_Cool’, ‘Opmode_Dry’, ‘Opmode_Fan’, ‘Opmode_Heat’]}, ‘Operation’: {‘power’: ‘Off’}, ‘Temperatures’: [{‘current’: 25, ‘desired’: 25, ‘id’: ‘0’, ‘increment’: 1, ‘maximum’: 30, ‘minimum’: 18, ‘name’: ‘INDOOR’, ‘unit’: ‘Celsius’}], ‘Wind’: {‘direction’: ‘Fix’, ‘speedLevel’: 0, ‘supportedWindModes’: [‘0’, ‘Up_And_Low’, ‘Fix’]}, ‘description’: ‘RAC’, ‘id’: ‘032001000’, ‘name’: ‘AC Soggiorno’, ‘resources’: [‘Operation’, ‘Wind’, ‘Mode’, ‘Temperatures’, ‘Information’, ‘Configuration’, ‘Alarms’], ‘type’: ‘Air_Conditioner’, ‘uuid’: ‘464bcf9f-dc9a-4ff5-a067-d507950afe0b’}
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Updating operations…
2020-07-07 01:58:08 INFO (MainThread) [custom_components.climate_ip.climate] Updating properties…
2020-07-07 01:58:08 ERROR (MainThread) [custom_components.climate_ip.climate] climate_ip: error while creating controller!
2020-07-07 01:58:09 ERROR (MainThread) [homeassistant.components.climate] Error while setting up climate_ip platform for climate
Traceback (most recent call last):
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity_platform.py”, line 178, in _async_setup_platform
await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
File “/usr/local/lib/python3.8/asyncio/tasks.py”, line 483, in wait_for
return fut.result()
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/climate.py”, line 97, in async_setup_platform
device_controller = create_controller(config.get(CONF_CONTROLLER), config, _LOGGER)
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/controller.py”, line 68, in create_controller
if c.initialize():
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/controller_yaml.py”, line 154, in initialize
self.update_state()
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/controller_yaml.py”, line 209, in update_state
prop.update_state(device_state, debug)
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/properties.py”, line 143, in update_state
v = self.status_template.render(device_state=device_state)
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/jinja2/environment.py”, line 1090, in render
self.environment.handle_exception()
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/jinja2/environment.py”, line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/jinja2/_compat.py”, line 28, in reraise
raise value.with_traceback(tb)
File “”, line 1, in top-level template code
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/jinja2/environment.py”, line 471, in getattr
return getattr(obj, attribute)
jinja2.exceptions.UndefinedError: list object has no element 2
2020-07-07 01:58:09 ERROR (MainThread) [homeassistant.components.climate] Error while setting up climate_ip platform for climate
Traceback (most recent call last):
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity_platform.py”, line 178, in _async_setup_platform
await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
File “/usr/local/lib/python3.8/asyncio/tasks.py”, line 483, in wait_for
return fut.result()
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/climate.py”, line 97, in async_setup_platform
device_controller = create_controller(config.get(CONF_CONTROLLER), config, _LOGGER)
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/controller.py”, line 68, in create_controller
if c.initialize():
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/controller_yaml.py”, line 154, in initialize
self.update_state()
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/controller_yaml.py”, line 209, in update_state
prop.update_state(device_state, debug)
File “/home/homeassistant/.homeassistant/custom_components/climate_ip/properties.py”, line 143, in update_state
v = self.status_template.render(device_state=device_state)
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/jinja2/environment.py”, line 1090, in render
self.environment.handle_exception()
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/jinja2/environment.py”, line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/jinja2/_compat.py”, line 28, in reraise
raise value.with_traceback(tb)
File “”, line 1, in top-level template code
File “/home/homeassistant/homeassistant/lib/python3.8/site-packages/jinja2/environment.py”, line 471, in getattr
return getattr(obj, attribute)
jinja2.exceptions.UndefinedError: list object has no element 2

Hello but where should be copied the file hacs.json

@property
    def current_temperature(self):
        return (self.rac.get_property(ATTR_CURRENT_TEMPERATURE)-55)

Thank you for this, now it is reporting exactly the same as the Samsung app!

2 Likes

Hi guys i try to get token from my ac but when a start actest.py its show me this result
traceback (most recent call last):
file “C:\1\actest.py”, line 1, in
import requests
modulenotfoundError: No module named ‘requests’
pls help me

Hy, i managed to see one device in my HA, but how can i add the second one, can you post what i need to configure? I’m with old 2787 unit! My configuration.yxml is now:

climate:
platform: climate_ip
config_file: ‘/config/custom_components/climate_ip/samsung_2878F.yaml’
ip_address: …
token: …
mac: …
name: ‘AC BedRoom’
poll: True
debug: true

platform: climate_ip
config_file: ‘/config/custom_components/climate_ip/samsung_2878.yaml’
ip_address: …
token: …
mac: …
name: ‘AC Living Room’
poll: True
debug: true

Peter, your post was instrumental and I got my 5 tokens. Thank you so much ! :grinning:

Hi Petro,
Same issue. Did you find a solution in the end ?
Jens

Sadly nop, I hopped that anyone here did, so we wait but I think this is obsolete…

@petro_ionut

I wasn’t able to see any device at the moment in HA till now.
I have a few questions :

  • Where did see the first device ?
  • Why do you have 2 different .yaml files ?
  • You put the full path. Why did you do this ?
  • Why didn’t you add the cert line ?

This is mine :
climate:
platform: climate_ip
config_file: ‘samsung_2878.yaml’
ip_address:
token:
cert: ‘ac14k_m.pem’ #set as ‘’
mac:
name: ‘AC Office’
poll: True
debug: true

I’m able to see them in HomeBridge but i’m not able to change the temperature. Just can put on/off.
thanks,
Jens

  1. I have seen it in entities first
  2. Yes 2 different 2787 yaml’s, each with different setting corresponding AC
  3. Yes full path
  4. Because it is the newer version of plugin!

This is my only one configuration.yaml

climate:

platform: climate_ip
config_file: ‘/config/custom_components/climate_ip/samsungroom.yaml’
ip_address: 192.168.1.219
token:
mac:
name: ‘AC Bedroom’
poll: True
debug: true

platform: climate_ip
config_file: ‘/config/custom_components/climate_ip/samsungliving.yaml’
ip_address: 192.168.1.103
token:
mac:
name: ‘AC Living Room’
debug: true

Configure a default setup of Home Assistant (frontend, api, etc)

default_config:

Text to speech

tts:

  • platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

Hi Petro,

Where did you read that you don’t need the cert anymore ? I have 6 A/Cs and don’t see any of them.
Why did you change the file for each of the devices. Based on what i’ve read, this isn’t necessary anymore since you cover it with putting a name. Or am I missing something ?

Regards,
Jens

I have tried to create samsung_2787.yaml for each device, and without cert file i see my device in HA!

Petro,

In your YAML file you need to write like the following to get more then one A/C :grinning:

climate:

  • platform: climate_ip
    config_file: ‘samsung_2878.yaml’
    ip_address:
    token:
    cert: ‘ac14k_m.pem’ #set as ‘’
    mac:
    name:
    poll: True
    debug: true

  • platform: climate_ip
    config_file: ‘samsung_2878.yaml’
    ip_address:
    token:
    cert: ‘ac14k_m.pem’ #set as ‘’
    mac:
    name:
    poll: True
    debug: true

I tried it and I see my 6 A/Cs but now I have a problem with the performance of HA. Not sure we need poll and debug nor based on your threat cert.

Thanks, but…

for me doesen’t show any device, running latest HA stable from Docker, only in the configuration i left in the first message.

Hi Petro,

I’ve just finished adding all my A/Cs. The cert was necessary else my system crashed. Please note the you need to have
climate :

  • platform
  • platform

else for me it wouldn’t work. In your config, I don’t see any -

Now i was able to see of the devices.

PS : running a virtualbox ubuntu vmdk on windows.

Regards,
Jens

@SebuZet our tool is great. That said I have 6 A/Cs (port 2878) which will become 7 by the end of the month.

My observation is that after 5, Home Assistant isn’t able to handle it any more !

I’ve seen our interchange with @psadeazevedo but this was related to a port 8888 machine. Can you please advise what to do ?

@petro_ionut
@peterbuga

I found an alternative for this custom code which looks interesting but no clue how to begin.

@Patrul @wifi75
Were you able to progress in the end ?