Skip to main content

Kaleidescape smart home integration, free and open source

Kaleidescape integration for Gladys Assistant

Kaleidescape movie players on the local network: power, play, pause, stop, title, video format.

Control your Kaleidescape movie players (Strato, Compact Terra Prevue, Alto, Cinema One, M-Class) from Gladys, locally, without any cloud: power on, standby, play, pause, stop, remote keys, play status, title, chapter, movie location and video format.

Important. This integration was never tested with a real device: it was written from the pykaleidescape library (the one of Home Assistant) and tested against a fake player only. Your feedback is welcome. Unofficial integration, not affiliated with Kaleidescape.

Installation​

  1. Give the player a fixed IP address in your router (reserved DHCP lease).
  2. In Gladys, install the Kaleidescape integration, open its configuration and type the IP addresses of the players, separated by commas (for example 192.168.1.60; port 10000 by default, another one as 192.168.1.60:10001).
  3. The players appear in the Discovery tab: create them.

The control protocol has no password: nothing else to type. A server without a movie zone (Terra, 1U, 3U) is not offered.

What you get​

FeatureGladys typeNote
Powerbinary state (read only)1 on, 0 standby or not reachable
Power statustext (read only)On, Standby, Not reachable
Power onbuttonsent from standby only
Standbybuttonsent when on only; never blocked
Playbuttonsent when on only
Pause, Stopbuttonssent only when a movie plays; never blocked
Remote keydropdownarrows, OK, Back, menu, next / previous chapter…
Playingbinary state (read only)1 while playing (or scanning)
Play statustext (read only)Idle, Paused, Playing, Fast forward, Rewind
Titletext (read only)the title playing, "No title" when nothing plays
Chapternumber (read only)0 when nothing plays
Movie locationtext (read only)None, Content, Intermission, Credits, Disc menu
Video modetext (read only)for example 3840x2160p24 16:9
Dynamic rangetext (read only)SDR, HDR, HDR10 (PQ), Unknown

On purpose, no switch: an "everything off" or "everything on" of a voice assistant or a scene never reaches your player. Use the buttons in your scenes. Example: dim the lights when "Playing" turns 1, light them again when "Movie location" becomes "Credits".

Commands​

The state of the player (its serial number, power and play status) is read again just before every command. When another player answers at the address, nothing is sent and the address is forgotten; an unreadable serial number does not count as another player.

  • Power on is sent from standby only; Play and the remote keys only when the player is on (otherwise: refused, nothing sent). These commands go one at a time.
  • Standby, Pause and Stop are protective: they never wait in the queue, are never refused because the state could not be read (they are sent anyway), and they cancel the Power on, Play or remote key commands still waiting ("Cancelled by …, nothing sent").
  • A command is answered as done only when the state read afterwards is the one asked (power, playing, paused, stopped); a remote key, when the player accepts it. Otherwise: "Sent, without confirmation from the player". A command that could not leave says "nothing sent", a refusal of the player "refused by the player".

Every command is answered within 4 seconds (Gladys waits 5 seconds); it never leaves after its deadline.

Configuration button​

  • Check the players: tells the known state of each player and each typed address, with the age of the last read. It reads a player again only when its interval has passed.

Refresh, status and limits​

  • The state of each player is read every 15 seconds by default (10 to 300), in one short connection. Never more often: neither the reconnection to Gladys, nor a configuration save, nor the button, nor the creation of the device, nor a restart reads sooner (the time of the last read is kept in the data folder).
  • An address where no player is identified yet is read every minute at most.
  • A player that does not answer shows power 0 and "Not reachable", and is named in the status of the integration.
  • The title, chapter and video format are read at each refresh: a scene reacts with that delay (no real-time events yet).

Data and privacy​

The integration keeps in /data/kaleidescape.json the known players (serial number, address, port, model, name, number of movie zones) and the time of the last read of each address. Nothing of what you watch is written there. Nothing leaves your local network.

Known limits​

  • No real-time events yet (reads at each interval only).
  • No cover art, synopsis nor volume control (the player does not drive the volume).
  • A player with several zones is seen as one device (main zone).
  • Never tested with a real device: real answers may differ.

Configuration settings​

These are the settings Kaleidescape asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Your Kaleidescape players, on your local networksectionNoPower on, standby, play, pause, stop, remote keys, play status, title, chapter, movie location (credits, intermission) and video format of each Kaleidescape movie player (Strato, Compact Terra Prevue, Alto, Cinema One, M-Class), through the control protocol published by Kaleidescape (TCP port 10000), without any cloud. Give each player a fixed IP address in your router and type it below; the players then appear in the Discovery tab. Every command is a button, never a switch: an "everything off" never reaches a player. Never tested with a real device. Unofficial integration, not affiliated with Kaleidescape.
IP addresses of the playersstringNoSeparated by commas, for example 192.168.1.60, 192.168.1.61. Port 10000 by default (another one: 192.168.1.60:10001).
Refresh interval (s)numberNoHow often the state of each player is read, in seconds (10 to 300).

How to install Kaleidescape in Gladys​

  1. In Gladys, open Integrations: Kaleidescape appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/lm1lc3n7/gladys-kaleidescape:0.1.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/LM1LC3N7/gladys-kaleidescape.

Kaleidescape requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

Kaleidescape is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by LM1LC3N7, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