Skip to content
Innomesh Docs
Portal Since v3.6.1

Property-Based Automation Policies

Property-based policies compare the live state of each device against the state you want it in, then act only on the devices that have drifted. Use them for compliance and configuration management: a projector on outdated firmware, a display left on the wrong input, a touch panel with TLS below your minimum, or a device running hotter than it should. A policy can raise a Hotlist alert, run remediation actions, or both. Policies also cover devices that arrive later, so a new device matching the policy is provisioned into the approved configuration the first time it appears. See Provisioning New Devices.

📌 Since
Property-based policies are available from v3.6.1.

How Innomesh Knows a Device’s State

Innomesh already collects device state for monitoring. Property-based policies read from that same collected state, so no extra polling is added to your devices.

  • State is refreshed every 15 minutes for every asset in the platform.
  • Properties come from whichever monitoring tiers cover the room: Pulse, Sight, Space CE, and Space VC. See Platform Tiers.
  • Which properties exist for a given device depends on the driver mapped to its asset profile. A Panasonic projector exposes lamp hours and video input; a touch panel exposes TLS version and web page URL.
  • Some properties are reported per instance, such as Video Input on each output of a matrix switcher. Innomesh keeps one value per output.

Because state is up to 15 minutes old, property-based policies suit values that change slowly: firmware versions, configuration flags, selected inputs, security settings.

📝 Note
Readings are up to 15 minutes old, so a fast-moving value such as temperature or CPU can change before an action runs. Alerting on one is unaffected, because the alert clears itself once the device settles.

Prerequisites

  • A role with Innomesh Portal administration access.
  • An asset profile for the devices you want to target, with a mapped driver. Property-based policies read the property list from the driver, so a profile with no driver mapping offers no properties to choose from. See Asset Profiles.
  • A clear statement of the compliant state, expressed as one or more conditions. Write the condition so it is true when the device is wrong, because that is what triggers the policy.

Creating the Policy

  1. Navigate to Administration > Automation > Policies.
  2. Click Create New, then set Policy Type to Property-based.
  3. Enter a descriptive Name, such as “TSS-1070 Configuration Enforcement”.
  4. Select the target Asset.
  5. Optionally add Filters to restrict the policy to specific rooms, zones, sites, or user groups. See Targeting Assets with Filters.
  6. Add at least one Condition. See Adding a Condition below. A policy with no conditions cannot be saved.
  7. Under Automations, add any remediation actions to run on non-compliant devices. Actions are optional when the policy raises alerts.
  8. Set the Action Trigger Time:
    • ASAP schedules remediation at the start of the next minute after the policy detects the breach.
    • Maintenance Window defers remediation to a defined window, which is usually the right choice for anything disruptive such as a reboot or a firmware update.
  9. Set Alerts to a severity if you want a Hotlist alert raised for each breach, and optionally enter an Alert Message. See Raising Hotlist Alerts.
  10. Optionally add Comments.
  11. Click Apply.
Property-based policy form for a Crestron TSS-1070 panel with scrollable conditions and actions lists
A configuration enforcement policy. The conditions describe settings that have drifted and the actions put them back, though the two lists do not pair up one for one. With Alerts set to None, the Alert Message field is disabled.
❗ Important
A policy must have something to do. At least one action or a non-None alert severity is required. Custom is not offered as a trigger time for property-based policies, because the policy fires on a condition rather than at a clock time.

Adding a Condition

Each condition names a device property, an operator, and a value. Click Add Condition and complete three fields.

Add Condition dialog with the property dropdown open, showing a search box and properties each tagged Sight or Space CE
Each property is tagged with the monitoring tiers that can supply it, so you can tell before saving whether your rooms will report the value

Property. A searchable list of every property available for the selected asset profile. Type in the search box to filter. Each property is tagged with the monitoring tiers that can supply it, so you can tell at a glance whether your rooms will report the value. See Appendix: Tier Availability Indicators.

Operator. The available operators depend on the property’s type. Text and true/false properties support equals and not-equals only; numeric properties add the four comparison operators. See Appendix: Operators by Property Type.

Value. The input adapts to the property:

