Effects sync to bridge and expose via API

Hi All,

Is it possible to save effects to the bridge so you can use them also in the official HUE app?
There are now 2 effects in official app and can create scenes on that. Those scenes are exposed via API to my Home Assistant.

I want create my own effects and also expose them via API to my Home Assistant

1 Like

I also would like to start an effect trough the api, any luck yet?

From Philips Hue Beta program I got an answer that effects from Hue itself (fireplace and candle) hard coded in firmware of the bulb. So the bridge isn’t needed to show the effects.

I guess that means that we can’t put the effects on the bridge and let run them from there. You can only store them and use them with the app.

I will send them a email if possible that the firmware give some space so you can store effects in bulbs also or something like that.

So run effects from Home Assistant isn’t possible.

It seems strange that the app can store the effects on the bridge and can trigger the effects from the bridge. Question is if hue essentials does this trough the api.
Hue labs also has effects.

I found a way:
each effect creates a virtual sensor

URL
/sensors/SENSORNUMER/state

BODY
{
“status”:1
}

In the api explorer uinder “resourcelinks” you can find your effect . Open it, Open subsection "links"find your sensor number

Where do you put this info? API debug or Home Assistant?

I have this when I check all sensors on bridge:

https://192.168.100.19/api/MY-USERNAME/sensors

