Home Remote dashboard for Hubitat

The datastores (if you haven't already figured this out) aren't necessary. They are only related to the feature I added of changing the dashboard color theme from within the running app.

I started by hard coding colors into my HRP for each element. But I was never happy with what I chose and kept tinkering. And it was annoying to change a color, then start the simulator and see if I liked it. To speed up the process, I changed the dashboard element colors to a variable. Then I could change the variable from within the app and find the color I liked in real time. Turned out I was still never completely happy, and had created multiple themes I liked (TNG, Borg, Voyager, Battle Bridge).

Here comes the datastore - Home Remote variables are reset to the defaults upon restarting the app. I needed a way to store the color variable so it would persist after a restart. As suggested by Bill/the Home Remote forums, I created multiple virtual devices on Hubitat to store a string for each color code I needed to save. I have so many because I created five themes and multiple colors in each. But now from within the Home Remote app I can save the color to Hubitat, and later restore it back to Home Remote.

All of that is completely unnecessary if you can decide on one color theme and stick to it.

1 Like

I can't say exactly how it works on the back end, but it appears to connect by name.

From my experience - if you don't change any of the device data in Hubitat, and don't manually change the device settings in Home Remote (Picture Below), then you can resync and everything will continue working. It just deletes all the Hubitat devices and then puts them back exactly as they were. I am often adding / removing devices in the Hubitat app and then resyncing and there is no issue. Everything comes back the same, except of course for the new or deleted device.

But for example, if you were to rename the device in Home Remote and then resynced, it would go back to the name that comes from Hubitat and I believe everything related to that device would be broken. If you want to rename a device, I suggest doing so within Hubitat, resyncing, and then fixing anything that linked to the now gone name. More work upfront, but next resync you won't have to make any manual changes.

1 Like

Bill from Home Remote has made a significant improvement to his app. The plugin script on my GitHub page has been updated to match. GitHub - mihaca/homeremote: Home Remote Integration for Hubitat

Please be sure to update your install of the Home Remote designer, paste the new plugin script into your project, and make sure all your device apps running the program are up to date as well.

Home Remote version 2.12.0's main upgrade is that "plugin.Devices" is now a JavaScript object instead of a JavaScript array. This was changed because it was discovered that looping through large arrays can take a while & have a very significant impact on performance.

More information on the change can be found here:
https://groups.google.com/forum/#!msg/thehomeremote/bjtILNK6mJ0/YtHVB1ArHAAJ

Personally, I have found a significant decrease in the time the app takes to parse the data received from Hubitat.

The plugin script code also adds a new hard coded device - "Connection". The state of the connection device can be displayed in the app to show whether you are connected locally or via the cloud. I also use it to decide which web address to use to access my webcams. It has a lot of possibility, so I wanted to include it for others.

Also note I have changed the polling interval: plugin.PollingInterval = 500;
Home Remote will now request changes from Hubitat every 500ms. This may be too often for some users. I'm also not sure if it will cause Hubitat to get bogged down. Let me know!

I keep getting an error of Device is Undefined when saving the 3 plugin settings in home remote. Has anyone else run into this before?

Sorry about that - my fault with the new features. Can you try the new pluginscript posted to github?

That worked! thanks a bunch!

1 Like

This is great! What I especially like about it is it can run with local URLs and will let me keep the panels local.
I'm currently trying it on fire tablets, so far so good.

Some of the designer functions are a bit over my head.

Have you, or anyone managed to get the the Hubitat Home Safety monitor integrated yet? I have converted my alarm system over with Kennected and didn't see anyway to "arm / disarm" the alarm in the module.

Thanks for posting this.

I just have 2 switches - one for arm home and the other for arm away, and then rules to have those switches interact with HSM. For example, if the switch is on change HSM to the correct mode, if one is on turn off the other, if both are off turn off the alarm. I put them on a page in Home Remote that is only assessed after entering a code. It's obviously not truly secure, but good enough - hopefully by the time anyone figures it out I'll have already been alerted and maybe even have some video up to the cloud. Actually, I've never been a thief, but I can't imagine they stand around trying to figure out how to turn off an alarm anyway. When the alarm goes off they probably just continue stealing or leave.

Edit: If switches don't work for you, we could find out if HSM exposes itself as a device with capabilities. If it does I'm fairly confident we could add it. So far I've only made work the devices I have/use.

Thought I'd show my home automation panel using Home Remote. I posted in the Home Remote Google group with details in case anyone is interested.

2 Likes

Nice work Bill! Looks great.

I like the up and down for the setpoints - I thought about doing that but never tested it out. I'm using a slider control. Does the system react quick enough to show the setpoint change immediately after pressing the up or down, or do you have to wait? Are you connecting to the thermostat directly or through hubitat?

I checked out the pics on the Home Remote Google group - I'm jealous of all your blinds! I have one set of curtains on an automatic rod which I have had forever. It is IR being controlled through Harmony. But as I live in an apt, I've been hesitant to buy smart blinds. They are either extremely expensive or once installed can't be refit to a new window. I haven't researched lately - but I'm waiting to find a fairly cheap (so I can buy at least 6) device that will attach to a third party blind. I saw one a while ago (I believe a kickstarter) that attached to a third party blind and would rotate the blinds chain. It was expensive and you had to screw it to the sill, but it was reusable.

Thank you.. I am happy with it so far.
I have a Tran Thermostat that is connected to Nexia hub. It came with the house. So I connected the Nexia device via Home Remote.

Yes the automated blinds are really expensive!! We added them when we bought this new house. We had two bathroom blinds that you would have had to step into the tub to change so we decided to automate those. They were having a BOGO sale so we decided on four windows of automation.

Attached is a picture of my setup mounted to my wall. The thermostat is right next to it. We have found it is easier to control it from the Home Remote than the thermostat itself!

3 Likes

I was troubleshooting something else (I can not get Echo Speaks to work :frowning: ) and noticed the continual polling log for the Home Remote app. Should I be concerned about this continual polling?

Home remote needs frequent updates on the status of devices, so it is constantly polling. You can shut off the logging switch in the Hubitat Home Remote app so it stops taking over you log. I haven't noticed that the polling bogs down Hubitat - but if you do, you can have it poll less often via this code in your Hubitat plugin script (its in milliseconds).

image

It's not polling every 500 milliseconds - I think it waits 500 ms after a successful poll to start a new poll. You end up getting a status update every second or two.

I saw in another thread there is a webhook for Hubitat status updates. Likely we could get this working with Home Remote so it wouldn't have to poll - but it looked like it would only work for local connections? I'm not very knowledgeable on the subject.

Andy, looks great!
I've been playing with parts of your HRP. I'm aiming to change the colors for different times of the day / modes. Day brighter, night darker, etc. I can't seem to find how to create a datastore in Hubitat.
Where / how do you create a datastore device in the Hubitat?

Glad to hear it's still going well!
I created a custom driver in Hubitat. This is all it is.

metadata {
definition (name: "DataStore", namespace: "Andy", author: "Andy") {
capability "Indicator"
attribute "dataStore", "string"
command "save"
// command "initialize"
}

}

def save(value) {
sendEvent(name: "dataStore", value: value, displayed: false)
}

//def initialize() {
// sendEvent(name: "dataStore", value: "ready", displayed: false)
//}

I called it an indicator device, just because that was available and I didn't have any other devices with that capability - so it made it easier to separate them out.

The commented out code just puts an initial value in or for testing. I can't remember if you need it to get started or not... I don't think so, but it is definitely unnecessary once you are up and running. I took it out as I just saw it as a way I could accidentally lose the value stored.

Looks like this as a device. You use it like any other device that you add into Home Remote. Hitting "save" will also clear out the data you have stored, so avoid it.

I've done something similar as you're doing - a different color theme if it is day, night, or if the alarm has been triggered. You'll end up with a lot of devices that do nothing but store a short string. If you find a better way, let me know!

Good luck!

Thank you for the reply. I’ll try it this afternoon.

I have a couple of questions?

I have sync'd everything and now have the devices, double clicking on them gives me the template guide being used. Is it just a matter of dragging and dropping it onto a window to work?

For PIR sensors etc that change state how is the image defined from motion / no motion / state 1 / state 2?

I'm struggling to understand how the template associates to the device in it's attributes to map for example if i was to use the template for a thermostat, then map it to one of the devices, would I have to identify the up temperature nudge function, display the set point, read the current temperature etc etc?

Sorry the last time I programmed was Basic on an Atari

Hi Chris,

After getting everything into Home Remote - were you able to control some (or all) of your devices, and now you are trying to customize it?

Unfortunately no. Definitely has a learning curve, but it is worth it if you have the time to spend.

I'd start by check out the videos:
YouTube

I don't use templates, but that is personal preference. I chose a control from the top menu, draw that on the screen, and then change the properties to associate it to the device I want to control. Once I have it looking and working the way I want it, I'll copy and paste it for use with other devices. All that needs to be changed is its location on the screen and the associated device.

I'll send you a PM to go through my understanding of how the templates work. My understanding is limited, but I should be able to get you started with them.

1 Like


Hi im getting same error as above, not sure how i can fix this problem. can you please help
thanks

You mean the problem that I had? Why don't you read through the rest of the thread for the answer that I was given. It's already listed, I'm not going to post it again.