Getting data from sensor via webhook

Hi,

I am using the advance plan. Using IFTT I am able to get notifications (via email) when temperature crosses certain limit.

Now, I’d like to do the same using webhook. I am able to get notifications (following the instruction How to create & use eWeLink Webhooks - eWeLink ) that temperature crosses threshold. I’d like to extend the webhook to paste the data from a sensor. Is it possible?

Is there any list for key names and key-values to be included in the Additional Headers"?

Are there other examples of using webhooks than than How to create & use eWeLink Webhooks - eWeLink ?

Best,
Bart

It is possible. When IFTTT was free there was a service called Apilio that was also free. They communicated by webhooks. From memory you can send three values. I think they were “ appended to the end of the string.

Hello! Any another solutions?

Automatically adding the temperature reading from the device to the webhook call is probably …, at least I don’t know.

But it could be done in a slightly different way…

You need to obtain the current temperature value in a different way. And create many scenes per temperature value.

A situation with one scene and many triggers is not useful because each trigger must have its own dedicated “action” with a webhook url.
As a result, if you want to transmit the full range of decimal temperatures, you must create a very large number of scenes.
The scene is built on the basis of a stupid value that is manually defined, it is not a reading from the sensor, but the scene is triggered according to the current temperature from the sensor.

As a trigger (If) you should set a smart device that generates temperature and set the temperature value.
This way the scene will be triggered.

As an action (Then) you will use a webhook, for this purpose you will use https://sequematic.com
And you will manually add the value to the url that corresponds to the programmed temperature.
On the other side, at https://sequematic.com, you will create a sequence that will handle a webhook call and operate on values.

Very similar to this method in terms of transmitting values:

https://forum.ewelink.cc/t/use-same-device-as-both-trigger-and-action/24836/6
Step two, go to “sequematic.com” Create an account (free), Go to dashboard, go to Variables, create “light”.

Click on the power icon. This way you will get your own individual URL for sending variables, save it.

Go to New sequence, name it “Triggered by a eWeLink”, start editing, set the trigger, select the clock icon, select “Periodically”, set 10 minutes and save.
Add actions, select the {} icon and select “Check variable value”, provide the name “light” and select “equals” and the number 12 and save.

In "If light is equal to 12, then..." add a webhook, an electrical plug icon and select “Call a custom webhook”, change “Method” to POST and enter the webhook address from MacroDroid as the URL and save.

Now go to eWeLink WEB, Scenes and create an “In ON” scene. Select your device as “If” and its status as ON.
In “Then” select webhook and enter your unique url from “sequematic.com
Make sure the value is 12 at the end and save.
https://sequematic.com/variable-change/XXXXXXXXXXXXXXX/light/=12

Create a second scene in a similar way and name it “In OFF”, change the device status to OFF and provide the same address as the URL, but change the value to 55.
https://sequematic.com/variable-change/XXXXXXXXXXXXXXX/light/=55

It’s ready, it works 100%, I tested it!

Now when you turn on the device, a sequence will be initiated that will run every 10 minutes and generate a reaction on the macrodroid side, thus you receive a notification that something is ON. When you turn off the device, on the ewelink side will send a different value and as a result you will stop receiving notifications every 10 minutes.

Please note, this is not live status monitoring, it is based on the values sent from ewelink according to the response to the device status.
It works ok and relatively fast and will do exactly what you want!

To make it even simpler to understand…

Your ewelink scenes will be sent https://sequematic.com/variable-change/XXX/light/=1234567890

Where 1234567890 will be the temperature, for example “25”, and “light” your variable name → “temp”.
But, as I already mentioned, this is not a live reading from the sensor, but manually defined values that you create per scene and the same temperature in the sensor reading.

Of course, if ewelink has the ability to automatically connect current live values from the sensor, it would be the best and simple solution, but…

Read my post carefully, It may seem clunky, but it is completely doable.

But it’s best to tell us exactly what you want to achieve!