Harmony Hub; generated harmony_REMOTENAME.conf doesn't list all devices

Hi,

I’ve followed the instructions to add Harmony Hub as a remote from this page: https://home-assistant.io/components/remote.harmony/

Mostly it works as expected, except that the generated harmony_REMOTENAME.conf (in my case harmony_harmonyhub.conf) seems to lack information.
It lists all 4 activities I have, (3 of my own and a -1 for PowerOff) but the Device commands list has only 3 devices. And the ones it chose seem random (e.g. I have 3 chromecasts, it shows 1).
In reality, my hub has 7 devices, 1 “light” (emulated_hue) and 1 sensor.

It seems like a bug… Does anyone have any thoughts?

/cc @iandday

Thanks!

How would your harmony hub have the emulated hue light and a sensor? The only devices that should show up are the devices which are controlled by the harmony hub itself and controllable from the harmony app

The sensor is not related, it’s the Nest thermostat’s sensor.
As for the emulated hue lights, that just worked as described. I added emulated_hue: to my configuration.yaml, and ran discovery on the hub, and it just found switches defined in HA. I think that’s exactly the purpose of emulated_hue, no?

Here’s a screenshot. Both “ps console” and “projector screen” are defined in HA’s configuration.yaml

switch:
  - platform: command_line
    switches:
      ps4:
        command_on: 'ps4-waker'
        command_off: 'ps4-waker standby'
        command_state: 'ps4-waker search | grep Code | grep -o [0-9]*'
        value_template: '{{ value == "200" }}'
        friendly_name: "ps console"
  - platform: rpi_rf
    gpio: 17
    switches:
      "projector screen":
        code_on: 1234
        code_off: 1235
        signal_repetitions: 25

Any thoughts on my original question though?

I’m still not sure what your original question is. Maybe it will help if you post a copy of the *.conf file that the harmony component generated and what devices you think it’s missing

Sure, thanks.

See the the generated conf I have.
Notice that it’s missing many devices Harmony knows about (see the screenshot for examples)
Specifically:
It has: Living Room Chromecast, LG TV, Kodi.
It’s missing: Sony AV Receiver, BenQ Projector, Sony PS4, Basement Chromecast, Nest thermostat, Nest Home/Away sensor (and maybe also the hue lights, though that’d be some kind of loop since they’re defined HA)

Activities
  24058002 - Watch TV
  24096318 - Watch a movie
  -1 - PowerOff
  24053421 - Play PS4

Device Commands
  41596596 - Living Room Chromecast
  41687064 - LG TV
    PowerOff
    PowerOn
    PowerToggle
    Number0
    Number1
    Number2
    Number3
    Number4
    Number5
    Number6
    Number7
    Number8
    Number9
    Mute
    VolumeDown
    VolumeUp
    PrevChannel
    ChannelDown
    ChannelUp
    DirectionDown
    DirectionLeft
    DirectionRight
    DirectionUp
    Select
    Stop
    Play
    Rewind
    Pause
    FastForward
    Record
    Return
    Menu
    Teletext
    List
    Green
    Red
    Blue
    Yellow
    Guide
    Info
    Exit
    Aspect
    3D
    AD
    App/*
    AvMode
    EzAdjust
    Home
    InputAv
    InputComponent
    InputHdmi1
    InputHdmi2
    InputHdmi3
    InputHdmi4
    InputNext
    InputRgb-Pc
    InputTv
    MyApps
    Q.Menu
    T.Option
    Tv/Radio
    UserGuide
  41648002 - Kodi
    Mute
    VolumeDown
    VolumeUp
    DirectionDown
    DirectionLeft
    DirectionRight
    DirectionUp
    Select
    Play
    Rewind
    Pause
    FastForward
    Return
    Subtitle
    Info
    Audio Tracks
    Break
    CloseProgram
    CloseWindow
    Context Menu

hmm that’s weird, and those missing devices are defined in activities?

Can you run the show_config routine in the pyharmony script from the command line and post the output?

Yes, some of those devices are defined in activities, not all.

I’d love to do that, but could you be more specific? How do I run that? I found the method is defined in
.homeassistant/deps/pyharmony/__main__.py but I’m not sure how to run it with the arguments it expects.

Figured out how to call it (replaced what looked like signatures with foobar): https://ybin.me/p/e5be3af59d7b64c6#2TfTiXZKfAIBVkkeR6DWscdLGrmIvNHnOekLXXVnOUo=

It looks like the it’s crashing while writing the kodi device’s commands, I believe it’s caused by the Apple sepcific characters stored in the command text as shown in the attachment. Can you try removing the harmony*.conf file and the kodi device from your harmony hub and see if that solves it? I don’t have my kodi instances programmed into my hub since I use HASS to control them

What would it take to fix the crash? It’s especially annoying because all the symbols are coming from Harmony, for some reason they consider Kodi to be an “Apple” device. I’m running on a pi.

The reason I don’t want to remove Kodi from Harmony is that the harmony remote is my main controller for Kodi (other than the Android app).

Were you able to fix this?
I seem to have a similar problem, though with far less activities and devices.
What I use:

Sony Bravia TV
PioneerVSX920 Receiver
Raspberry Pi OSMC + HASS
And two audio devices (Amazon Echo and Panasonic all)
All are plugged in the Receiver.

I setup 4 activities:
TV = Switch on TV and Receiver
Kodi = Switch on TV and Receiver and HDMI to receiver
Music 1 Receiver to Echo
Music 2 Receiver to Panasonic all

The only activity that shows is the Echo
I don’t see any devices…

No, I wasn’t. :cry:

Which OS are you using? I had this problem just with OSMC and the VENV install. OSMC with Docker works as well as Hassbian

Seems as though Kodi is the problem because of the non-standard character, expected to be an apple thingy.
Both Kodi and HA are running on a Raspberry Pi 3.
I do have HA installed using the VENV method, why would that matter though?

I don’t know what the problem is with osmc as it also is a modified raspbian. Just try a docker install. The Docker image here I use it on pi2