bugra.demiriz
@bugra-demiriz · Se unió el agosto 2026
- Temas
- 11
- Respuestas
- 33
- Puntos
- 0
Respuestas de foro creadas
Traducido del English por IA ·
No lo pruebes en un workspace con dispositivos activos. Pausa todos los flujos en ejecución en todos los hosts, incluidos los flujos raíz, y el flujo raíz es el que almacena los datos de tus dispositivos. Los mensajes de los dispositivos, las programaciones y los webhooks no inician ninguna ejecución hasta que reanudes.Primero pide confirmación: marcas «Entiendo que nada se ejecuta hasta que los flujos se reanuden.» y escribes STOP. Reanudar los flujos devuelve todos los flujos que la parada pausó. Un flujo que se había pausado por sí mismo antes sigue pausado. Ambas cosas constan en el registro de auditoría.
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.
Traducido del English por IA ·
La persona tiene prioridad. Solo un escritor cambia la sección de un dispositivo a la vez, y un cambio de una persona en la página del dispositivo prevalece sobre el trabajo; «Cambiado por una persona» es uno de los estados que un dispositivo puede mostrar en el trabajo. Cuando dos trabajos quieren el mismo dispositivo, el ajuste del trabajo decide si espera o omite el dispositivo.
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.
Traducido del English por IA ·
No de esta manera, lo siento. Tienen que cumplirse dos cosas: el firmware anuncia sus secciones de ajustes al conectarse, y Hermetry tiene la descripción de ajustes (el manifiesto) para ese modelo y firmware. Los dispositivos con licencia tienen ambas.Para sus propias placas, declare las claves cfg.* en la pestaña Configuration keys del perfil (tipo, límites, valores permitidos) y deje que el firmware las lea como atributos compartidos. Obtendrá claves tipadas con límites, y la pestaña Attributes muestra cada una como In sync, Pending, Rejected o Drifted, sin escribir un manifiesto. Attributes describe el lado del dispositivo.
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.
Traducido del English por IA ·
El historial de conexiones se conserva durante 30 días, y Cargar más retrocede aún más dentro de ese período. Los dispositivos cuyo perfil usa Visto por última vez no escriben filas de conexión ni de desconexión, así que revisa la regla de en línea del perfil si la pestaña parece vacía.
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.
Traducido del English por IA ·
Se suscribe a v1/rpc/req/+ y obtiene el method y los params; para un comando bidireccional responde con el mismo 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}}
Los comandos solo se entregan después de que el dispositivo se haya suscrito en esa conexión.
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.
Traducido del English por IA ·
Cada comando del catálogo tiene un nivel. De forma predeterminada, Basic es para Users, Privileged y Critical para administradores, y un método raw que no está en el catálogo es solo para owners. Si un operador necesita comandos privileged, basta un grupo personalizado con iot_rpc.send.privileged, sin convertirlo en 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.
Traducido del English por IA ·
Por eso se lee así. Una cosa para el lado del firmware, ya que estás en ello: un comando puede llegar dos veces, así que recuerda al menos los últimos 32 ID de solicitud durante 10 minutos y no ejecutes de nuevo el mismo ID.
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.
Traducido del English por IA ·
Lo que vemos: la dirección de la conexión más reciente. Para dispositivos HTTP y sondeados (polled), que no mantienen una conexión, es la dirección de la actividad más reciente. Detrás de su router verá la dirección pública desde la que llega la conexión (la del router, o la dirección NAT del operador móvil si coloca una delante), no la 192.168 que tiene el dispositivo.
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.
Traducido del English por IA ·
En la línea de tiempo de la alarma. Muestra Notificada con el número de destinatarios y canales, «Notificación retenida» cuando el limitador de frecuencia retuvo una, y Silenciada cuando no se avisó a nadie.El registro de notificaciones solo incluye los intentos realizados (enviado, fallido o pendiente por destinatario y canal). Algo retenido antes de intentarse (por una preferencia, horario de silencio, la ventana de repetición o un silencio) no llegó a esa fase, así que no aparece en el registro; esas decisiones se muestran en la línea de tiempo de la alarma.
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.
Traducido del English por IA ·
La línea del changelog se refiere al disparador en sí: se almacena de forma duradera y se repara automáticamente tras una interrupción.En cuanto a las llamadas, una llamada webhook que esperó más de su time-to-live durante una interrupción no se ejecuta por sí sola. Pasa a Mensajes fallidos con el motivo «Esperó demasiado», y Reproducir la ejecuta. Reproducir mantiene los ids originales, y los bloques salientes envían la misma clave de idempotencia; si el sistema al que llamas la deduplica, solo ve la llamada una vez. Detalles en Protecciones y mensajes fallidos.
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.
Traducido del English por IA ·
Para una clave fija en una cabecera, la pondría en la conexión del endpoint HTTP: tipo de autenticación header, header_name X-Api-Key, y el valor va en header_value, que se guarda como secreto. Así, el bloque solo nombra la conexión y la fila de las cabeceras del bloque puede eliminarse.Tras guardar, el campo muestra «Hay un valor guardado. Déjelo vacío para conservarlo.» y el valor nunca llega a un registro de ejecución, a un log ni a una exportación. Si exportas el flujo más adelante, quien lo importe tendrá que volver a introducir el secreto.
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.
Traducido del English por IA ·
No pueden. Un grupo puede elevar a un miembro por encima del mínimo Admin, pero nunca por encima del mínimo Owner. Los comandos sin procesar, la transferencia de propiedad y la eliminación de la organización siguen en manos de los Owners independientemente de lo que indique un grupo, y esas celdas están bloqueadas en la matriz para todos menos para el 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.
Traducido del English por IA ·
No, los grupos solo suman. Los derechos de un miembro son su rol más todos los grupos activos, y ningún grupo resta nada.
Para impedir a alguien lo que permite su rol, use una política de acceso con una denegación. Una denegación siempre prevalece sobre la matriz. Para configurar políticas se necesita el rol Owner: Políticas de acceso. Si lo que quiere cambiar es un rol completo (por ejemplo, que ningún User de su organización pueda reconocer alarmas), desmarcar esa celda para User en la matriz Access Rights es más sencillo.
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.

