IntesisHome WiFi AC Control

Hello everyone.
I’m new to Home Assistant with version 0.86.2
I have an Intesishome and an intesisbox that I try to run with this component.
Could you tell me where to put the different files that you propose.

  • climate.py
  • init.py
  • pyintesishome.py
  • IntesisBoxEmulator.py

Thank you for your help

Sorry the repository is a bit out of sync at the moment, don’t use that set of files :slight_smile:

Save this folder into your custom_components folder in your configuration directory

Thank You
Already is OK

Hi there,

I’m trying to update script without success :s

I got this config now:

/config/custom_components/intesishome/

__init__.py
climate.py

on /config/configuration.yaml

climate: !include_dir_merge_list climate

on climate.yaml

- platform: intesishome
  username: !secret intesisuser
  password: !secret intesispass

and at log I get this:

cat home-assistant.log | grep 'climate'
2019-04-08 11:28:58 WARNING (MainThread) [homeassistant.loader] You are using a custom component for intesishome.climate which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-04-08 11:28:59 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform intesishome
AttributeError: module 'custom_components.intesishome.climate' has no attribute 'setup_platform'

thanks in advance

Hi,

I just updated to the latest version of hassio (0.91.3) and now I am getting an error. Not sure where the breaking change is. Can anyone help?

Thu Apr 11 2019 22:35:38 GMT-0400 (Eastern Daylight Time)
Error during setup of component intesishome
Traceback (most recent call last):
 File "/usr/local/lib/python3.7/site-packages/homeassistant/setup.py", line 154, in _async_setup_component
 component.setup, hass, processed_config)  # type: ignore
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/intesishome.py", line 38, in setup
from pyintesishome import IntesisHome
File "/config/deps/lib/python3.7/site-packages/pyintesishome/__init__.py", line 1, in <module>
from .pyintesishome import IntesisHome
File "/config/deps/lib/python3.7/site-packages/pyintesishome/pyintesishome.py", line 54
from asyncio import async
                        ^
SyntaxError: invalid syntax

Is working now with version 0.91.3

1 Like

If anyone else has an IntesisBox (which supports direct local control instead of through the cloud), I’ve created an IntesisBox version of the platform at https://github.com/jnimmo/hass-intesisbox

1 Like

