Buenas , aprovechando el docker para detección de dispositivos en la red local le he añadido una nueva funcionalidad muy útil para dispositivos que no entregan el numero de pulsaciones como pueden ser los Remote Control de IKEA y otros
Os he dejado el docker aquí

Utilizaremos la versión 1.5 del docker , modificando el docker-compose.yaml
mqtt_scanner
container_name mqtt_scanner
restart unless-stopped
image antrivas/mqtt_scanner_pi1.5
volumes
$ DOCKERDIR /mqtt_scanner/config:/App/config
$ DOCKERDIR /mqtt_scanner/logs:/App/logs
environment
TZ=$ TZ
networks
traefik
default

En /config encontraremos un nuevo fichero de configuración llamado topic.json , allí podremos poner todos los topics a los que nos queremos suscribir y configurar a nuestro gusto cada uno de los topics
xxxxxxxxxx
[
{
"Topic": "zigbee2mqtt/ikea_mando_4",
"Field": "action",
"Action": "toggle",
"NTiempo": 1000
},
{
"Topic": "zigbee2mqtt/ikea_mando_1",
"Field": "action",
"Action": "toggle",
"NTiempo": 1000
},
{
"Topic": "zigbee2mqtt/ikea_mando_2",
"Field": "action",
"Action": "toggle",
"NTiempo": 1000
}
]
Una vez arrancado el docker podemos probarlo pulsando varias veces el dispositivo asociado a uno de los topics configurados , nos devolverá un mensaje al finalizar el timeout personalizado para cada uno de los topics , el topic enviado será el nombre del topic suscrito mas el sufijo “_pulsaciones” , enviando un json donde va el evento capturado y el numero de pulsaciones

En nuestro Home Assistant crearemos un par de sensores mqtt , y a partir de ahí podemos realizar todas aquellas automatizaciones que se nos ocurran
xxxxxxxxxx
platform"mqtt"
state_topic"zigbee2mqtt/ikea_mando_4_pulsaciones"
icon"mdi:gesture-tap-button"
value_template"{{ value_json.repeticiones }}"
force_updatetrue
name"sensor_ikea_mando_4_pulsaciones"
platform"mqtt"
state_topic"zigbee2mqtt/ikea_mando_4_pulsaciones"
icon"mdi:comment-flash"
value_template"{{ value_json.evento }}"
force_updatetrue
name"sensor_ikea_mando_4_evento"
Este es un ejemplo de automatizaciones que distingue por evento y por numero de pulsaciones
xxxxxxxxxx
alias pruebas mando ikea 4 repeticiones 2
initial_state'on'
trigger
platform state
entity_id sensor.sensor_ikea_mando_4_pulsaciones
condition
condition state
entity_id sensor.sensor_ikea_mando_4_evento
state'toggle'
condition state
entity_id sensor.sensor_ikea_mando_4_pulsaciones
state'2'
action
service light.turn_off
target
entity_id
light.luz_estudio
light.tira_led_estudio
delay 00 0002
service light.turn_on
target
entity_id
light.luz_estudio
light.tira_led_estudio
delay 00 0002
alias pruebas mando ikea 4 repeticiones 3
initial_state'on'
trigger
platform state
entity_id sensor.sensor_ikea_mando_4_pulsaciones
condition
condition state
entity_id sensor.sensor_ikea_mando_4_evento
state'toggle'
condition state
entity_id sensor.sensor_ikea_mando_4_pulsaciones
state'3'
action
service light.turn_off
target
entity_id
light.luz_estudio
light.tira_led_estudio
alias pruebas mando ikea 4 repeticiones 4
initial_state'on'
trigger
platform state
entity_id sensor.sensor_ikea_mando_4_pulsaciones
condition
condition state
entity_id sensor.sensor_ikea_mando_4_evento
state'toggle'
condition state
entity_id sensor.sensor_ikea_mando_4_pulsaciones
state'4'
action
service light.turn_on
target
entity_id
light.luz_estudio
light.tira_led_estudio
Y con esto y un bizcocho …………………
Raspberry Pi Zero 2 W – Creación de un Docker en .NET para detección en la red local