Eufy Permanent Outdoor Lights E22

Hello,

I have the Permanent Outdoor Lights E22 from eufy. I’m really excited about the lights, but unfortunately I can’t manage to integrate them into my Home Assistant.

The eufyHome integration doesn’t seem to work anymore as I get an error 404 on the API page.

Can anyone help me?

Thank you very much for your support!

Greetings from Germany
Max

1 Like

Hi Max,

As the eufyhome didn’t work for me, In the short term I created a template light that provides limited control via google_assistant_sdk_custom.send_text_command. This allows me to turn the lights On, Off and adjust brightness. Colours and whites can also be selected using the send_text_command.

The Eufy AI, Ambient and Personal scenes are not available through this technique, but these can be scheduled within the eufy life app if this is important to you.

I’m hoping to convert the lights to wled or wait for a complete integration in the longer term.

Hope that gives you some ideas?

Kind Regards

Thank you for the very interesting answer. Would you have a step-by-step guide for me? It definitely comes after a functional solution approach.

King Regards
Max

Control Eufy E22 Lights from Home Assistant via Google text commands

Limited control is possible. Including Off, On, Brightness and selecting a colour. Direct access isn’t available to Eufy Life AI, Ambient, Daily or Personal Scenes.

  • Link Eufy Lights to Google via the Eufy Life App/Menu/Third Party Service/Google Voice Assistant
  • Check google voice commands work with the E22 Lights (change to your actual light name in the examples below)
hey google turn on e22 Lights
hey google turn off e22 Lights

Within Home Assistant

  • Install “Google Assistant SDK Custom” from Home Assistant Community Store (HACS). Follow instruction carefully for installation as this can be quite involved.

  • Use Home Assistant/Development tools/actions to check E22 Lights are controllable from Home Assistant

  • Action - “Google Assistant SDK Custom: Send Text command”
    try various commands and check lights react properly

turn on e22 lights
turn off e22 lights
set e22 lights to 50% 
set e22lights to green
set e22 lights to warm white
  • Home Assistant automations can be created to use commands similar to above.

  • The following command will provide an indication to whether the lights are on or not within the response variable
    how bright are the e22 lights

  • this will respond with a percent figure or a “… lights is off”. Note - It is NOT possible to determine the current light colour via text command.

A template light can be created that calls scripts to turn the e22 lights on or off or set brightness. the example below also uses a couple of helper entities for tracking opportunist state. The scripts could be enhanced to support setting colour and checking response variable to confirm actions happened.

light:
  - platform: template
    lights:
      outdoor_front_lower_soffit_lights:
        friendly_name: "Outdoor e22Lights"
        level_template: "{{ states('input_number.outdoor_e22_brightness') | int }}"
        value_template: "{{ is_state('input_boolean.outdoor_e22_state','on') }}"
        turn_on:
          action: script.outdoor_e22_lights_on
        turn_off:
          action: script.outdoor_e22_lights_off
        set_level:
          action: script.outdoor_e22_brightness
          data:
            brightness: "{{ brightness }}"

Example light On script (light off is similar)

alias: Outdoor e22 Lights On
sequence:
  - action: google_assistant_sdk_custom.send_text_command
    data:
      command: turn on the outdoor e22 lights
  - action: input_boolean.turn_on
    target:
      entity_id: input_boolean.outdoor_e22_state

Example set brightness

alias: Outdoor e22 Lights Brightness
sequence:
  - action: google_assistant_sdk_custom.send_text_command
    data:
      command:
        - >-
          set the outdoor e22 lights to {{ (brightness / 255 *
          100) |int }} %
  - action: input_number.set_value
    data:
      value: "{{ brightness }}"
    target:
      entity_id: input_number.outdoor_e22_lights_brightness

Hope that helps

1 Like