Getting Philips WIZ remote working with esphome

Hi all,
I managed to get these remotes working with esphome:
Home Depot Link

The remotes use an ESP- WROOM chip, which is based on the esp8266. I have all the buttons connected to HA as binary sensors. I had to create a custom sensor to read most of the button values, because they are using an 8-bit serial output shift register.

I still can’t figure out how the LED is controlled. I know it is connected to GPIO pin 16, but if I create a binary switch for that pin, it no longer boots.

I think my next goals for this project are:

  • Improve battery life
  • Get control of front LED
  • Improve boot time
  • Submit device to esphome so others can use this configuration

Any advice about how to accomplish these goals? I’m not sure that I can use the deep sleep function as I don’t want to wait for the remote to boot each time I use it.

I’m super happy I got this far, but I’m just about lost as to what to take on next. Thanks!

ESPHome .yaml file:

substitutions:
  remote_name: remote one
esphome:
  name: light_remote
  platform: ESP8266
  #board: nodemcuv2
  board: esp_wroom_02
  includes:
    - shift_register.h

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "729f651c410e200306489c25304d9aa3"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password



sensor:
  - platform: adc
    pin: VCC
    name: ${remote_name} VCC Voltage

      
binary_sensor:
  - platform: gpio
    pin: GPIO14
    name: ${remote_name} sleep
    filters:
      - invert:

    
    
  - platform: custom
    lambda: |-
      auto my_b_sensor = new shift_register();
      App.register_component(my_b_sensor);
      return{my_b_sensor->bit_0_sensor,my_b_sensor->bit_1_sensor,my_b_sensor->bit_2_sensor,my_b_sensor->bit_3_sensor,my_b_sensor->bit_4_sensor,my_b_sensor->bit_5_sensor,my_b_sensor->bit_6_sensor,my_b_sensor->bit_7_sensor};
    binary_sensors:
      - name: ${remote_name} minus
        filters:
          delayed_on: 10ms
      - name: ${remote_name} plus
        filters:
          delayed_on: 10ms
      - name: ${remote_name} preset3
        filters:
          delayed_on: 10ms
      - name: ${remote_name} preset4
        filters:
          delayed_on: 10ms
      - name: ${remote_name} preset1
        filters:
          delayed_on: 10ms
      - name: ${remote_name} preset2
        filters:
          delayed_on: 10ms
      - name: ${remote_name} on
        filters:
          delayed_on: 10ms
      - name: ${remote_name} off
        filters:
          delayed_on: 10ms
          
#EOF

Any chance you’d be willing to put this config + custom shift register online somewhere so others could take a look?

Instead of installing ESPHome on the remote itself (losing the powersaving efforts), you can listen for the original broadcasts with another ESPHome device: https://github.com/jesserockz/wizmote-esphome/

My question @jesserockz how does one find the MAC address of the Wizmote? I know there is an issue with an answer but I fail to understand what it means. Like how do you setup the component without knowing the MAC address?

Could you please upload the shift_register.h file?
That would be helpful.

I don’t have the espconfig anymore, but I did find the shift_register.h file. I have uploaded it here:
https://github.com/bbass101/wiz_remote_esphome

I used this and it works great!

I played a bit around with it (found Wizmote - Pastebin.com and https://smarthomeyourself.de/wiki/esphome/lednify-remote-control-mit-esphome/). I wonder how this could ever work. ESPHome takes way too long to connect to WiFi. The remote I have (looks similar to this one but might be a newer release) has some hardware power control. When I push a button, it boots and powers down after 1-2 seconds. ESPHome connected only to wifi when I pressed the buttons repeatedly for a long time.

I flashed the original firmware back and will use GitHub - jesserockz/wizmote-esphome as suggested above.

Hi! Sorry for bothering but by mere chance do you still have the original firmware file?

I was dumb enough to flash ESPHome on one of my wizmotes without backing it up first and now after trying to recover it by dumping the firmware of my other remote I discovered the MAC/BSSID appears to be stored in software and now both remotes are intepreted as being just one to both the WiZ App and Jesse’s solution. I’m looking for any firmware just to get a different MAC and see if I can get out of this mess I got myself into :smiling_face_with_tear: