IFTTT Boil Kettle WebHook

Hey All,

Can someone point me in the right direction. I have an IFTTT account with a webhook that triggers my ikettle to boil.

I have added this to my automation yaml;

alias: Boil Kettle
trigger:
  platform: homeassistant
  event: start
action:
  service: ifttt.trigger
  data: {"event":"boil_kettle"}

and this to my group;

automation.boil_kettle

I was expecting a ‘Activate’ button or text in the UI. but got a toggle switch that doesn’t work. obviously IFTTT wouldn’t pass back the state when the boil has finished which is fine, i just want to fire the webhook and that’s it.

Am i getting something fundamentally wrong here? I have tested the hook through the dev-event and it works fine, so i know its now just a config issue with how i’m displaying or running the automation?

do you really want to boil your kettle when HA starts?
The item shown in your group only displays the status of the automation. Clicking on it will simply enable or disable the automation, it’s not going to trigger it
to test it, click on the automation name and click on trigger
what you really want/need is an input_boolean that you can switch on, and an automation that uses that input_boolean as a trigger. Hope that makes sense

Ah ok, I follow you a little, your right, I don’t want to boil the kettle everytime it starts. I want a button or something on the UI that does it on demand.

then you need is an input_boolean that you can switch on, and an automation that uses that input_boolean as a trigger.
check this page to get started with automations

Ok so my brain is hurting a little! So i get you create the input Boolean to store the value, so i added this to the configuration file which seems logical;

input_boolean:
  boil_kettle:
    name: Boil Kettle
    initial: off

I then don’t understand how i create the automation and the switch to harness is, I get i need to put a front end switch in but how do i define it?

  - alias: Boil Kettle
trigger:
  platform: state
  entity_id: <Not sure what to put here>
  above: <in the docs there is only above and below, but my boolean is 1 or 0?> do i do above 1?
action:
  service: ifttt.trigger
  data: {"event":"boil_kettle"}

I also need it to reset the button, as i want it to be one click and done rather than reset the switch when the kettle has finished, as there isn’t a way to get the kettles current state sadly. So i’ll have to live with just triggering it to switch on

try this:

  - alias: Boil Kettle
    trigger:
      platform: state
      entity_id: input_boolean.boil_kettle
      to: "on"
    action:
      - service: ifttt.trigger
        data: {"event":"boil_kettle"}
      - delay: 00:00:05
      - service: input_boolean.turn_off
        entity_id: input_boolean.boil_kettle

This will trigger the automation when you switch the input_boolean on, wait 5 sec, then reset it back to off

Nailed it, thanks dude!

For completeness is anyone elese wants to integrate their ikettle here is the complete code;

configuration;
    boil the kettle
        input_boolean:
          boil_kettle:
            name: Boil Kettle
            initial: off

groups;
      default_view:
          view: yes
          name: Overview
          entities:
            - input_boolean.boil_kettle

automation;
      - alias: Boil Kettle
        trigger:
          platform: state
          entity_id: input_boolean.boil_kettle
          to: "on"
        action:
          - service: ifttt.trigger
            data: {"event":"boil_kettle"}
          - delay: 00:00:05
          - service: input_boolean.turn_off
            entity_id: input_boolean.boil_kettle

you may want to format your code using the </> button :wink:

I find its a bit buggy ha, done!

Hi,

you can also create an applet on IFTTT to trigger a webhook when your ikettle has finished the boiling and then use it like this :

- alias: BoilingWater
  trigger:
    platform: state
    entity_id: input_boolean.boiling
    to: 'on'
  action:
    service: ifttt.trigger
    data: {"event": "boil_water"}


- alias: BoilingWaterOver
  trigger:
    - event_data:
        action: call_service
      event_type: ifttt_webhook_received
      platform: event
  action:
    service: input_boolean.turn_off
    entity_id: input_boolean.boiling

After playing with this ikettle and ifttt, I find this thing annoying.
There is info you cannot get : water level, water temperature
you need to create a applet for each type of boiling you want to made, depending the temp or the time you keeping warm, or the cooling function, … instead of simply being able to pass some parameters.
and the triggers aren’t smart:
it exist a trigger when boiling is over, and a trigger when keeping warm is over.
but actually the first trigger is only triggered when you’re doing only boiling ! If your boiling and keeping warm, then the boiling over trigger will never been triggered ! Only the warm trigger will be trigger at the end … this is silly.

At the end I’m only using a stupid boolean to switch on or off the boiling, so there is no point to have that ikettle than a regular kettle connected to a remote switch…

It’s a pitty !