Je teste le Capteur présence / veilleuse Zigbee R3 P1MSR3A1-EU

Je vais tester le capteur de présence Zigbee THIRDREALITY R3 (réf. P1MSR3A1-EU), un détecteur de présence 60 GHz alimenté en USB‑C avec capteur de luminosité, capteur TVOC (qualité de l’air) et veilleuse RGB intégrée, pensé pour les environnements domestiques connectés.

🔍 Je vérifie le modèle reçu

    • Sur la fiche technique : Multi-Function Smart Presence Sensor R3, modèle 3RPL01084Z, kit européen P1MSR3A1-EU.
    • Sur le carton : mention THIRDREALITY Smart Presence Sensor R3, compatibilité Zigbee, alimentation 5V USB‑C.
    • Type d’équipement : détecteur de présence mmWave 60 GHz avec veilleuse RGB, capteur de luminosité (lux) et capteur TVOC.
    • Protocole : Zigbee 3.0, fonction de routeur Zigbee (répéteur).
    • Alimentation : 5V 1A via interface USB Type‑C, pas de pile.
    • Installation prévue : posé sur un bureau ou une étagère (installation “desktop”), orienté vers la zone à couvrir.
    • Plages de mesure : présence humaine 1 à 6 m, sensibilité réglable sur 6 niveaux; portée radio Zigbee 40–50 m en champ libre.
    • Dimensions / IP : format compact de capteur de bureau, usage intérieur, température de fonctionnement de 0 °C à 45 °C.

🛒 Où acheter cet équipement ?

Voici le lien vers la page dédiée au THIRDREALITY Smart Presence Sensor R3 P1MSR3A1-EU. J’y ai référencé les vendeurs et les prix.

📦 Déballage et premières impressions

À la réception, je déballe tout : le capteur THIRDREALITY Smart Presence Sensor R3, un câble USB‑A vers USB‑C, la documentation rapide multilingue.

Je trouve le boîtier très propre, avec un design de petite veilleuse de bureau et une grande zone translucide pour la lumière RGB, ce qui le rend discret sur un meuble tout en restant visible pour indiquer l’état de présence ou de qualité d’air.

En voyant qu’il était fourni avec un câble USB, j’ai pensé que ce module était sur pile rechargeable et qu’il s’agissait d’une cordon de recharge.

Et bien non ! Pour une raison étrange et inconnue, il n’est pas fourni avec un transfo. Le fabriquant a fait le choix de nous obliger à acheter à part une alimentation 220V-5V 1A Type-C.

🔧 Mise sous tension

Je branche donc le capteur sur un adaptateur secteur USB 5V 1A avec un câble USB‑A vers USB‑C, ce qui l’alimente immédiatement et allume les LED internes. La lumière est verte.

Je n’ai pas de pile à vérifier puisque l’alimentation est uniquement en USB‑C, mais je repère tout de suite le bouton “Down” qui sert au reset et le bouton “Up” pour ajuster la sensibilité sans ouvrir le boîtier.

🏡 Où je l’installe

Pour des mesures fiables, je choisis une installation sur une étagère à environ 1,2 m de hauteur, orienté vers la zone de présence (fauteuil ou bureau) à 2–3 m, sans obstacle important devant lui.

J’évite de le placer derrière un écran métallique, collé à un mur très épais ou face à un autre capteur radar pour ne pas perturber le 60 GHz.

Je vais le placer à côté du Smart Air Quality Monitor d’Amazon pour tester le volet Moniteur qualité d’air de ce nouveau modèle.

⚙️Je règle le niveau de présence

La documentation parle de radar 60 GHz mmWave, il s’agit d’un capteur utilisant des ondes millimétriques (ondes électromagnétiques de très haute fréquence, entre 30 et 300 GHz) pour détecter des objets ou personnes avec précision.

Il émet un signal continu modulé en fréquence (FMCW) et analyse les échos réfléchis pour mesurer distance, vitesse et mouvements fins, même statiques comme la respiration.

On peut ainsi considéré qu’il s’agit d’un radar de présence de haut niveau.

La sensibilité de détection de présence s’ajuste physiquement avec le bouton UP sur le capteur qui est désigné par Level.

Il y a 6 niveaux, par défaut, c’est le 3 qui est sélectionné par défaut. Voici une représentation des 6 niveaux.

J’appuie une fois sur ce bouton Level pour passer au niveau supérieur ; les LED indiquent le niveau sélectionné.

