BETA — built and unit-tested, switched off until proven on a real OPNsense firewall. One API key on a dedicated user gives SmartTile health, CARP, interfaces, tunnels, the rule base with a change history, config.xml backups, update advisories and the audit log — read-only.
/api/<module>/<controller>/<command>) on the web GUI's HTTPS port, signed in with an API key + secret (HTTP Basic).A ping check says an OPNsense box is up and nothing else. Its REST API knows whether CARP failed over, a tunnel dropped, an update is waiting or a rule changed. SmartTile only reads it: every call is on a fixed allow-list in its client, so even a broad key never changes, updates or reboots anything. Beta: every switch ships off.
Uptime, memory, disk, temperatures, system notices, the running version and any available update — in the device's OPNsense window.
CARP VIP state, demotion and maintenance mode; interfaces with state, addresses and counters; IPsec phase 1 + 2 and OpenVPN sessions.
Hourly: API-made rules and classic GUI rules from config.xml. Each rule added, removed, changed or moved is logged; the first read is the baseline.
config.xml over the API, with passwords, keys, PSKs and API secrets masked before it is hashed or stored; saved and diffed only on change.
An advisory for an update on the running series, else the next major release the firewall offers. SmartTile never installs; it verifies afterwards.
AccessAutomate reads the audit log: web GUI sign-ins, failed sign-ins and configuration changes, with user and source IP.
IPsec phase-1 tunnels are listed. A tunnel a person watches is read live: connected = up, not connected = down, unreadable = unknown — never a false down.
“An OPNsense firewall reports a problem” fires once when a problem opens — tunnel or interface down, CARP demoted, memory / disk 90%+, reboot pending, newer release.
smarttile-api, with only the privileges in the table.admins.apikey.txt downloads once (key= and secret= lines).157.245.117.9 to the web GUI port (System → Settings → Administration; default 443).apikey.txt, Test (it names any missing privilege), Save. Delete the key and access ends.| Privilege | Unlocks in SmartTile |
|---|---|
| Lobby: Dashboard · Status: Interfaces | Needed: identity, health, interfaces. |
| Diagnostics: Netstat · Interfaces: Virtual IPs: Status | Counters; CARP. |
| Status: IPsec · Status: OpenVPN · System: Status | Tunnels, OpenVPN, notices. |
| System: Firmware | Updates (it could install — SmartTile never calls that). |
| Diagnostics: Configuration History · Firewall: Rules [new] · Diagnostics: Logs: System | Backups + GUI rules; API rules; audit log. |
/api/diagnostics/system/system_{information,time,resources,disk,temperature}identity + health (Test uses information)/api/core/system/statussystem notices/api/core/firmware/statusversion, available updates (last check)/api/core/firmware/statusask the firewall to CHECK for updates — separate switch, installs nothing/api/interfaces/overview/interfaces_infointerfaces, addresses, MAC/api/diagnostics/interface/get_interface_statistics · get_vip_statuscounters; CARP/api/ipsec/sessions/search_phase1 · search_phase2IPsec tunnels/api/openvpn/service/search_sessionsOpenVPN sessions/api/core/backup/download/thisconfig.xml (backups, GUI rules)/api/firewall/filter/search_rulesearch (read) of API-made rules/api/diagnostics/log/core/auditaudit log search (AccessAutomate)Every request is checked against the allow-list above before a connection opens; anything else is refused. The two read POSTs are searches and an update check.
Key and secret are sealed with AES-256-GCM, bound to the device row, and sent only in the Authorization header. The platform returns only “key set”; the audit row names what changed, never a value.
OPNsense's self-signed certificate is trusted by the SHA-256 fingerprint seen at Test; a different certificate is refused before the key is sent. Or turn on CA verification.
Platform, feature, company and device switches all default off. A company admin switches on for their own company after a preview of what will be read; every route checks the caller's company.
| Area | Today (beta) | Not yet |
|---|---|---|
| Proof | Unit-tested against OPNsense's documented API and source. | Proven on a real firewall; then the platform switch goes on. |
| Up / down | Stays with SmartTile's ping check. | The API poll never marks a firewall down or opens an outage ticket. |
| Identity | Version, hostname, WAN MAC. | Model and serial — not in OPNsense's API. |
| Updates | Advisories; ITSM tickets only if the company's FirmwareAutomate ticketing is on. | Installing — never; an engineer updates in the window. |
| Objection | Answer |
|---|---|
| “OPNsense has no read-only role.” | True — so SmartTile's client enforces it. Grant only the pages in the table; the key is still only used for the listed reads. |
| “Will it flood our IT Service Management (ITSM) system?” | Nothing tickets by itself. Workflow events and firmware ticketing are separate switches, off by default, and a Workflow fires once per problem. |
| “We renew our certificate with ACME.” | Press Test after the renewal and accept the new fingerprint, or switch on CA verification. |