Détails de reflet
L’acteur Détails de reflet est un composant conçu pour afficher dynamiquement les informations détaillées et gérer les commandes pour n’importe quel type de reflet.
Fonctionnement
Cet acteur s’adapte automatiquement au type de reflet que vous lui indiquez. Une fois configuré avec le chemin vers un reflet (par exemple, vers une chaudière ou une vanne) :
- Il Affiche la vue détaillée appropriée avec toutes les informations pertinentes et, le cas échéant, les commandes spécifiques à cet équipement.
- Il gère l’envoi de commandes si le reflet est commandable, le détail de reflet présente les commandes disponibles et permet à l’utilisateur de les exécuter directement depuis l’interface.
Sommaire
🔧 propriété · ℹ️ information · ⚙️ méthode · ⚡ évènement · 🔒 lecture seule
Propriétés
Il existe deux types de configuration pour cet acteur :
- Autonome : L’acteur gère lui-même les requêtes vers le REDY lorsque la propriété Autonome
isAutonomousest vraie afin obtenir et rafraîchir les données du reflet. Dans ce mode, il n’a pas besoin d’un acteur requêteur externe. La propriété RequêteurrequesterKeyest ignorée. - Non autonome : L’acteur s’appuie sur un acteur requêteur de reflet lorsque la propriété Autonome
isAutonomousest fausse afin d’effectuer les requêtes. Cela permet de centraliser les requêtes et d’optimiser les performances si plusieurs acteurs Détails de reflet ou d’autre acteur de reflet sont utilisés dans la même scène.
Auto rafraîchi?
this.properties.autoRefresh · boolean · défaut true
Active/désactive le rafraîchissement automatique de la donnée.
Indique si l’acteur doit automatiquement rafraîchir les données du reflet lorsque de nouvelles données sont disponibles.
Autonome?
this.properties.isAutonomous · boolean · défaut true
Indique si l’acteur fonctionne de manière autonome, sans nécessiter d’acteur requêteur.
Avec date?
this.properties.withLastRefreshDate · boolean · défaut false · modifie : Taille
Active/désactive l’affichage de la date de fraîcheur du reflet.
Active ou désactive l’affichage de la date de dernière mise à jour des données du reflet.
Avec icône?
this.properties.withIcon · boolean · défaut true · modifie : Taille
Active/désactive l’affichage de l’icône du reflet.
Active ou désactive l’affichage de l’icône associée au reflet.
Avec nom?
this.properties.withName · boolean · défaut true · modifie : Taille
Active/désactive l’affichage du nom du reflet.
Active ou désactive l’affichage du nom du reflet.
Commandable?
this.properties.allowCommand · boolean · défaut true · modifie : Taille
Permet d’afficher l’interface de commande du reflet s’il est commandable.
Si activée (true), permet à l’utilisateur d’envoyer des commandes au reflet via l’interface fournie par cet acteur, si, bien entendu, le reflet est lui-même commandable.
Délai
this.properties.autoRefreshDelay · number · défaut 30
Délai de rafraîchissement automatique de la donnée.
Cette propriété est uniquement prise en compte lorsque le mode Autonome est activé.
Le délai en secondes entre chaque rafraîchissement automatique des données du reflet.
Mode de commande
this.properties.submitMode · 'action' | 'manual' | 'auto' · défaut 'action'
Mode de validation de commande.
'action'(défaut) : des boutons s’afficheront en cas de modification de la commande pour choisir l’action à effectuer.'manual': la commande devra être envoyée manuellement, par script.'auto': la commande sera envoyée automatiquement dès modification ou dès la perte de focus.
Définit le mode des commandes.
- Confirmation
action: Chaque commande nécessite une confirmation de l’utilisateur avant d’être envoyée. - Sans confirmation
auto: Les commandes sont envoyées immédiatement après un changement, sans confirmation. - Manuel
manual: Les commandes sont mises en attente et doivent être envoyées manuellement, par script.
Reflet
this.properties.reflectPath · string · défaut ''
Le chemin vers le reflet que cet acteur doit afficher depuis :easy.RESS. Par exemple, R00001 pour une ressource spécifique. C’est la propriété principale pour lier l’acteur à un équipement.
Requêteur
this.properties.requesterKey · string · défaut ''
Cette propriété est uniquement prise en compte lorsque le mode Autonome est désactivé.
La clé de l’acteur requêteur responsable de la communication avec le serveur REDY. Nécessaire si isAutonomous est désactivé.
Vertical?
this.properties.isVertical · boolean · défaut true · modifie : Taille
Permet d’activer/désactiver le mode vertical d’affichage des détails.
Si activée (true), organise les éléments (icône, nom, détails) verticalement. Sinon, ils sont disposés horizontalement.
Informations
Accessibles par script, via this dans un script de l’acteur ou context.getActor('clé') depuis un autre acteur.
autoRefreshing
this.autoRefreshing · 🔒 lecture seule · Boolean
Indique si le rafraîchissement automatique est actif.
canSubmit
this.canSubmit · 🔒 lecture seule
Indique si la commande peut être envoyée.
childActors
this.childActors · 🔒 lecture seule · Array<BaseActor
Obtiens la liste de tous les acteurs enfants.
commandError
this.commandError · 🔒 lecture seule
Erreur de la dernière commande envoyée.
data
this.data
Donnée reçue par la dernière requête.
error
this.error · 🔒 lecture seule · String ou null
Erreur de requête.
fullPath
this.fullPath · 🔒 lecture seule
Obtient le chemin complet vers le reflet.
hasCommandError
this.hasCommandError · 🔒 lecture seule
Indique si la dernière commande a échoué.
hasError
this.hasError · 🔒 lecture seule · Boolean
Indique s’il y a eu une erreur de requête.
hasPendingCommand
this.hasPendingCommand · 🔒 lecture seule · Boolean
Indique si le reflet a une commande en attente.
isCommanding
this.isCommanding
Indique si une commande est en cours d’envoi.
isRequesting
this.isRequesting · 🔒 lecture seule · Boolean
Indique si la requête est en cours.
isValorized
this.isValorized · 🔒 lecture seule
Indique si la donnée a été valorisée.
lastRequestDate
this.lastRequestDate · 🔒 lecture seule · String ou null
Date de la dernière requête (ISO 8601), null avant la première.
pendingCommand
this.pendingCommand · 🔒 lecture seule
Commande en attente du reflet, null sans commande.
reflect
this.reflect
Obtient le reflet chargé (alias en lecture seule de data).
reflectPath
this.reflectPath · 🔒 lecture seule
Obtient le chemin du reflet relatif au requêteur source (properties.reflectPath).
requesterSource
this.requesterSource
Obtient le requêteur de reflet source.
Méthodes
cancelCommand()
this.cancelCommand()
Annule la commande en cours.
getActor(key)
this.getActor(key) · renvoie Actor.BaseActor
Obtient un acteur enfant par sa clé.
key: Clé de l’acteur à trouver.
refresh()
this.refresh()
Effectue un rafraîchissement de la donnée.
removePendingCommand()
this.removePendingCommand()
Supprime la commande en attente.
request()
this.request()
Effectue une requête : celle de l’acteur s’il est autonome, sinon celle de son requêteur de reflet.
requestDebounce()
this.requestDebounce() · renvoie Promise<any>
Effectue une requête retardée : celle de l’acteur s’il est autonome, sinon celle de son requêteur de reflet.
submitCommand()
this.submitCommand()
Envoie la commande.
write()
this.write()
Envoie la commande du reflet si l’acteur et le reflet l’autorisent.
Événements
Les évènements communs à tous les acteurs sont décrits avec l’acteur de base.
onDidCommand
Se produit lorsque la commande est réalisée.
context : contexte d’évènement, avec en plus :
Membre de context | Type | Description |
|---|---|---|
error | Object ou null | L’erreur éventuelle de la commande (null si elle a réussi) |
data | any | La réponse du REDY à la commande (absente en cas d’erreur) |
L’évènement onDidCommand est déclenché lorsqu’une commande a été envoyée au reflet.
data: Le modèle du reflet mis à jour.error: Un message d’erreur si la requête a échoué, ounullsi elle a réussi.
onDidReflectChange
Se produit lorsque l’acteur reçoit un reflet alors qu’il n’en avait pas encore (premier chargement, ou après une requête sans reflet) ; les mises à jour suivantes du même reflet ne le déclenchent pas.
context : contexte d’évènement, avec en plus :
Membre de context | Type | Description |
|---|---|---|
reflect | Object ou null | Le reflet reçu (null si la requête n’en a pas trouvé) |
L’évènement onDidReflectChange est déclenché lorsque le reflet a changé.
L’évènement comporte un objet context avec les propriétés suivantes :
reflect: Le nouveau reflet obtenu.
onRequestDone
Se produit lorsque la requête s’est terminée.
context : contexte d’évènement, avec en plus :
Membre de context | Type | Description |
|---|---|---|
error | String ou Object ou null | Une erreur éventuelle |
data | any | La donnée |
L’évènement onRequestDone est déclenché lorsque l’acteur a terminé une requête vers le REDY pour obtenir ou rafraîchir le reflet.
L’évènement comporte un objet context avec les propriétés suivantes :
data: Le reflet obtenu du REDY, cet objet contient toutes les informations relative au reflet (nom, chemin, etc …).error: Un message d’erreur si la requête a échoué, ounullsi elle a réussi.
Hérite de
Outre ce qui est décrit ici, l’acteur a tout ce que décrit l’acteur de base : propriétés communes (taille, disposition, aspect, texte, bordures, effets…), évènements communs (cycle de vie, souris, clavier…) et membres accessibles par script.
Il hérite aussi de :
- ReflectDetailsBase : Acteur de base des details de reflet.
- Parenthood (comportement) : Étend la classe pour permettre d’avoir des acteurs enfants.
- BaseRequest : Acteur de base pour un acteur alimenté par requête.
- Requesterable (comportement) : Attribut la possibilité à un acteur de réaliser des requêtes.
Conseils et optimisations
Centralisation des requêtes : Si vous avez plusieurs acteurs “Détails de reflet” dans votre scène, il est recommandé de ne pas les paramétrer comme autonome et d’utiliser un requêteur de reflet commun. Cette pratique permet de mutualiser les requête et d’optimiser les performances globales de votre scène. Cela permet également de synchroniser les détails de reflet entre eux.
Reflets du REDY supportés par Synapps
Voici la liste des types de reflets REDY que Synapps est capable de reconnaître et d’afficher en détail.
Les champs de chaque type sont décrits dans le modèle Reflet.
| Reflet dans Synapps | type Synapps | Reflets dans REDY |
|---|---|---|
| Agenda | agenda | - Reflet Agenda - Reflet Agendapp |
| Analogique | analog | - Reflet Analogique - Reflet Analogique avec Seuils témoins - Reflet Analogique avec Forçage |
| Chaudière | boiler | Reflet Chaudière |
| Bruleur | burner | Reflet Bruleur |
| Digital | digital | - Reflet Digital - Reflet Digital avec Forçage |
| Courbe de chauffe | heating-curve | Reflet Courbe de chauffe |
| Tableau de consignes | setpoints-table | Reflet Tableau de consignes |
| PID | pid | Reflet PID |
| Fil Pilote | pilot-wire | Reflet Fil Pilote |
| Pompe | pump | Reflet Pompe |
| Etat | state | Reflet Etat |
| Texte | text | Reflet Texte |
| Vanne | valve | Reflet Vanne |
| Inconnu | unknown | Pour les reflet que Synapps ne connait pas encore. |
