Getting IFTTT tweet an Observation from the Tempest Once an Hour

I have a question here…Is it possible to have IFTTT tweet an observation from the Tempest once an hour? The only option I’ve seen so far is tweeting every new observation.

If you’ve got IFTTT Pro I found a way to do it. Use the Date/Time Trigger to run an event hourly. Add a query for Tempest observation. Select Twitter for the “Then” part, and click on the Add Ingredient button. From the dropdown, select the Tempest Observations, then start adding ingredients to build up your tweet.

Since not everyone has Pro, I am pretty sure that I can publish my applet so that you can customize it to some extent (You’ll need to be able to select your Tempest unit). I’ll get back when I’ve done that, since I’m not quite sure how to publish an applet so that it can be used by others.

1 Like

Please let me know if you’re able to make your applet available. How does the tweet looks like on twitter?

Do you or anyone else know how I can switch from degrees to cardinal wind direction? @WFstaff

The format I used for testing looks like this but as you’ve see you can change that to whatever you like.

I’m pretty sure you can’t get the cardinal direction directly because the API only supports wind direction in degrees, and the IFTTT “ingredients” can only put in the message what’s available.

With IFTTT Pro, you can write filter code using javascript and the data from the Tempest is available meaning you could calculate it, but I don’t think that IFTTT has a way to allow passing a calculated value to the THEN action. That does seem like it would be a useful feature.

I’m still working on finding out how to publish an app. In the meantime, I’m happy to tweak the format, can you tell me what you’d like it to say?

1 Like

I have one “pro” account myself and finally learned how to tweak things the way I want it. But do let me know how you make your applet available to the public. I want to do the same with mine so that I can connect other Tempest units on free accounts.

Thank you for all of your help by the way.

I did it! The applet is here: Hourly Weather Observation from Weatherflow Tempest - IFTTT

I had to remove some of the localization information because there isn’t a way for an end-user to supply things like the link to a webpage, it looks like the text has to be static.

With a Pro account, you have to go to https://platform.ifttt.com/p/your-user-name/applets/published. When you click “Publish”, it will complain that you don’t have a description (because you can’t do that for a regular app) and you’ll need to edit it. In doing that, you’ll be able to configure the parameters that the user needs to supply then publish.

Please try mine and let me know if it works OK. Since I’m the owner I’m not sure how to test as a regular user.

2 Likes

For some reason or another it didn’t upload the observations. Lol. You will need a pro account to edit the “that” on your applet. So what I’m going to do is create some customized applets for the two tempests that I want tweeting observations.

I built my own applets and here is one of the Twitter feeds that I maintain…

www.twitter.com/pcbwx

It should have worked because when you install it, it should prompt for which unit to use. I’m not really sure why it didn’t work properly.

I think IFTTT has its issues at times.

I asked IFTTT support how I could use a variable from the filter code in the tweet itself. For tweets, if you use Twitter.postNewTweet.setTweet() the string that you pass it will be tweeted.

I found a snippet of code that converts degrees to cardinal compass points and included that in my filter code so that I now get a cardinal wind direction. Apparently using that function will override whatever is set in the THEN block. I need tweak it slightly, but here’s what the output now looks like.

Here’s the current version of my filter code:

    var val = Math.floor((parseInt(Weatherflow.historyOfObservations[0].WindDir)/ 22.5) + 0.5);
    var arr = ["North", "NNE", "NE", "ENE", "East", "ESE", "SE", "SSE", "South", "SSW", "SW", "WSW", "West", "WNW", "NW", "NNW"];
    var direction = arr[(val % 16)];

    Twitter.postNewTweet.setTweet("Current Observation in River Vale, NJ\nTemp: "+Weatherflow.historyOfObservations[0].AirTemp + Weatherflow.historyOfObservations[0].UnitsTemp + "\nHumidity: " + Weatherflow.historyOfObservations[0].Humidity + "%\nWind from "+ direction +" at "+ Weatherflow.historyOfObservations[0].WindAvg + Weatherflow.historyOfObservations[0].UnitsWind + " gusting to " + Weatherflow.historyOfObservations[0].WindGust + "\nRain today: " + Weatherflow.historyOfObservations[0].Rain + Weatherflow.historyOfObservations[0].UnitsRain)
1 Like

Thanks! I’ll do some tweaking when I can get to it.

Now I wonder if it’s possible to get ifttt to tweet out sea-level pressure instead of station pressure? @WFstaff

I’m guessing, but if you look at the API, there are two calls that could be used. One is for the device ID and one is for the station ID. The station ID returns more information, including the sea-level pressure, where as the device ID doesn’t. I guess either IFTTT would have to either use the call with that data or if they are already using it, expose it to use in applets.

1 Like