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

Nice work, solid component. Migration went smoothly and thank you for converting previously submitted INI files!

1 Like

There is a high probability to update the fan component until HA stops supporting the old folder structure.

Can someone please convert for me my INI files. I have Mac OS so tool won’t work.

http://cl.jdrk.in/99f417867545/sanyo.ini
http://cl.jdrk.in/b317b274d623/apple_tv.ini

@tjedrak your climate json here. https://jsonblob.com/42c8979f-37d3-11e9-8243-d715552ffcdc
but apple tv convert error. you can hard copy it with text editor.

I’ve just rebooted my HA and I now have this error. Not sure what, but line 28 does look odd to me…

Error loading custom_components.smartir.climate. Make sure all dependencies are installed

Traceback (most recent call last): File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/loader.py", line 147, in _load_file module = importlib.import_module(path) File "/srv/homeassistant/lib/python3.5/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 986, in _gcd_import File "<frozen importlib._bootstrap>", line 969, in _find_and_load File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 673, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 673, in exec_module File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed File "/home/homeassistant/.homeassistant/custom_components/smartir/climate.py", line 28, in <module> from . import Helper ImportError: cannot import name 'Helper'

Line 28 reads this:

Hi @Vassilis great work here!

A while ago I forked your original broadlink IR component and made a Harmony Hub version.

I am thinking about working on a PR to integrate harmony hub compatibility with this smart IR platform. Most the code additions would be in the send_command() function.

To do this seamlessly and with minimal effort for end user to configure, I’m thinking I will need to create a ini specific for harmony, then in the config the user would just need to put that ini code in device_code and for controller_send_service they can use remote.send_command.

For the ini, I am thinking it could be something like this
What do you think?

Also is there some numbering pattern with your ini filenaming?

I fixed my problem to my post above. I removed line 28 as it looks like it shouldn’t be there. I compared it to previous version on GitHub (which this line is also there).

I’ve just rebooted and I have my 2 A/C’s back and working again.

Could you open an issue on GitHub?

Done. Issue #16.

There is a new version of the component. I dropped the support of custom_updater because it is no longer suitable for the project. The new features are:

  • There is no need to create the subdirectories of code files (/codes/climate). The component creates them if they do not exist.
  • There is no need to download the device’s Json files from GitHub. If the device_code value matches a device file that already provided on the GitHub repo, the component downloads it automatically.

Don’t forget to update __init__.py too!

1 Like

Hey @Vassilis, can your new SmartIR handle fans?
will they still have a fan entity type for correct identification in HomeKit etc?

Your previous component has been a vital component to my setup

cheers,

Linton

So I take it there is no way for custom_updater to update __init__.py?

Right :wink: The custom_updater cannot update this file.

custom updater was a good tool for we know there is new stuff…

In old broadlink media_player there was an option, ping host, that isn’t reported in the new version. Could it be added?

@letherwin use a binary sensor ping

then use the option on the smartir media player
power_sensor: binary_sensor.living_room

media_player:
  - platform: smartir
    name: Living room TV
    device_code: 1000
    controller_send_service: switch.broadlink_send_packet_192_168_12_16
    power_sensor: binary_sensor.living_room

binary_sensor:
  - platform: ping
    name: Living room
    host: 192.168.10.195
    scan_interval: 10
2 Likes

The migration went perfect! The only issue i have now is that the current temperature is in integer like 22C or 24C but all my autiomations are working with 21.5C or 24.5C
Please tell me how to make the current temperature not in integers only?

Thanks and regards
Peter

Hi,
I am not really sure what happened, but all the sudden after I restarted I started getting errors. the smartir was working perfectly before I restarted.

  - platform: smartir
    name: Laundry Room AC
    device_code: 1000
    controller_send_service: switch.broadlink_send_packet_192_168_43_56
    temperature_sensor: sensor.neo_coolcam_unknown_type0003_id008d_temperature_3
    humidity_sensor: sensor.laundry_room_light_am2301_humidi


Feb 25 01:53:30 homeassistant hass[2986]: 2019-02-25 01:53:30 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.smartir.media_player. Make sure all dependencies are installed
Feb 25 01:53:30 homeassistant hass[2986]: Traceback (most recent call last):
Feb 25 01:53:30 homeassistant hass[2986]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/loader.py", line 147, in _load_file
Feb 25 01:53:30 homeassistant hass[2986]:     module = importlib.import_module(path)
Feb 25 01:53:30 homeassistant hass[2986]:   File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
Feb 25 01:53:30 homeassistant hass[2986]:     return _bootstrap._gcd_import(name[level:], package, level)
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 986, in _gcd_import
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 969, in _find_and_load
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap_external>", line 673, in exec_module
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
Feb 25 01:53:30 homeassistant hass[2986]:   File "/home/homeassistant/.homeassistant/custom_components/smartir/media_player.py", line 21, in <module>
Feb 25 01:53:30 homeassistant hass[2986]:     from . import Helper
Feb 25 01:53:30 homeassistant hass[2986]: ImportError: cannot import name 'Helper'
Feb 25 01:53:30 homeassistant hass[2986]: 2019-02-25 01:53:30 ERROR (MainThread) [homeassistant.loader] Unable to find platform smartir
Feb 25 01:53:30 homeassistant hass[2986]: 2019-02-25 01:53:30 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.smartir.media_player. Make sure all dependencies are installed
Feb 25 01:53:30 homeassistant hass[2986]: Traceback (most recent call last):
Feb 25 01:53:30 homeassistant hass[2986]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/loader.py", line 147, in _load_file
Feb 25 01:53:30 homeassistant hass[2986]:     module = importlib.import_module(path)
Feb 25 01:53:30 homeassistant hass[2986]:   File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
Feb 25 01:53:30 homeassistant hass[2986]:     return _bootstrap._gcd_import(name[level:], package, level)
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 986, in _gcd_import
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 969, in _find_and_load
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap_external>", line 673, in exec_module
Feb 25 01:53:30 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
Feb 25 01:53:30 homeassistant hass[2986]:   File "/home/homeassistant/.homeassistant/custom_components/smartir/media_player.py", line 21, in <module>
Feb 25 01:53:30 homeassistant hass[2986]:     from . import Helper
Feb 25 01:53:30 homeassistant hass[2986]: ImportError: cannot import name 'Helper'
Feb 25 01:53:30 homeassistant hass[2986]: 2019-02-25 01:53:30 ERROR (MainThread) [homeassistant.loader] Unable to find platform smartir
Feb 25 01:53:37 homeassistant hass[2986]: 2019-02-25 01:53:37 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.smartir.climate. Make sure all dependencies are installed
Feb 25 01:53:37 homeassistant hass[2986]: Traceback (most recent call last):
Feb 25 01:53:37 homeassistant hass[2986]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/loader.py", line 147, in _load_file
Feb 25 01:53:37 homeassistant hass[2986]:     module = importlib.import_module(path)
Feb 25 01:53:37 homeassistant hass[2986]:   File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
Feb 25 01:53:37 homeassistant hass[2986]:     return _bootstrap._gcd_import(name[level:], package, level)
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 986, in _gcd_import
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 969, in _find_and_load
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap_external>", line 673, in exec_module
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
Feb 25 01:53:37 homeassistant hass[2986]:   File "/home/homeassistant/.homeassistant/custom_components/smartir/climate.py", line 28, in <module>
Feb 25 01:53:37 homeassistant hass[2986]:     from . import Helper
Feb 25 01:53:37 homeassistant hass[2986]: ImportError: cannot import name 'Helper'
Feb 25 01:53:37 homeassistant hass[2986]: 2019-02-25 01:53:37 ERROR (MainThread) [homeassistant.loader] Unable to find platform smartir
Feb 25 01:53:37 homeassistant hass[2986]: 2019-02-25 01:53:37 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.smartir.climate. Make sure all dependencies are installed
Feb 25 01:53:37 homeassistant hass[2986]: Traceback (most recent call last):
Feb 25 01:53:37 homeassistant hass[2986]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/loader.py", line 147, in _load_file
Feb 25 01:53:37 homeassistant hass[2986]:     module = importlib.import_module(path)
Feb 25 01:53:37 homeassistant hass[2986]:   File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
Feb 25 01:53:37 homeassistant hass[2986]:     return _bootstrap._gcd_import(name[level:], package, level)
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 986, in _gcd_import
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 969, in _find_and_load
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap_external>", line 673, in exec_module
Feb 25 01:53:37 homeassistant hass[2986]:   File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
Feb 25 01:53:37 homeassistant hass[2986]:   File "/home/homeassistant/.homeassistant/custom_components/smartir/climate.py", line 28, in <module>
Feb 25 01:53:37 homeassistant hass[2986]:     from . import Helper
Feb 25 01:53:37 homeassistant hass[2986]: ImportError: cannot import name 'Helper'
Feb 25 01:53:37 homeassistant hass[2986]: 2019-02-25 01:53:37 ERROR (MainThread) [homeassistant.loader] Unable to find platform smartir

any idea what is wrong?

This is probably the same issue.