Is there a way for the whole family to see the last time a button was pushed?

My idea is to leave a smart button on my porch that’s pressed when the dog is walked. Then later another member can ask Siri (maker api) or quick view an ap for the last time the dog went out

Maybe using a global variable and two rules.

On the dashboard you can make an attribute tile for Last Update for that button.

That'll work if your button only sends events when it's physically manipulated--so if it doesn't "check in" for other reasons periodically, like temperature or battery reports. That last thing would exclude a lot of button devices, but I know an Eria Remote doesn't do either, so it might be OK. A Pico over LAN/telnet would probably be fine too since I can't think of what other events or activity it would generate. A Hue Dimmer (battery events), SmartThings button (temperature and battery), and probably lots of others would have problems, unfortunately.

This seems like it would be a pretty easy custom app to write if no one has yet. If you don't have a button device that would work as-is for this, you could combine the two above ideas since I think a virtual switch would also fit the criteria of not updating unless it's used: create a virtual switch with a short auto-off period (setting on the device page), then write another rule that triggers when the button is pressed and turns on the switch. On the Dashboard, use an Attribute template with Last Updated as the (pseudo) attribute.

2 Likes

@codahq
How involved would this be to make?

At least a million dollars and several firstborn children. Sounds like it might be time to get your hands dirty and get your Groovy on.

1 Like

Some guy on fiver said $50, good price?

This is sort of what you want, but the reverse. I think it only counts down, not up? Maybe @bptworld Bryan would be willing to add the opposite logic?

I'd just just use the virtual button and a rule (or now that I think about it, even Button Controller and maybe even Simple Lighting/Simple Automation Rules would work instead of RM) for free. :slight_smile:

I can easily ‘tweak’ ‘Status Switch’ for you to show an attribute for the last time the dog was walked

Let me know if you don’t sort out another way
(Open a support ticket)

Andy

Thank you. I THINK I can use it as is. Am I understanding correctly? I can leave a button on the porch, when that button is pressed, it switches modes, which I can see the time it switched modes in the dashboard?

How about something like this?
image

image

1 Like

You could set the 'Auto off' for 24hrs if you only walk him/her once a day or less if you walk him/her more often and easily put these attributes on a dashboard.

Then just link the virtual to a button

2 Likes

This is exactly what I was going to suggest. A simple Virtual Switch could have alot of rules around it to make it work EXACTLY the way you want. Ie, if you need to track 2 or 3 separate walks per day in different time ranges, you should be able to make that happen.

Then you can even alert: "It's almost 8pm and no one has walked the dog"

Thanks, but now I’m beyond confused :joy:

Thanks, will the dashboard show the last time she was walked, the time

OK now I see what you're trying to do. This should actually be pretty simple.

  1. Create a variable in Rule Manager (the main app area) named "Dog Walked"
  2. Tigger: Push Button | Action = "Set Global Variable (Dog Walked) = Current Time"
  3. Create a Dashboard tile that displays the value of "Dog Walked"

Someone needs to just fill in how to do #3. I know there's a way to display a Variable Value in a tile, but I cannot find it.

Found it! New instructions:

  1. Click on Rule Machine and then "Create, Set, Delete Global Variables"
  2. Add Another Global Variable: Name = "DogWalkedTime" | Type = Time
  3. Click "Create New Connector" and point to "DogWalkedTime" (This will create a new Virtual Device that represents the value of that variable)
  4. Create a new dashboard tile: Device = "DogWalkedTime" | Templates = "Variable Time"
  5. Create Rule: Tigger = Push Button | Action = "Set Global Variable (DogWalkedTime) = Current Time"
  6. Enjoy!

Now you can also make time-based rules for DogWalkedTime. ie "If DogWalkedTime is greater than 5 hours ago...send alert to kids to get off their butt and walk the dog"

2 Likes

Thank you, I would hav never been able to figure this out

Yea some things take a bit to get used to. But its so much more powerful than other systems. Cause now you can do things like:

  • Alert whole family with "Dog has been walked" via the same rule
  • Do more advanced time of day rules: "If Day = Mon-friday AND DogWalkedTime more than 3 hours old and it's not after 10pm...." etc etc
  • Have other rules look at DogWalkedTime....Disable XBox Outlet if Dog hasnt been walked LOL