bugra.demiriz
@bugra-demiriz · Membre depuis août 2026
- Sujets
- 11
- Réponses
- 33
- Points
- 0
Toutes mes réponses sur les forums
Traduit de English par IA ·
N’essayez pas cela sur un espace de travail avec des appareils en service. Cela met en pause chaque flux en cours d’exécution sur chaque hôte, flux racines compris, et le flux racine est celui qui stocke vos données d’appareils. Les messages des appareils, les planifications et les webhooks ne démarrent aucune exécution tant que vous n’avez pas repris.Une confirmation est demandée d’abord : vous cochez « Je comprends que rien ne s’exécute tant que les flux ne sont pas repris. » et vous saisissez STOP. Reprendre les flux rétablit chaque flux mis en pause par l’arrêt. Un flux qui s’était déjà mis en pause lui-même reste en pause. Les deux éléments figurent dans le journal d’audit.
Don’t try it on a workspace with live devices. It pauses every running flow on every host, root flows included, and the root flow is the one storing your device data. Device messages, schedules and webhooks start no run until you resume.
It does ask first: you tick « I understand that nothing runs until the flows are resumed. » and type STOP. Resume the flows brings back every flow the stop paused. A flow that had paused itself before stays paused. Both are in the audit log.
Traduit de English par IA ·
La personne l’emporte. Un seul écrivain modifie la section d’un appareil à la fois, et une modification effectuée par une personne sur la page de l’appareil prime sur la tâche ; « Modifié par une personne » est l’un des états qu’un appareil peut afficher dans la tâche. Lorsque deux tâches veulent le même appareil, le paramètre de la tâche détermine si elle attend ou ignore l’appareil.
The person wins. Only one writer changes a device’s section at a time, and a person’s change on the device page wins over the job; « Changed by a person » is one of the states a device can show in the job. When two jobs want the same device, the job’s setting decides whether it waits or skips the device.
Traduit de English par IA ·
Pas comme ça, désolé. Deux conditions doivent être réunies : le firmware annonce ses sections de paramètres à la connexion, et Hermetry possède la description des paramètres (le manifeste) pour ce modèle et ce firmware. Les appareils sous licence ont les deux.Pour vos propres cartes, déclarez les clés cfg.* dans l’onglet Configuration keys du profil (type, limites, valeurs autorisées) et laissez le firmware les lire comme des attributs partagés. Vous obtenez des clés typées avec limites, et l’onglet Attributes affiche chacune en In sync, Pending, Rejected ou Drifted, sans rédiger de manifeste. Attributes détaille le côté appareil.
Not this way, sorry. Two things have to be true: the firmware announces its settings sections when it connects, and Hermetry has the settings description (the manifest) for that model and firmware. Licensed devices have both.
For your own boards, declare cfg.* keys on the profile’s Configuration keys tab (type, limits, allowed values) and let the firmware read them as shared attributes. You get typed keys with limits, and the Attributes tab shows each one as In sync, Pending, Rejected or Drifted, without writing a manifest. Attributes has the device side.
Traduit de English par IA ·
L’historique des connexions est conservé pendant 30 jours, et Charger plus remonte encore plus loin dans cette limite. Les appareils dont le profil utilise Vu en dernier n’écrivent aucune ligne de connexion ni de déconnexion ; vérifiez donc la règle de statut en ligne du profil si l’onglet semble vide.
Connection history is kept for 30 days, and Load more goes further back within that. Devices whose profile uses Last seen only write no connect and disconnect rows, so check the profile’s online rule if the tab looks empty.
Traduit de English par IA ·
Il s’abonne à v1/rpc/req/+ et récupère la method et les params ; pour une commande bidirectionnelle, il répond avec le même id :
PUBLISH v1/rpc/req/42
{"method": "sys.ping", "params": {"host": "8.8.8.8", "count": 3}}
PUBLISH v1/rpc/res/42
{"ok": true, "result": {"sent": 3, "received": 3, "avg_ms": 18.2}}
Les commandes ne sont livrées qu’une fois que l’appareil s’est abonné sur cette connexion.
It subscribes to v1/rpc/req/+ and gets the method and params; for a two-way command it answers on the same id:
PUBLISH v1/rpc/req/42
{"method": "sys.ping", "params": {"host": "8.8.8.8", "count": 3}}
PUBLISH v1/rpc/res/42
{"ok": true, "result": {"sent": 3, "received": 3, "avg_ms": 18.2}}
Commands are only delivered after the device has subscribed on that connection.
Traduit de English par IA ·
Chaque commande du catalogue a un niveau. Par défaut, Basic est réservé aux Users, Privileged et Critical aux administrateurs, et une méthode raw absente du catalogue est réservée aux owners. Si un opérateur a besoin de commandes privileged, un groupe personnalisé avec iot_rpc.send.privileged suffit, sans en faire un Admin.
Each command in the catalog has a tier. By default Basic is for Users, Privileged and Critical for administrators, and a raw method that isn’t in the catalog is owners only. If one operator needs privileged commands, a custom group with iot_rpc.send.privileged does it without making them Admin.
Traduit de English par IA ·
C’est pour cela que cela se lit ainsi. Un point pour le côté firmware, pendant que tu y es : une commande peut arriver deux fois, donc retiens au moins les 32 derniers identifiants de requête pendant 10 minutes et n’exécute pas deux fois le même identifiant.
That’s why it reads that way. One thing for the firmware side while you’re at it: a command can arrive twice, so remember at least the last 32 request ids for 10 minutes and don’t run the same id again.
Traduit de English par IA ·
Ce que nous voyons : l’adresse de la connexion la plus récente. Pour les appareils HTTP et interrogés (polled) qui ne maintiennent pas de connexion, il s’agit de l’adresse de la dernière activité. Derrière votre routeur, vous verrez l’adresse publique à partir de laquelle la connexion arrive (celle du routeur, ou l’adresse NAT de l’opérateur mobile s’il en place une devant), et non l’adresse 192.168 de l’appareil.
What we see: the address of the newest connection. For HTTP and polled devices, which don’t hold a connection, it’s the address of the newest activity. Behind your router you’ll see the public address the connection comes from (the router’s, or the mobile operator’s NAT address if it puts one in front), not the 192.168 one the device has.
Traduit de English par IA ·
Sur la chronologie de l’alarme. Elle affiche Notifiée avec le nombre de destinataires et de canaux, « Notification retenue » lorsque la limitation en a retenu une, et Mise en sourdine lorsque personne n’a été prévenu.Le journal des notifications ne contient que les tentatives effectuées (envoyée, échouée ou en attente par destinataire et par canal). Une notification retenue avant d’être tentée (par une préférence, les heures calmes, la fenêtre de répétition ou une mise en sourdine) n’a jamais atteint cette étape ; elle n’apparaît donc pas dans le journal, et ces décisions sont affichées sur la chronologie de l’alarme.
On the alarm’s timeline. It shows Notified with the number of recipients and channels, « Notification held back » when the throttle kept one back, and Muted when nobody was told.
The notification log only has attempts that were made (sent, failed or pending per recipient and channel). Something held back before it was attempted (by a preference, quiet hours, the repeat window or a mute) never got that far, so it is not in the log; those decisions show on the alarm timeline instead.
Traduit de English par IA ·
La ligne du changelog concerne le déclencheur lui-même : il est stocké de manière durable et réparé automatiquement après une panne.Pour les appels eux-mêmes, un appel webhook qui a attendu plus longtemps que son time-to-live pendant une panne n’est pas exécuté seul. Il est placé dans Messages en échec avec la raison « Attente trop longue », et Rejouer l’exécute. Rejouer conserve les identifiants d’origine, et les blocs sortants envoient la même clé d’idempotence ; si le système appelé la dédoublonne, il ne voit l’appel qu’une fois. Détails dans Protections et messages en échec.
The changelog line is about the trigger itself: it’s stored durably and repaired automatically after an outage.
For the calls themselves, a webhook call that waited longer than its time-to-live during an outage isn’t run on its own. It goes to Failed messages with the reason « Waited too long », and Replay runs it. Replay keeps the original ids, and the outbound blocks send the same idempotency key, so if the system you call deduplicates it sees the call once. Details in Protections and failed messages.
Traduit de English par IA ·
Pour une clé fixe dans un en-tête, je la mettrais sur la connexion de l’endpoint HTTP : type d’authentification header, header_name X-Api-Key, et la valeur va dans header_value, qui est enregistrée comme secret. Ainsi, le bloc ne fait que désigner la connexion, et la ligne correspondante dans les en-têtes du bloc peut être supprimée.Après enregistrement, le champ affiche « Une valeur est enregistrée. Laissez vide pour la conserver. » et la valeur n’apparaît jamais dans un historique d’exécution, un journal ou un export. Si vous exportez le flux plus tard, l’importateur devra saisir à nouveau le secret.
For a fixed key in a header I’d put it on the HTTP endpoint connection: auth type header, header_name X-Api-Key, and the value goes in header_value, which is stored as a secret. Then the block only names the connection and the row in the block’s headers can go.
After saving, the field shows « A value is stored. Leave empty to keep it. » and the value never reaches a run record, a log or an export. If you export the flow later, the importer has to type the secret again.
Yes, if the device sends its own time. A message like {"ts": 1759572000000, "values": {...}} is stored at ts, in milliseconds since 1970 UTC. A flat object is stored at the time it arrived. Two things to watch: a record more than 10 minutes in the future is refused as bad_ts, so keep the clocks synced, and an admin can set an oldest accepted age. Details on Timestamps, late and duplicate readings.
Welcome Lakshmi. For a regular extract into your own store, the History API called by your scheduler is the usual route. If you want every reading in real time instead, a forwarding block in the root flow sends them on as they arrive. Exporting data compares the options.
Traduit de English par IA ·
Ils ne le peuvent pas. Un groupe peut élever un membre au-dessus du minimum Admin, mais jamais au-dessus du minimum Owner. Les commandes brutes, le transfert de propriété et la suppression de l’organisation restent réservés aux Owners, quel que soit le paramétrage d’un groupe, et ces cellules sont verrouillées dans la matrice pour tous sauf l’Owner.
They can’t. A group can lift a member over an Admin minimum, never over an Owner one. Raw commands, ownership transfer and deleting the organisation stay with owners whatever a group says, and those cells are locked in the matrix for everyone but the owner.
Traduit de English par IA ·
Non, les groupes ne font qu’ajouter des droits. Les droits d’un membre correspondent au rôle plus tous les groupes actifs, et aucun groupe ne retire quoi que ce soit.
Pour empêcher quelqu’un d’utiliser ce que son rôle autorise, utilisez une politique d’accès avec un refus. Un refus l’emporte toujours sur la matrice. La configuration des politiques nécessite le rôle Owner : Politiques d’accès. Si vous souhaitez modifier un rôle entier (par exemple, qu’aucun User de votre organisation ne puisse accuser réception), il est plus simple de décocher la case correspondant à User dans la matrice Access Rights.
No, groups only add. A member’s rights are the role plus every active group, and nothing in a group subtracts.
To hold someone back from what their role allows, use an access policy with a deny. A deny always wins over the matrix. Policies need the Owner role to set up: Access policies. If it’s a whole role you want changed (no User in your organisation may acknowledge), unticking that cell for User in the Access Rights matrix is simpler.