Property typeValue input
True/falseA True / False selector
Text with a known set of valuesA searchable dropdown of those values
Text with no fixed setA free-text input, which also accepts a regex
Whole number or decimalA numeric input

Where the property has a unit, such as °C, %, or h, the unit is shown as a suffix on the value input.

Text values accept regex. For a free-text property, begin the value with ^ and end it with $ and Innomesh matches it as a regex instead of literal text, the same convention used by filters and alert-based conditions. This is the way to write one condition that tolerates variation, for example flagging any firmware outside an approved 4.x line with Firmware ≠ ^4\..*$. Alerts raised from a regex condition also resolve correctly, because the same pattern is re-checked when the device is revalidated. See Appendix: Regex Patterns.

Apply stays disabled until all three fields are set. Conditions can be duplicated, edited, and deleted using the controls that appear on each row of the list. Deleting a condition is not confirmed, so take care.

❗ Important
Conditions are combined with OR. If any one condition is true, the policy runs every action it defines, not just the action related to that condition. Requiring two conditions to be true at the same time is not supported.

For a property reported per instance, such as Video Input on a multi-output switcher, the condition is checked against every instance. Video Input ≠ HDMI1 applies to a switcher if any output is not on HDMI1. Conditions cannot yet be scoped to a specific output.

When the Policy Runs

Property-based policies are evaluated:

  • Hourly, at the top of each hour.
  • Immediately on save, whenever the policy is created or edited.

Each evaluation starts fresh. Innomesh clears the policy’s pending actions, re-checks every targeted asset against the current conditions, and schedules new actions for those that breach. A device that has since been fixed loses its queued action automatically, and no manual cleanup is needed.

📝 Note
Allow up to about 75 minutes between a device drifting and the policy reacting: up to 15 minutes for the state refresh, then up to an hour for the next evaluation. Saving the policy forces an immediate evaluation, which is the quickest way to test one.

Provisioning New Devices

Because every evaluation re-checks all targeted assets, a policy also covers devices that did not exist when it was written. The first time a device matching the policy’s asset profile and filters appears on the network and completes a state refresh, it is evaluated like any other asset. A factory-fresh device typically breaches the conditions describing your approved configuration, so the policy’s actions run and provision it into line with the baseline, with no per-device setup.

To use a policy for onboarding:

  • Write conditions that cover every setting a new device must hold. As always, each condition is written so it is true when the device is wrong.
  • Give the policy actions. An alert-only policy reports a new device’s state but does not provision it.
  • Choose the Action Trigger Time to match how disruptive provisioning is: ASAP configures the device as soon as it is detected, while a Maintenance Window defers noisy steps such as a firmware update.

The detection latency is the same as for drift: allow up to about 75 minutes from the device first reporting state to its provisioning actions being scheduled.

Raising Hotlist Alerts

Set Alerts to a severity and the policy raises a Hotlist alert for every breached condition, in addition to any actions it runs.

Policy form with Alerts set to High Severity and an Alert Message reading Security compliance
A security compliance policy that both remediates and alerts: each breached condition raises a High severity alert prefixed with the Alert Message
FieldBehaviour
AlertsNone (the default) raises no alerts. Notice Severity, Low Severity, Medium Severity, and High Severity each raise alerts at that level. Critical is reserved for emergency-class alerts from other sources and is not offered here.
Alert MessageOptional text prepended to the alert’s description, for example “Security compliance issue”. Disabled while Alerts is set to None.

Setting a severity without any actions creates an alert-only policy. This is the right shape for compliance reporting where you want visibility of non-compliant devices but do not want Innomesh changing them. Alert severity can also be raised or suppressed centrally by severity rules. See Alert Settings.

How Compliance Alerts Appear

Policy-generated alerts sit in the Hotlist alongside alerts from every other source, in the unified alert list sorted by severity. There is no separate section to check.