Les couleurs/éclats correspondent du plus bas au plus haut :

  • Vert faible (niveau 1).
  • Vert fort (niveau 2).
  • Bleu faible (niveau 3, défaut).
  • Bleu fort (niveau 4).
  • Rouge faible (niveau 5).
  • Rouge fort (niveau 6).​

Conseils d’ajustement : Si la portée (1-6 m) ou sensibilité ne convient pas, il faut ajuster via bouton UP et orientez l’appareil ; tester en évitant obstacles ou interférences. Le niveau persiste après redémarrage.

💡Mode veilleuse autonome et réseau zigbee

Cet équipement est équipé d’un mode veilleuse autonome tant qu’il n’est pas connecté à un réseau Zigbee.

Si on veut l’utiliser sans zigbee, bien que cela n’est pas grand intêret à ce prix, autant acheter une veilleuse, cela est possible.

Quand quelqu’un passe devant l’appareil, la lampe RGB s’allume automatiquement la nuit (détectée par le capteur lux), servant de « night light ». Une lumière bleue à 100% brightness par défaut.

Le bouton UP active « Default Lighting » (lumière bleue), utile pour tester ou forcer la veilleuse indépendamment.

Dès que l’appareil sera intégré dans un réseau Zigbee, c’est terminé, la veilleuse autonome se désactive ce qui est logique, il faudra gérer cela avec Home Assistant.

Pour cette raison, j’ai réalisé l’automatisation nécessaire plus loin dans ce retour d’expérience.

🔗 J’appaire dans Zigbee2MQTT

    • Je passe Z2M en mode pairing depuis l’interface Zigbee2MQTT dans Home Assistant.
    • Je maintiens le bouton “Down” (reset) plus de 5 secondes jusqu’à ce que la LED rouge reste allumée, ce qui place le module en mode appairage.
    • Le capteur est immédiatement détecté

 

    • Détecté comme Multi-function smart presence sensor R3 (Third Reality) (modèle 3RPL01084Z) avec rôle de routeur dans le réseau Zigbee.

Je renomme l’appareil

🔍 Expositions Zigbee2MQTT : THIRDREALITY 3RPL01084Z


 

👤Occupancy (binary)

Indique si le capteur a détecté une présence. Valeur binaire : true (présence ON) ou false (absence OFF).

☀️Illuminance (numeric)

Mesure l’illuminance ambiante en lux (lx). Valeur numérique précise pour adapter les lumières ou stores.

Cette exposition est améliorée par deux options dans paramètres :

illuminance_calibration

L’option illuminance_calibration applique un décalage en poucentage à la mesure d’illuminance (en lux) du capteur, pour la corriger selon les besoins. Elle prend effet au prochain rapport du dispositif (pas immédiat).

​Comment calculer la valeur ?
Formule : nouvelle valeur = valeur mesurée × (1 + offset / 100).

Positif (ex. 50) : augmente de 50% → 100 lux brut → 150 lux calibré.

Négatif (ex. -20) : diminue de 20% → 100 lux brut → 80 lux calibré.

Si le capteur lit trop haut (ex. 120 lux vs. 100 réel), on met -17 (car 100/120 ≈ 0.83 → offset = (0.83-1)×100 = -17).

illuminance_raw (brut activé/désactivé)

illuminance_raw expose la valeur brute non traitée envoyée directement par le capteur hardware, avant toute conversion mathématique ou calibration en lux standardisés.

Avantages du raw :

    • Résolution fine : parfait pour automatisations crépusculaires (ex. seuil à 2000 raw pour « faible lumière »).
    • Moins de traitement : réagit plus vite, sans formules qui « lissent ».
    • Combiné à calibration : applique l’offset % au raw avant conversion en lux.

Il faut activer illuminance raw dans les paramètres pour que l’exposition illuminance raw apparaisse.

Nota important : J’avais une version 23 du firmware, il a fallu que je passe sur la version 27 pour qu’illuminance bouge. Cette fonctionnalité semble en cours d’implémentation.

🌬️Volatile organic compounds (numeric)

Mesure les composés organiques volatils (TVOC) en ppb (parties par milliard). Idéal pour alerter sur la qualité de l’air.

🔛State (binary)

Contrôle l’état ON/OFF de la veilleuse RGB. Valeur binaire pour allumer/éteindre la lumière intégrée.

Cette exposition est améliorée par une option dans paramètres :

state_action (true/false, défaut false)

state_action publie les changements d’état (ON/OFF) en plus comme un événement "action" sur MQTT. C’est False par défaut.

