Custom Home Assistant integration that exposes a remote entity for Kaleidescape Strato players with a more permissive command model than the built-in integration.
The built-in integration is limited to a narrower command set on the remote entity. This custom integration allows:
- direct pass-through of protocol commands
- command aliases for common Home Assistant remote commands
- easy extension of supported commands in code
- Config Flow setup (UI)
- TCP connectivity to a Strato player
remoteentity withsend_command- Playback and diagnostic sensors, including media/playback state, video output, masking, and UI/system telemetry
- permissive command handling (unknown commands are sent as-is)
- bundled Kaleidescape brand images for Home Assistant UI integration branding
- Copy
custom_components/kaleidescape_stratointo your Home Assistant configcustom_componentsdirectory. - Restart Home Assistant.
- Go to Settings → Devices & Services → Add Integration.
- Search for Kaleidescape Strato.
- Enter host/port for your player.
- In Home Assistant, open HACS → Integrations.
- Select the menu and choose Custom repositories.
- Add this repository URL and category Integration.
- Find Kaleidescape Strato in HACS and install it.
- Restart Home Assistant and add the integration from Settings → Devices & Services.
You can call Home Assistant service remote.send_command against this entity.
Example (pass-through raw protocol command):
service: remote.send_command
target:
entity_id: remote.kaleidescape_strato
metadata: {}
data:
command: "PLAY"Example (Home Assistant-style alias):
service: remote.send_command
target:
entity_id: remote.kaleidescape_strato
metadata: {}
data:
command: "up"up maps to UP, while unknown values are sent unchanged.
media_location: Where playback is in the title (for examplecontent,credits,disc_menu).play_status: Current transport mode (for exampleplaying,paused,forward,reverse).play_speed: Current transport speed value reported by the player.
title_location: Current position within the title.title_length: Total title length.chapter_location: Current position within the chapter.chapter_length: Total chapter length.
video_mode: Current output video mode/resolution profile.video_color_eotf: Active transfer function (for example SDR/HDR).video_color_space: Active color space.video_color_depth: Active color depth.video_color_sampling: Active chroma sampling mode.
screen_mask_ratio: Reported content aspect ratio for masking.screen_mask_top_trim_rel: Top trim percentage.screen_mask_bottom_trim_rel: Bottom trim percentage.screen_mask_conservative_ratio: Conservative mask ratio recommendation.screen_mask_top_mask_abs: Absolute top mask percentage.screen_mask_bottom_mask_abs: Absolute bottom mask percentage.cinemascape_mode: Current Cinemascape mode.cinemascape_mask: Current Cinemascape mask value.
system_readiness_state: Player readiness state.power_state: Reported power state.ui_screen: Current on-screen UI screen.ui_popup: Current popup state.ui_dialog: Current dialog state.
Entity IDs use your configured device name slug. If your integration name is
Kaleidescape Strato, examples include:
sensor.kaleidescape_strato_media_locationsensor.kaleidescape_strato_play_statussensor.kaleidescape_strato_play_speedsensor.kaleidescape_strato_title_locationsensor.kaleidescape_strato_title_lengthsensor.kaleidescape_strato_chapter_locationsensor.kaleidescape_strato_chapter_lengthsensor.kaleidescape_strato_video_modesensor.kaleidescape_strato_video_color_eotfsensor.kaleidescape_strato_video_color_spacesensor.kaleidescape_strato_video_color_depthsensor.kaleidescape_strato_video_color_samplingsensor.kaleidescape_strato_screen_mask_ratiosensor.kaleidescape_strato_screen_mask_top_trim_relsensor.kaleidescape_strato_screen_mask_bottom_trim_relsensor.kaleidescape_strato_screen_mask_conservative_ratiosensor.kaleidescape_strato_screen_mask_top_mask_abssensor.kaleidescape_strato_screen_mask_bottom_mask_abssensor.kaleidescape_strato_cinemascape_modesensor.kaleidescape_strato_cinemascape_masksensor.kaleidescape_strato_system_readiness_statesensor.kaleidescape_strato_power_statesensor.kaleidescape_strato_ui_screensensor.kaleidescape_strato_ui_popupsensor.kaleidescape_strato_ui_dialog
type: entities
title: Kaleidescape Strato
show_header_toggle: false
entities:
- entity: remote.kaleidescape_strato
name: Remote
- entity: sensor.kaleidescape_strato_play_status
name: Play status
- entity: sensor.kaleidescape_strato_play_speed
name: Play speed
- entity: sensor.kaleidescape_strato_media_location
name: Media location
- entity: sensor.kaleidescape_strato_video_mode
name: Video mode
- entity: sensor.kaleidescape_strato_power_state
name: Power state- Confirm protocol-level command names and behavior with the Kaleidescape protocol reference.
- Network access from Home Assistant to the Strato host/port is required.
- Local brand assets are included under
custom_components/kaleidescape_strato/brandand are used automatically by Home Assistant 2026.3+.
- See RELEASING.md for annotated tag conventions and commands.
hacs.jsonis present at repository root.- Integration is under
custom_components/kaleidescape_strato. manifest.jsonincludes versioning and integration metadata.- GitHub Releases are triggered by
v*tags via workflow automation.