Climate_IP - ClimateDevice for IP based units (not only Samsung AC)

Hello, thank you for taking the time to do the project, what hassio been working on? Is 0.96 the last one?

Hello I 'have tryed the script for my samsung ar7000 AC (2878 port model)
I have on my configuration.yaml file insert only this:

#For old generation units:

  • platform: climate_ip
    config_file: ‘samsung_2878.yaml’
    ip_address: ‘192.168.1.213’
    token: ‘token’
    cert: ‘ac14k_m.pem’ #set as ‘’ to skip certificate verification
    mac: ‘F8:04:2E:1F:86:75’

after test HA configuration file there is this error:
/home/homeassistant/.homeassistant/configuration.yaml: The configuration file configuration.yaml does not contain a dictionary

than how I can get my token ?

@skky88 Hi I see your configuration, I can copy everything to the configuration.yaml file?

@SebuZet only one think, for automation what is the correrect script for start AC in heat mode?

@SebuZet
phew, ok. I managed to get my token finally with the help of this. I am using MIM-H02 wifi kit and it uses 2878.

But I am still not managed to make it work in HA. getting ssl errors.

Traceback (most recent call last):
File “/config/custom_components/climate_ip/samsung_2878.py”, line 189, in send_socket_command
sslSocket = self.socket
File “/config/custom_components/climate_ip/samsung_2878.py”, line 245, in socket
self.create_connection()
File “/config/custom_components/climate_ip/samsung_2878.py”, line 234, in create_connection
sslSocket.connect((cfg.host, cfg.port))
File “/usr/local/lib/python3.7/ssl.py”, line 1172, in connect
self._real_connect(addr, False)
File “/usr/local/lib/python3.7/ssl.py”, line 1163, in _real_connect
self.do_handshake()
File “/usr/local/lib/python3.7/ssl.py”, line 1139, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

I think I am very close. could you help me please. Thanks.

edit: also it is crashing entire HA after few minutes.
edit2: commented out the cert line now it is showing below error.

2019-10-24 10:36:20 ERROR (MainThread) [custom_components.climate_ip.climate] Sending command failed
2019-10-24 10:36:20 ERROR (MainThread) [custom_components.climate_ip.climate] Traceback (most recent call last):
File “/config/custom_components/climate_ip/samsung_2878.py”, line 189, in send_socket_command
sslSocket = self.socket
File “/config/custom_components/climate_ip/samsung_2878.py”, line 245, in socket
self.create_connection()
File “/config/custom_components/climate_ip/samsung_2878.py”, line 234, in create_connection
sslSocket.connect((cfg.host, cfg.port))
File “/usr/local/lib/python3.7/ssl.py”, line 1172, in connect
self._real_connect(addr, False)
File “/usr/local/lib/python3.7/ssl.py”, line 1163, in _real_connect
self.do_handshake()
File “/usr/local/lib/python3.7/ssl.py”, line 1139, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

EDIT3: its the same error with or without cert line. strange. Also both are crashing HA after few minutes. Any idea why? Thanks.

EDIT4: stupid me. I should not comment cert line. rather i should say cert: ’ ’
now its working. awesome.yayyyy.

Hi SebuZet,
you component works very well, thanks.

I’m trying to enable also the switches in the UI (like “purify” or “auto_clean”) but I can’t see them.
I see only widget of type “modes” (like “special”, “fun”).
Into climate state I see them (ie: “auto_clean: off”) but not in the UI.

Any hint?
Thanks
tode

Successful configuration to work with the MIM-H02 gateway for older Samsung models. (port 2878) in my case:

climate:

  • platform: ‘climate_ip’
    config_file: ‘samsung_2878.yaml’
    ip_address: ‘192.168.0.103’
    token: ‘04167757-9775-m633-123373832354’
    cert: ‘’
    mac: ‘78:11:AD:12:55:3F’

I have a problem with the temperature unit, it marks me 72 celsius, when it really is 22 … there is something that doesn’t work well for my machine, but I don’t know if it is something of my air conditioner. I’m going to investigate it.

