Meross MS700: Análisis, configuración e integración con Home Assistant y Matter
Controlar la domótica desde el smartphone o mediante comandos de voz está bien, pero en el día a día no siempre resulta práctico sacar el móvil, desbloquearlo, abrir una app y buscar la bombilla exacta. Para solucionar esto nace el Meross MS700, un mando inteligente multifunción pensado tanto para interiores como para exteriores gracias a su diseño resistente al agua. En esta guía a fondo repasamos sus especificaciones técnicas, cómo funciona su conectividad con Matter y el Hub MSH450P, y cómo integrarlo con Home Assistant para controlar luces WLED, bombillas Zigbee o cualquier escena de tu hogar inteligente.
En YouTube comparto más tutoriales, pruebas y domótica real. Suscribirme

Vídeo relacionado en YouTube
Video1. Características principales del Meross MS700
El Meross MS700 destaca por reunir versatilidad, resistencia y autonomía en un cuerpo muy compacto que cabe en una mano:
- 3 pantallas y 9 acciones directas: Cuenta con una pantalla configurable dividida en 3 vistas independientes. Cada pantalla dispone de 3 botones físicos dedicados, permitiendo asignar hasta 9 funciones distintas con iconos y textos personalizados.
- Protección IP66 para exteriores: Está protegido contra polvo y chorros de agua intensos. Esto lo convierte en la opción ideal para dejar en pérgolas, terrazas, jardines o zonas de piscina sin temor a la intemperie.
- Gran autonomía a pilas: Funciona con una pila reemplazable CR123A, ofreciendo una duración estimada por el fabricante de hasta 2 años y medio (dependiendo del uso diario).
- Sensores de temperatura y humedad integrados: No solo envía órdenes; también monitoriza las condiciones ambientales del lugar donde lo dejes y puede reportar esos datos a tu sistema domótico.
2. Conectividad: Bluetooth, Hub MSH450P y compatibilidad con Matter
Un punto clave a tener en cuenta es que el Meross MS700 no se conecta directamente por Wi-Fi. Para comunicarse utiliza Bluetooth, lo que reduce drásticamente el consumo de batería.
Para vincularlo con el resto de la casa inteligente requiere el Hub Meross MSH450P:
- El Hub se conecta a la red doméstica mediante cable Ethernet o Wi-Fi.
- Recibe las pulsaciones del MS700 por Bluetooth y las transmite a la red local.
- El Hub es compatible con Matter, permitiendo exponer los controles a plataformas como Apple Home, Google Home, Amazon Alexa y Home Assistant.
3. Integración y configuración en Home Assistant
Al vincular el hub mediante Matter en Home Assistant, los 9 botones de las 3 pantallas quedan expuestos como eventos listos para ser utilizados como desencadenantes (triggers) en tus automatizaciones.
La gran ventaja es que no estás atado al ecosistema de Meross: puedes controlar cualquier dispositivo integrado en Home Assistant sin importar su protocolo o fabricante (Zigbee, Z-Wave, Wi-Fi, ESPHome, etc.).
Ejemplo práctico: control de pérgola y jardín
En una configuración real para exteriores, las 3 pantallas pueden organizarse de forma temática:
- Pantalla 1 (Pérgola - Luz blanca):
- Botón superior: encendido / apagado (toggle).
- Botón medio: aumentar brillo.
- Botón inferior: reducir brillo.
- Pantalla 2 (Pérgola - Iluminación WLED RGB):
- Botón superior: alternar entre paletas o colores predefinidos.
- Botones inferiores: regulación fina de intensidad luminosa.
- Pantalla 3 (Jardín - Iluminación Zigbee):
- Botón superior: encendido / apagado general.
- Botones inferiores: avanzar o retroceder en un bucle de colores definidos. (Al interactuar con bombillas que reportan ligeras variaciones en sus valores RGB, la automatización compara la tonalidad actual con la más cercana de la lista para pasar a la siguiente).
alias: 🎛️ Meross MS700 | Control pérgola y jardín
description: >-
Control de la pérgola y las luces del jardín con tres pantallas. Cambio RGB
mediante reconocimiento del color más cercano.
triggers:
- trigger: state
entity_id: event.screen_1_button_1_boton
not_from:
- unknown
- unavailable
id: p1_b1
- trigger: state
entity_id: event.screen_1_button_2_boton
not_from:
- unknown
- unavailable
id: p1_b2
- trigger: state
entity_id: event.screen_1_button_3_boton
not_from:
- unknown
- unavailable
id: p1_b3
- trigger: state
entity_id: event.screen_2_button_1_boton
not_from:
- unknown
- unavailable
id: p2_b1
- trigger: state
entity_id: event.screen_2_button_2_boton
not_from:
- unknown
- unavailable
id: p2_b2
- trigger: state
entity_id: event.screen_2_button_3_boton
not_from:
- unknown
- unavailable
id: p2_b3
- trigger: state
entity_id: event.screen_3_button_1_boton
not_from:
- unknown
- unavailable
id: p3_b1
- trigger: state
entity_id: event.screen_3_button_2_boton
not_from:
- unknown
- unavailable
id: p3_b2
- trigger: state
entity_id: event.screen_3_button_3_boton
not_from:
- unknown
- unavailable
id: p3_b3
conditions: []
actions:
- variables:
colores:
- - 255
- 0
- 0
- - 255
- 100
- 0
- - 255
- 255
- 0
- - 0
- 255
- 0
- - 0
- 0
- 255
- - 150
- 0
- 255
- - 255
- 0
- 120
- choose:
- conditions:
- condition: trigger
id: p1_b1
sequence:
- if:
- condition: state
entity_id: light.pergola
state: 'on'
then:
- action: light.turn_off
target:
entity_id: light.pergola
else:
- action: light.turn_on
target:
entity_id: light.pergola
data:
rgb_color:
- 255
- 255
- 255
- conditions:
- condition: trigger
id: p1_b2
sequence:
- condition: state
entity_id: light.pergola
state: 'on'
- action: light.turn_on
target:
entity_id: light.pergola
data:
brightness_step_pct: -10
- conditions:
- condition: trigger
id: p1_b3
sequence:
- condition: state
entity_id: light.pergola
state: 'on'
- action: light.turn_on
target:
entity_id: light.pergola
data:
brightness_step_pct: 10
- conditions:
- condition: trigger
id: p2_b1
sequence:
- variables:
color_actual: |
{{ state_attr('light.pergola', 'rgb_color') | list
if state_attr('light.pergola', 'rgb_color') != none
else [] }}
- action: light.turn_on
target:
entity_id: light.pergola
data:
rgb_color: |
{% if color_actual | length == 3 %}
{% set ns = namespace(indice=0, distancia=999999) %}
{% for color in colores %}
{% set d =
(color[0] - color_actual[0]) ** 2 +
(color[1] - color_actual[1]) ** 2 +
(color[2] - color_actual[2]) ** 2 %}
{% if d < ns.distancia %}
{% set ns.distancia = d %}
{% set ns.indice = loop.index0 %}
{% endif %}
{% endfor %}
{{ colores[(ns.indice + 1) % (colores | length)] }}
{% else %}
{{ colores[0] }}
{% endif %}
- conditions:
- condition: trigger
id: p2_b2
sequence:
- condition: state
entity_id: light.pergola
state: 'on'
- action: light.turn_on
target:
entity_id: light.pergola
data:
brightness_step_pct: -10
- conditions:
- condition: trigger
id: p2_b3
sequence:
- condition: state
entity_id: light.pergola
state: 'on'
- action: light.turn_on
target:
entity_id: light.pergola
data:
brightness_step_pct: 10
- conditions:
- condition: trigger
id: p3_b1
sequence:
- action: light.toggle
target:
entity_id: light.luces_jardin
- conditions:
- condition: trigger
id: p3_b2
sequence:
- variables:
color_actual: |
{{ state_attr('light.luces_jardin', 'rgb_color') | list
if state_attr('light.luces_jardin', 'rgb_color') != none
else [] }}
- action: light.turn_on
target:
entity_id: light.luces_jardin
data:
rgb_color: |
{% if color_actual | length == 3 %}
{% set ns = namespace(indice=0, distancia=999999) %}
{% for color in colores %}
{% set d =
(color[0] - color_actual[0]) ** 2 +
(color[1] - color_actual[1]) ** 2 +
(color[2] - color_actual[2]) ** 2 %}
{% if d < ns.distancia %}
{% set ns.distancia = d %}
{% set ns.indice = loop.index0 %}
{% endif %}
{% endfor %}
{{ colores[(ns.indice - 1) % (colores | length)] }}
{% else %}
{{ colores[-1] }}
{% endif %}
- conditions:
- condition: trigger
id: p3_b3
sequence:
- variables:
color_actual: |
{{ state_attr('light.luces_jardin', 'rgb_color') | list
if state_attr('light.luces_jardin', 'rgb_color') != none
else [] }}
- action: light.turn_on
target:
entity_id: light.luces_jardin
data:
rgb_color: |
{% if color_actual | length == 3 %}
{% set ns = namespace(indice=0, distancia=999999) %}
{% for color in colores %}
{% set d =
(color[0] - color_actual[0]) ** 2 +
(color[1] - color_actual[1]) ** 2 +
(color[2] - color_actual[2]) ** 2 %}
{% if d < ns.distancia %}
{% set ns.distancia = d %}
{% set ns.indice = loop.index0 %}
{% endif %}
{% endfor %}
{{ colores[(ns.indice + 1) % (colores | length)] }}
{% else %}
{{ colores[0] }}
{% endif %}
mode: queued
max: 20
4. Ventajas y limitaciones a considerar
Puntos fuertes
- Accesibilidad universal: Cualquier persona o invitado en casa puede encender luces o activar escenas sin necesidad de instalar apps ni tener permisos en el sistema domótico.
- Resistencia real al exterior: La certificación IP66 asegura tranquilidad frente a la lluvia y la humedad exterior.
- Consumo eficiente: La combinación de Bluetooth con la pila CR123A garantiza años de funcionamiento sin recargas constantes.
- Sensores añadidos: Permite disparar automatizaciones basadas en la temperatura o humedad ambiental (por ejemplo, encender ventilación o calefacción localizada).
Puntos a mejorar
- Dependencia del Hub: Requiere obligatoriamente el hub propietario para conectarse.
- Tipo de pulsación: Admite únicamente pulsación simple por botón (no reconoce pulsación larga ni doble clic en la integración actual).
¿Dónde comprarlo?
Si te interesa alguna de las opciones comentadas, aquí tienes los enlaces disponibles:
Panel / Pantalla táctil
- Meross Smart Multi-Function Button MS700 — Analizado en el vídeo: Página oficial (cupón: ) · AliExpress
Otros dispositivos
- Meross Smart Hub MSH450P — Analizado en el vídeo: Página oficial (cupón: )
Conclusión
El Meross MS700 es una de las soluciones más completas para quienes buscan un control físico versátil, elegante y resistente a la intemperie. Sus 9 botones configurables junto a la compatibilidad con Matter y Home Assistant abren un abanico casi infinito de automatizaciones para cualquier hogar inteligente.
Video relacionado
Dispositivo analizado