Avantages de true :

    • Trigger événementiel dédié en HA (event.[nom]_action) pour automations réactives (ex. notifier « veilleuse allumée »).
    • MQTT pur : topic séparé pour scripts sans ambiguïté.
    • Plus fiable pour « momentané » vs. état persistant.

💡Light (state, brightness, color_xy)

Contrôle la petite lumière colorée intégrée au capteur. On peut l’allumer/éteindre, régler sa puissance et sa couleur pour des signaux visuels (ex. bleu si quelqu’un est là, rouge si air pollué).

Les commandes sont parfaitement gérées par Zigbee2MQTT/Home Assistant, comme une ampoule RGB.

  • Allumer/éteindre
  • Intensité
  • Couleur

Améliorations simples à activer dans Z2M (onglet paramètres) :

  • state_action = true : quand on allume/éteint, HA reçoit un message spécial « action on/off » pour déclencher une alerte (ex. « lumière activée ! »).
  • color_sync = true (déjà activé) : change couleur + température auto (chaud/froid).
  • transition = 1 : fondu doux à chaque changement (1 seconde).

En résumé : comme une mini-ampoule connectée. Utilise hex pour couleurs rapides (#FF0000=rouge).

 

✨Effect (enum)

Il faut abandonner cette exposition. Le fabricant que j’ai contacté me confirme que ce comportement n’a pas été prévu pour agir sur la lumière principale de la veilleuse.

Le modèle exposé dans Zigbee2MQTT est également utilisé avec d’autres équipements disposant d’une LED d’indication ou de configuration. Dans ces cas, cette exposition permettrait de piloter cette LED, et non la lumière principale.

Le fabricant m’indique que les effets « blink », « breathe », « flash » ou « clignotement » définis dans Zigbee2MQTT ont été conçus, à l’origine, pour une LED d’indication du module, et non pour l’éclairage principal.

Sur cette veilleuse, il n’existe pas de LED d’indication séparée. La lumière principale a donc également été utilisée pour certains usages d’indication, par exemple lors de l’appairage ou pour certains états de fonctionnement.

Par conséquent, dans Zigbee2MQTT, les effets visibles dans l’interface ne pilotent pas réellement un clignotement de la lumière principale au sens attendu. Ils correspondent à des effets internes prévus pour un voyant d’indication et ne sont pas pris en charge ici pour la partie veilleuse.

En pratique, cette exposition est donc inutile et inopérante.

🔄Power-on behavior (enum)

Définit le comportement à la remise sous tension (après coupure USB-C).

Classique sur les équipements Zigbee, je mets en principe previous.

 

🏠 Intégration dans Home Assistant

Dès mon retour sur Home Assistant, une mise à jour m’est proposée, je la lance immédiatement.

Je retrouve l’appareil dans HA avec les capteurs de Zigbee2MQTT

Tout est bon, comme toujours, je désactive ce qui ne me sera plus utile une fois configuré.

♻️Mise à jour de l’équipement

Une mise à jour m’est proposée, je m’exécute.

 

🚀Mise en œuvre pratique

🔗Je synchronise mes deux veilleuses

Dans ce retour d’expérience : Une couleur pour surveiller sa maison, j’avais utilisé une veilleuse 3RSNL02043Z de la même marque pour avoir une notification colorée de ce qui se passe dans ma maison (le portail est ouverte, la porte est verrouillée, une fenêtre est restée ouverte, tout est éteint, on peut quitter la maison…)

Je ne vais pas redécrire ce que j’ai fait avec cette première veilleuse que j’avais testée, je propose ici de synchroniser la couleur (et le clignotement) de la première veilleuse sur ce module. Ce module pourra ainsi trouver sa place dans mon salon ou dans la cuisine. Ainsi, il pourra m’indiquer visuellement plusieurs informations.

La première veilleuse utilise le capteur light.veilleuse_entree

Sur ce capteur, comme je l’avais remarqué, effect_list ne fonctionne pas. mais le reste, la couleur et sa luminosité sont parfaitement prises en charge par Home Assistant qui la pilote comme ne ampoule RGB sans souci.

Sur le capteur de présence, j’ai un capteur light qui s’appelle light.capteur_presence_r3

Ainsi, mon automatisation sera :

alias: Sync veilleuse → capteur R3
triggers:
  - entity_id: light.veilleuse_entree
    trigger: state
actions:
  - if:
      - condition: state
        entity_id: light.veilleuse_entree
        state: "on"
    then:
      - target:
          entity_id: light.capteur_presence_r3
        data:
          brightness: >-
            {{ state_attr('light.veilleuse_entree', 'brightness') | default(255)
            }}
          hs_color: "{{ state_attr('light.veilleuse_entree', 'hs_color') }}"
          effect: >-
            {%- set eff = state_attr('light.veilleuse_entree', 'effect') -%} {%-
            if eff and eff != 'none' and eff != 'None' -%}
              {{ eff }}
            {%- endif -%}
        action: light.turn_on
    else:
      - target:
          entity_id: light.capteur_presence_r3
        action: light.turn_off
mode: restart

Voilà, les deux équipements sont synchronisés.

🌙Je réalise une fonction veilleuse de nuit

J’avais déjà réalisé cela dans l’article Une couleur pour surveiller sa maison, où j’avais utilisé une veilleuse 3RSNL02043Z de la même marque, avec la même fonctionnalité, voici l’automatisation de ma nouvelle veilleuse.

alias: Veilleuse R3 - Luminosité auto
description: 100% sur occupancy + illuminance<10lx, 10% off occupancy
triggers:
  - entity_id: binary_sensor.capteur_presence_r3_occupancy
    to: "on"
    id: occupancy_on
    trigger: state
  - entity_id: binary_sensor.capteur_presence_r3_occupancy
    to: "off"
    for: "00:00:05"
    id: occupancy_off
    trigger: state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: occupancy_on
          - condition: numeric_state
            entity_id: sensor.capteur_presence_r3_illuminance
            below: 10
        sequence:
          - target:
              entity_id: light.capteur_presence_r3
            data:
              brightness_pct: 100
              transition: 1
            action: light.turn_on
      - conditions:
          - condition: trigger
            id: occupancy_off
        sequence:
          - target:
              entity_id: light.capteur_presence_r3
            data:
              brightness_pct: 3
              transition: 2
            action: light.turn_on
    default: []
mode: single

🌬️Je signale une dégradation de la qualité de l’air

[J’attends d’avoir quelques données via quelques jours de production de cet équipement pour calibrer mes tests de qualité de l’air, publication de ce paragraphe bientôt]

💬 Mon avis après mise en service

✅ Détection de présence mmWave 60 GHz ultra-précise
Le capteur utilise la technologie radar mmWave à 60 GHz, capable de détecter les micro-mouvements respiratoires. Il repère une personne immobile (couchée, assise, etc.) là où les PIR classiques échouent complètement.

✅ Alimentation USB-C
Fonctionne 24/7 sans entretien grâce à une alimentation USB-C stable. Idéal pour une surveillance permanente d’une pièce.

✅ Répéteur Zigbee 3.0 intégré
Amplifie le réseau Zigbee de votre installation Home Assistant. Essentiel dans les grandes maisons pour éviter les « zones mortes » Zigbee.

✅ Veilleuse RGB entièrement personnalisable
Lumiere RGB avec effets, couleurs et intensité réglables via Home Assistant. Parfaite pour créer des ambiances ou signaler des événements.

✅ mesure précise de la luminosité ambiante (<10 lx détectable) parfois un peu lent.

✅ TVOC : qualité de l’air intérieur (COV volatils).
Ces données enrichissent les automatisations (éclairage adaptatif, alerte pollution).

✅ Mise à jour OTA
Appareil évolutif, j’ai déjà eu des améliorations sur la luminosité en mettant à jour.

❌ Nécessite une prise USB-C permanente
Pas de mode batterie/piles.

❌ Pas de transfo secteur fourni
Thirdreality livre seulement le capteur. Achat nécessaire d’un chargeur USB-C 5V/1A Min.

❌ Documentation grand public limitée
Manuel orienté Alexa/Google Home. Peu d’infos pour intégration Zigbee2MQTT ou ZHA Home Assistant.

❌ Intégration Zigbee2MQTT encore à travailler. Les effets ne fonctionnent pas par exemple, devrait s’améliorer avec des mises à jour.

Mon verdict : ce capteur THIRDREALITY Smart Presence Sensor R3 P1MSR3A1-EU me semble être un excellent choix pour un bureau ou une pièce de vie quand je veux une vraie détection de présence, une veilleuse intelligente et un suivi de la qualité de l’air, à condition d’accepter l’alimentation filaire en USB‑C et de passer un peu de temps à peaufiner les automatisations dans Home Assistant. J’aime beaucoup, je ne connais pas de concurrence à ce produit.