Samsung Air Conditioner

check the error message. If I set 1 it works, but anything higher gives the error message you see below.

Got it. Fixed. Please update component to latest version.

properties.py updated and now works fine :wink: Thank you!
Where can I edit the content of this card? I would like to had stuff like the special_mode, beep etc:

Hello @SebuZet!! I’m trying to configure this AC feature, but when i try to get the TOKEN, as you teach, i got an error on the actest.py script… Can you help me, please?!

Traceback (most recent call last):
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connection.py”, line 159, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/util/connection.py”, line 80, in create_connection
raise err
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/util/connection.py”, line 70, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 600, in urlopen
chunked=chunked)
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 343, in _make_request
self._validate_conn(conn)
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 839, in _validate_conn
conn.connect()
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connection.py”, line 301, in connect
conn = self._new_conn()
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connection.py”, line 168, in _new_conn
self, “Failed to establish a new connection: %s” % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x106acaf60>: Failed to establish a new connection: [Errno 61] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests/adapters.py”, line 449, in send
timeout=timeout
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/urllib3/util/retry.py”, line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=‘192.168.86.97’, port=8888): Max retries exceeded with url: /devicetoken/request (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x106acaf60>: Failed to establish a new connection: [Errno 61] Connection refused’))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “actest.py”, line 4, in
resp = s.post(“https://192.168.86.97:8888/devicetoken/request”, data={“DeviceToken”:“xxxxxxxxxxx”}, headers=headers, stream=True, verify=False, cert=‘cert.pem’)
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests/sessions.py”, line 581, in post
return self.request(‘POST’, url, data=data, json=json, **kwargs)
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests/sessions.py”, line 533, in request
resp = self.send(prep, **send_kwargs)
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests/sessions.py”, line 646, in send
r = adapter.send(request, **kwargs)
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests/adapters.py”, line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘192.168.86.97’, port=8888): Max retries exceeded with url: /devicetoken/request (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x106acaf60>: Failed to establish a new connection: [Errno 61] Connection refused’))

Hello @SebuZet!

I’m trying to configure but when i try to get the TOKEN got an error on the actest.py script.
Probably my AC is running on port 2878 so I’ve modified actest.py with IP adress and port 2878 but I’ve this error.

Can you help me, please?!

