Sentinel Documentation

Installation and Capabilities

Deployment model, host-family differences, XML profile guidance and installation workflow for Sentinel Savant Rubi Bridge.

Deployment Guide ProHosts + SmartHosts

Capability Summary

  • Secure app-facing bridge API over HTTPS.
  • Stateful ACL-aware user and session handling.
  • Live state discovery with rotating readstate harvest.
  • Batched state polling tuned for larger homes.
  • Runtime diagnostics exposed to StateCenter.
  • Terminal tool endpoints for app-initiated host diagnostics.
  • Guard-railed reboot endpoint requiring explicit confirmations.
  • Doorbell audio management endpoints with WAV compatibility validation.
  • Dual-host filesystem compatibility via separate scripts and XML profiles.

Bundle Inventory

  • Bridge runtime: savant_network_sentinel_clean_rubi_bridge_v4_0_pro.rb
  • Profiles: Panix_Sentinel Pro Pro Host.xml, Panix_Sentinel Pro Smart Host.xml
  • Icons: Panix_Sentinel Pro Pro Host.icns, Panix_Sentinel Pro Smart Host.icns
  • Install scripts: install_sentinel_dependencies_ProHosts.sh, install_sentinel_dependencies_SmartHosts.sh
  • Update scripts: update_sentinel_bridge_ProHosts.sh, update_sentinel_bridge_SmartHosts.sh
  • Script internals: first-install and update scripts for each host family in scripts/

XML Profile Identity

SmartHost profile

  • Filename: Panix_Sentinel Pro Smart Host.xml
  • Manufacturer: Panix
  • Model: Sentinel Pro Smart Host
  • Alias: SmartHost Sentinel Rubi Bridge v.3.0

ProHost profile

  • Filename: Panix_Sentinel Pro Pro Host.xml
  • Manufacturer: Panix
  • Model: Sentinel Pro Pro Host
  • Alias: ProHost Sentinel Rubi Bridge v.3.0

Script Differences: ProHosts vs SmartHosts

ProHosts scripts

Use on modern SavantOS hosts. Sentinel runtime root:

/Users/Shared/Savant/Library/Application Support/RacePointMedia/Sentinel

First-install script behavior:

  • Installs benumc/rubi.sh and bridge companion files.
  • Creates or repairs compatibility symlinks for RacePointMedia paths.
  • Avoids replacing non-empty real directories.

SmartHosts scripts

Use on older GNUstep/RPM-layout hosts. Sentinel runtime root:

/home/RPM/GNUstep/Sentinel

First-install script behavior:

  • Installs benumc/rubi.sh and bridge companion files.
  • Does not manage ProHost compatibility symlinks.

Update scripts

Host-family-specific updates refresh bridge/runtime files only. They do not reset user stores by default and do not alter host family root paths.

XML Differences: ProHost vs SmartHost

Both profiles share the command model and dynamic status bindings but differ in default states:

  • local_script_path
  • tls_cert_file
  • tls_key_file
  • log_directory
  • users_file

ProHost paths target /Users/Shared/Savant/Library/Application Support/..., while SmartHost targets /home/RPM/GNUstep/Sentinel/....

Both default to script_file = savant_network_sentinel_clean_rubi_bridge_v4_0_pro.rb and harvest_max_states = 7000.

Installation Guidance

GitHub curl-first installer commands

Repository: https://github.com/PanixP/Sentinel-Pro (branch: main)

First-time ProHosts install

curl -fsSL https://raw.githubusercontent.com/PanixP/Sentinel-Pro/main/install_sentinel_dependencies_ProHosts.sh | bash

First-time SmartHosts install

curl -fsSL https://raw.githubusercontent.com/PanixP/Sentinel-Pro/main/install_sentinel_dependencies_SmartHosts.sh | bash

Bridge update ProHosts

curl -fsSL https://raw.githubusercontent.com/PanixP/Sentinel-Pro/main/update_sentinel_bridge_ProHosts.sh | bash

Bridge update SmartHosts

curl -fsSL https://raw.githubusercontent.com/PanixP/Sentinel-Pro/main/update_sentinel_bridge_SmartHosts.sh | bash

Step-by-step deployment

  1. Select host family: ProHosts for modern shared-user, SmartHosts for older GNUstep/RPM.
  2. Run first-time dependency install script for the selected host family.
  3. Import matching XML in Blueprint.
  4. Confirm key XML states (local_script_path, script_file, harvest_max_states).
  5. Use update scripts for normal bridge refreshes.

Schema Compliance and Filename Checks

  • XML filenames follow schema-safe Panix naming conventions.
  • Profile metadata is set explicitly in component attributes.

Validate profile XML files with:

./scripts/validate_xml.sh

This validation checks both profile files against docs/racepoint_component_profile.xsd.

Operational Notes

  • Avoid mixing host-family scripts and XML files.
  • Keep profile and script host family aligned to avoid path regressions.
  • Use first-install scripts for initial deployment or full environment repair.
  • Use update scripts for normal bridge version refreshes.
  • Doorbell audio troubleshooting is documented in the dedicated workflow page.

Homeowner-centric access controls

  • Homeowner can permanently revoke installer/integrator access.
  • Homeowner can temporarily disable and later re-enable integrator access.
  • Temporary disable closes active integrator sessions immediately.
  • Permanent revoke still requires a new Blueprint config revision/reset flow.