feat(scene): variables pour identifier ce qui a déclenché la scène - #2606
feat(scene): variables pour identifier ce qui a déclenché la scène#2606Pierre-Gilles wants to merge 3 commits into
Conversation
Add enriched triggerEvent scope when a scene is triggered, so users can identify which device or MQTT message caused the scene in messages and other actions. - Enrich device.new-state events with device and deviceFeature metadata - Expose trigger variables in the scene editor for device and MQTT triggers - Add i18n labels for the new variables (en, fr, de) Co-authored-by: Pierre-Gilles Leymarie <Pierre-Gilles@users.noreply.github.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying gladys-plus with
|
| Latest commit: |
63ad804
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://dd597def.gladys-plus.pages.dev |
| Branch Preview URL: | https://cursor-scene-trigger-info-e3.gladys-plus.pages.dev |
- Format test file with Prettier - Import sinon at module scope instead of inline require() - Add missing JSDoc @example on buildTriggerEventScope Co-authored-by: Pierre-Gilles Leymarie <Pierre-Gilles@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2606 +/- ##
========================================
Coverage 98.97% 98.97%
========================================
Files 1050 1054 +4
Lines 20700 20847 +147
========================================
+ Hits 20487 20634 +147
Misses 213 213 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-authored-by: Pierre-Gilles Leymarie <Pierre-Gilles@users.noreply.github.com>
Description
Implémente la demande de la communauté : Avoir la possibilité de récupérer qui a déclenché la scène.
Lorsqu'une scène est déclenchée par un événement (changement d'état d'appareil, message MQTT, etc.), les informations du déclencheur sont désormais enrichies et exposées dans le scope de la scène via la variable
triggerEvent.Utilisation
Dans une action de scène (message, SMS, notification, etc.), il est possible d'utiliser des variables comme :
{{triggerEvent.device.name}}— nom de l'appareil qui a déclenché la scène{{triggerEvent.deviceFeature.name}}— nom de la fonctionnalité déclencheuse{{triggerEvent.deviceFeature.last_value}}— valeur actuelle{{triggerEvent.deviceFeature.previous_value}}— valeur précédente{{triggerEvent.topic}}/{{triggerEvent.message}}— pour les déclencheurs MQTTCes variables sont proposées automatiquement dans l'éditeur de scène (comme pour les événements calendrier) lorsqu'un déclencheur « Changement d'état d'appareil » ou « Message MQTT » est configuré.
Exemple concret
Scène avec plusieurs capteurs de porte en déclencheurs → envoi d'un message :
Changements techniques
scene.buildTriggerEventScope.jsqui enrichit l'événement déclencheur avec les métadonnées appareil/fonctionnalitéCheck-list
server/test/lib/scene/scene.buildTriggerEventScope.test.js)compare-translationspassant