# ESP32-PoE CivicNode Monitor

Open-source environmental telemetry for an Olimex ESP32-POE-ISO. It exposes read-only JSON for temperature, humidity, pressure, leak and door state. It does **not** switch server mains power.

1. Copy `include/config.example.h` to `include/config.h`.
2. Replace the token.
3. Wire a BME280 to the non-WROVER board's UEXT I²C pins (GPIO13/GPIO16), or remap pins after checking the exact schematic.
4. Connect dry-contact sensors with explicit resistors: use an external 10 kΩ pull-up on GPIO36 for the leak loop and an external 10 kΩ pull-down on GPIO35 for the door loop. GPIO35/36 are input-only and have no internal pull resistors.
5. Build with PlatformIO.
6. Keep `/status.json` on a management VLAN; send `X-Monitor-Token`. The example is plain HTTP and must not be exposed to the public internet.

The ESP32-POE-ISO output budget is limited. Do not power fans, drives or relays from the board. Use galvanically appropriate sensors and follow the official user manual.
