I guess this confirms the Harmony control of SmartThings devices will be dead.
Harmony only allows One activity at a time, but it groups devices into two categories, entertainment Devices and Smart Home Devices, which can give the impression that there are multiple activities active.
That’s because while normally an entertainment device will be turned off if it is not included in the next activity, Smart home devices will not be turned off in this way. In addition, you can create an activity where you specify that entertainment devices should be ignored when this activity is run, that is, left in the state they were in.
This was intended to allow you to control your lights without having your TV turn on and off as you did so. And vice versa, you can switch from your TV to your Xbox without having the lights go off.
So many people got the impression that they were running multiple activities at once, one for entertainment devices and multiple others for smart home devices, but it was really just that the smart home devices don’t have the same “turn off“ rules as the entertainment devices do.
And I don’t know if this is still true, but for a while there was an issue with nothing turning off the button in the smartthings app for a “set the lights to 50%“ activity until those lights turned off, which meant you might see two Harmony activities buttons active at the same time. But that didn’t mean that Harmony thought there were two activities at the same time, it just meant that harmony doesn’t change the state of smart home devices until specifically told to do so. So they can linger on while another activity is activated.
2 new settings added
- “Verbose sent / recd logging” : Use this to see what is being sent to your harmony hub, and what is received from the harmony hub - these will be visible on the history tab within the app - the default for this setting is “off” - this should be useful for understanding why things work and don’t work.
- “Get Config On Connect” : This setting will return your list of harmony devices and activities every time their is a new web sockets connection established to harmony. The default for this setting is on, however after you have received your device list feel free to turn it off to save on un-neccessary traffic bouncing back and forth. If you add a device or change something harmony end, you can turn this setting back on again until you receive an updated device/activities list
Is it possible for you to create a sort of “companion” Harmony Activity on/off switch driver that interacts with the Bridge driver so we can turn on/off Activities without having to create two routines per activity in addition to a virtual switch? i.e. Switch On tells Bridge to run the Activity ID and Switch Off tells Bridge to send “-1” to turn off the Activity. Each Activity would have its own switch.
Currently ST sees Harmony Activities as switches so that would replicate it perfectly & consolidate the On/Off functions.
Just spitballing here for best ways to implement Activity control. Thanks for your work on this!
Big Driver Update:
- ‘Get Config On Connect’ - turning this setting on will now automatically retrieve all harmony devices and activities associated with a hub - it’s important that you turn this on immediately before turning on the experimental feature ‘Activity Devices’
- New experimental feature added - Activity Devices - I will write a follow-up post explaining how to use them and link here when I have
As usual the driver will take up to 24 hours to land on your hub, but you can force an install from the CLI or APP
I have added a new experimental feature that will add a simple device with a switch that represents each activity that your hub supports.
Those switches attempt to mirror the status of activities within the harmony eco system regardless of where they are controlled from. (controlled from st using this driver, harmony app, harmony remote or anywhere else)
Steps to setup:
- Choose which harmony hub you wish to enable activity devices for - it should work for each but you have to enable them 1 at a time. Open the ‘harmony bridge simple’ device that represents it.
- Go into settings and ensure ‘Get config on connect’ is turned on, wait 30s to allow the config to be retrieved.
- Turn on ‘Activity Devices Enabled’ - this will create your activity devices
- Turn off ‘Get config on connect’ and ‘Activity Devices Enabled’
This should have added a device per activity to your unassigned room, feel free to rename them and move them.
Turn on an activity from the harmony app, you should see it’s status reflected in the smartthings app
Turn off an activity from the harmony app, you should see it’s status reflected in the smartthings app
Turn on a subsequent activity from the harmony app, you should see the current activity stopped and the new activity started
Turn on an activity from the smartthings app, you should see it’s status reflected in the harmony app
Turn off an activity from the smartthings app, you should see it’s status reflected in the harmony app
Turn on a subsequent activity from the smartthings app, you should see the current activity stopped and the new activity started
Trigger automations from activities starting or ending - even if that was done directly on the harmony remote or app
Control an activity switch using an automation or scene
- The action of turning on ‘Activity Devices Enabled’ is what creates the activity devices (as long as it has a recent list of activities), Turning this setting off does nothing, But turning on again will attempt to create activity devices again
- You can delete any activity devices you don’t need, just note that if you turn on ‘Activity Devices Enabled’ again, any deleted devices will be re-created
- AFAIK harmony only allows 1 activity at a time, so when an activity finishes starting any other activities showing as ‘on’ at that point will be turned off.
- It is possible for the status to get out of sync - especially if st hub and harmony hub become disconnected, it should fix itself next time an activity is enabled
- This should be considered experimental - I have been unable to test this with all activity types and I have not been able to test with a multi-hub setup.
@lmullineux this is truly excellent but… Followed your instructions above with the new driver but I am not seeing any activity devices created. Command retrieval looks good (e.g Television action):
But nothing created on checking the Activity Devices Enabled option?
I have deleted and re-installed/refreshed hub comms without any joy
@TheHundredthIdiot Thank you for testing, and I’m sorry it didn’t work.
Could you check a few things for me…
Could you check the driver version is dated today?
Could you verify from your device list that activities are in the list – they should be at the end of the list – can you paste them here? You can re trigger a device retrieval using the ‘config on connect’ setting
Could you confirm if you are using 1 hub, or multiple?
If you have access to the CLI, could you try enabling the setting while logcat is running and send me the logs please.
Feel free to inbox me directly rather than posting on this thread.
After discussing with @TheHundredthIdiot, this was just a mix up and all is now working.
Just a quick note, just because you can see the new settings option it doesn’t mean that the driver has updated this is a quirk of edge drivers and the fact that device profiles are published separately to drivers.
I’m keen to here from others as to whether this is working or not.
Thank you @TheHundredthIdiot for the testing
Tested it in routines and at the card directly. Its brilliant. Much better then the old integration.
What @Jepajo said
Can CONFIRM the new driver installed the Activities and they are behaving correctly. This is absolutely wonderful. Many many thanks for your efforts! This opens up a lot of possibilities and ensures most functionality remains.
Just wanted to share a useful observation: with the new driver we are able to launch automations/scenes through the remote as faux “Activities”. For example, I created an Activity called “Living Room Dim” that triggers my living room lighting scene. I also created an Activity called Lock Door that triggers a Routine to lock my door. When setting up the Activity in Harmony just use a random fake device you don’t actually have, since it doesn’t matter, all we’re trying to do is get the driver to see the Activity which triggers the automation.
This just became so much more useful.
I didn’t mean running multiple Activities when I said “any number”, I was indicating it was opening many new options now, as far as launching scenes/routines from the Harmony app/touchscreen. But yes only one Activity can be running at a time.
I’ll edit for clarification.
The first time I enabled Activity Device it did not create the devices. After waiting for a few hours, I went back and toggled both get config and activity device, they showed up.
@rumrunner424 You might still have been on the old driver
Or not had a recent enough list of devices, this is because I cache the list of activities but it doesn’t survive all driver lifecycle events (updates, reboots etc etc)
It’s best to turn on the ‘get config’ setting, then wait 30s for the activity list to be populated. Once populated turn on the ‘activity devices’ setting.
Once the activity devices are created, you can turn both off again.
Great to see this! I don’t want to lose Harmony control once the smartapps does this month.
This is great @lmullineux !! I have it working on a multi-hub setup and it appears to be working alright so far. Great update!!
Working well for me too. I had been having a few inconsistencies using a virtual switch to trigger an activity, but hadn’t had the time to really see why this was happening. This new update has activities running like a charm.
Thank you so much for your work on this!