Skip to main content

Change History

Change History lists configuration changes people have made in the admin pages, with the record as it was before and after each one. Any change can be undone from this page, including deletes.

Open Change History

What is recorded​

A change is recorded whenever someone signed in to the admin saves through the standard editors:

  • Edits, creates and deletes of any configuration record (zones, devices, macros and their steps, triggers, schedules, UIs, users, and so on)
  • Attribute changes made in the Attributes editor, including the bulk set, bulk flag and bulk delete actions on the Attributes page. A bulk action is recorded as one group, so Group undoes the whole action at once
  • Enable / disable toggles
  • Drag-and-drop reordering

The system's own writes are not recorded: a driver updating a device's state, a macro stamping its last run time, sync from an auth server. The AI assistant keeps its own undo in the assistant drawer, so its changes don't appear here either.

Each entry records when the change was made, who made it and from which address, the table and record, and the fields that changed.

Passwords and other secrets​

Secure attribute values (passwords, API keys, PINs) and user credential fields are stored encrypted with the site's encryption key. They show as hidden on this page and are never sent to the browser. Undo can still restore them.

Large fields​

A field larger than 256 KB (such as an embedded image in a theme asset) is not copied into the history. A change that needs that field to be reversed is reported as not undoable.

From the editors​

You don't have to leave an editor to see or undo its changes:

  • History button on grid rows. The main admin lists (devices, zones, macros, triggers, schedules, UIs, users, roles, subsystems, site modes, AV zones, alarms, access control, variables and others) have a history icon among each row's actions. It opens that record's changes in a window, with undo, and refreshes the list after an undo.
  • Changes tab. The device and zone editors have a Changes tab next to History. It shows the same record history, and after an undo it reloads the open form. If the undo removed the record itself, the editor closes.

A record's history covers more than its own row:

RecordAlso shows changes to
Zone, device, site, space, subsystem, UI, variable, remote, userIts attributes
MacroIts steps
UIIts zones, macros, controls and site modes
Command setIts commands
UI pageIts widgets

Open in Change History at the bottom of a record's history opens the full page filtered to that record.

The list​

ColumnDescription
WhenTime the change was saved
UserThe signed-in user who made it
Changeinsert, update, delete, or undo for a change written by an undo
TableThe table the record lives in
RecordThe record's name and id — click to open the details
FieldsFor an update, the fields that changed

Use the search box (name, record id or table) and the Table, Record id and User filters to narrow the list. Press Enter or Search to apply them. Undone changes are hidden unless Show undone is ticked.

You can link straight to one record's history with /admin/change_history?model=zone&record_id=12.

Groups​

Changes saved by one browser within about two seconds of each other form a group. That is usually one action. For example, deleting a macro first deletes its steps and then the macro itself. Grouped rows are joined by a blue bar on the left. The first row of a group has a Group (n) button that undoes every change in it, newest first.

Details​

Click a record to open its details under the row: each changed field side by side, before and after. For a create or delete, every field of the record is shown. History of this record filters the list to every change made to the same record.

Undoing a change​

Undo puts the record back the way it was before the change:

ChangeWhat undo does
UpdateWrites the previous values of the changed fields back
InsertDeletes the record that was created
DeleteRe-creates the record with its original id. For a zone, device, site, space, subsystem, UI, variable, remote or user, the attributes deleted along with it are restored as well

An undo is itself recorded as a new undo entry, so it can be undone too ("redo").

Undo saves through the same path as the admin editors, so it behaves like an ordinary save. Where an edit would normally need a reload (devices, zones, macros and so on), the pending changes bar offers the reload as usual.

When the record has changed since​

Undo checks that the record still looks the way the change left it. If someone, or the system, has changed those fields since, the undo stops and lists each field with the value it expected and the value it found. Undo anyway writes the old values over the newer ones.

A group is checked as a whole before anything is written. A conflict in any of its changes stops the entire group.

Some changes cannot be undone:

  • A delete whose record id has been taken by a new record
  • A change whose earlier value was too large to keep, or was sealed under an encryption key the site no longer has
  • Changes to tables managed by an auth server (on a synced site)

Retention​

Change History is kept for 90 days by default. Set the window on the Data Retention page. It is pruned with the other history tables in the nightly maintenance.

Permissions​

Viewing and undoing changes is limited to admin (elevated) sessions. The history itself is read-only: no editor or API can change or delete an entry, except retention pruning.