C:\Users\l.sartori\Desktop#SAMSUNG_AC>py actest.py
C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
Traceback (most recent call last):
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py”, line 603, in urlopen
chunked=chunked)
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py”, line 387, in _make_request
six.raise_from(e, None)
File “”, line 2, in raise_from
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py”, line 383, in _make_request
httplib_response = conn.getresponse()
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\http\client.py”, line 1321, in getresponse
response.begin()
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\http\client.py”, line 296, in begin
version, status, reason = self._read_status()
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\http\client.py”, line 278, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: DPLUG-1.6

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py”, line 449, in send
timeout=timeout
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py”, line 641, in urlopen
_stacktrace=sys.exc_info()[2])
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\retry.py”, line 368, in increment
raise six.reraise(type(error), error, _stacktrace)
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\packages\six.py”, line 685, in reraise
raise value.with_traceback(tb)
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py”, line 603, in urlopen
chunked=chunked)
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py”, line 387, in _make_request
six.raise_from(e, None)
File “”, line 2, in raise_from
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py”, line 383, in _make_request
httplib_response = conn.getresponse()
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\http\client.py”, line 1321, in getresponse
response.begin()
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\http\client.py”, line 296, in begin
version, status, reason = self._read_status()
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\http\client.py”, line 278, in _read_status
raise BadStatusLine(line)
urllib3.exceptions.ProtocolError: (‘Connection aborted.’, BadStatusLine(‘DPLUG-1.6\r\n’))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “actest.py”, line 4, in
resp = s.post(“https://192.168.178.101:2878/devicetoken/request”, data={“DeviceToken”:“xxxxxxxxxxx”}, headers=headers, stream=True, verify=False, cert=‘cert.pem’)
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py”, line 581, in post
return self.request(‘POST’, url, data=data, json=json, **kwargs)
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py”, line 533, in request
resp = self.send(prep, **send_kwargs)
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py”, line 646, in send
r = adapter.send(request, **kwargs)
File “C:\Users\l.sartori\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py”, line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: (‘Connection aborted.’, BadStatusLine(‘DPLUG-1.6\r\n’))

Hi @l.sartori,
I don’t have device working on port 2878 so I really cannot help you. Other people was using acdc tool to get token.

@rodrigowa
Those scripts was not created by me. I’ve just used them. You can try to ask in this thread. There is a lot of experienced people.

I followed instructions but when i run actest.py i get that error:

actest.py
Traceback (most recent call last):
File “C:\temp\actest.py”, line 1, in
import requests
ModuleNotFoundError: No module named ‘requests’

Can you help me please? i cant find my Token

Hello @SebuZet!
I’m trying to install your module on a Hass running inside a docker, and it’s complaining that it can’t find xmljson 0.2.0. Looking in home-assistant source, I see that indeed xmljson is not listed. Is it something that should be done?
Otherwise, I guess my only option at the moment is to build my own docker off the official one with the xmljson… or am I missing something?
Also, do you have plans to integrate into home-assistant upstream?

Thanks,
– Sasha

And yes, with my own forked docker image, I got it to work, but would be much better if it worked from the official image.

I’m trying to connect this to my new Samsung Windfree AC (OFC), this is using port 15911 (I’m able to connect using HTTPS on this port but only this, I cant get token or anything else)
Do any body know if it’s possible to connect to this unit directly? (even the Smart Air app can’t find, this unit connect only using SmarThings)

Thank you all!

Hi just got a Samsung windfree and I can’t register it on my WiFi using app SMART HOME or SMART AIR

The AP is created but both app do nothing when I try to add a new device.

Tried also to add the device while connected to the WiFi AP, but nothing.

EDIT the correct app to use is SmartThings.

OK now I wish to integrate it in HASS.

Any advice?

You can use the SmartThings integration (you need external access with https valid cert to your HASS)
I’m using this integration, you can only set mode (cool/auto/dry/heat) and desired temp from HASS.

To have enabled external access to my HASS I’m using duckdns.org with this post to create valid https cert: https://www.splitbrain.org/blog/2017-08/10-homeassistant_duckdns_letsencrypt

I’m trying to work with OCF integration from SmartThings API to enable more functions but until now I can only do a simple post to the API to clean my A/C when I shutdown.
This is the JSON to do this, I send this using rest_command

{
   "commands":[
      {
         "component":"main",
         "capability":"custom.autoCleaningMode",
         "command":"setAutoCleaningMode",
         "arguments":[
            "on"
         ]
      }
   ]
}

I use Caddy (which I think uses letsencrypt), and cloudflare.

Will I be able to get status (its on/ff), temperature, power consumption?

You can setup SmattThings!

Yes, you can get status, current and desired temperature.

You will have a sensor with power consumption but this information is in some raw mode (from SmartThings API), probably you have to calculate this to have something in kWh.

Ok I setup just this, and are all unavailable (exept volume, lol), so no power.

EDIT: I just noticed that my Samsung Smart TV is ACTIVE (and has a DEVICE NETWORK ID) under the Smarthings device list. While the A/C is INACTIVE and has NO DEVICE NETWORK ID … how to fix this

Cattura

The volume sensor is strange, it comes from SmartThings API as a capability but I don’t know what it means lol.

Well, put your ac (using remote control or SmartThings app) on cool mode and check if it fix this… I know that wind mode is not supported by SmartThings for HASS.

I’ve some Samsung SmartTVs but all are displayed as switch (I can turn on/off only), all other options I made using IR commands (with Broadlink RM)

Maybe if your device has no network-id it’s better to remove from SmartThings and connect again (AP mode using SmartThings app)

I found a way to have all functions that is supported by the unit running using SmartThings API, the way to do that is on this post: https://community.smartthings.com/t/airflowdirection-status-dead/198100/15?u=jrfabbi

Maybe can be usefull to create alot of things that’s impossible to do with only SmartThings integration (I’ve created script to turn device light off, special modes, etc… using rest commands directly to SmartThings API)

Strange it works fine with SmartThings app, but in SmartThings account there is no network Id and inactive

Try to reconnect your SmartThins accont with HASS