Open chrsmrtn- opened 5 months ago
Found this error in the logs
{"Timestamp":"2024-02-14T20:01:41.1406488-07:00","Level":"Information","MessageTemplate":"Get LIFX Lights Initialized","Properties":{"SourceContext":"PresenceLight.Razor.Components.Pages.Lifx","Application":"PresenceLight"}}
{"Timestamp":"2024-02-14T20:01:41.5026759-07:00","Level":"Error","MessageTemplate":"Error Occurred Getting LIFX Lights","Exception":"System.NullReferenceException: Object reference not set to an instance of an object.\r\n at PresenceLight.Razor.Components.Pages.Lifx.CheckLIFX(String type)","Properties":{"SourceContext":"PresenceLight.Razor.Components.Pages.Lifx","Application":"PresenceLight"}}
Error from nightly build:
{"Timestamp":"2024-02-14T20:38:23.9062263-07:00","Level":"Information","MessageTemplate":"Get LIFX Lights Initialized","Properties":{"SourceContext":"PresenceLight.Razor.Components.Pages.Lifx","Application":"PresenceLight"}}
{"Timestamp":"2024-02-14T20:38:24.2627032-07:00","Level":"Error","MessageTemplate":"Error Occurred Getting LIFX Lights","Exception":"System.NullReferenceException: Object reference not set to an instance of an object.\r\n at PresenceLight.Razor.Components.Pages.Lifx.CheckLIFX(String type) in D:\\a\\presencelight\\presencelight\\src\\PresenceLight.Razor\\Components\\Pages\\Lifx.razor:line 204","Properties":{"SourceContext":"PresenceLight.Razor.Components.Pages.Lifx","Application":"PresenceLight"}}
My currently selected item id for LIFX
Workaround to get things working is to use the LIFX api to get the ID of the light you want to use and then manually set the SelectedItemId in the settings to the appropriate encoded value. I don't have a workaround for the listing issue
@chrsmrtn- what lights do you have? I wonder if certain lights operate on a different protocol than the ones I have tested with.
LIFX beam and LIFX striplight (LIFX Z2). Neither of which are listed in the app. Those are the only two lights i own
So lights or groups don't work?
I'm unable to list lights
@chrsmrtn- Can you do me a favor and return the JSON response you get from the LIFX Api?
Sure, here ya go. I masked the IDs. The Guids are still formatted as guid and the other values all have the same number of characters. The original values were all alphanumeric
[
{
"id": "d00000000000",
"uuid": "00000000-0000-0000-0000-000000000001",
"label": "Office Door",
"connected": false,
"power": "off",
"color": {
"hue": 0,
"saturation": 0,
"kelvin": 3500
},
"brightness": 1,
"effect": "OFF",
"group": {
"id": "00000000000000000000000000000001",
"name": "Upstairs Hallway"
},
"location": {
"id": "00000000000000000000000000000002",
"name": "Home"
},
"product": {
"name": "LIFX Z 2",
"identifier": "lifx_z2",
"company": "LIFX",
"vendor_id": 1,
"product_id": 32,
"capabilities": {
"has_color": true,
"has_variable_color_temp": true,
"has_ir": false,
"has_hev": false,
"has_chain": false,
"has_matrix": false,
"has_multizone": true,
"min_kelvin": 2500,
"max_kelvin": 9000
}
},
"last_seen": "",
"seconds_since_seen": 0
},
{
"id": "d00000000001",
"uuid": "00000000-0000-0000-0000-000000000002",
"label": "Status Light",
"connected": false,
"power": "off",
"color": {
"hue": 0,
"saturation": 0,
"kelvin": 3500
},
"brightness": 1,
"effect": "OFF",
"group": {
"id": "00000000000000000000000000000011",
"name": "Desk"
},
"location": {
"id": "00000000000000000000000000000022",
"name": "Office"
},
"product": {
"name": "LIFX Beam",
"identifier": "lifx_beam",
"company": "LIFX",
"vendor_id": 1,
"product_id": 119,
"capabilities": {
"has_color": true,
"has_variable_color_temp": true,
"has_ir": false,
"has_hev": false,
"has_chain": false,
"has_matrix": false,
"has_multizone": true,
"min_kelvin": 1500,
"max_kelvin": 9000
}
},
"last_seen": "",
"seconds_since_seen": 0
}
]
I'm also unable to list groups
I think the issue is with the model of light you have. I have a LIFX Beam, and it shows up in PresenceLight. Here is what that light looks like, only difference I see from yours is the product_id
{
"id": "xxxxx",
"uuid": "xxxx",
"label": "Isaac Wakeup Light",
"connected": true,
"power": "on",
"color": {
"hue": 191.94,
"saturation": 1,
"kelvin": 3500
},
"brightness": 0.1,
"zones": {
"count": 21,
"zones": [
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 0
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 1
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 2
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 3
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 4
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 5
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 6
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 7
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 8
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 9
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 10
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 11
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 12
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 13
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 14
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 15
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 16
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 17
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 18
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 19
},
{
"hue": 191.94,
"saturation": 1,
"brightness": 0.1,
"kelvin": 3500,
"zone": 20
}
]
},
"effect": "OFF",
"group": {
"id": "xxxxxx",
"name": "OK To Wake"
},
"location": {
"id": "xxxxx",
"name": "Home"
},
"product": {
"name": "LIFX Beam",
"identifier": "lifx_beam",
"company": "LIFX",
"vendor_id": 1,
"product_id": 38,
"capabilities": {
"has_color": true,
"has_variable_color_temp": true,
"has_ir": false,
"has_hev": false,
"has_chain": false,
"has_matrix": false,
"has_multizone": true,
"min_kelvin": 2500,
"max_kelvin": 9000
}
},
"last_seen": "2024-03-06T23:35:06Z",
"seconds_since_seen": 0
}
So my model is causing the issue with being able to list my lights? But the light transitions work just fine if i manually set that light in the configuration
@chrsmrtn- would you be willing to send me your LIFX token temporarily? I just want to see what that app does when it calls the API
Describe the bug When i click on "Find LIFX Lights", no lights are populated in the dropdown
To Reproduce Steps to reproduce the behavior:
Expected behavior To list lights i've setup with LIFX
Screenshots![Screenshot 2024-02-13 191236](https://github.com/isaacrlevin/presencelight/assets/5657979/61cceec9-d1d1-4310-bb10-f249dd16627f)
Further details