{
   "1":{
      "state":{
         "daylight":false,
         "lastupdated":"2023-01-16T15:28:00"
      },
      "config":{
         "on":true,
         "configured":true,
         "sunriseoffset":30,
         "sunsetoffset":-30
      },
      "name":"Daylight",
      "type":"Daylight",
      "modelid":"PHDL00",
      "manufacturername":"Signify Netherlands B.V.",
      "swversion":"1.0"
   },
   "6":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-11T13:07:50"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_Group_1",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"OUSOKGIBivUaymsRRmoxGBdkB8dl1CTN",
      "recycle":true
   },
   "7":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-03T21:29:26"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_State",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"lGarznOImRUyTk1VRwgklwMefJeXEbax",
      "recycle":true
   },
   "8":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-03T13:04:39"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_State",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"n1S8b3S7469R4KWUPo46BvZRqtLv1mmo",
      "recycle":true
   },
   "9":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-03T21:33:23"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_State",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"Mc0sP0EYLd1gLguEXh6WYKVOcUQo4BhQ",
      "recycle":true
   },
   "10":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-04T08:03:26"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_Group_3",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"EjOPIgcsOqL454jnzBFJBozdLBbURh9M",
      "recycle":true
   },
   "11":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-04T06:58:17"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_State",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"pZytPOtoMSm18m0OgOIinKjT4ZgPflCp",
      "recycle":true
   },
   "12":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-04T08:02:35"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_State",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"QSYszCMllPWy26lyMk6IpCccAPyWykou",
      "recycle":true
   },
   "13":{
      "state":{
         "buttonevent":1002,
         "lastupdated":"2023-01-05T14:40:24"
      },
      "swupdate":{
         "state":"noupdates",
         "lastinstall":"2023-01-04T11:18:42"
      },
      "config":{
         "on":true,
         "battery":100,
         "reachable":true,
         "pending":[
            
         ]
      },
      "name":"Remote 1",
      "type":"ZLLSwitch",
      "modelid":"RWL022",
      "manufacturername":"Signify Netherlands B.V.",
      "productname":"Hue dimmer switch",
      "diversityid":"6426c751-c093-499e-afb6-9f0c863ec819",
      "swversion":"2.45.2_hF4400CA",
      "uniqueid":"00:17:88:01:0b:78:14:a2-01-fc00",
      "capabilities":{
         "certified":true,
         "primary":true,
         "inputs":[
            {
               "repeatintervals":[
                  800
               ],
               "events":[
                  {
                     "buttonevent":1000,
                     "eventtype":"initial_press"
                  },
                  {
                     "buttonevent":1001,
                     "eventtype":"repeat"
                  },
                  {
                     "buttonevent":1002,
                     "eventtype":"short_release"
                  },
                  {
                     "buttonevent":1003,
                     "eventtype":"long_release"
                  },
                  {
                     "buttonevent":1010,
                     "eventtype":"long_press"
                  }
               ]
            },
            {
               "repeatintervals":[
                  800
               ],
               "events":[
                  {
                     "buttonevent":2000,
                     "eventtype":"initial_press"
                  },
                  {
                     "buttonevent":2001,
                     "eventtype":"repeat"
                  },
                  {
                     "buttonevent":2002,
                     "eventtype":"short_release"
                  },
                  {
                     "buttonevent":2003,
                     "eventtype":"long_release"
                  },
                  {
                     "buttonevent":2010,
                     "eventtype":"long_press"
                  }
               ]
            },
            {
               "repeatintervals":[
                  800
               ],
               "events":[
                  {
                     "buttonevent":3000,
                     "eventtype":"initial_press"
                  },
                  {
                     "buttonevent":3001,
                     "eventtype":"repeat"
                  },
                  {
                     "buttonevent":3002,
                     "eventtype":"short_release"
                  },
                  {
                     "buttonevent":3003,
                     "eventtype":"long_release"
                  },
                  {
                     "buttonevent":3010,
                     "eventtype":"long_press"
                  }
               ]
            },
            {
               "repeatintervals":[
                  800
               ],
               "events":[
                  {
                     "buttonevent":4000,
                     "eventtype":"initial_press"
                  },
                  {
                     "buttonevent":4001,
                     "eventtype":"repeat"
                  },
                  {
                     "buttonevent":4002,
                     "eventtype":"short_release"
                  },
                  {
                     "buttonevent":4003,
                     "eventtype":"long_release"
                  },
                  {
                     "buttonevent":4010,
                     "eventtype":"long_press"
                  }
               ]
            }
         ]
      }
   },
   "26":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-09T19:09:37"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_Group_7",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"CHuNaSlyTfGzAoMqjrSpwbsldKhWGKnU",
      "recycle":true
   },
   "27":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-09T19:09:33"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_State",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"hXj9ZnfmZyrJu38H0nPt2xNZKSbrzrxb",
      "recycle":true
   },
   "28":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-11T13:07:28"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"HueEssentialsEffect",
      "type":"CLIPGenericStatus",
      "modelid":"HueEssentialsEffect_State",
      "manufacturername":"Hue Essentials",
      "swversion":"1.0",
      "uniqueid":"UDOZSIdzc0e3OkF9PBVCn8SjwbIT7uKx",
      "recycle":true
   },
   "29":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-17T07:13:10"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"XFDani[8]sn:state",
      "type":"CLIPGenericStatus",
      "modelid":"AnimationSensor",
      "manufacturername":"xfiredesigns",
      "swversion":"1.0",
      "uniqueid":"XFDani[8]sn:state",
      "recycle":false
   },
   "30":{
      "state":{
         "status":4,
         "lastupdated":"2023-01-12T16:06:58"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"XFDani[8][1]sn:step",
      "type":"CLIPGenericStatus",
      "modelid":"AnimationSensor",
      "manufacturername":"xfiredesigns",
      "swversion":"1.0",
      "uniqueid":"XFDani[8][1]sn:step",
      "recycle":false
   },
   "31":{
      "state":{
         "status":0,
         "lastupdated":"2023-01-17T07:16:28"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"XFDani[1]sn:state",
      "type":"CLIPGenericStatus",
      "modelid":"AnimationSensor",
      "manufacturername":"xfiredesigns",
      "swversion":"1.0",
      "uniqueid":"XFDani[1]sn:state",
      "recycle":false
   },
   "32":{
      "state":{
         "status":3,
         "lastupdated":"2023-01-13T07:08:12"
      },
      "config":{
         "on":true,
         "reachable":true
      },
      "name":"XFDani[1][1]sn:step",
      "type":"CLIPGenericStatus",
      "modelid":"AnimationSensor",
      "manufacturername":"xfiredesigns",
      "swversion":"1.0",
      "uniqueid":"XFDani[1][1]sn:step",
      "recycle":false
   }
}

https://192.168.100.19/api/MY-USERNAME/resourcelinks:

gives:

{
	"25924": {
		"name": "Effect test",
		"description": "HueEssentialsEffect_7_",
		"type": "Link",
		"classid": 18,
		"owner": "46d3670a-9563-4aad-8d49-6fb8f66c8711",
		"recycle": false,
		"links": ["/groups/7", "/sensors/26", "/sensors/27", "/rules/1", "/rules/2", "/rules/3", "/rules/4", "/rules/5", "/rules/6", "/rules/7", "/rules/8", "/rules/9", "/rules/10", "/rules/11", "/rules/12", "/rules/13", "/rules/14", "/rules/15", "/rules/95", "/rules/96", "/rules/97", "/rules/98", "/scenes/JL0j6FK5KL1AT6q", "/rules/99", "/rules/100", "/rules/101", "/rules/102"]
	},
	"42945": {
		"name": "Effect 1",
		"description": "HueEssentialsEffect_1_",
		"type": "Link",
		"classid": 18,
		"owner": "46d3670a-9563-4aad-8d49-6fb8f66c8711",
		"recycle": false,
		"links": ["/groups/1", "/sensors/6", "/sensors/9", "/rules/16", "/rules/17", "/rules/18", "/rules/19", "/rules/20", "/rules/21", "/rules/22", "/rules/45", "/rules/46", "/scenes/vyO3jo4Zia9aOh0", "/rules/47", "/rules/48", "/rules/49", "/rules/50"]
	},
	"7454": {
		"name": "Kerstmis",
		"description": "HueEssentialsEffect_1_",
		"type": "Link",
		"classid": 18,
		"owner": "e8027998-a7b8-4d07-94de-e26bc537568a",
		"recycle": false,
		"links": ["/groups/1", "/sensors/6", "/sensors/7", "/scenes/hLRfHNDW70zjs1H", "/rules/23", "/scenes/qKRKwAXemmPpOmD", "/rules/24", "/rules/25", "/scenes/pAfNlM5mmyhY7in", "/rules/26", "/rules/27", "/rules/28", "/rules/29"]
	},
	"62730": {
		"name": "Rainbow ",
		"description": "HueEssentialsEffect_1_",
		"type": "Link",
		"classid": 18,
		"owner": "e8027998-a7b8-4d07-94de-e26bc537568a",
		"recycle": false,
		"links": ["/groups/1", "/sensors/6", "/sensors/8", "/rules/30", "/rules/31", "/rules/32", "/rules/33", "/rules/34", "/rules/35", "/rules/36", "/rules/37", "/rules/38", "/rules/39", "/rules/40", "/scenes/bLis30FkwLwCg1i", "/rules/41", "/rules/42", "/rules/43", "/rules/44"]
	},
	"18841": {
		"name": "Open haard",
		"description": "HueEssentialsEffect_3_Fireplace_bri",
		"type": "Link",
		"classid": 18,
		"owner": "46d3670a-9563-4aad-8d49-6fb8f66c8711",
		"recycle": false,
		"links": ["/groups/3", "/sensors/10", "/sensors/11", "/scenes/iYsXI1DCIJOrj7L", "/rules/51", "/scenes/8EJa4OBRMw84Kl4", "/rules/52", "/scenes/UBLK7NATK3FMTkh", "/rules/53", "/scenes/lZqCMn2NFVIl7Z3", "/rules/54", "/scenes/40-umMMqpU9KS4V", "/rules/55", "/scenes/oYh-Sqtr84yYhDK", "/rules/56", "/scenes/o2tKFXVd5VCf2bb", "/rules/57", "/scenes/Z-6wbCQnvRyw1KD", "/rules/58", "/rules/59", "/scenes/p5OO5Rj0oKF-4lM", "/rules/60", "/rules/61", "/rules/62", "/rules/63"]
	},
	"48550": {
		"name": "Lemon",
		"description": "HueEssentialsEffect_3_",
		"type": "Link",
		"classid": 18,
		"owner": "46d3670a-9563-4aad-8d49-6fb8f66c8711",
		"recycle": false,
		"links": ["/groups/3", "/sensors/10", "/sensors/12", "/scenes/wOzMcpRtD7K5-s7", "/rules/64", "/scenes/nefWlhKuIS2P-6k", "/rules/65", "/scenes/FHYXYCqAjrXedHE", "/rules/66", "/scenes/diKWtSVd6-2U85u", "/rules/67", "/rules/68", "/scenes/SillCH6-TvEXhRx", "/rules/69", "/rules/70", "/rules/71", "/rules/72"]
	},
	"44022": {
		"name": "Alles-in-één regenboog",
		"description": "HueEssentialsEffect_1_Rainbow all-in-one",
		"type": "Link",
		"classid": 18,
		"owner": "2cfe76e4-055d-4591-bce5-c833e8ad0c12",
		"recycle": false,
		"links": ["/groups/1", "/sensors/6", "/sensors/28", "/scenes/tf5KTw1ML-Q3xDS", "/rules/73", "/scenes/qM3G7zWjbIODNRz", "/rules/74", "/scenes/zHgQwFq9RZBNKVP", "/rules/75", "/scenes/rWQbP36jiqGK9M7", "/rules/76", "/scenes/F32uZUVUtZYmNA9", "/rules/77", "/scenes/U9bBQnQTkIJbS4v", "/rules/78", "/scenes/6IBryBgWcvltpnV", "/rules/79", "/rules/80", "/scenes/4v9oyTjWUnUlimg", "/rules/81", "/rules/82", "/rules/83", "/rules/84"]
	}
}

See sensor number ( I see 2 and seems only last one in line is correct one) I get last one for example below
Then in API Debug:

URL: /api/MY-USERNAME/sensors/28/state
BODY: {“status”:1}
COMMANT RESPONSE:
[
{
“success”: {
“/sensors/28/state/status”: 1
}
}
]

In Home Assistant I created 2 RestAPI Switches for testing and they work:

HUE EFFECTS TEST

- platform: rest
  resource: https://192.168.100.19/api/MY-USERNAME/sensors/33/state
  name: "hue effects 1"
  body_on: '{"status": 1}'
  body_off: '{"status": 0}'
  method: put
  verify_ssl: false

- platform: rest
  resource: https://192.168.100.19/api/MY-USERNAME/sensors/28/state
  name: "hue effects 2"
  body_on: '{"status": "1"}'
  body_off: '{"status": "0"}'
  method: put
  verify_ssl: false
1 Like

api debug. Found the info trough the api explorer.

i also see 2 numers, only the last one works.

great to see the effects working :slight_smile: I only see the Hue Essentials effects in the list. Other apps I don’t see them. Maybe they don’t store them on the bridge.

Post a tutor on HA Forum now

1 Like