presencelight icon indicating copy to clipboard operation
presencelight copied to clipboard

Unable to list lights for LIFX integration

Open chrsmrtn- opened this issue 1 year ago • 14 comments
trafficstars

Describe the bug When i click on "Find LIFX Lights", no lights are populated in the dropdown

To Reproduce Steps to reproduce the behavior:

  1. LIFX under configure lights
  2. Click on "Get Token"
  3. Login to your LIFX account
  4. Click on "Find LIFX Lights"
  5. Click on the drop down to select a light
  6. Note the dropdown does not list any lights

Expected behavior To list lights i've setup with LIFX

Screenshots Screenshot 2024-02-13 191236

Further details

  • OS: Windows 10
  • PresenceLight App Type: Desktop
  • PresenceLight Build: Store
  • PresenceLight Version: 5.8.2
  • Did you clear settings.json? (C:\Users\username\AppData\Local\Packages\37828IsaacLevin.197278F15330A.SomeValue\LocalState\settings.json
  • No need to, this is a fresh install

chrsmrtn- avatar Feb 14 '24 02:02 chrsmrtn-

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"}}

chrsmrtn- avatar Feb 15 '24 03:02 chrsmrtn-

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"}}

chrsmrtn- avatar Feb 15 '24 03:02 chrsmrtn-

My currently selected item id for LIFX

image

chrsmrtn- avatar Feb 15 '24 03:02 chrsmrtn-

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- avatar Feb 15 '24 03:02 chrsmrtn-

@chrsmrtn- what lights do you have? I wonder if certain lights operate on a different protocol than the ones I have tested with.

isaacrlevin avatar Feb 21 '24 00:02 isaacrlevin

LIFX beam and LIFX striplight (LIFX Z2). Neither of which are listed in the app. Those are the only two lights i own

chrsmrtn- avatar Feb 24 '24 21:02 chrsmrtn-

So lights or groups don't work?

isaacrlevin avatar Feb 24 '24 22:02 isaacrlevin

I'm unable to list lights

chrsmrtn- avatar Feb 26 '24 05:02 chrsmrtn-

@chrsmrtn- Can you do me a favor and return the JSON response you get from the LIFX Api?

isaacrlevin avatar Feb 26 '24 23:02 isaacrlevin

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
    }
]

chrsmrtn- avatar Mar 06 '24 06:03 chrsmrtn-

I'm also unable to list groups

chrsmrtn- avatar Mar 06 '24 06:03 chrsmrtn-

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
  }

isaacrlevin avatar Mar 06 '24 23:03 isaacrlevin

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- avatar Mar 07 '24 03:03 chrsmrtn-

@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

isaacrlevin avatar Mar 12 '24 21:03 isaacrlevin