Ledvance WiFi bulbs

Hi FrancYescO :slight_smile:

Thanks for the guide, I now can see the JSON that the android app is generating in the console!

LocalTuya configuration requires both the device_id and the local_key, I see the localKey in the json, but the closest thing to device_id that I can see is devId, which has a similar value to key and bizId in the same JSON, it is also the same as the Virtual ID value that you can find in the LDV WiFi app itself for this bulb, but when I try using that as the device_id I’m not able to get a successful connection with the bulb and it’s greyed out in the Lovelace dashboard!

Do you have a tip for me.?! :slight_smile:

i can confirm that what you see as Virtual ID in the app is what you need, why is greyed out i don’t know, maybe looking at some debug information on localtuya can help you, are you sure to have not mixed localkey from various device?

do you, guys think this same approach is going to work for this ledvance light? It says on the datasheet it also uses the Ledvance smart+ wifi app so I’m guessing it will work…

This is the product description SMART + WIFI ORBIS Donut 400 WT - and this is the datasheet

If it uses the same app, pretty sure yes.

yup, worked like a charm, indeed!

I have been at this for 3 hours…

I am SO close. But i keep getting
“No frontmost application on Android Emulator 5554”

frida-trace --version
15.0.17

adb shell
generic_x86_arm:/ #

When i look at the app version on the virtual phone it shows as version 1.2.0?
I followed the link from HowTo - Ledvance SMART+ Plug Wifi in Home Assistant (Solution)

Also, no matter what i do i keep getting
“Unable to locate adb” when i start the AVD. But isnt ADB working when i am able to install the app?

SUCCESS!!

i had to open the shell with
adb shell
and then run these two commands “manually”

chmod 755 /data/local/tmp/frida-server
/data/local/tmp/frida-server &

Then it worked

BTW. I am trying to integrate LEDVANCE GARDEN POLE RGB + WHITE

These are my settings in local Tuya

Great work guys!

I was able to trace in powershell but my JS bloob does not contain any localkeys…

Thanks

Edit: I managed to find key, had to refresh devices multiple times

Hi Flag - I’ve been trying this for a day now and can’t get “add root” to execute. Normally comes back with “can’t run in production modes” or something. Can you help?

Hi @Flag - I’ve gotten pretty far now but have the same two issues.

  1. adb shell /data/local/tmp/frida-server &
    Always says cant because it’s a directory

  2. frida-trace -U --decorate -j *!encodeString/isu -F
    Always returns “No frontmost application on Android Emulator 5554”

I have the emulator running with the app and I can see my devices so I’m not sure what’s wrong at this point.

Please help!

Hi Frank,

try to run the comman one by one.

first: adb shell (press enter) and then the other commands line by line!

Do you haave the right Android Version in the emulator running?
With the first tutorial, i got crazy because many steps are not included. I spent days with trial and error. Today, wouldnt buy theese plugs and would take better one with zigbee.

Hey - thanks for responding. I’m all up and running! I am buying Zigbee stuff in the future.

1 Like

@FlyingHippo, thanks a lot for the screenshot detailing your entity setup, it saved me the trouble of trial-and-error to configure it myself.

I am myself dealing with a Classic A 100 E27 14W Multicolor bulb (#4058075485518)

And only the color temperature (aka white warmth) was different from what you posted.

Here is my config :

Maybe it’ll help you in return, if it works for your lamp as well.

Cheers
BigT

2 Likes

Hey all, Ledvance made consumer life really hard preventing tuya/smartlife integration for customers even though they use tuya’s app core and services. It would be so easy to manage devices locally and with 3rd parties even with customisations, if they didnt remove tuya/smartlife integration from their app. Anyway, looks like there is only one workaround that is getting local key from ledvance for local/3rd party integrations. The problem is its really cumbersome method. I was wondering about getting local key from the files in app folder on a rooted emulator/device? Some of old smart life app versions save local key in plaintext on xml file. Anyone have any experience with that method for Ledvance devices? Cheers

No local file.
You can get localkey only sniffing.

Hey Francesco thanks a lot for your work and guide.

1 Like

FYI:

3 Likes

This solution took a fair amount of fiddling for me, and in the end it works 20% of the way. When toggling the lightbulb off in Home Assistant, the light does turn off, but only after turning it on via the Alexa app.

The light cannot be turned on from HA, and even after turning it on in Alexa, the colour/brightness cannot be changed from HA.

The state also doesn’t seem to update in the Alexa app, when toggling the lights off in HA, until you tap on the light to ‘refresh’ it in the Alexa app. Then it ‘realises’ that the light has been turned off, and it appears in Alexa as off.

In the configuration.yaml you provided, don’t lines 7 and 8 need entity IDs and a service?

At least, for me, HA gave me yaml errors, until I added a service call and entity ID’s for turn_on / turn_off in the yaml:

light:
  - platform: template
    lights:
      joes_office_light_1:
        friendly_name: "Ceiling Light 1"
        temperature_template: "{{states('input_number.temperature_input') | int}}"
        color_template: "({{states('input_number.h_input') | int}}, {{states('input_number.s_input') | int}})"
        turn_on:
          service: light.turn_on
          entity_id: light.joes_office_light_1
        turn_off:
          service: light.turn_off
          entity_id: light.joes_office_light_1
        set_temperature:
          service: input_number.set_value
          data:
            color_temp: "{{ color_temp }}"
            entity_id: input_number.temperature_input
        set_color:
          - service: input_number.set_value
            data:
              value: "{{ h }}"
              entity_id: input_number.h_input
          - service: input_number.set_value
            data:
              value: "{{ s }}"
              entity_id: input_number.s_input'

The ‘turn off’ from HA seems to be working fine, but the ‘turn on’ gives the following error in Node-RED:

function : (error)
"TypeError: Cannot read properties of undefined (reading '0')"

The error is with the ‘function’ node, but I have no clue what’s wrong with it or what I need to change.

I also see some errors in Home Assistant itself:

Failed to call service light/turn_on. not a valid value for dictionary value @ data[‘entity_id’]
Failed to call service light/turn_on. extra keys not allowed @ data[‘color_temp’]

Do you have any suggestions?

I’m determined to make this work - my house is FULL of these bulbs!

OK, the entity IDs of my helpers were incorrect (silly mistake).

I’ve corrected them all, and the lights can now be turned on via HA, and the brightness can be set.

However, colour and temp cannot be set from HA (I cannot change them from being set at pure white). The error shown in Node-RED is just “no JSON” on the top routine node, after the ‘switch’.

I think something is going wrong with my config when it comes to the set_color / set_temperature. I still see these errors in HA when trying to change the colour and temperature.

Failed to call service light/turn_on. not a valid value for dictionary value @ data[‘entity_id’]
Failed to call service light/turn_on. extra keys not allowed @ data[‘color_temp’]

thnaks a ton for this threat, was able to add 2 LEDVANCE Wifi SMART+ Outdoor Neon Flex LED stripes for my balcony with this threat and an old rooted android phone! :slight_smile:
config was similar to @BigTweety Classic bulb.