Repository navigation
Configuration Options
This page describes every option visible in the Homebridge UI configuration form for homebridge-lametric-time-messenger.
The plugin targets LaMetric TIME V2 / 2022+ devices only. First-generation LaMetric TIME devices are not supported.
Name of the platform instance shown by Homebridge.
- JSON field:
name - Default:
LaMetric Time - Recommendation: keep a simple name, for example
LaMetric Time.
Enables debug logs for the plugin.
- JSON field:
debug - Default:
false - Usage: enable temporarily while diagnosing a problem, then disable it to avoid verbose logs.
Defines how the notification queue is processed.
- JSON field:
queueStrategy - Default:
sequential - Available value:
sequential
sequential means notifications are sent one after another for each LaMetric device. This avoids flooding the local API.
Maximum number of pending notifications in a queue.
- JSON field:
maxQueueSize - Default:
50 - Minimum:
1 - Maximum:
500
If the queue is full, new notifications may be rejected depending on the duplicate strategy.
Defines what happens when a notification with the same identifier is already queued.
- JSON field:
duplicateStrategy - Default:
drop
Available values:
-
enqueue: still add the duplicate notification. -
drop: ignore the new notification if an identical one is already pending. -
replace: replace the pending notification with the new one.
For frequent HomeKit automations, drop is usually the safest option.
Minimum delay between two API calls to the same LaMetric.
- JSON field:
globalDelayMs - Default:
250 - Unit: milliseconds
- Minimum:
0 - Maximum:
60000
Increase this value if the LaMetric returns rate-limit errors or if several automations trigger many messages.
Exposes a global HomeKit test switch.
- JSON field:
testSwitch - Default:
false
When this switch is turned on, the plugin sends a test notification to the first configured LaMetric. The test uses critical priority so it can work even when the LaMetric is in a restrictive mode.
This section lets you add one or more LaMetric TIME V2 devices. Each device has its own identifier, network address, and local API key.
Internal identifier of the device.
- JSON field:
devices[].id - Required: yes
- Format: letters, digits,
_, and- - Example:
salon
This identifier is used by messages through deviceIds. Do not change it after HomeKit accessories have been created unless you are ready to recreate the associations.
Human-readable device name.
- JSON field:
devices[].name - Required: yes
- Example:
LaMetric Salon
This name is used in logs.
Network address of the LaMetric.
- JSON field:
devices[].host - Required: yes
- Recommended example:
192.168.1.50
Enter only an IP address or DNS name. Do not enter a full URL, so no http:// or https://.
When Homebridge runs in Docker, prefer a fixed IP address over a .local name, because mDNS may not work from the container.
Protocol used to reach the local API.
- JSON field:
devices[].protocol - Default:
http
Available values:
-
http: local HTTP API, usually port8080. -
https: local HTTPS API, usually port4343.
The plugin does not globally disable TLS validation. If HTTPS fails because of a local self-signed certificate, use HTTP on a trusted local network.
Network port of the local API.
- JSON field:
devices[].port - Default:
8080 - Minimum:
1 - Maximum:
65535
Common values:
-
8080withhttp -
4343withhttps
Local API key of the LaMetric TIME V2.
- JSON field:
devices[].apiKey - Required: yes
- Homebridge UI type: password field
The plugin uses it with the dev user through HTTP Basic auth. The key is not written to plugin logs.
Maximum time to wait for a response from the LaMetric.
- JSON field:
devices[].timeoutMs - Default:
5000 - Unit: milliseconds
- Minimum:
250 - Maximum:
60000
Increase this value if the local network is slow or if the LaMetric sometimes responds late.
Number of retry attempts after a temporary failure.
- JSON field:
devices[].retryCount - Default:
2 - Minimum:
0 - Maximum:
5
Temporary failures can include network errors or some server errors. Authentication errors are not retried.
Base delay between retry attempts.
- JSON field:
devices[].retryBackoffMs - Default:
500 - Unit: milliseconds
- Minimum:
0 - Maximum:
30000
The delay increases with the attempt number. For example, with 500, the first wait is short, then later retries wait longer.
A message is a configurable notification and, optionally, a virtual HomeKit switch.
Internal identifier of the message.
- JSON field:
messages[].id - Required: yes
- Format: letters, digits,
_, and- - Example:
front-door-open
This identifier is used to generate the HomeKit accessory UUID. Do not change it after creation unless you are ready to recreate the accessory.
Message name.
- JSON field:
messages[].name - Required: yes
- Example:
Door open
This name is used for the HomeKit switch and in logs.
List of LaMetric devices targeted by this message.
- JSON field:
messages[].deviceIds - Required: yes
- Minimum: one device
- Example:
salon
Each value must match an Internal ID defined in the devices section.
Creates a HomeKit switch to trigger the message.
- JSON field:
messages[].exposeSwitch - Default:
true
When enabled, the message appears in Apple Home as a switch. An automation can turn it on to send the notification.
Delay before the switch is automatically turned back off.
- JSON field:
messages[].autoResetMs - Default:
1000 - Unit: milliseconds
- Minimum:
100 - Maximum:
60000
This prevents a switch from staying on after a notification is sent.
Minimum delay between two successful sends of the same message.
- JSON field:
messages[].cooldownMs - Default:
5000 - Unit: milliseconds
- Minimum:
0 - Maximum:
86400000
Cooldown is applied only after a successful send. It helps prevent repeated notifications caused by frequent automations.
LaMetric notification priority.
- JSON field:
messages[].priority - Default:
info
Available values:
-
info: normal priority. -
warning: higher priority. -
critical: maximum priority, can wake the device from a restrictive mode.
If the LaMetric replies Only notifications with priority 'critical' are allowed in current mode, set this field to Critical.
LaMetric notification icon type.
- JSON field:
messages[].iconType - Default:
none
Available values:
-
none: no global icon type. -
info: informational notification. -
alert: alert notification.
This setting is separate from the icon configured on each frame.
Number of display cycles for the notification.
- JSON field:
messages[].cycles - Default:
1 - Minimum:
1 - Maximum:
100
Increase this value to display the message for longer.
Default value available to templates.
- JSON field:
messages[].value - Default: empty string
This value can be inserted in text with {{value}}.
A frame is one display step in the LaMetric notification. A message must contain at least one frame.
Text displayed on the LaMetric.
- JSON field:
messages[].frames[].text - Required: yes
Available variables:
{{date}}{{time}}{{name}}{{value}}
Templates do not execute JavaScript.
LaMetric icon displayed with the frame.
- JSON field:
messages[].frames[].icon - Required: no
Common formats:
-
i1234for a static icon. -
a1234for an animated icon.
Display order of the frame.
- JSON field:
messages[].frames[].order - Default:
0 - Minimum:
0 - Maximum:
999
Frames are sorted by this value before sending.
Sound options are shown when sound is enabled.
Adds a sound to the notification.
- JSON field:
messages[].sound.enabled - Default:
false
If disabled, the plugin does not send a sound object.
LaMetric sound category.
- JSON field:
messages[].sound.category - Default:
notifications
Available values:
notificationsalarms
Identifier of the LaMetric sound to play.
- JSON field:
messages[].sound.id - Required if sound is enabled
Example: positive1.
Number of sound repetitions.
- JSON field:
messages[].sound.repeat - Default:
1 - Minimum:
0 - Maximum:
20
Keep this value low to avoid overly intrusive sound notifications.
Cette page décrit chaque option visible dans le formulaire de configuration Homebridge UI du plugin homebridge-lametric-time-messenger.
Le plugin cible uniquement les LaMetric TIME V2 / 2022+. Les LaMetric TIME première génération ne sont pas prises en charge.
Nom de l’instance affichée par Homebridge.
- Champ JSON :
name - Valeur par défaut :
LaMetric Time - Recommandation : conserver un nom simple, par exemple
LaMetric Time.
Active les logs de debug du plugin.
- Champ JSON :
debug - Valeur par défaut :
false - Utilisation : activer temporairement pour diagnostiquer un problème, puis désactiver pour éviter des logs trop verbeux.
Définit la stratégie de traitement de la file d’attente.
- Champ JSON :
queueStrategy - Valeur par défaut :
sequential - Valeur disponible :
sequential
sequential signifie que les notifications sont envoyées l’une après l’autre pour chaque appareil LaMetric. Cela évite de saturer l’API locale.
Nombre maximum de notifications en attente dans une file.
- Champ JSON :
maxQueueSize - Valeur par défaut :
50 - Minimum :
1 - Maximum :
500
Si la file est pleine, les nouvelles notifications peuvent être refusées selon la stratégie de doublons configurée.
Définit le comportement lorsqu’une notification avec le même identifiant est déjà en file.
- Champ JSON :
duplicateStrategy - Valeur par défaut :
drop
Valeurs disponibles :
-
enqueue: ajoute quand même la notification en double. -
drop: ignore la nouvelle notification si une notification identique est déjà en attente. -
replace: remplace la notification déjà en attente par la nouvelle.
Pour les automatisations HomeKit fréquentes, drop est généralement le choix le plus sûr.
Délai minimum entre deux appels API vers la même LaMetric.
- Champ JSON :
globalDelayMs - Valeur par défaut :
250 - Unité : millisecondes
- Minimum :
0 - Maximum :
60000
Augmentez cette valeur si la LaMetric renvoie des erreurs de limitation ou si plusieurs automatisations déclenchent beaucoup de messages.
Expose un switch HomeKit global de test.
- Champ JSON :
testSwitch - Valeur par défaut :
false
Lorsque ce switch est activé, le plugin envoie une notification de test vers la première LaMetric configurée. Le test utilise la priorité critical pour fonctionner même lorsque la LaMetric est dans un mode restrictif.
Cette section permet d’ajouter une ou plusieurs LaMetric TIME V2. Chaque appareil reçoit son propre identifiant, son adresse réseau et sa clé API locale.
Identifiant interne de l’appareil.
- Champ JSON :
devices[].id - Obligatoire : oui
- Format : lettres, chiffres,
_et- - Exemple :
salon
Cet identifiant est utilisé dans les messages via deviceIds. Ne le modifiez pas après création des accessoires HomeKit, sauf si vous acceptez de recréer les associations.
Nom lisible de l’appareil.
- Champ JSON :
devices[].name - Obligatoire : oui
- Exemple :
LaMetric Salon
Ce nom est utilisé dans les logs.
Adresse réseau de la LaMetric.
- Champ JSON :
devices[].host - Obligatoire : oui
- Exemple recommandé :
192.168.1.50
Indiquez uniquement une adresse IP ou un nom DNS. Ne saisissez pas d’URL complète, donc pas de http:// ou https://.
Dans Docker, préférez une adresse IP fixe à un nom .local, car mDNS peut ne pas fonctionner depuis le conteneur Homebridge.
Protocole utilisé pour joindre l’API locale.
- Champ JSON :
devices[].protocol - Valeur par défaut :
http
Valeurs disponibles :
-
http: API locale HTTP, généralement port8080. -
https: API locale HTTPS, généralement port4343.
Le plugin ne désactive pas globalement la validation TLS. Si HTTPS échoue à cause d’un certificat autosigné local, utilisez HTTP sur un réseau local de confiance.
Port réseau de l’API locale.
- Champ JSON :
devices[].port - Valeur par défaut :
8080 - Minimum :
1 - Maximum :
65535
Valeurs courantes :
-
8080avechttp -
4343avechttps
Clé API locale de la LaMetric TIME V2.
- Champ JSON :
devices[].apiKey - Obligatoire : oui
- Type Homebridge UI : champ mot de passe
Le plugin l’utilise avec l’utilisateur dev en HTTP Basic auth. La clé n’est pas écrite dans les logs par le plugin.
Temps maximum d’attente d’une réponse de la LaMetric.
- Champ JSON :
devices[].timeoutMs - Valeur par défaut :
5000 - Unité : millisecondes
- Minimum :
250 - Maximum :
60000
Augmentez cette valeur si le réseau local est lent ou si la LaMetric répond parfois tardivement.
Nombre de nouvelles tentatives après un échec temporaire.
- Champ JSON :
devices[].retryCount - Valeur par défaut :
2 - Minimum :
0 - Maximum :
5
Les erreurs temporaires peuvent être des erreurs réseau ou certaines erreurs serveur. Les erreurs d’authentification ne sont pas retentées.
Délai de base entre deux tentatives.
- Champ JSON :
devices[].retryBackoffMs - Valeur par défaut :
500 - Unité : millisecondes
- Minimum :
0 - Maximum :
30000
Le délai augmente avec le numéro de tentative. Exemple : avec 500, la première attente est courte, puis les tentatives suivantes attendent davantage.
Un message correspond à une notification configurable et, si souhaité, à un switch HomeKit virtuel.
Identifiant interne du message.
- Champ JSON :
messages[].id - Obligatoire : oui
- Format : lettres, chiffres,
_et- - Exemple :
front-door-open
Cet identifiant sert à générer l’UUID HomeKit de l’accessoire. Ne le modifiez pas après création, sauf si vous acceptez de recréer l’accessoire.
Nom du message.
- Champ JSON :
messages[].name - Obligatoire : oui
- Exemple :
Porte ouverte
Ce nom est utilisé pour le switch HomeKit et dans les logs.
Liste des appareils LaMetric ciblés par ce message.
- Champ JSON :
messages[].deviceIds - Obligatoire : oui
- Minimum : un appareil
- Exemple :
salon
Chaque valeur doit correspondre à un Internal ID défini dans la section des appareils.
Crée un switch HomeKit pour déclencher le message.
- Champ JSON :
messages[].exposeSwitch - Valeur par défaut :
true
Si activé, le message apparaît dans Apple Maison sous forme de switch. Une automatisation peut l’activer pour envoyer la notification.
Délai avant remise automatique du switch à Off.
- Champ JSON :
messages[].autoResetMs - Valeur par défaut :
1000 - Unité : millisecondes
- Minimum :
100 - Maximum :
60000
Ce réglage évite qu’un switch reste allumé après l’envoi d’une notification.
Délai minimum entre deux envois réussis du même message.
- Champ JSON :
messages[].cooldownMs - Valeur par défaut :
5000 - Unité : millisecondes
- Minimum :
0 - Maximum :
86400000
Le cooldown est appliqué uniquement après un envoi réussi. Il permet d’éviter les répétitions causées par des automatisations trop fréquentes.
Priorité de la notification LaMetric.
- Champ JSON :
messages[].priority - Valeur par défaut :
info
Valeurs disponibles :
-
info: priorité normale. -
warning: priorité plus élevée. -
critical: priorité maximale, peut réveiller l’appareil depuis un mode restrictif.
Si la LaMetric répond Only notifications with priority 'critical' are allowed in current mode, mettez ce champ sur Critical.
Type d’icône de notification LaMetric.
- Champ JSON :
messages[].iconType - Valeur par défaut :
none
Valeurs disponibles :
-
none: pas de type d’icône global. -
info: notification informative. -
alert: notification d’alerte.
Ce réglage est distinct de l’icône définie dans chaque frame.
Nombre de cycles d’affichage de la notification.
- Champ JSON :
messages[].cycles - Valeur par défaut :
1 - Minimum :
1 - Maximum :
100
Augmentez cette valeur pour afficher le message plus longtemps.
Valeur par défaut disponible dans les templates.
- Champ JSON :
messages[].value - Valeur par défaut : chaîne vide
Cette valeur peut être insérée dans le texte avec {{value}}.
Une frame correspond à une étape d’affichage dans la notification LaMetric. Un message doit contenir au moins une frame.
Texte affiché sur la LaMetric.
- Champ JSON :
messages[].frames[].text - Obligatoire : oui
Variables disponibles :
{{date}}{{time}}{{name}}{{value}}
Les templates n’exécutent pas de JavaScript.
Icône LaMetric affichée avec la frame.
- Champ JSON :
messages[].frames[].icon - Obligatoire : non
Formats courants :
-
i1234pour une icône statique. -
a1234pour une icône animée.
Ordre d’affichage de la frame.
- Champ JSON :
messages[].frames[].order - Valeur par défaut :
0 - Minimum :
0 - Maximum :
999
Les frames sont triées par cette valeur avant l’envoi.
Les options de son sont affichées lorsque le son est activé.
Active l’ajout d’un son à la notification.
- Champ JSON :
messages[].sound.enabled - Valeur par défaut :
false
Si désactivé, le plugin n’envoie pas d’objet sound.
Catégorie de son LaMetric.
- Champ JSON :
messages[].sound.category - Valeur par défaut :
notifications
Valeurs disponibles :
notificationsalarms
Identifiant du son LaMetric à jouer.
- Champ JSON :
messages[].sound.id - Obligatoire si le son est activé
Exemple : positive1.
Nombre de répétitions du son.
- Champ JSON :
messages[].sound.repeat - Valeur par défaut :
1 - Minimum :
0 - Maximum :
20
Gardez une valeur faible pour éviter les notifications sonores trop intrusives.