kevin.sec
@kevin-young · Se unió el febrero 2025
IT and security admin · energy · 17 years in the field
- Temas
- 4
- Respuestas
- 16
- Puntos
- 0
Respuestas de foro creadas
Traducido del English por IA ·
¿Qué cuenta le diste a la cámara?
Which account did you give the camera?
Traducido del English por IA ·
Los ajustes peligrosos son solo para el Owner. ¿Tengo razón en que una clave de API nunca puede escribir esos ajustes entonces?
Dangerous settings are Owner only. Am I right that an API key can never write those then?
Welcome. Is the region per organisation or per person? Some of our people sit in Canada and some in Europe, and I’d rather not split us in two.
Traducido del English por IA ·
Esa es la respuesta que necesitaba para nuestro cuestionario de proveedores. Dos preguntas de seguimiento del mismo formulario: ¿adónde van las copias de seguridad y pueden sus propios operadores acceder a un nodo?
That is the answer I wanted for our vendor questionnaire. Two follow-ups from the same form: where do backups go, and can your own operators get into a node?
Traducido del English por IA ·
Clean session false no servirá de nada en Hermetry de todos modos. Estoy bastante seguro de que la documentación dice que se sirve como clean session.
Clean session false won’t help on Hermetry anyway. I’m fairly sure the docs say it’s served as a clean session.
Moved both boards to SPI0 with CE0/CE1, removed the two overlays, three days without a crash and the readings match the old ones within 0.1 °C. Thanks Aoife. @Keisha the offline alarm wouldn’t help there since the Pi is still online. A threshold rule can’t see a missing key either, as far as I know. We’re looking at a flow watchdog for that.
enable_uart=1 (serial console is on, someone uses it for headless recovery), dtparam=i2c_arm=on, and the two SPI lines.
HC-12 modules are an Si4463 with a small MCU on top that gives you a plain serial port. If you don’t need anything fancy, that’s the lazy route.
Bottom layer under the trace was empty, I had routed the battery line through there. Rev B: CPWG at 50 ohm, via fence, ground solid. Now -100 dBm and SNR +6 at the same spot. Thanks Laura.
868, same one I use on the dev board.
That table is what I was missing. Left the profile at the defaults. After a week most meters sit at DR5 and four basement ones at DR2, all visible in lora.dr. Thanks Ciaran.
Traducido del English por IA ·
Bien, esa es la misma configuración que usamos para unas cuantas lámparas de señalización. Tres partes:
- Perfil de dispositivo del relé, pestaña Commands: añadir un comando
light.set, nivel Basic, un parámetroonde tipo Yes / no. El nivel importa, porque una clave API solo puede enviar métodos que estén en el catálogo del perfil. - Firmware: suscribirse a
v1/rpc/req/+, conmutar GPIO12 (el relé de la Basic R2), responder con el mismo id e informar del nuevo estado.
void onMsg(char* topic, byte* p, unsigned int n) {
// topic: v1/rpc/req/42
String id = String(topic).substring(11);
StaticJsonDocument<128> d; deserializeJson(d, p, n);
bool on = d["params"]["on"];
digitalWrite(12, on ? HIGH : LOW);
mqtt.publish(("v1/rpc/res/" + id).c_str(), "{"ok":true}");
mqtt.publish("v1/telemetry", on ? "{"relay":1}" : "{"relay":0}");
}
- Tu script: una clave API desde API Keys (menú Developer) con solo lo que necesite. La ruta de envío requiere
iot_rpc.readmás el permiso del nivel, así que marca esos dos y nada más, rellena la lista de IP permitidas con la dirección del PC del laboratorio y mantén la caducidad de 90 días.
import requests
r = requests.post(
f"https://{HOST}/tenant/{TENANT}/api/iot/devices/{DEVICE}/rpc",
headers={"Authorization": f"Bearer {KEY}"},
json={"method": "light.set", "params": {"on": True}, "timeoutMs": 10000},
)
print(r.status_code, r.json()["rpc"]["status"])
Un comando bidireccional con un timeout de 30 s o menos espera y devuelve 200 con SUCCESSFUL. Referencia: Commands APIEl ESP8266 maneja TLS, pero la memoria es escasa; usa BearSSL con buffers más pequeños si la conexión falla.
Good, that’s the same setup we use for a few signal lamps. Three pieces:
- Device profile of the relay, Commands tab: add a command
light.set, tier Basic, one parameteronof type Yes / no. Tier matters, because an API key can only send methods that are in the profile’s catalog. - Firmware: subscribe to
v1/rpc/req/+, switch GPIO12 (the relay on the Basic R2), answer on the same id, and report the new state.
void onMsg(char* topic, byte* p, unsigned int n) {
// topic: v1/rpc/req/42
String id = String(topic).substring(11);
StaticJsonDocument<128> d; deserializeJson(d, p, n);
bool on = d["params"]["on"];
digitalWrite(12, on ? HIGH : LOW);
mqtt.publish(("v1/rpc/res/" + id).c_str(), "{"ok":true}");
mqtt.publish("v1/telemetry", on ? "{"relay":1}" : "{"relay":0}");
}
- Your script: an API key from API Keys (Developer menu) with only what it needs. The send route wants
iot_rpc.readplus the tier’s permission, so tick those two and nothing else, fill the IP allowlist with the lab PC’s address and keep the 90-day expiry.
import requests
r = requests.post(
f"https://{HOST}/tenant/{TENANT}/api/iot/devices/{DEVICE}/rpc",
headers={"Authorization": f"Bearer {KEY}"},
json={"method": "light.set", "params": {"on": True}, "timeoutMs": 10000},
)
print(r.status_code, r.json()["rpc"]["status"])
A two-way command with a timeout of 30 s or less waits and comes back 200 with SUCCESSFUL. Reference: Commands API
The ESP8266 does TLS, but memory is tight; use BearSSL with smaller buffers if the connect fails.
Traducido del English por IA ·
Merece la pena dejar un comentario encima de cada línea que añadas a config.txt, con la fecha y el motivo. Así le ahorras trabajo a la siguiente persona.
Worth leaving a comment above every line you add to config.txt with the date and why. Saves the next person.
Exactly what I needed for the meeting. I explained the trapped air and stuck spool cases with Laura’s wording and management stopped asking about removing a part. I also told them no cloud product, Hermetry Safe included, takes over the safety chain, it stays hardwired. We added the aux contact and the dump valve pressure switch as telemetry, plus an alarm when the e-stop is active and the dump has not vented within 5 seconds. Tested it on Friday with the engineer present.
Traducido del English por IA ·
Antes que nada: ¿es posible migrar a Bookworm? NetworkManager hace que toda esta cuestión desaparezca.
Before anything: is moving it to Bookworm an option? NetworkManager makes this whole question go away.