Hotlist filtered to Policy Compliance, showing two High alerts and one Low alert on the same DSP
The Hotlist with policy typed into the Category column's filter box, which is why that column header shows the filter text rather than its name. The two High alerts come from one policy, because each breached condition raises its own alert. The Low alert comes from a second policy whose Alert Message is blank, so its description carries no prefix.
  • The Category column reads Policy Compliance for every policy-generated alert, so filtering the Hotlist by category isolates them.
  • The Description is composed from your Alert Message and the breached condition, written out in plain language. See Appendix: Alert Description Format.
  • Alerts participate fully in the existing claim, acknowledge, owner, and notes workflows, and appear in alert history and Insights like any other alert.
  • A property reported per instance raises one alert per breached instance. A four-output switcher with all four outputs wrong raises four alerts.

How Compliance Alerts Are Resolved

Alerts close themselves. You do not need to tidy up after a policy change.

  • When the device comes into line, the alert auto-resolves within a few minutes and moves to the Resolved tab. Resolution runs on its own faster cycle, so an alert clears sooner than a new breach is detected.
  • When you edit the policy’s threshold, severity, or Alert Message, the existing alert updates in place. Its owner, claim state, notes, and link stay intact.
  • When you delete or disable the policy, set its severity to None, remove the breached condition, or exclude the device with a filter, the alerts it raised are resolved within seconds.
  • When you swap a condition to a different property, the old alert is resolved and a fresh one is raised for the new property on the next evaluation.

A daily sweep catches the rare stragglers, such as an alert left behind after an asset profile correction. For the full set of resolution paths and their timings, see Appendix: Alert Resolution Paths.

📝 Note
Every alert creation, severity change, and resolution fires a notification through your configured channels. A broad new policy across a large fleet can produce a lot of notification traffic on its first evaluation. Review your notification setup before enabling one.

Verification

  1. Save the policy, which forces an immediate evaluation.
  2. If the policy raises alerts, open the Hotlist, filter the Category column to Policy Compliance, and confirm the expected devices are listed with the description you expect.
  3. If the policy runs actions, navigate to Assets > Actions and confirm the Schedule tab lists a row per non-compliant asset with your policy name in the Origin column.
  4. Check the count against reality. If a policy you expected to catch a handful of devices catches the whole fleet, the condition is probably inverted. Conditions describe the non-compliant state.
  5. After the trigger time passes, open the History tab to confirm remediation actions completed, then confirm the alerts resolved.
💡 Tip
Test a new policy with a narrow room or zone filter first. Confirm it catches the devices you expect, then widen the filter.

Troubleshooting

SymptomLikely cause
The property dropdown is emptyThe asset profile has no mapped driver. Property lists come from the driver. See Asset Profiles.
The property you need is not listedThe driver mapped to that profile does not report it, or it is only reported by a tier that is not deployed in your rooms. Check the tier indicators next to related properties.
The policy matches nothing at allThe condition may be describing the compliant state rather than the non-compliant one. Also confirm the property is actually being collected: a property with no reported value never matches a condition.
The policy matched nothing right after rolloutAssets are only comparable once the 15-minute state refresh has run for them. Wait for a refresh cycle and re-save the policy.
A text condition does not match a value you can see on the deviceExact comparison ignores letter case but not spacing or punctuation. Tiers sometimes spell the same input differently, such as Computer 1 against computer1. Either check the exact reported value, or write the condition as a regex that tolerates both. Regex matching is case-sensitive, so the pattern has to allow for both spellings: ^[Cc]omputer\s?1$.
The policy caught a device you thought was compliantFor a per-instance property, the condition matches if any instance breaches it. One wrong output on a switcher is enough.
Alerts arrive but nothing is remediatedThe policy has a severity set and no actions, which is a valid alert-only policy. Add actions if you want remediation as well.
Actions are scheduled every hour and appear to repeatTwo policies with different trigger times are setting the same action with conflicting parameters, each undoing the other. Delete or reconcile one of them.
Values look out of dateState is refreshed every 15 minutes, and the evaluator trusts the last known value. Persistent staleness across many assets is a platform issue worth raising with Innomate support.

Appendix: Operators by Property Type

OperatorTrue/falseTextWhole numberDecimal
= (is equal to)YesYesYesYes
(is not equal to)YesYesYesYes
> (is greater than)NoNoYesYes
< (is less than)NoNoYesYes
(is greater than or equal to)NoNoYesYes
(is less than or equal to)NoNoYesYes