Does anyone know why my initial response from the server has no devices in the “installation”? The status object has all the values but obviously nothing works? Does the API no longer work?

   "config":{  
      "token":"[redacted]",
      "pushToken":"[redacted]",
      "lastAppVersion":"2.6.1",
      "forceUpdate":0,
      "setDelay":0.7,
      "serverIP":"[redacted]",
      "serverPort":5220,
      "hash":"[redacted]",
      "inst":[  
         {  
            "id":1,
            "order":1,
            "name":"First installation",
            "devices":[  

            ]
         }
      ]
   },
   "status":{  
      "hash":"[redacted]",
      "status":[  
         {  
            "deviceId":224571441632318,
            "uid":1,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":2,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":4,
            "value":3
         },
         {  
            "deviceId":224571441632318,
            "uid":5,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":9,
            "value":200
         },
         {  
            "deviceId":224571441632318,
            "uid":10,
            "value":200
         },
         {  
            "deviceId":224571441632318,
            "uid":12,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":13,
            "value":160
         },
         {  
            "deviceId":224571441632318,
            "uid":14,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":15,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":34,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":35,
            "value":180
         },
         {  
            "deviceId":224571441632318,
            "uid":36,
            "value":300
         },
         {  
            "deviceId":224571441632318,
            "uid":37,
            "value":90
         },
         {  
            "deviceId":224571441632318,
            "uid":54,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":61,
            "value":63
         },
         {  
            "deviceId":224571441632318,
            "uid":62,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":63,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":64,
            "value":1054
         },
         {  
            "deviceId":224571441632318,
            "uid":65,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":66,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":67,
            "value":30
         },
         {  
            "deviceId":224571441632318,
            "uid":181,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":182,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":183,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":184,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":50000,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":50001,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":50002,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":50003,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":50004,
            "value":240
         },
         {  
            "deviceId":224571441632318,
            "uid":50005,
            "value":280
         },
         {  
            "deviceId":224571441632318,
            "uid":50006,
            "value":190
         },
         {  
            "deviceId":224571441632318,
            "uid":50007,
            "value":230
         },
         {  
            "deviceId":224571441632318,
            "uid":50008,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":50009,
            "value":3
         },
         {  
            "deviceId":224571441632318,
            "uid":50010,
            "value":255
         },
         {  
            "deviceId":224571441632318,
            "uid":60002,
            "value":216
         }
      ]
   }
}```

Interesting. Anyone else with the same issue? Would just need to modify pyintesishome to build the device list from the status object instead

Hello, I downloaded today the last version of the files ( just these three files: init.py, manifest.json and climate.py) for intesishome to comply with HA 0.92.2 and I have the following error in home-assistant.log (just after HA/intesishome starts):

2019-05-08 20:03:17 ERROR (MainThread) [homeassistant.setup] Setup failed for intesishome: No setup function defined.

My config: HA in a virtual environment on raspberry pi, Python 3.7.2, HA 0.92.2
It was working fine before this change… Any idea why ? Thanks

In the mean time, I restored the two files from a backup (init and climate) and removed the json file… and it is working again…

Is your config structured correctly?
I get that error if I have it setup wrong in the config file, immediately is followed by a invalid_config error.
As soon as I fix the config to below format it starts working again

climate:
  - platform: intesishome
    username: username
    password: !secret intesishome_pass

Thanks !!! I missed that change… I applied your recommendation and it is working fine again…

1 Like

Hello, since I moved to HA 0.92.2 (not sure it is linked with this upgrade though), I have all my intesishome device becoming “unavailable” (today it was at 07:14 am for climate.veranda_c), it seems not all at the same time but they become all unavailable after a couple of hours … To have them available again, I stop/start HA and everything comes back ok.
Here is the error message I think linked with the problem:

2019-05-14 06:15:26 ERROR (MainThread) [homeassistant.core] Error doing job: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
File “/usr/local/lib/python3.7/asyncio/selector_events.py”, line 813, in _read_ready__data_received
self._protocol.data_received(data)
File “/srv/homeassistant/lib/python3.7/site-packages/pyintesishome/pyintesishome.py”, line 102, in data_received
jsonResponse = json.loads(line)
File “/usr/local/lib/python3.7/json/init.py”, line 348, in loads
return _default_decoder.decode(s)
File “/usr/local/lib/python3.7/json/decoder.py”, line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File “/usr/local/lib/python3.7/json/decoder.py”, line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 12 (char 11)
2019-05-14 07:14:04 WARNING (MainThread) [homeassistant.helpers.entity] Update of climate.veranda_c is taking over 10 seconds
2019-05-14 07:14:28 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/local/lib/python3.7/asyncio/base_events.py”, line 959, in create_connection
raise exceptions[0]
File “/usr/local/lib/python3.7/asyncio/base_events.py”, line 946, in create_connection
await self.sock_connect(sock, address)
File “/usr/local/lib/python3.7/asyncio/selector_events.py”, line 464, in sock_connect
return await fut
File “/usr/local/lib/python3.7/asyncio/selector_events.py”, line 494, in _sock_connect_cb
raise OSError(err, f’Connect call failed {address}’)
ConnectionRefusedError: [Errno 111] Connect call failed (‘212.36.84.207’, 5220)

Thank you for your help

I have also the following warning messages every time HA starts:

Setup of platform darksky is taking over 10 seconds.

08:27 main.py (WARNING)

Setup of platform intesishome is taking over 10 seconds.

FYI: I have 7 equipments connected on the same instance of intesishome on two different sites (1 equipment in Belgium (on the same Lan than my Raspberry Pi running HA) and 6 in France)

08:27 main.py (WARNING)

Hmm interesting, sorry to hear it isn’t working!
I might have to roll back to reconnection strategy.
Previously if it lost connection it would just poll HTTP every 5 minutes to get the current device status, and would restart the TCP socket only when it needed to (sending a command).

Could you please turn on debug logging in your config file and PM a copy of your log file.

logger:
  logs:
    pyintesishome: debug
    custom_components.intesishome.climate: debug

Hello, thank you for this suggestion… I will activate the log if the problem occurs again (It worked fine since my last post, I have no new problem to report (in the meantime I upgraded to HA 0.93.1))… I’ll keep you posted…

My Intesis will arrive today, i understand that when i use your plugin it don’t go bij the cloud of Intesis?

If you have an IntesisHome device it must be controlled through their cloud servers.
IntesisBox has local control only

Hey Jnimmo,

Fitst of all great work. I want know… you know if this custom_component is pulled to be as default in homeassistant?? thks!

Hey all,

I’ve read through this entire thread and I’m really confused about what files need to be copied to where?

(edit: my bad, wasn’t using the raw files)

Did it ever get added as a native integration? I thought I saw it in the list recently, but it doesn’t show any intesis integrations now.