johnsonsec
@brian-johnson · Se unió el abril 2026
IT and security admin · software · 20 years in the field
- Temas
- 1
- Respuestas
- 24
- Puntos
- 0
Respuestas de foro creadas
Ordered an S type in an alumina tube and a MAX31856. Rule is in, the attribute trick works nicely, set max_c to 1240 tonight and the firing peaked at 1224 with no alarm. A hardware over-temp relay is going in next weekend, fair point. @Aoife mostly drift and the probe’s life, from what I’ve read since.
On the data side: a device profile allows 10 telemetry messages a second by default. At 200 a second you blow through it and a device that keeps doing that gets its session closed.
Traducido del English por IA ·
Se equivoca con la parte de Hermetry. Hermetry puede enviar comandos y cambios de atributos compartidos a dispositivos detrás de una pasarela: la pasarela los recibe en v1/gw/rpc o v1/gw/attributes y debe aplicarlos, así que depende de si el software de pasarela del contratista gestiona esos topics. Un comando dirigido al propio dispositivo pasarela también funciona, de modo que la caja en su cuarto eléctrico puede recibir «iniciar muestreo de validación» desde un botón del panel o una regla y distribuirlo localmente. Eso es un comando en lugar de 30. La parte de radio es territorio de Eric.
He’s wrong about the Hermetry half. Hermetry can send commands and shared attribute changes to devices behind a gateway: the gateway gets them on v1/gw/rpc or v1/gw/attributes and has to apply them, so it depends on whether the contractor’s gateway software handles those topics. A command to the gateway device itself works too, so the box in your electrical room can get «start validation sampling» from a dashboard button or a rule and fan it out locally. That’s one command instead of 30. The radio half is Eric’s territory.
Traducido del English por IA ·
Eso es una credencial de dispositivo. Sirve para que un dispositivo inicie sesión, no lee nada por ti. La API de gestión necesita una clave de API. Además, consultar cada 5 segundos es demasiado para un buzzer.
That’s a device credential. It logs a device in, it doesn’t read anything for you. The management API wants an API key. Also every 5 seconds is a lot for a buzzer.
Traducido del English por IA ·
El texto solo se muestra como último valor, no se grafica. Con 0/1 obtienes la ocupación por hora sin coste adicional con la media horaria.
Text only shows as the latest value, it isn’t charted. With 0/1 you get occupancy per hour for free with the hourly average.
Traducido del English por IA ·
El año pasado instalamos 60 plazas en el aparcamiento de un centro comercial con LoRaWAN simple y ha funcionado bien. No necesitas nada especial para un piloto. Esto es lo que montamos:
La pasarela es una pasarela Basics Station instalada en una farola (el antiguo reenviador de paquetes UDP no es compatible, así que comprueba que la tuya funcione con Basics Station). Los sensores se añadieron como dispositivos OTAA. Si tienes que dar de alta 40, el modo de emparejamiento ahorra mucho tecleo, pero requiere un AppKey compartido en el perfil, que el fabricante de nuestros sensores de suelo no nos quiso dar, así que añadimos los 60 como dispositivos OTAA a mano. No es nada divertido, reserva una tarde.
El fabricante solo entregó un decodificador en JavaScript. Hermetry no ejecuta scripts de decodificación en absoluto; los codecs son tablas JSON. El nuestro era un frame de diseño en el FPort 2 y nos llevó 15 minutos:
{
"id": "t.bay-puck",
"title": "In-ground parking puck",
"vendor": "Example maker",
"fports": [2],
"kind": "layout",
"frames": [{ "fport": 2, "min_length": 3, "fields": [
{ "at": 0, "field": "occupied", "fmt": "u8" },
{ "at": 1, "field": "battery_mv", "fmt": "u16be" }
]}],
"tests": [{ "name": "car present", "fport": 2, "hex": "010E74", "expect": { "occupied": 1, "battery_mv": 3700 } }]
}
Envía occupied como 0/1 para que los gráficos puedan dibujarlo. Para el mapa, creamos cada plaza como un activo con sus coordenadas bajo un sitio «Main Street» y colocamos el sensor debajo; luego una tarjeta de mapa en Status bajo un activo. El color libre/ocupado procede del estado del sitio.
Por último, una regla Device offline en el perfil. Con un heartbeat de 6 horas, usa Recent message con intervalo 21600 y factor 2; si no, las placas muertas se ocultan durante días.
We did 60 bays for a shopping centre car park last year with plain LoRaWAN and it’s been fine. You don’t need anything special for a pilot. What we built:
Gateway is a Basics Station gateway on a lamp post (the old UDP packet forwarder is not supported, so check yours speaks Basics Station). Sensors added as OTAA devices. If you have 40 to do, pairing mode saves a lot of typing, but it needs a shared AppKey on the profile, which our puck vendor wouldn’t give us, so we added all 60 as OTAA devices by hand. Not fun, budget an afternoon.
The vendor only shipped a JavaScript decoder. Hermetry doesn’t run decoder scripts at all, codecs are JSON tables. Ours was a layout frame on FPort 2 and took 15 minutes:
{
"id": "t.bay-puck",
"title": "In-ground parking puck",
"vendor": "Example maker",
"fports": [2],
"kind": "layout",
"frames": [{ "fport": 2, "min_length": 3, "fields": [
{ "at": 0, "field": "occupied", "fmt": "u8" },
{ "at": 1, "field": "battery_mv", "fmt": "u16be" }
]}],
"tests": [{ "name": "car present", "fport": 2, "hex": "010E74", "expect": { "occupied": 1, "battery_mv": 3700 } }]
}
Send occupied as 0/1, then charts can draw it. For the map we made each bay an asset with its coordinates under a «Main Street» site and placed the sensor under it, then a map card on Status under an asset. Free/occupied colour comes from the site status.
Last thing: a Device offline rule on the profile. With a 6 hour heartbeat, use Recent message with interval 21600 and factor 2, otherwise dead pucks hide for days.
Strings over I2C waste bytes and you only get 32 per transfer. Show the master side, I bet that’s where it breaks.
Traducido del English por IA ·
Si automatiza esa exportación con un script, asigne a la clave de API el preajuste Solo lectura y restrínjala a la red de su portátil. He visto demasiadas claves con control total en cuadernos de Python.
If you script that export, give the API key the Read-only preset and restrict it to your laptop’s network. Seen too many full-admin keys in Python notebooks.
UWB anchors give you decimetres but cost a lot per room and need calibration. For room-level, BLE is plenty.

