Files
KrzyszurandClaude Opus 5.5 bb933ff748 Serial monitor redesign: Test box button, InfluxDB row in the checklist
- Test box: restart + start-up capture + online InfluxDB check (data newer
  than the restart), with a status strip; checklist and findings are the
  main view, live log / guided troubleshooting / box details are tabs,
  rarely used actions in a More menu
- light palette on all systems (macOS dark mode made the colours unreadable)
- new rule influx.invalid_value: -inf from a silent microphone makes
  InfluxDB reject every upload (HTTP 400); guide end names it
- exclusive serial port on macOS/Linux: two tool windows no longer split
  the log between them
- InfluxDB check: `since` filter, neutral wording when nothing new arrives

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 00:06:48 +02:00

42 lines
3.4 KiB
Markdown

# Technician tool v0.10 - changes (draft)
- New tab **Wi-Fi (USB)**: write the Wi-Fi name and password to the box's SD card over the USB cable, without
opening the case (firmware usb_console, `kota wifi set`). Shows each step: command support check, stored,
restart in Wi-Fi mode, connected with signal strength (polls `kota health`). Also reads the stored network
(`kota wifi get`, password never shown) and removes it (`kota wifi clear`, back to Matter).
- The password is sent hex-encoded, never written to the session log or the service report.
- Diagnosis: restarts `usb_wifi_set` / `usb_wifi_clear` are intentional (no "unexpected restart"); box
self-report shows the stored Wi-Fi network; `cmd health` replies update the health line.
- firmware/: `merged-binary-v13.bin` (usb_console, build 3ae273ec) replaces `merged-binary.bin` (build 4f10989e,
still in git tag v0.9). Note: v13 reports the same version 1.0.16 and compile date as the previous build;
the firmware team should bump the version for the next build.
- error_ids.csv updated from the firmware (E-CON-01).
- Test that builds the main window (catches start-up errors).
- New check **Sensor data in the database (InfluxDB)** (Guided troubleshooting; also the last step of the
Quick check on the green path): queries InfluxDB online (read-only) for the box's newest points and tells
apart "sensor data arrives", "status arrives but sensor data does not", "offline now" and "never seen".
Polls every 30 s for up to 4 minutes. With a stopped RTC in the log it concludes that the sensor readings
are lost (they are stamped 1 Jan 2000) - found on box A4:CB:8F:C9:47:3C, which reported only
device_status and microphone. The result and the per-measurement times go into the report and the
service note.
- Settings > **InfluxDB access...**: address, organisation, bucket and a read token (or the
`KOTA_INFLUX_TOKEN` environment variable). Defaults: influx.kota-app.com, org `kota`, bucket `sensorbox`.
The token is never written to the session log or the service report.
- macOS: Connect no longer restarts the box (pyserial dropped DTR before RTS, passing through the
USB-Serial-JTAG reset state). Windows unchanged.
- **Serial monitor redesigned.** One green **Test box** button: restarts the box, records the start-up and
then checks InfluxDB online (data must be newer than the restart), about 4 minutes. A status strip shows
what the test is doing and its result. The test checklist (start-up steps + the new row
"Sensor data in InfluxDB (online check)") and the findings are the main view; the live log, guided
troubleshooting and box details (LED, firmware, self-report) are tabs on the right. Rarely used actions
moved to **More**.
- Light colour scheme on every system: with macOS dark mode the status colours were unreadable.
Larger log font on macOS.
- New finding **Box sends an invalid value (-inf/nan) - InfluxDB rejects all its data**: a silent microphone
makes the firmware upload `dbfs=-inf,db=-inf`; InfluxDB then refuses the whole upload (HTTP 400), so neither
the status nor the sensor data arrive (box A4:CB:8F:C9:47:3C). The InfluxDB check names it as the cause.
- The serial port is opened exclusively on macOS/Linux: a second tool window no longer steals half of the
log lines; it reports that the port is in use.
- Start-up step "Data uploaded to InfluxDB" renamed "Upload accepted by InfluxDB (box log)" - it comes
from the box's own log, the online row checks the database.