Emailing a "status report" for room temperatures every hour

Not that I have found so far. I'm hoping they also include a /capability/[capability] endpoint eventually.

@Patrick gave me the link. :smiley: I guess eventually it's going to be documented? LOL

What would the use case be for this vs just getting the attribute?

Nothing more undocumented in Maker API. Just forgot to document that as it was a quick insert a few versions back... The idea came up, was already in Maker API at the time and figured I'd throw it in and document it when we released it. Well, apparently the later never happened...

3 Likes

Being able to filter devices based upon capabilities. So, I want a JSON list of just those devices with the [insert capability here] capability. Right now, I grab the full list (/devices/all) and then parse it out and stuff it into a database so that I can filter on capabilities, attributes, etc. :slight_smile:

As an example, I want to grab a quick list of devices that support the PowerMeter capability:

http://[my-hub]/apps/api/1/capability/PowerMeter?access-token=[access-token]

2 Likes

If NodeRed makes your want to burn everyone who uses it at the stake for witchcraft (you all must be witches...no one should be able to use that damn thing, it's just too confusing) and when you hear JSON you think of the Bourne movies, then you might want to try a much simpler implementation using IFTTT's Maker Webhooks. Using it, you could send an email or record the temp to a Google Sheets spreadsheet for review later. You just have to set up a Global Variable in Rule Machine and set up a periodic rule, setting the variable equal to the temp sensor. Then in the same rule, call the IFTTT maker webhooks link and at the end have "value1={VARIABLE}" substituting your variable name in for VARIABLE. Just don't use a space in the variable name as that will screw up the link.

2 Likes

That sounds like an interesting approach

Ok, did a little more reading on webhooks (first timer here!) and I have a (probably stupid) question.

What is the event to call the webhook? The periodic rule that would poll the temp sensors?

Otherwise I get the jist of it and can do a little Googling and a lot of trial and error to make this work. IFTTT would work fine, because I don't need the rule to run in real time. As long as it dumps the data into a google doc, I'd be in great shape.

Yup...you actually set up a Trigger with the trigger of Periodic. Then set the condition to every hour. the IFTTT maker webhooks is a bit of a pain to get the link from...you have to go into the service and click on "Documentation" and it will give you your link with your key. If you run into trouble, I'd be happy to give you screenshots of mine.

finally got my temp sensors delivered and set up.
I'm not quite understanding how to "setting the variable equal to the temp sensor."

I've got the trigger set for every 15 mins, but I'm not understanding where you set the global bariable to the temp sensor. When I go under "conditions" and choose the variable "SMKtemp" (the sensor in my daughters room), it asks to set the variable as "=" or "!=" or "<" etc.

And I'm annoyed as hell that you can't seen to "go back a step" when building a rule, so I have to start over with setting the new trigger each time. Frustrating, because I know I just need to poke around. Took me 20 mins to find this....

So I'm getting warmer, but not there just yet. Not clear what is supposed to go after the /trigger/ of the webhook url. Is it the name of the rule? "15minTemps"?
image

I presume to call the webhook, I need to paste it into the "send http request" action?

Just not clear on how to incorporate the variables into the web call. When I tested the trigger in IFTTT, it fired successfully, but I don't understand how to write the full URL and append the variables into the string.

image

Setting the global variable isn't a condition, it's the action. You have it correct. Setting the global variables happens first in the list of operations. So, it is set at the top of the actions of your trigger. Then, you go into the HTTP request function, and where you want the variable to appear you paste it in inside curly brackets. So, if your variables are EVTempVAR, MBRTempVAR and SMKTempVAR and your IFTTT event was "temp" and your key was dkwiisoskjgfnwo, the url would look like this:

https://maker.ifttt.com/trigger/temp/with/key/dkwiisoskjgfnwo?value1={EVTempVAR}&value2={MBRTempVAR}&value3={SMKTempVAR}

Does that make sense?

You can go back after adding a trigger....you just have to finish adding the broken one then you can delete it on the define triggers page. You trigger in this case is going to be "periodic" every n minutes set to 15 or 30 or whatever. Do you know how to set that up? You don't want to use the Variable as a trigger.

I have one that I was using to report Lux reading to Google Sheets to figure out what value I should use a trigger to see when it's dark out (I don't know what a lumen looks like, and this was easier than sitting there and watching). This is the trigger in HE.

Not all that complicated.

Got it. Thanks for that. Let me plug it in and see where we're at.
I think I'm damn damn close. (you can tell by the 3 edits to my post that I continued to make progress as I was writing the post).

fingers crossed.....

You, sir, are an outstanding member of this community. Thank you so much for your suggestion and your help.

image

1 Like

Latching on to this thread since it covers exactly the technique I'm having an issue with.

I've been using a rule to add power data values to a Google spreadsheet via IFTTT Maker, and it has worked fine for months. Yesterday, I attempted to add an additional value to track and became aware that IFTTT can only handle three values (is that correct?). Anyway, I undid my change and now it isn't working at all. What exactly is the syntax of the body to pass values? I know that IFTTT is firing and the spreadsheet is updating, but the values aren't being passed.

[Full disclosure: I also updated to 2.1.7.118 last night but doubt that has anything to do with it. I'm pretty sure I'm just making a syntactical error.]


Post2

@HAL9000 This works well for adding data to a Google Sheet.

Thanks. I appreciate knowing there is an alternative, and there will come a time when I want to ween myself completely off of IFTTT. But for now, my preference would be just to restore the method I have been using for months until I started messing with the syntax.

Changed my mind. 2.1.7.118 was the cause of the problem. I've retreated to 2.1.6.112 and it works again.

Revisiting a year later, as I wanted to capture some additional sensors, but I think something in the way Rule Machine 4.0 sets Global Variables changed, and I can't figure it out from the RM4 documentation.

The two issues I'm having are getting the action to run at all (it doesn't ping the webhook when I hit "run actions") and setting the variables.

In the new GV section of RM4, I set the variables as decimals, and then in the rule, tried capturing the temps as a "sensor value" and a "device attribute." Neither are working as expected. When I copy the URL and drop it into a browser, it does trigger the webhook, but passes the string, not a value.

I was following my previous rule that was working, but can't figure out what changed. Doing this sleep deprived isn't helping.

The "{" "}" bracketing in the GET is incorrect - use "%" before and after the variable names. "value1=%BSMT1%", and so on.

1 Like

SAVIOR! Thank you so much.

1 Like

There's a great Thermostat Tracker app which also helps you understand your HVAC usage throughout the day. Might be a better fit for some people: