Traducido del English por IA ·
Ese no es tu topic. Hermetry solo permite que un dispositivo se suscriba a sus propios topics de downlink: v1/attributes/set, v1/attributes/res/+, v1/rpc/req/+, v1/rpc/up/res/+ y v1/cert (además de los topics gw para gateways). Un dispositivo nunca recibe mensajes de otro dispositivo y nunca ve sus propios uplinks. La tabla está en MQTT topics and payload reference. A mí también me pasó en mi primer proyecto.
Para el punto 1 no necesitas ningún eco. El PUBACK es la confirmación: Hermetry solo lo envía cuando el mensaje está encolado de forma segura, y en el orden en que publicaste. Mantén la lectura en tu buffer hasta que llegue su PUBACK y bórrala entonces. Si la sesión se cae antes, vuelve a enviarla tras reconectar; los duplicados con la misma clave y marca de tiempo se almacenan una sola vez de todos modos.
Para el punto 2, la pantalla no debería escuchar MQTT en absoluto. Dale una clave de API y que lea el último valor por REST cada pocos minutos:
GET https://<your host>/tenant/<tenantId>/api/telemetry/latest?kind=iot_device&entityId=<cabinet3 id>&keys=kwh
Authorization: Bearer sk_live_...
Haz que la clave sea solo de lectura (basta con el permiso de lectura de telemetría), pon la dirección pública del depósito en la lista de IP permitidas de la clave y ten en cuenta la caducidad: 90 días por defecto, un año como máximo, así que añade un recordatorio para la rotación. Después puedes eliminar también el dispositivo de la pantalla, no lo necesita.
It’s not your topic. Hermetry only lets a device subscribe to its own downlink topics: v1/attributes/set, v1/attributes/res/+, v1/rpc/req/+, v1/rpc/up/res/+ and v1/cert (plus the gw ones for gateways). A device never gets another device’s messages and never sees its own uplinks. The table is on MQTT topics and payload reference. Bit me too on my first project.
For 1 you don’t need an echo at all. The PUBACK is the confirmation: Hermetry only sends it once the message is safely queued, and in the order you published. Keep the reading in your buffer until its PUBACK arrives, drop it then. If the session dies before that, send it again after reconnect, duplicates with the same key and timestamp are stored once anyway.
For 2 the display shouldn’t be listening on MQTT at all. Give it an API key and let it read the latest value over REST every few minutes:
GET https://<your host>/tenant/<tenantId>/api/telemetry/latest?kind=iot_device&entityId=<cabinet3 id>&keys=kwh
Authorization: Bearer sk_live_...
Make the key read only (telemetry read is enough), put the depot’s public address in the key’s IP allowlist, and note the expiry: 90 days by default, a year at most, so put a reminder in for the rotation. Then you can delete the display’s device too, it doesn’t need one.

