Homebridge plugin exposes to Apple's HomeKit devices

Overview

Homebridge Crestron LTS

Downloads Version Homebridge Discord

GitHub issues GitHub pull requests JavaScript Style Guide Donate via PayPal

Homebridge plugin for crestron

Copyright © 2022 Songzh. All rights reserved.

Introduction

This Homebridge plugin exposes to Apple's HomeKit devices (lights, plugs, sensors, switches, ...) and virtual devices on a Crestron professor. Homebridge Crestron communicates with TCP.

Supported Homekit Devices

CHANGE LOGS

HARDWARE Prerequisites

  1. Raspberry(Or other devices that can install homebridge, such as NAS, Win, MAC...)
  2. Crestron Professor(Series 3 and Series 4 mainframes supporting SIMPL programming)

SOFTWARE Prerequisites

  1. install Homebridge Raspberry OS

  2. install homebridge-crestron-lts

  1. Download Crestron macro files on the release page Then put the file in your program

  2. Programming in SIMPL

  1. Upload the program to your Crestron professor

  2. Configure devices in homebridge

  1. Save config and then restart homebridge

  2. Add Device to Homekit

  3. Have FUN

Comments
  • Processor instead of professor

    Processor instead of professor

    Thanks for this. I plan to implement soon. During my review of your ReadMe, I saw spell check changed your Crestron "Processor" to "Professor". I thought you might want to make that correction. Thanks again!

    opened by AndNotOr-Designs 1
  • Access to Module Source

    Access to Module Source

    I would like to modify the module and re-complie for a Series 2 processor. But am unable to do so as the modules are password protected, anyway you can open these up so changes can be made?

    Thanks

    question 
    opened by Pugy365 1
  • Missing modules?

    Missing modules?

    The file offered for download here does not contain all modules, such as the "Dimming" module and many others, can you please post a new download with all the missing modules?

    Also, it seems I can only add ten lights, and I cannot edit the modules at all to add more. For instance, if I want to add 15 switches, I cannot because the modules are locked.

    If you no longer wish to maintain the code, can you please unlock the modules so others can expand on this and use more devices? I'm not sure if you sell a full-featured 3 series module package, but this isn't mentioned looking at the images with the download, it shows other modules, and you're actually configuring "DimLightBulb" but have not included the module?

    Any help would be appreciated, I spent days making this work and finally have a couple of lights working but now I realize I can't even add the rest of the switches and also my dimmers, I have about 35 in total :-(

    bug 
    opened by DR7 0
  • [HomebridgeCrestron] Child bridge process ended

    [HomebridgeCrestron] Child bridge process ended

    Describe The Bug: Hello, I am not sure what is causing this error but I am running this plugin on Homebridge v1.4.0-beta.4 and I had it installed and had a green icon beside the power icon to cycle the child bridge, now the icon changed from red to yellow and the bridge connects and disconnects.

    To Reproduce: After this was working this seemed to happen when I changed in "Dimlight" name in settings to "Kitchen" and then saved?

    I notice if I then change the name back to "Dimlight" in setttings and save and then use the "X" to delete it and save, I restart the child bridge and the status icon changes back to green? I look at status and now the plugin seems to have loaded again properly and is connected to the Crestron host?

    at HomebridgeAPI.emit (node:events:390:28)
    at HomebridgeAPI.signalFinished (C:\Users\Allen\AppData\Roaming\npm\node_modules\homebridge\src\api.ts:275:10)
    at ChildBridgeFork.startBridge (C:\Users\Allen\AppData\Roaming\npm\node_modules\homebridge\src\childBridgeFork.ts:173:14)
    

    [11/9/2022, 2:05:23 AM] [HomebridgeCrestron] Child bridge process ended [11/9/2022, 2:05:23 AM] [HomebridgeCrestron] Process Ended. Code: 1, Signal: null [11/9/2022, 2:05:28 AM] [Homebridge UI] Changes to config.json saved. [11/9/2022, 2:05:30 AM] [HomebridgeCrestron] Restarting Process... [11/9/2022, 2:05:30 AM] [HomebridgeCrestron] Launched child bridge with PID 4552 [11/9/2022, 2:05:30 AM] Registering platform 'homebridge-crestron-lts.HomebridgeCrestron' [11/9/2022, 2:05:30 AM] [HomebridgeCrestron] Loaded homebridge-crestron-lts v1.1.2 child bridge successfully [11/9/2022, 2:05:30 AM] Homebridge v1.4.0-beta.4 (HAP v0.10.0-beta.7) (HomebridgeCrestron) is running on port 41899. TypeError: Cannot read properties of undefined (reading 'toString') at HomebridgePlatform.registerDevices (C:\Users\Allen\AppData\Roaming\npm\node_modules\homebridge-crestron-lts\src\platform.ts:215:72) at HomebridgePlatform.discoverDevices (C:\Users\Allen\AppData\Roaming\npm\node_modules\homebridge-crestron-lts\src\platform.ts:157:10) at HomebridgeAPI. (C:\Users\Allen\AppData\Roaming\npm\node_modules\homebridge-crestron-lts\src\platform.ts:68:12) at HomebridgeAPI.emit (node:events:390:28) at HomebridgeAPI.signalFinished (C:\Users\Allen\AppData\Roaming\npm\node_modules\homebridge\src\api.ts:275:10) at ChildBridgeFork.startBridge (C:\Users\Allen\AppData\Roaming\npm\node_modules\homebridge\src\childBridgeFork.ts:173:14) [11/9/2022, 2:05:30 AM] [HomebridgeCrestron] Child bridge process ended [11/9/2022, 2:05:30 AM] [HomebridgeCrestron] Process Ended. Code: 1, Signal: null [11/9/2022, 2:05:36 AM] [HomebridgeCrestron] Restarting child bridge... [11/9/2022, 2:05:37 AM] [HomebridgeCrestron] Restarting Process... [11/9/2022, 2:05:37 AM] [HomebridgeCrestron] Launched child bridge with PID 6724 [11/9/2022, 2:05:38 AM] Registering platform 'homebridge-crestron-lts.HomebridgeCrestron' [11/9/2022, 2:05:38 AM] [HomebridgeCrestron] Loaded homebridge-crestron-lts v1.1.2 child bridge successfully [11/9/2022, 2:05:38 AM] [HomebridgeCrestron]
    [11/9/2022, 2:05:38 AM] [HomebridgeCrestron] ************************************************************** [11/9/2022, 2:05:38 AM] [HomebridgeCrestron] homebridge-crestron v-1.0.0 By songzh96 [11/9/2022, 2:05:38 AM] [HomebridgeCrestron] GitHub: https://github.com/songzh96/homebridge-crestron-ts
    [11/9/2022, 2:05:38 AM] [HomebridgeCrestron] QQ Group: 107927710
    [11/9/2022, 2:05:38 AM] [HomebridgeCrestron] ************************************************************** [11/9/2022, 2:05:38 AM] [HomebridgeCrestron]
    [11/9/2022, 2:05:38 AM] [HomebridgeCrestron] connect to 192.168.1.214:50001 [11/9/2022, 2:05:38 AM] Homebridge v1.4.0-beta.4 (HAP v0.10.0-beta.7) (HomebridgeCrestron) is running on port 41899. [11/9/2022, 2:05:38 AM] [HomebridgeCrestron] connected to the host

    Expected behavior:

    Logs:

    Show the Homebridge logs here, remove any sensitive information.
    

    Plugin Config:

    {
        "name": "HomebridgeCrestron",
        "host": "192.168.1.214",
        "port": "50001",
        "DimLightbulb": [
            {
                "name": "DimLight"
            }
        ],
        "platform": "HomebridgeCrestron"
    }
    

    Screenshots: [https://imgur.com/a/Sk8cuOt](Captures of the error) Environment:

    • Plugin Version: homebridge-crestron-lts v1.1.2
    • Homebridge Version: v1.4.0-beta.4
    • Node.js Version: v16.13.1
    • NPM Version:
    • Operating System: Windows 10 Pro
    bug 
    opened by DR7 1
  • Cannot get a simple example up and running

    Cannot get a simple example up and running

    Describe Your Problem:

    I have a brand new Homebridge installation that is connected to my Apple Home and has only the homebridge-crestron-lts plugin installed. I am trying to get the simplest possible setup working so I can build from there

    Crestron Info: Only have 2 modules in program

    1. HomeKit-Server a. IPAddr$: {Crestron Processor IP} (also tried Homebridge IP) b. Port: 50001d c. Lightbulb_OUT$ d. Lightbulb_IN$
    2. HomeKit-Lightbulb a. Lights_Status[1] (tied to fb of a particular light) b. Lights_On[1] (tied to 'on' button for same light) c. Lights_Off[1] (tied to 'off' button for same light) d. Lightbulb_IN$ e. Lightbulb_OUT$

    Logs:

    Homebridge Logs:

    [9/6/2022, 4:05:53 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /volume1/homebridge/node_modules --strict-plugin-resolution [9/6/2022, 4:05:53 PM] [HB Supervisor] Started Homebridge v1.5.0 with PID: 29147 [9/6/2022, 4:05:53 PM] Loaded config.json with 0 accessories and 2 platforms. [9/6/2022, 4:05:53 PM] Loaded 0 cached accessories from cachedAccessories. [9/6/2022, 4:05:53 PM] --- [9/6/2022, 4:05:53 PM] Loaded plugin: [email protected] [9/6/2022, 4:05:53 PM] Registering platform 'homebridge-crestron-lts.HomebridgeCrestron' [9/6/2022, 4:05:53 PM] --- [9/6/2022, 4:05:53 PM] Loading 2 platforms... [9/6/2022, 4:05:53 PM] [HomebridgeCrestron] Initializing HomebridgeCrestron platform... [9/6/2022, 4:05:53 PM] TypeError: Cannot read properties of undefined (reading 'toString') at HomebridgePlatform.registerDevices (/volume1/homebridge/node_modules/homebridge-crestron-lts/src/platform.ts:215:72) at HomebridgePlatform.discoverDevices (/volume1/homebridge/node_modules/homebridge-crestron-lts/src/platform.ts:156:10) at HomebridgeAPI. (/volume1/homebridge/node_modules/homebridge-crestron-lts/src/platform.ts:68:12) at HomebridgeAPI.emit (node:events:527:28) at HomebridgeAPI.signalFinished (/volume1/homebridge/node_modules/homebridge/src/api.ts:275:10) at Server.start (/volume1/homebridge/node_modules/homebridge/src/server.ts:190:14) [9/6/2022, 4:05:53 PM] Got SIGTERM, shutting down Homebridge... [9/6/2022, 4:05:58 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null [9/6/2022, 4:06:03 PM] [HB Supervisor] Restarting Homebridge...

    Crestron Logs:

    Lights_Status[1] 1 Lightbulb_OUT$ Lightbulb:1:eventPowerState:1*

    Plugin Config:

    { "bridge": { "name": "Homebridge XXXX", "username": "XX:XX:XX:XX:XX:XX", "port": 51304, "pin": "XXX-XX-XXX", "advertiser": "avahi" }, "accessories": [], "platforms": [ { "name": "Config", "port": 8581, "platform": "config" }, { "name": "HomebridgeCrestron", "host": "{Crestron Processor IP}", "port": "50001", "Lightbulb": [ { "name": "Office Light" } ], "platform": "HomebridgeCrestron" } ] }

    Screenshots:

    Environment:

    • Plugin Version: 1.1.2
    • Homebridge Version: 1.5.0
    • Node.js Version: v16.16.0
    • NPM Version: Not finding this anywhere in Homebridge interface
    • Operating System: Synology's Linux (DSM 7)
    question 
    opened by natethelen 1
Releases(v1.0.0)
Owner
null
This is a Homebridge plugin that adds HomeKit support to Tidbyt devices.

Tidbyt Platform Plugin This is a Homebridge plugin that adds HomeKit support to Tidbyt devices. Built with node-tidbyt. This project is not endorsed o

Nicholas Penree 18 Nov 20, 2022
Nest accessory developed with HAP-NodeJS to allow devices into HomeKit

Nest_accfactory This is a HAP-NodeJS accessory I have developed to allow Nest devices to be used with HomeKit including having support for HomeKit Sec

markh 9 Oct 9, 2022
TikTokLive-Widget: A socket client/server program that exposes a widget with alerts (such as gifts, followers ...) for a specific user streaming on Tik Tok Live platform

TikTokLive-Widget: A socket client/server program that exposes a widget with alerts (such as gifts, followers ...) for a specific user streaming on Tik Tok Live platform

null 3 Dec 3, 2022
Exposes theming options available in Joy UI by providing color palette and typography controls.

Joy Theme Creator Note: Joy UI is currently in alpha - some things may not be finished or working as expected. This project exposes the theming option

Oliver Benns 10 Dec 28, 2022
A homebridge plugin to display the current consumption from your Tibber pulse as lux in Home kit.

homebridge-tibber-lightsensor Tibber lightsensor is a plugin for Homebridge. It fetches the current watt usage of your house and displays it as a ligh

Johan Runbert 2 Oct 11, 2022
🏠 Homebridge plugin for SmartRent installations

Homebridge SmartRent Unofficial Homebridge plugin for SmartRent, allowing you to control your SmartRent devices with Apple Home. ?? Supported Devices

Grant Burry 8 Aug 12, 2022
Playstation integration for Homebridge / HOOBS.

Homebridge Playstation Playstation integration for Homebridge / HOOBS. Hey Siri, turn on Playstation finally possible! This integration exposes a Swit

Flavio De Stefano 54 Jan 1, 2023
Easy responsive tabs - is a lightweight jQuery plugin which optimizes normal horizontal or vertical tabs to accordion on multi devices

Easy responsive tabs - is a lightweight jQuery plugin which optimizes normal horizontal or vertical tabs to accordion on multi devices like: web, tablets, Mobile (IPad & IPhone). This plugin adapts the screen size and changes its action accordingly.

Samson Onna 600 Dec 8, 2022
A simple dashboard to keep track of all your active devices/servers

Slashboard Pulsar A lightweight node js app designed to work with the Slashboard desktop client Built using Node.js Installation Clone this repository

Philippe Négrel-Jerzy 25 Dec 21, 2022
Unofficial API client for the Tidbyt API. Use this client to control Tidbyt devices and integrate with other services.

Tidbyt Client for Node.js Unofficial API client for the Tidbyt API. Use this client to control Tidbyt devices and integrate with other services. Insta

Nicholas Penree 19 Dec 17, 2022
A web panel to manage TP-Link/Kasa smart home devices.

TP-Link Web Panel A web panel to manage TP-Link/Kasa smart home devices. Prerequisites Node.js v16.13.1 or higher Yarn Installation Run git clone http

Milan M 3 Apr 1, 2022
Ios-calculator-js - Calculator made with vanilla javascript and custom css based on the design of iOS devices.

ios-calculator-js This is a practice project in which I try to replicate iOS calculator's both logic and styling. In case you spot room for improvemen

Franco 1 Nov 10, 2021
Reorderable drag-and-drop lists for modern browsers and touch devices. No jQuery or framework required.

Sortable Sortable is a JavaScript library for reorderable drag-and-drop lists. Demo: http://sortablejs.github.io/Sortable/ Features Supports touch dev

SortableJS 26.1k Jan 5, 2023
Babel-plugin-amd-checker - Module format checking plugin for Babel usable in both Node.js the web browser environments.

babel-plugin-amd-checker A Babel plugin to check the format of your modules when compiling your code using Babel. This plugin allows you to abort the

Ferdinand Prantl 1 Jan 6, 2022
A variety of jQuery plugin patterns for jump starting your plugin development

jQuery Plugin Patterns So, you've tried out jQuery Boilerplate or written a few of your own plugins before. They work to a degree and are readable, bu

jQuery Boilerplate 1.6k Dec 31, 2022
A tool to get plugin statistics of Obsidian plugin ecosystem.

Obsidian Plugin Stats A tool to get plugin statistics of Obsidian plugin ecosystem. Usage You can use this tool to see the plugins that has hit commun

Ganessh Kumar 27 Dec 25, 2022
📦 Alpine JS plugin to extend the functionality of the official $persist plugin

Alpine JS Persist Extended Alpine JS magic method $storage extends the official $persist plugin to help you work with local storage ?? Example ?? <div

Mark Mead 11 Dec 28, 2022
kakaolink-plugin is a remote-kakao plugin for sending KakaoLinks instead of plain text

kakaolink-plugin Discord Server About kakaolink-plugin is a remote-kakao plugin for sending KakaoLinks instead of plain text. Requirements Node.js v17

null 5 Oct 1, 2022
A markdown-it plugin that process images through the eleventy-img plugin. Can be used in any projects that uses markdown-it.

markdown-it-eleventy-img A markdown-it plugin that process images through the eleventy-img plugin. Can be used in any projects that use markdown-it. F

null 25 Dec 20, 2022