Text comparisons ignore letter case, so HDMI1 and hdmi1 are treated as the same value. They do not ignore spacing or punctuation. A value anchored with ^ and $ is treated as a regex instead of an exact match, and regex matching is case-sensitive.

The form only offers the operators a property’s type supports, so the comparison operators are simply absent when you pick a text or true/false property.

A device that reports no value at all for a property never matches a condition on it, so a policy will silently skip devices whose driver does not supply the property.

Appendix: Tier Availability Indicators

Each property in the dropdown carries one or more coloured tags naming the monitoring tiers that can supply it, such as Sight in orange or Space CE in lilac. They tell you what a room needs to be running for the property to be reported, so there is no colour code to memorise.

Tier colours are consistent with the rest of the Portal:

TagTier
BluePulse
OrangeSight
LilacSpace CE
GreenSpace VC

Hover a property for the requirement in words:

TooltipMeaning
Room must be running Sight or Space CEThe property is reported by Sight, which also monitors control devices in Space CE rooms
Room must be running Space CEOnly Space CE reports the property
Room must be running at least PulsePulse reports the property, and the profile also has a higher-tier driver mapped
Requires Pulse monitoringOnly Pulse reports the property

Indicators are a guide to expected availability, not a guarantee for an individual device. You can select any property in the list. If none of the targeted rooms run a tier that reports it, the policy simply schedules nothing and raises no alerts.

Appendix: Alert Description Format

Alert descriptions are composed at the moment the alert is raised:

{Alert Message}: {Property Name} [(instance)] {operator} {value}

The Alert Message and its trailing colon are omitted when the field is left blank. The instance is included only for properties reported per instance. The operator is written out in words for readability.

OperatorIn the alert descriptionOn the policy form
Equalsis=
Not equalsis not
Greater thanis greater than>
Greater than or equal tois greater than or equal to
Less thanis less than<
Less than or equal tois less than or equal to

Worked examples:

ConditionAlert MessageResulting description
TLS Version < 1.2Security compliance issueSecurity compliance issue: TLS Version is less than 1.2
Firmware ≠ 2.5(blank)Firmware is not 2.5
Video Input ≠ HDMI1, output 2 breachingWrong inputWrong input: Video Input (output 2) is not HDMI1
Temperature > 45(blank)Temperature is greater than 45
📝 Note
An alert’s creation time is the moment the alert was raised, not the moment the device first drifted. A projector that has been overheating for six hours before you enable a temperature policy produces an alert timestamped now.

Appendix: Alert Resolution Paths

TriggerLatencyNotes
The device becomes compliantWithin a few minutesInnomesh revalidates active alerts on their own short cycle, independently of the policy evaluation cycle
Policy deletedSecondsAll alerts raised by the policy are resolved
Policy disabled, or severity set to NoneSecondsAs above
Condition removed from the policySecondsOnly alerts for the removed condition are resolved
Filter edited to exclude a deviceSecondsOnly that device’s alerts are resolved
Condition changed to a different propertySeconds, then next evaluationThe old alert resolves and a new one is raised for the new property
Asset moved to a Parking Lot zone, or deleted in Room ManagerUp to an hourHandled by the platform’s standard alert sweep
Asset profile changed on a device that is still non-compliantUp to 24 hoursCaught by the daily compliance sweep, which runs at 03:00 tenant time

Resolved alerts move to the Hotlist Resolved tab. Where a tenant has ServiceNow auto-resolution enabled, the linked ticket is closed with a note recording which path resolved it.

Appendix: Dynamic Condition Values

A condition value can reference a field on the asset being evaluated, using the same {% %} placeholder syntax as dynamic action values. Innomesh resolves the placeholder per asset before comparing.

The motivating case is verifying that every touch panel points at its own room. A single condition covers the whole fleet:

Web Page URL ≠ https://ui.example.innomesh.io?roomId={% asset.room_id %}

Evaluated against a panel in room room-201, the value resolves to https://ui.example.innomesh.io?roomId=room-201, and the condition is true only if the panel is pointed somewhere else.

📝 Note
Placeholders are resolved on text-valued conditions only. Numeric and true/false values are compared literally. The policy form does not mark placeholder values differently from literal ones, so a value containing {% %} looks like ordinary text on screen.