Thank you all!

@tode I’m not using HA anymore. I can try Instal it and check hot to do this but after weekend.

@vcnt this is not a bug. Your device is reporting this temp in Fahrenheit. I don’t use HA anymore so I cannot help you right know but please look for solution on this forum. It can be changed in yaml configuration file. Someone has similar issue so the solution is here - you just need to find it :wink:

This is a bad news… Who will maintain the package and the git repository?

Sure, I can wait. You are very kind,
tode

After updating to last version of HA (0.102), the climate_ip component is giving this error:

2019-11-21 19:32:14 ERROR (MainThread) [homeassistant.components.hassio] Platform error climate.climate_ip - cannot import name 'ATTR_HVAC_ACTIONS' from 'homeassistant.components.climate' (/usr/src/homeassistant/homeassistant/components/climate/__init__.py)

In addition, wherever the cause the units on different rooms lose the WiFi connection, the component start giving a lot of errors and the CPU is at 100%, impacting on the rest of services. I need to restart.

@Patrul I had the same issue. the below actions fixed my issue.

on /config/custom_componenets/climate_ip/climate.py file

  1. near line 25, remove “ATTR_HVAC_ACTIONS” and its preceding comma
  2. near line 251, commnet/delete the below 3 lines
    @property
    def hvac_action(self):
    return self.rac.get_property(ATTR_HVAC_ACTIONS)
  3. re-start HA
2 Likes

Thanks @cpuram !! It works

I have another question, sometimes the units have lost the connection and the log shows:

2019-11-22 08:53:52 ERROR (MainThread) [custom_components.climate_ip.climate] Traceback (most recent call last):
  File "/config/custom_components/climate_ip/samsung_2878.py", line 189, in send_socket_command
    sslSocket = self.socket
  File "/config/custom_components/climate_ip/samsung_2878.py", line 245, in socket
    self.create_connection()
  File "/config/custom_components/climate_ip/samsung_2878.py", line 234, in create_connection
    sslSocket.connect((cfg.host, cfg.port))
  File "/usr/local/lib/python3.7/ssl.py", line 1172, in connect
    self._real_connect(addr, False)
  File "/usr/local/lib/python3.7/ssl.py", line 1159, in _real_connect
    super().connect(addr)
OSError: [Errno 113] Host is unreachable

When this happens, the CPU is almost full dedicated to python process and blocks the rest. Is there any way to control and mitigate the impact on system performance? For examplo, ping unit and when 5 time no answer, deactivate climate_ip component?

@Patrul please share your config

if I have to guess, I would say WIFI issue. looks like the wifi signal is weak.

Hi

Will this work for a Samsung central AC? I have the Wifi MIM-H02 contoller (not the slightly newer mim-ho3)

Yes, you should use the 2878 config

thats awesome!!

Is there a guide anywhere for dummies

I think i got some of it worked out

  1. from a linux machine (ill run up a vm) use python and the scripts to get token

  2. download the files, upload them to hass, but here is where im lost, where do i put them and how do i get it exposed?

EDIT:

Im stuck.

Traceback (most recent call last):
  File "actest.py", line 4, in <module>
    resp = s.post("https://172.25.0.9:8888/devicetoken/request", data={"DeviceToken":"xxxxxxxxxxx"}, headers=headers, stream=True, verify=False, cert='cert.pem')
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 567, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 520, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 630, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 508, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='172.25.0.9', port=8888): Max retries exceeded with url: /devicetoken/request (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f14e235c470>: Failed to establish a new connection: [Errno 111] Connection refused',))

I doesn’t have much experience in this kind of thinks… but I got my token, installing home bridge, and after that, running this plugin. https://www.npmjs.com/package/homebridge-plugin-samsung-air-conditioner

about the files, I installed them in home/homeassistant/.homeassistant/custom_components/climate_ip

thanks heaps

do i need to install homebridge on a new vm say or can i install it on my hassio rpi

I done it in a new one… I didn’t know if it will works over hassio