Hace tiempo quería comprar un juguete de estos para encender a distancia uno de los ordenadores y para poder “domotizar” o mas bien interactuar con algunos dispositivos que no permiten automatizarlos.
Al final compre uno en Aliexpres bastante bien de precio , el manual lo encontramos de forma digital en Digital User Manual
Esta seria la referencia del elemento en cuestión

La verdad es que viene pelado , un par de bases adhesivas para fijarlo y nada mas

Otra vista mas del chisme

Una vez que tenemos Zigbee2mqtt en modo permitir emparejamiento pulsaremos el boton interno durante cinco segundos para empezar el emparejamiento
Al momento lo detecta

Ya nos aparece en Zigbee2mqtt

Lo reconoce como este elemento https://www.zigbee2mqtt.io/devices/TS0001_fingerbot.html#tuya-ts0001_fingerbot
Y nos mostrara la información extendida

Definiremos el modo de funcionamiento , en este momento lo necesito en moto Click , es decir que cuando lo ponga a ON baje y vuelva a subir , pero podemos programar otros modos.
También podemos ajustar un desplazamiento tanto en la parte inferior como en la superior

Pasaremos a la configuración del dispositivo
Definimos un sensor para saber la ultima conexión del dispositivo
- state_topic: "zigbee2mqtt/fingerbot" availability_topic: "zigbee2mqtt/bridge/state" icon: "mdi:calendar-clock" value_template: "{{ value_json.last_seen }}" name: "fingerbot_ultima_conexion"
Creamos un sensor binario para saber si el dispositivo esta activo o no
- state_topic: "zigbee2mqtt/fingerbot/availability" availability_topic: "zigbee2mqtt/fingerbot/availability" name: fingerbot_disponibilidad device_class: "connectivity" payload_on: "online" payload_off: "offline"
Definimos la parte de puesta y lectura del estado del fingerbot
- name: fingerbot command_topic: "zigbee2mqtt/fingerbot/set" state_topic: "zigbee2mqtt/fingerbot" availability_topic: "zigbee2mqtt/bridge/state" icon: mdi:power-socket payload_on: "ON" payload_off: "OFF" value_template: "{{ value_json.state }}"
Le damos algun retoque en customize.yaml
binary_sensor.fingerbot_disponibilidad: friendly_name: "Fingerbot" switch.fingerbot: friendly_name: "Fingerbot" icon: mdi:gesture-tap-hold
Y ya podemos ponerlo por el lovelace
- entity: binary_sensor.fingerbot_disponibilidad - entity: sensor.fingerbot_ultima_conexion_minutos - entity: switch.fingerbot - type: divider
Creamos un sensor para saber el tiempo transcurrido desde la ultima conexión
- platform: template sensors: fingerbot_ultima_conexion_minutos: value_template: >- {% set x1 = as_timestamp(states('sensor.fingerbot_ultima_conexion')) %} {% set x2 = as_timestamp(now()) %} {% set time = x2 - x1 | int(0) %} {% set days = (time/86400) | int %} {% set hours = (time / 3600 % 24) | int %} {% set minutes = (((time / 3600) % 1) * 60) | int %} {{ days ~ 'd ' ~ hours ~ 'h ' ~ minutes ~ 'm' }} friendly_name: Ultima conexión Fingerbot icon_template: "mdi:calendar-clock"
Creamos un sensor de bateria
- state_topic: "zigbee2mqtt/fingerbot" availability_topic: "zigbee2mqtt/bridge/state" unit_of_measurement: "%" icon: "mdi:battery" device_class: "battery" value_template: "{{ value_json.battery }}" expire_after: 86400 force_update: true name: "fingerbot_bateria"
Y a ese sensor de bateria le asignamos un icono según el estado de carga
fingerbot_battery_level: friendly_name: Fingerbot value_template: "{{ states.sensor.fingerbot_bateria.state |default(-1)| int(0) if states.sensor.fingerbot_bateria is not none }}" unit_of_measurement: '%' icon_template: '{% if states.sensor.fingerbot_bateria.state| int(0) == 100 %} mdi:battery {% elif states.sensor.fingerbot_bateria.state| int(0) >= 90 %} mdi:battery-90 {% elif states.sensor.fingerbot_bateria.state| int(0) >= 80 %} mdi:battery-80 {% elif states.sensor.fingerbot_bateria.state| int(0) >= 70 %} mdi:battery-70 {% elif states.sensor.fingerbot_bateria.state| int(0) >= 60 %} mdi:battery-60 {% elif states.sensor.fingerbot_bateria.state| int(0) >= 50 %} mdi:battery-50 {% elif states.sensor.fingerbot_bateria.state| int(0) >= 40 %} mdi:battery-40 {% elif states.sensor.fingerbot_bateria.state| int(0) >= 30 %} mdi:battery-30 {% elif states.sensor.fingerbot_bateria.state| int(0) >= 20 %} mdi:battery-20 {% elif states.sensor.fingerbot_bateria.state| int(0) >= 10 %} mdi:battery-10 {% else %} mdi:battery-outline {% endif %}'
Ya podemos verlo y trastear con el

Y con fingerbot_battery_level podremos ver visualmente el estado de carga de la bateria.

Ahora ya tengo el encendido remoto del NUC que por WOL no podia hacer desde fuera de la red interna
Y con esto y un bizcocho ………….