Event shows category 'other'
Event shows category ‘other’
Symptom
An event in your Events feed has event_category: other. You expected something specific — motion, intrusion, line crossing, tamper — but the system labelled it ‘other’ instead.
Likely causes
NovaVMS subscribes to every ONVIF topic the camera advertises, then classifies each event into one of ten stable categories. The classifier knows the common topics across major vendors (Hikvision, Dahua, Tapo, Vivotek, Axis, Bosch). When a topic isn’t in that list yet, it lands in other. The gateway stores a namespace-stripped Normalized topic in trigger_topic and preserves the camera’s verbatim value separately in raw_topic, so nothing is dropped. See Universal ONVIF event taxonomy for the full design.
Two common reasons a topic ends up in other:
- Genuinely-novel ONVIF topic. A new vendor, new firmware feature, or a camera that ships a proprietary detector outside the common ONVIF Profile T topic tree.
- Vendor-quirk topic that should map to a known category but doesn’t yet. For example, a normalized topic like
RuleEngine/CustomDetector/SomeNewDetectorthat semantically means line-crossing but uses a vendor-specific name we haven’t added to the classifier.
Fix
If you are an operator or admin authoring alert rules
The event isn’t lost — you can author an alert rule that matches the displayed Normalized topic directly:
- Open Alerts → Rules, click New (legacy), and confirm the browser is at
/alerts/rules/new. This is the current editor that exposestrigger_topic_patterndirectly. - Pick rule_kind: camera_event.
- Leave event_category blank (so it matches any category, including
other). - Set trigger_topic_pattern to a SQL LIKE pattern that matches the topic. Examples:
%CustomDetector%— match any topic containing that substring.RuleEngine/SomeNewDetector%— match a specific prefix.%/Crossed— match any topic ending in/Crossed.
- Keep Schedule set to Always. Legacy Business hours rules are stored but skipped by the live evaluator.
- Pick the camera or site scope, the recipients, and the cooldown. Save.
See Alert rule schema for the full pattern syntax.
If you are a developer or Novalien staff
Add the topic to the classifier so every future event of this type lands in the correct category:
- Open
gateway/internal/onvif/event_state.go. - Add one entry to the
topicRegistryslice mapping the normalized topic string to the rightevent_category. - Redeploy the affected gateways.
The category will then apply to new events. Old other rows in the database stay as other — there is no automatic backfill.
Verify
- Trigger the camera event again. Wait at least 30 seconds (the default per-topic clip cooldown).
- Open the Events page and find the new event.
- If you authored an alert rule, confirm the configured notification fired.
- If you updated the classifier, confirm the new event’s
event_categoryis the value you mapped to (notother). If it still showsother, restart the affected gateway agent so the new code is in effect.
If none of this worked
- Check that
trigger_topic_patternmatches the event’s displayed Normalized topic, not the namespace-prefixedraw_topicin Raw ONVIF payload. - Confirm the camera scope on the alert rule includes the camera firing the event.
- Confirm
enabled: trueon the rule and that the cooldown isn’t suppressing notifications.