A collection of my ESPHome components.

Overview

ESPHome components

Open in Visual Studio Code

A collection of my ESPHome components.

To use this repository you should confugure it inside your yaml-configuration:

external_components:
  - source: github://dentra/esphome-components

Energy Monitoring

Turn additional measurements features in your energy meter.

Energy Statistics

Gather energy statistics.

Energy Tariffs

Get support of tariffs right in your energy meter.

Startup Sensor

Uptime sensor based on timestamp.

Backup

Save your config back to firmware and download it.

ZMAi-90 v1

Turn your ZMAi-90 on V9821 chip into ESPHome device.

MIOT Platform

The MIOT Platform is alternative implementation of Xiaomi BLE protocol. At this moment there are list of supported device:

And growing...

Now with automatic bindkey extraction from Xiaomi Cloud.

MIOT Explorer

MIOT Platform based component to explore new BLE devices from Xiaomi ecosystem.

MIOT Yeelight Remote pair

Obtain beakonkey for Yeelight Remote (YLYK01YL), Dimmer (YLKG07YL/YLKG08YL), Bathroom Heater Remote (YLYB01YL-BHFRC), Fan Remote (YLYK01YL-VENFAN) and Ventilator Fan Remote (YLYK01YL-FANCL).

Issues
  • mi rubiks cube

    mi rubiks cube

    Add support for mi rubik's cube. I'm not sure if this will be useful, but it's a cool joke if someone spins my dice =). It is activated if you repeat 4 identical turns

    opened by xrust83 26
  • Changing the mode and scene on a  EraClean CW-BS01 doesn't seem to work

    Changing the mode and scene on a EraClean CW-BS01 doesn't seem to work

    Hi @dentra,

    I'm trying to control my EraClean CW-BS01. Whichever commands I send (setting the mode, the type of scene), be them from HA or directly from the ESP32 webserver don't actually change any settings on the device. Is this caused by the fact that it is a work in progress? I can see from the logs that the command sent is still with the old settings (as exemplified in the first 3 lines of the below log).

    Thanks in advance.

    [10:11:01][D][select:062]: 'FRIDGE-AIR-PURIFIER Mode' - Setting
    [10:11:01][D][select:115]: 'FRIDGE-AIR-PURIFIER Mode' - Set selected option to: Anion
    [10:11:01][D][select:015]: 'FRIDGE-AIR-PURIFIER Mode': Sending state Keep - Freshing (index 1)
    [10:11:08][D][ble_client:047]: Found device at MAC address [EC:4D:3E:BE:A7:6D]
    [10:11:08][D][iBeacon:101]: UUID: 50765CB7-D9EA-4E21-99A4-FA879613A492
    [10:11:08][I][ble_client:085]: Attempting BLE connection to ec:4d:3e:be:a7:6d
    [10:11:10][I][ble_client:170]: Service UUID: 0x1801
    [10:11:10][I][ble_client:171]:   start_handle: 0x1  end_handle: 0x4
    [10:11:10][I][ble_client:383]:  characteristic 0x2A05, handle 0x3, properties 0x20
    [10:11:10][I][ble_client:170]: Service UUID: 0x1800
    [10:11:10][I][ble_client:171]:   start_handle: 0x5  end_handle: 0xd
    [10:11:10][I][ble_client:383]:  characteristic 0x2A00, handle 0x7, properties 0x2
    [10:11:10][I][ble_client:383]:  characteristic 0x2A01, handle 0x9, properties 0x2
    [10:11:10][I][ble_client:383]:  characteristic 0x2A04, handle 0xb, properties 0x2
    [10:11:10][I][ble_client:383]:  characteristic 0x2AA6, handle 0xd, properties 0x2
    [10:11:10][I][ble_client:170]: Service UUID: 0xFE95
    [10:11:10][I][ble_client:171]:   start_handle: 0xe  end_handle: 0x1c
    [10:11:10][I][ble_client:383]:  characteristic 0x0004, handle 0x10, properties 0x2
    [10:11:10][I][ble_client:383]:  characteristic 0x0010, handle 0x12, properties 0x14
    [10:11:10][I][ble_client:383]:  characteristic 0x0019, handle 0x15, properties 0x14
    [10:11:10][I][ble_client:383]:  characteristic 0x0017, handle 0x18, properties 0x18
    [10:11:10][I][ble_client:383]:  characteristic 0x0018, handle 0x1b, properties 0x14
    [10:11:10][I][ble_client:170]: Service UUID: 00000100-0065-6C62-2E74-6F696D2E696D
    [10:11:10][I][ble_client:171]:   start_handle: 0x1d  end_handle: 0xffff
    [10:11:10][I][ble_client:383]:  characteristic 00000101-0065-6C62-2E74-6F696D2E696D, handle 0x1f, properties 0x4
    [10:11:10][I][ble_client:383]:  characteristic 00000102-0065-6C62-2E74-6F696D2E696D, handle 0x21, properties 0x10
    [10:11:10][D][miot_standard_auth_client:090]: state=0xB (11)
    [10:11:10][D][miot_standard_auth_client:090]: state=0xB (11)
    [10:11:10][D][miot_standard_auth_client:090]: state=0x0 (0)
    [10:11:10][D][miot_standard_auth_client:090]: state=0xD (13)
    [10:11:10][D][miot_standard_auth_client:090]: state=0x0 (0)
    [10:11:10][D][miot_standard_auth_client:090]: state=0xC (12)
    [10:11:10][D][miot_standard_auth_client:090]: state=0xC (12)
    [10:11:10][D][miot_standard_auth_client:090]: state=0xA (10)
    [10:11:10][D][miot_standard_auth_client:090]: state=0xA (10)
    [10:11:10][I][miot_standard_auth_client:062]: Login Success
    [10:11:10][D][miot_cwbs01.api:156]: Request state
    [10:11:10][D][miot_cwbs01.api:206]: Set mode 1
    [10:11:10][D][text_sensor:067]: 'FRIDGE-AIR-PURIFIER Version': Sending state '1.1.1_0008'
    [10:11:10][D][miot_cwbs01.api:073]: Got state: 5B.F5.FF.3F
    [10:11:10][D][select:015]: 'FRIDGE-AIR-PURIFIER Mode': Sending state Keep - Freshing (index 1)
    [10:11:10][D][select:015]: 'FRIDGE-AIR-PURIFIER Scene': Sending state Middle refrigerator (150L - 300L) (index 1)
    [10:11:10][D][sensor:125]: 'FRIDGE-AIR-PURIFIER Battery Level': Sending state 90.00000 % with 0 decimals of accuracy
    [10:11:10][I][ble_client:075]: [ec:4d:3e:be:a7:6d] Disabling BLE client.
    
    opened by mihsu81 14
  • Add support for yunmi.kettle.v12 kettle

    Add support for yunmi.kettle.v12 kettle

    Hi! I tried your custom component with my Xiaomi Mi Smart Kettle Pro (sold in Europe), which looks a lot like the model specified as supported in the readme, but unfortunately it doesn't seem to work. I am not 100% sure i didn't just set it up wrong, but it doesn't look like I did. Here's some info I figured could be useful.

    My config section related to miot kettle platform:

    
    external_components:
      - source: github://dentra/esphome-components
    
    miot:
      xiaomi_account:
        username: !secret xiaomi_username
        password: !secret xiaomi_password
        servers: "ru"
        update_interval: 4h
      
    binary_sensor:
      - platform: miot_kettle
        mac_address: "A4:C1:38:82:C9:35"
        name: "Kettle Water Boil Power"
        temperature:
          name: "Kettle Water Boil Temperature"
    

    When I compile firmware, I see this in the beginning, so that part must be working.

    INFO Got bindkey for A4:C1:38:82:C9:35 Kettle Water Boil Power
    

    With verbose logging, I can see this about my kettle:

    [14:07:45][VV][esp32_ble_tracker:500]: Parse Result:
    [14:07:45][VV][esp32_ble_tracker:517]:   Address: A4:C1:38:82:C9:35 (PUBLIC)
    [14:07:45][VV][esp32_ble_tracker:519]:   RSSI: -84
    [14:07:45][VV][esp32_ble_tracker:520]:   Name: 'MiKetv12'
    [14:07:45][VV][esp32_ble_tracker:528]:   Ad Flag: 6
    [14:07:45][VV][esp32_ble_tracker:545]:   Service data:
    [14:07:45][VV][esp32_ble_tracker:546]:     UUID: 0xFE95
    [14:07:45][VV][esp32_ble_tracker:547]:     Data: 30.58.E0.09.03.35.C9.82.38.C1.A4.28.01.00 (14)
    [14:07:45][VV][esp32_ble_tracker:550]: Adv data: 02.01.06.11.16.95.FE.30.58.E0.09.03.35.C9.82.38.C1.A4.28.01.00.09.09.4D.69.4B.65.74.76.31.32 (31)
    

    I am pretty noob about all of this, so let me know if you need any info for me that would help you make this custom component compatible with this kettle.

    opened by tannisroot 11
  • ZMAI-90 v1: ¿Status?

    ZMAI-90 v1: ¿Status?

    Hi, I have a couple of questions:

    Is it possible to know the status of the switch? Is it possible to act on it from HA or from webserver?

    The supply has been cut and when the switch returns to the zmai it stays off, having to manually press the button to return the supply, so I wonder if you can see that information.

    opened by jasimancas 8
  • Compiling error for energy statistics - std::isnan

    Compiling error for energy statistics - std::isnan

    Hey,

    Thanks for publishing this. I'm trying to use this with a Sonoff S31. Your example assumes the device provides a total energy sensor but this device does not. I'm hoping I can just use the integral sensor of the power to accomplish this. But when I try to compile on the latest dev version of esphome, it fails with the following error:

    Processing esphome_garage_controls_s31 (board: esp01_1m; framework: arduino; platform: platformio/espressif8266 @ 2.6.2)
    --------------------------------------------------------------------------------
    HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
    PACKAGES: 
     - framework-arduinoespressif8266 3.20704.0 (2.7.4) 
     - tool-esptool 1.413.0 (4.13) 
     - tool-esptoolpy 1.20800.0 (2.8.0) 
     - toolchain-xtensa 2.40802.200502 (4.8.2)
    Library Manager: Installing Update
    Library Manager: Already installed, built-in library
    Dependency Graph
    |-- <ESPAsyncTCP-esphome> 1.2.3
    |   |-- <ESP8266WiFi> 1.0
    |-- <ESPAsyncWebServer-esphome> 1.3.0
    |   |-- <ESPAsyncTCP-esphome> 1.2.3
    |   |   |-- <ESP8266WiFi> 1.0
    |   |-- <Hash> 1.0
    |   |-- <ESP8266WiFi> 1.0
    |   |-- <ArduinoJson-esphomelib> 5.13.3
    |-- <ESP8266WiFi> 1.0
    |-- <ArduinoJson-esphomelib> 5.13.3
    |-- <ESP8266mDNS> 1.2
    |   |-- <ESP8266WiFi> 1.0
    |-- <noise-c> 0.1.3
    |   |-- <libsodium> 1.10018.1
    |-- <DNSServer> 1.1.1
    |   |-- <ESP8266WiFi> 1.0
    Compiling .pioenvs/esphome_garage_controls_s31/src/esphome/components/energy_statistics/energy_statistics.cpp.o
    src/esphome/components/energy_statistics/energy_statistics.cpp: In member function 'virtual void esphome::energy_statistics::EnergyStatistics::loop()':
    src/esphome/components/energy_statistics/energy_statistics.cpp:51:18: error: 'isnan' was not declared in this scope
       if (isnan(total)) {
                      ^
    src/esphome/components/energy_statistics/energy_statistics.cpp:51:18: note: suggested alternative:
    In file included from src/esphome/core/component.h:5:0,
                     from src/esphome/components/energy_statistics/energy_statistics.h:3,
                     from src/esphome/components/energy_statistics/energy_statistics.cpp:2:
    /config/.esphome/platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/cmath:632:5: note:   'std::isnan'
         isnan(_Tp __x)
         ^
    src/esphome/components/energy_statistics/energy_statistics.cpp: In member function 'void esphome::energy_statistics::EnergyStatistics::process_(float)':
    src/esphome/components/energy_statistics/energy_statistics.cpp:78:62: error: 'isnan' was not declared in this scope
       if (this->energy_today_ && !isnan(this->energy_.start_today)) {
                                                                  ^
    src/esphome/components/energy_statistics/energy_statistics.cpp:78:62: note: suggested alternative:
    In file included from src/esphome/core/component.h:5:0,
                     from src/esphome/components/energy_statistics/energy_statistics.h:3,
                     from src/esphome/components/energy_statistics/energy_statistics.cpp:2:
    /config/.esphome/platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/cmath:632:5: note:   'std::isnan'
         isnan(_Tp __x)
         ^
    src/esphome/components/energy_statistics/energy_statistics.cpp:82:70: error: 'isnan' was not declared in this scope
       if (this->energy_yesterday_ && !isnan(this->energy_.start_yesterday)) {
                                                                          ^
    src/esphome/components/energy_statistics/energy_statistics.cpp:82:70: note: suggested alternative:
    In file included from src/esphome/core/component.h:5:0,
                     from src/esphome/components/energy_statistics/energy_statistics.h:3,
                     from src/esphome/components/energy_statistics/energy_statistics.cpp:2:
    /config/.esphome/platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/cmath:632:5: note:   'std::isnan'
         isnan(_Tp __x)
         ^
    src/esphome/components/energy_statistics/energy_statistics.cpp:86:60: error: 'isnan' was not declared in this scope
       if (this->energy_week_ && !isnan(this->energy_.start_week)) {
                                                                ^
    src/esphome/components/energy_statistics/energy_statistics.cpp:86:60: note: suggested alternative:
    In file included from src/esphome/core/component.h:5:0,
                     from src/esphome/components/energy_statistics/energy_statistics.h:3,
                     from src/esphome/components/energy_statistics/energy_statistics.cpp:2:
    /config/.esphome/platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/cmath:632:5: note:   'std::isnan'
         isnan(_Tp __x)
         ^
    src/esphome/components/energy_statistics/energy_statistics.cpp:90:62: error: 'isnan' was not declared in this scope
       if (this->energy_month_ && !isnan(this->energy_.start_month)) {
                                                                  ^
    src/esphome/components/energy_statistics/energy_statistics.cpp:90:62: note: suggested alternative:
    In file included from src/esphome/core/component.h:5:0,
                     from src/esphome/components/energy_statistics/energy_statistics.h:3,
                     from src/esphome/components/energy_statistics/energy_statistics.cpp:2:
    /config/.esphome/platformio/packages/toolchain-xtensa/xtensa-lx106-elf/include/c++/4.8.2/cmath:632:5: note:   'std::isnan'
         isnan(_Tp __x)
         ^
    *** [.pioenvs/esphome_garage_controls_s31/src/esphome/components/energy_statistics/energy_statistics.cpp.o] Error 1
    ========================== [FAILED] Took 4.35 seconds ==========================
    

    Relevant config:

    external_components:
    ### https://github.com/dentra/esphome-components/
      - source:
          type: git
          url: https://github.com/dentra/esphome-components
        components: 
        - energy_statistics
    
    
    sensor:
    - platform: integration
      name: "${friendly_name} Total Energy"
      id: total_energy_by_integration
      sensor: s31_power
      time_unit: h
      unit_of_measurement: "kWh"
      filters:
        - multiply: 0.001
      accuracy_decimals: 3
      restore: true
      state_class: total_increasing
    
    
    - platform: "energy_statistics"
      total: total_energy_by_integration
      energy_today:
        name: "${friendly_name} Energy Today"
      energy_yesterday:
        name: "${friendly_name} Energy Yesterday"
      energy_week:
        name: "${friendly_name} Energy Week"
      energy_month:
        name: "${friendly_name} Energy Month"
    
    
    - platform: cse7766
      update_interval: 10s
      current:
        name: "${friendly_name} Current"
      voltage:
        name: "${friendly_name} Voltage"
      power:
        name: "${friendly_name} Power"
        id: s31_power
        unit_of_measurement: W
        filters:
          - delta: 3.0
        on_value:
          then:
            - sensor.template.publish:
                id: s31_power_kw
                state: !lambda '{ return x; }'
    - platform: template
      name: "${friendly_name} in kW"
      id: s31_power_kw
      internal: true
      filters:
        - delta: 5
        - debounce: 5s
        - multiply: 0.001
      unit_of_measurement: "kW"
      accuracy_decimals: 3
    
    wontfix 
    opened by poldim 8
  • Many compile errors

    Many compile errors

    Hi, thank you for this component!

    I am running ESPhome 2022.1.2 on Supervised HAS (Debian) 2021.12.10.

    My yaml file:

    esp32_ble_tracker:
    
    external_components:
      - source: github://dentra/esphome-components
      
    binary_sensor:
      - platform: miot_mccgq02hl
        mac_address: ${MCCGQ02HL_1_mac}
        bindkey: ${MCCGQ02HL_1_bindkey}
        name: ${MCCGQ02HL_1_name}
        light:
          name: ${MCCGQ02HL_1_name} Light
        alert:
          name: ${MCCGQ02HL_1_name} Alert
        battery_level:
          name: ${MCCGQ02HL_1_name} Bat
        battery_voltage:
          name: ${MCCGQ02HL_1_name} Bat Volt.
    
    sensor:
    - platform: ble_rssi
      mac_address: ${MCCGQ02HL_1_mac}
      name: ${MCCGQ02HL_1_name} BLE RSSI
      entity_category: "diagnostic"
    

    and in the parent file:

    substitutions:
      MCCGQ02HL_1_mac: "E4:AA:EC:45:10:B4"
      MCCGQ02HL_1_bindkey: "edded93604df960caed5d47f"
      MCCGQ02HL_1_name: "MCCGQ02HL Door 1 "
    

    The errors are many (20-30), I'll list the first few src/esphome/components/miot/miot_decrypt.h:13:31: error: 'MiotListener' does not name a type bool decrypt_mibeacon45(const MiotListener *listener, MiBeacon &mib);

    src/esphome/components/miot/miot_decrypt.h:13:55: error: 'MiBeacon' has not been declared bool decrypt_mibeacon45(const MiotListener *listener, MiBeacon &mib);

    src/esphome/components/miot/miot_dump.cpp:8:40: error: 'MiBeacon' does not name a type void dump(const char *const TAG, const MiBeacon &mib) {

    src/esphome/components/miot/miot_dump.cpp:9:43: error: request for member 'product_id' in 'mib', which is of non-class type 'const int' ESP_LOGD(TAG, " Product ID: %04X", mib.product_id);

    src/esphome/components/miot/miot_dump.cpp:11:57: error: request for member 'frame_control' in 'mib', which is of non-class type 'const int' ESP_LOGD(TAG, " is_encrypted : %s", YESNO(mib.frame_control.is_encrypted));

    src/esphome/components/miot/miot_dump.cpp:22:16: error: 'mac_reverse' was not declared in this scope auto mac = mac_reverse(mib.mac_address);

    src/esphome/components/miot/miot_dump.cpp:23:37: error: expected ')' before 'ESP_BD_ADDR_STR' ESP_LOGD(TAG, " MAC address: " ESP_BD_ADDR_STR, mac[5], mac[4], mac[3], mac[2], mac[1], mac[0]);

    I have cleaned all build files, but the errors persist.

    Most likely I am doing something wrong, can you please help?

    opened by JeeCee1 6
  • Problem with ESPHome firmware on ZMAi-90 WB3S V3

    Problem with ESPHome firmware on ZMAi-90 WB3S V3

    Hi! Can you help me with the ZMAi-90 counter firmware? I bought several pieces with a WB3S chip, replaced the chip with an ESP-12F and used your firmware for version 2, but it does not work on this counter modification.

    opened by ArtKZ 6
  • Which id to use in the configuration of EraClean CWBS-01:

    Which id to use in the configuration of EraClean CWBS-01: "lambda: id(sw_ble_client).turn_off();"

    Hi @dentra,

    Which id should be used in the configuration file for a EraClean CWBS-01 instead of sw_ble_client?

    ota:
      on_begin:
        then:
          - lambda: id(sw_ble_client).turn_off();
    

    Using the name of the ESP32 device throws errors during compilation, and sw_ble_client is not recognised.

    Thanks in advance for your help and for the awesome job. 😊

    opened by mihsu81 4
  • Buliding error on ESPHOME 2022.3

    Buliding error on ESPHOME 2022.3

    ERROR Unable to load component miot_mccgq02hl.binary_sensor:
    Traceback (most recent call last):
      File "/esphome/esphome/loader.py", line 162, in _lookup_module
        module = importlib.import_module(f"esphome.components.{domain}")
      File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 790, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/config/esphome/.esphome/external_components/2f2a5be3/components/miot_mccgq02hl/binary_sensor.py", line 27, in <module>
        ): binary_sensor.device_class,
    AttributeError: module 'esphome.components.binary_sensor' has no attribute 'device_class'
    ERROR Unable to load component miot_mccgq02hl.binary_sensor:
    Traceback (most recent call last):
      File "/esphome/esphome/loader.py", line 162, in _lookup_module
        module = importlib.import_module(f"esphome.components.{domain}")
      File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 790, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/config/esphome/.esphome/external_components/2f2a5be3/components/miot_mccgq02hl/binary_sensor.py", line 27, in <module>
        ): binary_sensor.device_class,
    AttributeError: module 'esphome.components.binary_sensor' has no attribute 'device_class'
    
    opened by itanczos 4
  • Device uptime sensor

    Device uptime sensor

    is there is something wrong with uptime sensor?

    image

    the code `external_components:

    • source: github://dentra/esphome-components

    sensor:

    • platform: startup name: Device Uptime`
    opened by to4ko 4
  • Could not compiling the node with miot_mccgq02hl component, after update ESPHome to 2021.10.0 version

    Could not compiling the node with miot_mccgq02hl component, after update ESPHome to 2021.10.0 version

    Could not compiling the node with miot_mccgq02hl component, after update ESPHome to 2021.10.0 version

    ERROR Unable to import component miot_mccgq02hl.binary_sensor:
    Traceback (most recent call last):
      File "/esphome/esphome/loader.py", line 162, in _lookup_module
        module = importlib.import_module(f"esphome.components.{domain}")
      File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 790, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/config/esphome/.esphome/external_components/2f2a5be3/components/miot_mccgq02hl/binary_sensor.py", line 3, in <module>
        from esphome.components import miot, binary_sensor
      File "/config/esphome/.esphome/external_components/2f2a5be3/components/miot/__init__.py", line 8, in <module>
        from esphome.const import (
    ImportError: cannot import name 'ESP_PLATFORM_ESP32' from 'esphome.const' (/esphome/esphome/const.py)
    ...
    ...
    
    opened by itanczos 4
  • Integrate Yeelight Remote Control 1S (YLAI003)

    Integrate Yeelight Remote Control 1S (YLAI003)

    I ask you for a clarification on how to integrate this button in HA. I have configured everything correctly, in ESPHome log I see the single, double and long click. How do I use the event in HA? Only the battery status appears (yes work!). Thank you.

    https://user-images.githubusercontent.com/39622729/156578768-9a425233-2362-404e-9f7a-881996014661.mp4

    opened by gianlucaf81 6
  • Is there a way to get bind key of RTCGQ02LM without Xiaomi hub?

    Is there a way to get bind key of RTCGQ02LM without Xiaomi hub?

    Xiaomi Mi Smart Home Occupancy Sensor 2 (RTCGQ02LM) Xiaomi Mi Smart Home Door/Window Sensor 2 (MCCGQ02HL)

    MCCGQ02HL can pair directly through phone without hub. Is there a go around?

    opened by scout1256 14
ESPHome integration for the Xiaomi Mijia Bedside Lamp v2.

esphome-xiaomi_bslamp2 Warning: this code is still under development This code might not yet be production-ready. At this point, it is declared beta-q

Maurice Makaay 115 Aug 2, 2022
Simple ESPHome Wiegand custom component

esphome-wiegand Simple ESPHome Wiegand custom component Based on this code: https://github.com/Luisiado/wiegand_esphome_module To use: Drop wiegand_de

Av 17 Jul 18, 2022
SmartShunt ve.direct to ESPHOME node

VictronSmartShunt-ESPHOME SmartShunt ve.direct to ESPHOME node A configured uart component is required. Example: victron: uart_id: the_uart sensor:

null 19 Jul 12, 2022
ESPHome BLE Keyboard

ESPHome BLE Keyboard The firmware implements the ability to connect your esp32 device as a BLE keyboard and send keystrokes via Home Assistant Table o

Dmitry Mamontov 12 Aug 3, 2022
Projects related to sync'ing esphome devices with other protocols: DDP, E131, etc...

esphome sync This project is due to a desire to leverage WLED's new virtual strip (via DDP) feature or software like xLights or LEDFx to controls ESP

tony 7 Apr 24, 2022
Custom ESPHome Component for generic Sit-Stand-Desks

ESPHomeGenericSitStandDesk I have one of those generic relatively cheap Sit Stand Desks. In an effort to monitor my desk usage I developed this overki

Till 17 Jun 11, 2022
EspHoMaTriX - A simple DIY status display with an 8x32 RGB LED panel implemented with esphome.io

EspHoMaTriX (ehmtx) A simple DIY status display with an 8x32 RGB LED panel implemented with esphome.io Introduction There are some status displays out

LuBeDa 23 Aug 9, 2022
ESPHome component to send and receive HDMI-CEC messages.

HDMI-CEC ESPHome Component An ESPHome component that supports receiving and transmitting HDMI-CEC messages to connected HDMI devices. The ultimate goa

John Boiles 19 Jul 29, 2022
Bypass UAC at any level by abusing the Program Compatibility Assistant with RPC, WDI, and more Windows components

ByeIntegrity 8.0 The eighth Windows privilege escalation attack in the ByeIntegrity family. ByeIntegrity 8.0 is the most complex one I've created so f

Arush Agarampur 212 Jul 11, 2022
Prometheus exporter for ARM® Hardware components using HWCPipe.

ARM® HWCPipe Exporter ARM® HWCPipe Exporter is a Prometheus exporter written in Java and C++ that retrieves metrics from Android devices running on AR

Jinesi Yelizati 3 Mar 18, 2022
Is this hardware solution the ultimate in switch bounce elimination? Simple PCB, cheap components = final solution!

#230 Ultimate Switch Bounce Eliminator Direct link to video: https://youtu.be/b2uUYiGrS5Y It's time to try a final, alternative approach to the ubiqui

Ralph Bacon 5 Mar 25, 2022
Additional components for ESP-IDF, maintained by Espressif

Espressif IDF Extra Components This repository aims to store ESP-IDF extra components which have been seperated and uploaded into IDF Component Manage

Espressif Systems 17 Aug 5, 2022
A custom-made 11 key macropad + 2 rotary encoders with minimal components.

⌨ Ladispad Ladispad is a custom-made 11 key macropad with 2 rotary encoders designed for the simplicity and the ease of assembly to non technical user

null 21 Jun 7, 2022
Compatibility tool for Steam Play based on Wine and additional components

Introduction Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on the Linux operating system. It

Valve Software 17.7k Aug 4, 2022
NavMeshComponents - High Level API Components for Runtime NavMesh Building

Status of the project Development This project is now developed as part of the AI Navigation package. Please add that package to your project in order

Unity Technologies 2.6k Aug 11, 2022
Qt based simple SCADA framework, with dashboard, static and dynamic components

QSimpleScada Qt/C++ based simple SCADA library for your IoT projects. We created QSimpleScada to speed up and simplify visualising any data, so we (an

Indeema Software Inc. 167 Aug 4, 2022
It's a static library that's provide a way to do hooking (intercepting software components) in native shared object from some Android Packages

ARM_hook It's a static library that's provide a way to do hooking (intercepting software components) in native shared object from some Android Package

Gabriel Correia 1 Feb 17, 2022
`lv_lib_100ask` is a reference for various out of the box schemes based on lvgl library or an enhanced interface for various components of lvgl library.

Introduction lv_lib_100ask is a reference for various out of the box schemes based on lvgl library or an enhanced interface for various components of

100askTeam 17 Jul 25, 2022
A personal collection of Windows CVE I have turned in to exploit source, as well as a collection of payloads I've written to be used in conjunction with these exploits.

This repository contains a personal collection of Windows CVE I have turned in to exploit source, as well as a collection of payloads I've written to

null 76 Aug 10, 2022