Code Monkey home page Code Monkey logo

homebridge-broadlink-rm's Introduction

Homebridge Broadlink RM [TV+AC File Fork]

Please use the fork of kiwi-cam. This fork is inactive due to not using this plugin anymore.

About this fork

This fork adds support for the TV type indroduced in iOS 12.2. I'm only give support for this specific accessory type!

This fork also contains updates the to Air Conditioner accessory, as detailed in the documenation below.

If you want to use this fork, use this command:

npm i -g homebridge-broadlink-rm-tv

There's been a lot of work done on the main fork to support some newer Broadlink devices. I (kiwi-cam) have had trouble getting this fork updated to include this support. As a temporary resolution I've created a new fork homebridge-broadlink-rm-pro which adds new Broadlink device support (Thanks to @Defensor7). The new fork can be installed using:

npm i -g homebridge-broadlink-rm-pro

Homebridge Broadlink RM [Original]

Introduction

Welcome to the Broadlink RM Mini and Broadlink RM Pro plugin for Homebridge.

This plugin allows you to control your RM Mini and RM Pro with HomeKit using the Home app and Siri.

Documentation

Full documentation can be found here. With the following additional configuration options available:

Switch Accessory

key description example default
pingGrace (optional) Pauses ping status changes for the specified period (seconds) to allow device to start-up/shutdown after the change 15 10

Aircon Accessory

key description example default
w1DeviceID (optional) Updates device current temperature from a Raspberry Pi Wire-1 thermometers (i.e. ds18b20). Value is the Device ID 28-0321544e531ff

"data" key-value object

The device can be setup to manage modes in one of two ways. If your AC unit accepts a hexcade to change mode only (without temperature details) you can set the mode keys (heat/cool) and then the temperatureX values to change the teperature. If your AC unit sends hexcodes that contain the mode AND temperature you can use the modeX codes alone.

When the mode is changed the mode hexcodes are sent first - if set. Then the modeX code is sent to set the temperature, if it is set. If a matching modeX code can't be found, the temperatureX code is sent. If neither of these temperature codes are found either defaultHeatTemperature or defaultCoolTemperature codes will be used depending on if the target Temperature is higher or lower than the current temperature.

key description
off A hex code string to be sent when the air conditioner is asked to be turned off.
temperatureX A hex code string where X is any temperature you wish to support e.g. "temperature30".
modeX A hex code string where X is any temperture, and mode is one of "heat","cool", or "auto". Hex code used to set unit to the specified mode and temperature

"temperatureX" and "modeX" key-value object

key description
data Hex data stored as string.
pseudo-mode (optional) The mode we set when this hex is sent. i.e. "heat" or "cool". For graphical purposes only (hence use of the term "pseudo"). Not recommended for ModeX key-values.

TV Accessory

key description example default
enableAutoOff Turn the TV off automatically when onDuration has been reached. true false
onDuration The amount of time before the TV automatically turns itself off (used in conjunction with enableAutoOff). 5 60
enableAutoOn Turn the TV on automatically when offDuration has been reached false true
offDuration The amount of time before the TV automatically turns itself on (used in conjunction with enableAutoOn). 5 60
pingIPAddress When an IP address is provided, it is pinged every second. If a response is received then the TV turns on, otherwise it turns off. "192.167.1.77"
pingIPAddressStateOnly Using this option will prevent the hex code from being sent when the state changes true false
pingFrequency The frequency in seconds that the IP address should be pinged 5 1
pingGrace (optional) Pauses ping status changes for the specified period (seconds) to allow device to start-up/shutdown after the change 15 10
data see below

"data" key-value object

key description
on A hex code string to be sent when the tv is powered on.
off A hex code string to be sent when the tv is powered off.
volume see below
inputs see below
remote see below

"volume" key-value object

Configuration for volume changes via the Control Centre remote

key description
up A hex code string to be sent to turn the TV volume up.
down A hex code string to be sent to turn the TV volume down.

"inputs" key-value object

Inputs contain an array of the below settings, one for each input

key description
name The name used for the mode, shown in the GUI.
type One of the follow to represent the mode: 'other','home_screen','tuner','hdmi','composite_video','s_video','component_video','dvi','airplay','usb','application'
data A hex code string to be sent to switch the TV to the selected input.

"remote" key-value object

Configuration of button options in the Control Centre remote

key description
rewind The hex code for this button function
fastForward The hex code for this button function
nextTrack The hex code for this button function
previousTrack The hex code for this button function
arrowUp The hex code for this button function
arrowDown The hex code for this button function
arrowLeft The hex code for this button function
arrowRight The hex code for this button function
select The hex code for this button function
back The hex code for this button function
exit The hex code for this button function
playPause The hex code for this button function
info The hex code for this button function

Thanks

Original: Thanks to @tattn (https://github.com/tattn/homebridge-rm-mini3), @PJCzx (https://github.com/PJCzx/homebridge-thermostat) @momodalo (https://github.com/momodalo/broadlinkjs) whose time and effort got me started.

In this fork: Thanks to @kiwi-cam (https://github.com/kiwi-cam) and @Cloudore (https://github.com/Cloudore) for your work!

homebridge-broadlink-rm's People

Contributors

alayshchen avatar alexanderbabel avatar duyleekun avatar dvcrn avatar ixzzd avatar kiwi-cam avatar lprhodes avatar rileyev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-broadlink-rm's Issues

Troubles adding a second TV

Where is the mistake? with the following config.json, homebridge starts correctly but it show only one TV accessory (TV SALOTTO), and not the second one (TV CAMERA)!!

the strange thing is that if i click to add an accessory, the homekit app retrieves a pending TV and asks me for the pairing homekit code, which I don't have (please check pictures attached and code below)
IMG_4552
IMG_4551

:

{
"bridge": {
"name": "HomeBridge",
"username": "AC:C9:8B:DA:84:A6",
"port": 51826,
"pin": "666-66-717"
},

"description": "HomePi Homebridge.",

"accessories":[
{
"accessory": "MiRobotVacuum",
"name": "Aspirapolvere",
"ip": "192.168.0.166",
"token": "48754b467a76534471675575436d4558",
"pause": false,
"dock": true
}
],

"platforms":[
{
"platform":"BroadlinkRM",
"name":"Broadlink RM",
"hideScanFrequencyButton": true,
"hideLearnButton": true,
"hideWelcomeMessage": false,
"accessories":[
{

"name":"TV Salotto",
"type":"tv",
"host": "192.168.0.159",
"data": {
"off": "2600500000012894150f15111435151014111411141114101435153515101435153515341535153515101411141114351411141114111410143515351435151015351435153515351400052300012a4814000d050000000000000000",
"on": "2600500000012993141114101535151014101510151015101534153515101534153515341535153514101510151015351410151015101510153415351534151015351435153515351400052300012a4814000d050000000000000000",
"remote": {
"select": "260050000001289313131312133614121312131213131312133614361312143613371336143613371312131213371312131214121336131313361436131213371337133613121436130005280001284a13000d050000000000000000",
"arrowUp": "26004800000127941411121313371311151112121411131213371238121313361337123812371436141112131312141113111411123812131337123713371238143514371311143614000d05",
"arrowDown": "26004800000128941510121313371410141112131411131213361337121313371238123712381435153514111313131114111213143613111510133712381237143614361411143515000d05",
"arrowLeft": "2600480000012992170f121315341510160f12131510151015341238141214351534123814361534163415351535131116101114141015111410151013121534163412381435163416000d05",
"arrowRight": "2600480000012992170f121315341510160f1213150f161015341238141115351435123814351634161011381534161012121511131214101633161013121534153514361435163415000d05",
"back": "260048000001279415101313133614111411121215101313133612381312133713361238123713371411121314111435151112371213141114361435143614111436160f1237143614000d05",
"exit": "26004800000127941411121413361411141112121411131313361238121313371336123812371436143614361311143614361312133615111212141113371411121215361311143614000d05",
"playPause": "2600500000012794160f1312133713111312131213121213133614361312133614361336143613361436133713111337131213121311131213121312133614111337133614361336140005240001274b13000d050000000000000000",
"info": "2600480000012a91170f13121435150f161012131410161014351435151115341238143615341634153515351410153515101535151014351411151015351510153415111435151015000d05"
},
"powerMode": {
"show": "HEX..."
},
"volume": {
"up": "26004e00939116131213133614351313113812121312131212131237153515101435160f1510153416341337150f1634160f1510121213121312121312371411153513361436130006029394143613000d0500000000000000000000",
"down": "26004e00939413121311133713371311133713121312131113121337133614111337131113121312133713361411133713111312131213361411131213361411133713371336140006019494133614000d0500000000000000000000"
},
"inputs": [
{
"name": "Acceso/a",
"type": "hdmi",
"data": "HEX..."}]}},
{
"name":"TV Camera",
"type":"tv",
"host": "192.168.0.156",
"data": {
"off": "2600500000012894150f15111435151014111411141114101435153515101435153515341535153515101411141114351411141114111410143515351435151015351435153515351400052300012a4814000d050000000000000000",
"on": "2600500000012993141114101535151014101510151015101534153515101534153515341535153514101510151015351410151015101510153415351534151015351435153515351400052300012a4814000d050000000000000000",
"remote": {
"select": "260050000001289313131312133614121312131213131312133614361312143613371336143613371312131213371312131214121336131313361436131213371337133613121436130005280001284a13000d050000000000000000",
"arrowUp": "26004800000127941411121313371311151112121411131213371238121313361337123812371436141112131312141113111411123812131337123713371238143514371311143614000d05",
"arrowDown": "26004800000128941510121313371410141112131411131213361337121313371238123712381435153514111313131114111213143613111510133712381237143614361411143515000d05",
"arrowLeft": "2600480000012992170f121315341510160f12131510151015341238141214351534123814361534163415351535131116101114141015111410151013121534163412381435163416000d05",
"arrowRight": "2600480000012992170f121315341510160f1213150f161015341238141115351435123814351634161011381534161012121511131214101633161013121534153514361435163415000d05",
"back": "260048000001279415101313133614111411121215101313133612381312133713361238123713371411121314111435151112371213141114361435143614111436160f1237143614000d05",
"exit": "26004800000127941411121413361411141112121411131313361238121313371336123812371436143614361311143614361312133615111212141113371411121215361311143614000d05",
"playPause": "2600500000012794160f1312133713111312131213121213133614361312133614361336143613361436133713111337131213121311131213121312133614111337133614361336140005240001274b13000d050000000000000000",
"info": "2600480000012a91170f13121435150f161012131410161014351435151115341238143615341634153515351410153515101535151014351411151015351510153415111435151015000d05"
},
"powerMode": {
"show": "HEX..."
},
"volume": {
"up": "26004e00939116131213133614351313113812121312131212131237153515101435160f1510153416341337150f1634160f1510121213121312121312371411153513361436130006029394143613000d0500000000000000000000",
"down": "26004e00939413121311133713371311133713121312131113121337133614111337131113121312133713361411133713111312131213361411131213361411133713371336140006019494133614000d0500000000000000000000"
},
"inputs": [
{
"name": "Acceso/a",
"type": "hdmi",
"data": "HEX..."}]}}

]}

]
}

Two Devices

When I try to add a second device it only shows me one in the home app.
It only adds the first accessory. Is this a known issue?

This is my config file:

        "platform": "BroadlinkRM",
        "hosts": [
            {
                "address": "192.168.1.241",
                "mac": "c8:f7:42:17:46:f8"
            }
        ],
        "name": "Broadlink RM",
        "hideScanFrequencyButton": false,
        "hideLearnButton": false,
        "hideWelcomeMessage": false,
        "accessories": [
            {
                "name": "Radio",
                "type": "tv",
                "pingIPAddressStateOnly": true,
                "pingFrequency": 3,
                "pingGrace": 24,
                "data": {
                    "on": "260050000001279412381139113812131214111411141238111411141238113812381139113812131237121412381114121312381114121312141138121411381238111411391138120004fb0001264c11000d050000000000000000",
                    "off": "26004800000127951138123811391114111412131214113812131214113812381139113811391114111412131214113812141114113812381139113812381114113911381213121411000d05",
                    "remote": {
                        "select": "AA",
                        "arrowUp": "AA",
                        "arrowDown": "AA",
                        "arrowLeft": "AA",
                        "arrowRight": "AA",
                        "back": "AA",
                        "exit": "AA",
                        "playPause": "AA",
                        "info": "AA"
                    },
                    "volume": {
                        "up": "260050000001269512381138123811141214111411141139111411141139113812381139113812131214111411141139111411141213123811391138123811141139113812381114110004fc0001264c12000d050000000000000000",
                        "down": "260050000001269512381138123811141114121411141138121411141139113812381138123811141213121411381238111411141214113812381138121411141138123811391114110004fc0001264c11000d050000000000000000"
                    },
                    "inputs": [
                        {
                            "name": "TV",
                            "type": "hdmi",
                            "data": "260050000001289314351436143613121411141213121336141213121336143614361336143613121436133614121336143613121411143613121411143613121411143614361312130004fa0001284914000d050000000000000000"
                        },
                        {
                            "name": "Airplay",
                            "type": "hdmi",
                            "data": "260050000001279511381238113911141114111412141138121114141138123811391138113911141114111412141114111411141238113911381238113812381139113812141114110004fb0001274b12000d050000000000000000"
                        }
                    ]
                }
            },
            {
                "name": "TV",
                "type": "tv",
                "pingIPAddressStateOnly": true,
                "pingFrequency": 3,
                "pingGrace": 24,
                "data": {
                    "on": "260050000001279412381139113812131214111411141238111411141238113812381139113812131237121412381114121312381114121312141138121411381238111411391138120004fb0001264c11000d050000000000000000",
                    "off": "26004800000127951138123811391114111412131214113812131214113812381139113811391114111412131214113812141114113812381139113812381114113911381213121411000d05",
                    "remote": {
                        "select": "AA",
                        "arrowUp": "AA",
                        "arrowDown": "AA",
                        "arrowLeft": "AA",
                        "arrowRight": "AA",
                        "back": "AA",
                        "exit": "AA",
                        "playPause": "AA",
                        "info": "AA"
                    },
                    "volume": {
                        "up": "260050000001269512381138123811141214111411141139111411141139113812381139113812131214111411141139111411141213123811391138123811141139113812381114110004fc0001264c12000d050000000000000000",
                        "down": "260050000001269512381138123811141114121411141138121411141139113812381138123811141213121411381238111411141214113812381138121411141138123811391114110004fc0001264c11000d050000000000000000"
                    },
                    "inputs": [
                        {
                            "name": "TV",
                            "type": "hdmi",
                            "data": "260050000001289314351436143613121411141213121336141213121336143614361336143613121436133614121336143613121411143613121411143613121411143614361312130004fa0001284914000d050000000000000000"
                        },
                        {
                            "name": "Airplay",
                            "type": "hdmi",
                            "data": "260050000001279511381238113911141114111412141138121114141138123811391138113911141114111412141114111411141238113911381238113812381139113812141114110004fb0001274b12000d050000000000000000"
                        }
                    ]
                }
            }
        ]
    }

Thanks!

Better getstate implementation proposal

Hello,

I have already coded a homebridge plugin for my TV but I am transitioning to your implementation.
Although I have a better state management proposal as below:

  this.serviceManager
    .getCharacteristic(Characteristic.Active)
    .on('get', (callback) => {
      const { config, state } = this;
      let { tvhost } = config; 
       sping.sys.probe(tvhost, (isActive) => {
        if (isActive) { return callback(null, 1); }
        else { return callback(null,0) }
      }, {"min_reply": 1})
    })
    .on('set', (active, callback) => {
      if (active) {
        this.setSwitchState(on)
      }
      else {
        this.setSwitchState(off)
      }
      callback()
    });

how to control volume on tv and amps?

hello, is there a way to control volume on tvs and amps?

my config:

                {
                    "name": "McIntosh",
                    "type": "tv",
                    "data": {
                        "on": "26006801000127921511103A111513371214101512391237143614121337111511391312153514121139143614121436141210151139131412130F16103A1214133712381015123A1200050E000125961213123A12121436151115101437103A103A1115113A121214361313103A1115133712381015113A121314121238141111151115123912121337103A1115113912000511000128921510133710161139111512131239113914370F16113A10151338131214370E16113912391118153515112A1212371213101611141338131213371337101611391300050F000126941115113911151238141214111535153515361412103911151238131412370F16113A103A1213123913121412123810151214131215361213143614361511133710000513000127931511103A1115123813130F16103A133813361412153515111436161014361016113911391314133614120F161139111515111411103A1115113A12381312103A11000D05",
                        "off": "2600B00100012693151116341511143613121214163416341536121313371710163415111237121415351634153513381337151016341610141213121511160F16101437121212381600050C0001279511131634161015351313131215351634153712121238161016341512123712131535163515351337133715111634160F141213121214160F16101437121312381A00050A00012992160F1536131213371511160F163414371337160F16341412123816101634151112381337153516341535131313371511160F16101411131315101634161014361300050F0001299113131337151016341412131215361634163414111338121316341610133713121536163416341437123712141634160F1512121216111213170F1536121313371300050E0001299213131238160F1634151212121238173416341511133715101634151113371313153516341634143712371214163416101511121312131610160F1536121313371500050D000127931313153516101535131213131238163416341412133712131634161015361213133715351634153513381213163416101412121312131610160F15351512123712000D050000000000000000",
                        "volume": {
                            "up": "2600900000012694131312381313113912131313123813371337131312381213133812131337131312131337131313131213131312381213133713131337133713371239121313371300050F000127941213133713131337131312141237133812381213133713131337131312381312131312381313111413131213133713131337131312381238133712381313133713000D050000000000000000",
                            "down": "2600900000012794121313381213123813131213133811391238121312391213123813131238121412381238121312141312131312381313111413131139123812381337131313371300050F000127941213133713131238131312131337133812381213133812131337121411391313123812381213131313121313123813131213131312381238133614381114133713000D050000000000000000"
                        }
                    }
                }

Working Original Plugin

Hello, i installed the plugin on December. I can’t find a way to work tv accessory. How can i install this fork?

"inputs" key-value object - data

for the inputs object we have 3 keys: name, type, data.

can I use for data key different value than a string?
for example:

"inputs": [
{
"name": "INPUT 1",
"type": "hdmi",
"data": [
{
"data": "SOURCE_HEX_1...",
"pause": 0.3
},
{
"data": "DOWN_ARROW_HEX_2...",
"sendCount": 2,
"interval": 0.1,
"pause": 0.3
}
]
}
]

Log is not defined

I added today a few buttons in broadlink plugin and after that, even after I deleted the buttons, i get this error:

[12/18/2019, 5:18:39 PM] ReferenceError: log is not defined
at Object.keys.forEach (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:72:9)
at Array.forEach (:null:null)
at SwitchAccessory.checkConfig (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:54:25)
at Object.keys.forEach (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:66:14)
at Array.forEach (:null:null)
at SwitchAccessory.checkConfig (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:54:25)
at new HomebridgeAccessory (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/accessory.js:35:10)
at new BroadlinkRMAccessory (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/accessories/accessory.js:16:5)
at new SwitchAccessory (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/accessories/switch.js:10:5)
at config.accessories.forEach (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/platform.js:68:32)
at Array.forEach (:null:null)
at BroadlinkRMPlatform.addAccessories (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/platform.js:63:24)
at BroadlinkRMPlatform.accessories (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/homebridge-platform-helper/platform.js:28:10)
at Server._loadPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:403:20)
at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:341:16)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:90:36)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

[12/18/2019, 5:18:40 PM] Got SIGTERM, shutting down Homebridge...

Can’t add type=‘tv’ devices

if I configure a type: "tv" device I get this error:

AssertionError [ERR_ASSERTION]: ServiceManager requires the "type" to be provided.
at new ServiceManager (/usr/local/lib/node_modules/homebridge-broadlink-rm/helpers/serviceManager.js:7:5)
at TVAccessory.setupServiceManager (/usr/local/lib/node_modules/homebridge-broadlink-rm/accessories/tv.js:150:27)

Devices with type "switch" work without problems. Any idea what may be happening? Because type is clearly defined. In fact, if I simply change my config.json and replace "tv" with "switch", now homebridge starts without problem, and simply lists the device as a switch.

Thanks!!

Weird behavior of curtains accessory

This is great! I’m a big fan of the original plugin and now that you’re picking it up makes happy.

Since iOS 13 when I use several curtains at a time, when the “opening” or “closing” time seems to be somewhat of hanging homebridge, all homebridge accesory start to go to not responding for a bit until the opening/closing stops.

Loading the plugging error

Hello,
I've just installed this plugin and restarted Homebridge.
And then straight away I start seeing this error:

Loaded plugin: homebridge-broadlink-rm-tv /usr/local/lib/node_modules/homebridge/lib/api.js:150 throw new Error("Attempting to register a platform '" + fullName + "' which has already been registered!"); homebridge.service: Main process exited, code=exited, status=1/FAILURE homebridge.service: Unit entered failed state. homebridge.service: Failed with result 'exit-code'. homebridge.service: Service hold-off time over, scheduling restart. Stopped Homebridge.

Can you please put some documentatuon on how to use the TV add-on.
And anybody else had this error?

Thanks

The plugin homebridge-broadlink-rm requires HomeBridge v0.4.47 or higher

Hey,

I just updated to the latest version of homebridge but I am getting this error:

Church-Server:~ churchserver$ sudo npm update -g homebridge
/usr/local/Cellar/node/7.8.0/bin/homebridge -> /usr/local/Cellar/node/7.8.0/lib/node_modules/homebridge/bin/homebridge
/usr/local/Cellar/node/7.8.0/lib
└── [email protected] 

The plugin homebridge-broadlink-rm requires HomeBridge v0.4.47 or higher! You have: 0.4.38.

How do I install this?

I currently have the original homebridge-broadlink-rm plugin from iprhodes. I'm pretty new to these commands so I'm not sure how to get the tv plugin in here. I tried doing npm i git+https://github.com/AlexanderBabel/homebridge-broadlink-rm.git but I just get this error:

image

Two TVs issue

Hello,
First of all the work you put into this fork! I know this has been discussed in several other issues, but as of today I am still not able to get it working with my setup :(

I want to add two TVs to my Homebridge config, but only one shows up in the Home app on iOS, whichever one is configured first in the config.

I am using version 3.5.7 of this plugin and running docker-homebridge on version 0.4.50

I understand that @AlexanderBabel fixed the issue?

"Fortunately I found a way to solve this issue without a complete rewrite. I used the code from the original homebridge server and copied it for this use case. And... It worked! Feel free to report issues if you find any. On my system everything worked as expected."

Originally posted by @AlexanderBabel in #4 (comment)

As I understand it was a limitation of homebridge to only be able to have one TV per bridge, but was fixed here homebridge/homebridge#2184

Here is my config, maybe someone could help?
Thanks!

"platforms": [
        {
            "platform": "BroadlinkRM",
            "name": "Broadlink RM",
            "hideScanFrequencyButton": false,
            "hideLearnButton": false,
            "hideWelcomeMessage": false,
            "accessories": [
                {
                    "name": "Beamer",
                    "type": "tv",
                    "data": {
                        "on": "2600d8...",
                        "off": [
                            {
                                "data": "2600d8...",
                                "sendCount": 2,
                                "interval": 0.5
                            }
                        ],
                        "remote": {
                            "select": "260090...",
                            "arrowUp": "2600d8...",
                            "arrowDown": "260090...",
                            "arrowLeft": "2600d8...",
                            "arrowRight": "260090...",
                            "back": "2600d8...",
                            "exit": "2600d8...",
                            "playPause": "2600d8...",
                            "info": "2600d8..."
                        },
                        "powerMode": {
                            "show": "2600d8..."
                        },
                        "volume": {
                            "up": [
                                {
                                    "data": "260058..."
                                },
                                {
                                    "data": "260058..."
                                }
                            ],
                            "down": [
                                {
                                    "data": "260058..."
                                },
                                {
                                    "data": "260050..."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Sound",
                    "type": "tv",
                    "data": {
                        "on": "260090...",
                        "off": "260090...",
                        "remote": {
                           "select": "260090...",
                            "arrowUp": "2600d8...",
                            "arrowDown": "260090...",
                            "arrowLeft": "2600d8...",
                            "arrowRight": "260090...",
                            "back": "2600d8...",
                            "exit": "2600d8...",
                            "playPause": "2600d8...",
                            "info": "2600d8..."
                        },
                        "powerMode": {
                            "show": "2600d8..."
                        },
                        "volume": {
                            "up": [
                                {
                                    "data": "260058..."
                                },
                                {
                                    "data": "260058..."
                                }
                            ],
                            "down": [
                                {
                                    "data": "260058..."
                                },
                                {
                                    "data": "260050..."
                                }
                            ]
                        },
                        "inputs": [
                            {
                                "name": "PlayStation",
                                "type": "airplay",
                                "data": "260058..."
                            },
                            {
                                "name": "AudioCast",
                                "type": "airplay",
                                "data": "260058..."
                            },
                            {
                                "name": "Laptop",
                                "type": "airplay",
                                "data": "260058..."
                            },
                            {
                                "name": "Bluetooth",
                                "type": "airplay",
                                "data": "260058..."
                            }
                        ]
                    }
                }
            ]
        }
    ]

Siri compatibility

I am not able to turn the Volume of the TV up through Siri.

"Turn the TV Volume Up"
"Oh oh there is a problem try again"

Is this normal?

Add multiple pseudo modes for Air conditioner temperature

Hey @AlexanderBabel ,

Thank you for continuing support to this plug in,

If you are willing, it'd be great to add support to the air-conditioner-pro accessory to this version as well, it allows to adjust the AC per temperature AND mode in the json so that the correct corresponding signal will be sent each time. This was developed by a someone on GitHub who deleted it and I had a clone so re-uploaded it here

https://github.com/Cloudore/homebridge-broadlink-rm

Here is how it looks in my config.json

https://github.com/Cloudore/Myhbridge/blob/master/config.json

I would love to do it myself but I can barely handle python, don't have the knowledge to merge both versions without messing something up.

Have a good one

No 'exit' button in remote

Hi,

Firstly, thank you very much for implementing (multiple!) TV support. I'm in the process of moving over a couple devices to the TV accessory type. Way better than having dozens of on/off switches in the Home app!

Anyway, I noticed in the sample json config there's an "exit" remote button that doesn't show up in the actual remote. Is there something I've don't wrong or is the exit button not currently supported in this plugin? Looking at hands-on articles online, it seems to be a button that some officially supported HomeKit TVs have while some don't.

Screen Shot 2019-05-11 at 1 44 17 pm

Also a little confused by what the "powerMode" is or does. I don't see anything related to it in the Home app or the remote. Thanks!

TV accessory Input settings

TV Accessory only gives option to turn on off and select input no other navigation or volume shows up in homekit, what am I missing? thanks

minTemperature setting

Hi,

I have a small problem with setting minimal temperature property. My AC has 17 as the lowest setting, but log shows that the lowest number accepted by plugin is 10...

0|homebridge | AssertionError: [CONFIG ERROR] minTemperature (17) must be <= 10: expected 17 to be below 11

Maybe there is something that I don't know :-)

Config cutout:
"name": "Air Conditioner Advanced",
"type": "air-conditioner",
"minTemperature": 10,
"maxTemperature": 30,
"defaultCoolTemperature": 24,
"defaultHeatTemperature": 24,
"mqttURL": "mqtt://192.168.0.67",
"mqttUsername": "XXXXXX",
"mqttPassword": "XXXXXX",
"mqttTopic": "tele/sonoff171/SENSOR",
"autoSwitch": "A/C Auto Switch",

log

Broadlink keeps going to 'sleep'

My setup is working fine, but after a couple of hours the broadlink keeps going to 'sleep'. The Broadlink does not react to interaction and I have to unplug the device and plug it back in. After that it works again. Homebridge does not give a error when the device is in 'sleep' mode.

Is there a solution to keep the device from going into standby/sleep mode?

Thanks!

Rogier

TV pingIPAdressStateOnly not working.

Thanks for support TV accessory.

And I'm testing my the accessory from Switch type to TV type.
The switch will have three element:

  • pingIPAddress
  • PingFrequency
  • PingIPAdressStateOnly

Here is the config.json

{
	            "platform": "BroadlinkRM",
	            "name": "Broadlink RM",
	            "hideScanFrequencyButton": true,
	            "hideLearnButton": false,
	            "hideWelcomeMessage": true,
	            "homebridgeDirectory": "/var/homebridge/",
	            "accessories": [
	            {
	                "name":"TV",
	                "type":"tv",
	                "pingIPAddress":"10.0.1.187",
	                "pingFrequency": 120,
	                "pingIPAdressStateOnly": true,
	                "data": {
	                    "off": "0000000000",
	                    "on": "000000000",
	                   
	            },
	            {
	                "name": "Sony",
	                "type": "switch",
	                "pingIPAddress":"10.0.1.187",
	                "pingFrequency": 150,
	                "pingIPAdressStateOnly": true,
	                "data": {
	                    "on": "1111111111",
	                    "off": 00000000"
	                }
	            }
]
}

In my log, the switch and tv type are both setups but there is some problem with TV type:

 4月 14 03:43:47 Homebridge homebridge[8412]: [2019-4-14 03:43:47] [Broadlink RM] Sony getSwitchState: true
 4月 14 03:44:11 Homebridge homebridge[8412]: [2019-4-14 03:44:11] [Broadlink RM] Sony setSwitchState: true
 4月 14 03:44:11 Homebridge homebridge[8412]: [2019-4-14 03:44:11] [Broadlink RM] Sony setSwitchState: already true (no data sent - B)
 4月 14 03:44:21 Homebridge homebridge[8412]: [2019-4-14 03:44:21] [Broadlink RM] Sony getSwitchState: true
 4月 14 03:44:21 Homebridge homebridge[8412]: [2019-4-14 03:44:21] [Broadlink RM] TV getSwitchState: 0
 4月 14 03:44:41 Homebridge homebridge[8412]: [2019-4-14 03:44:41] [Broadlink RM] TV setSwitchState: 1
 4月 14 03:44:41 Homebridge homebridge[8412]: [2019-4-14 03:44:41] [Broadlink RM] TV sendHex (10.0.1.23; 34:ea:34:e7:f0:59) 12512312e12312412414

The log come up with different State, same TV device and same IP, but when the TV type ping the IP, it will auto resent the data.

I didn't know is the PingIPAdressStateOnly not working or there is another issue.

Thanks

Help

I'm sorry, but how to install?

Since the update the tv and the ac won't respond

I've updated to the latest version, which was a mistake, because since then I'm unable to control my tv, nor my ac and it even affects other plugins.
I've tried reinstalling, that didn't help.
tried going back to the previous version, without much success, so now I have to go to the base version because it's the only one that works (and I lose the TV support).

Please fix it, the weird thing is that there's no indication of any errors in the console, so I have no idea why it's happening.

Stateless Switch

Hello again... need to know is there a switch kind of state-less switch available. I want a switch that does no track las state changed and be able to ask to Siri to power off that switch, even if was previously turned off.
I current own PACE Cable decoder, they does not have discrete power on and off command, only power toggle, so if a stateless switch were available, I will be able to say to Siri to power off b sending toggle and also power-on by the same IR command.
There is no way to detect that PACE decodes is ON or OFF, it does not connect to wifi in order to detect state by pinging it... soo, I really need that....

I know I could have a switch with auto off , but What I want is be able to ask siri turn off XXXX or turn on XXXX... having autooff feature Ill only be able to ask siri to power-on and vice versa.

Multiple TVs

I'm having an issue with the inputs section of my config. The inputs do not show up in the Home app under the TV, instead they pop-up as new switches separate from the TV. Also my second "TV" won't show as an option in the remote.

a) do others have these working, and b) what am I doing wrong?

Here's my configuration:

{
					"name": "TV",
					"type": "tv",
					"pingIPAddress": "Chromecast.fritz.box",
					"pingFrequency": 5,
					"pingIPAddressStateOnly": true,
					"data": {
						"on": "2600d200949312371237133712131212131212131213123712371337121312121213121312131212123812121312121312131212121312371312123812371237133712371337120006059393123812371238121212131213121213121238123712371312121312131212121312131237121312131212131212131213123712131237123812371237133712371300060494931336133713361312131213111411131213361337133613121312131113121312131213361312131114111312131213111337131114361336133713361337133613000d05000000000000",
						"off": "2600d200949312371237133712131212131212131213123712371337121312121213121312131212123812121312121312131212121312371312123812371237133712371337120006059393123812371238121212131213121213121238123712371312121312131212121312131237121312131212131212131213123712131237123812371237133712371300060494931336133713361312131213111411131213361337133613121312131113121312131213361312131114111312131213111337131114361336133713361337133613000d05000000000000",
					        "remote": {
              						"select": "26008c009592133614361336141113121312131114111336143613361411131213121311141113121311141114361311143613361411133614361336141114361311141113371300060694921436133614361312131114111312131213361336143613121311141113121312131114111312133614111336143613121336133614361312133614111312133613000d05000000000000000000000000",
						        "arrowUp": "26008c009294123812371238111411131213111411141138113812381114111312131114111411131213111411131213113911381114113812381138113911381114111411381200060593941337133614361311131213121312131113371336143613111411141113121311141113121312131114111336143613121336143613361336143613121311143613000d05000000000000000000000000",
       		       					"arrowDown": "26008c009394123712381138111412131113121311141237133712371114121312121312111412371312111412131212123811381114121312371238123712371213111411381200060692951237123713371213121213121312121312371237143612131212131213121213133613121213131113121336143613121312133613361436133614111312133614000d05000000000000000000000000",
              						"arrowLeft": "26008c009693133614361336141113121311141113121336143613361411131213111411131213361411133614111411133614361312131114361312133613361411141113361400060595921436133614361311141114111312131114361336143613111411141113121311143613121336131213111436133614111411133614111336143613121311143613000d05000000000000000000000000",
              						"arrowRight": "26008c00949313361436133614111312131114111411133614361336141113121311170e141113121336131213121311143613361411133614111436133613361411141113361400060495911436133614361312131114111411131213361336143613121311141114111312131114361312131114111336143613121336141113361436133614111312133614000d05000000000000000000000000",
              						"back": "26008c009592143613361436131114111411131213111436133614361312131114111312131114111411131213361336141114361311143613361436131213111436131213361300060495921436133613361411141113121311141114361336133713111411131213111411141113121311143613361411133614111436133614361311141114351411143613000d05000000000000000000000000",
              						"exit": "26008c009394113812381138121311141113121311141138123811381213111411141113121311381213113911381114113812131114111312381114111312381114113811391100060792951138113812381114111312131114111411381139113811141113121311141114113811141138123811141138111411131213113911131213113913111238113811000d05000000000000000000000000",
	              					"info": "26008c009591143613361436131213111411131213121336133614361312131114111411131213361336143613361436131213111411131213121311141113121336143613361400060494931436133613361411141113121311141114361336143613111411131213121311143613361436133613361411141113121311141114111312131114361336143613000d05000000000000000000000000"
       		     				},
            					"volume": {
              						"up": "26004e00929514111213143514361412123614111412121114121038143614111435141213121236143514361412133514131014121311121411141211371213143514361435140005ff9295143614000d0500000000000000000000",
              						"down": "26004e00929514121211143614351413123614121211141113131236143613121336141212111411143613361412123614131112131114361412121114361412123614361336140005ff9295143515000d0500000000000000000000"
						}
					}
				},
				{
					"name": "Home Theatre",
					"type": "tv",
					"pingIPAddress": "192.168.x.x",
					"pingFrequency": 5,
					"pingIPAddressStateOnly": true,
					"data": {
						"on": "26005600949313121312133613361411143613111411131213121336133614111337131114111312133614361336143613111411131213361411131213111411133614361336140005ff9393143613000c4f9493133614000d050000",
						"off": "26005600949313121312133613361411143613111411131213121336133614111337131114111312133614361336143613111411131213361411131213111411133614361336140005ff9393143613000c4f9493133614000d050000",
					    "remote": {
              			"select": "26004e00929514111312133611391311143613121311141114111336143613121336131211141311143613121336131213361411133614361312133614111336131213371311140006009294143613000d0500000000000000000000",
							"arrowUp": "26004e00929512131312133612381113123811141113141112131336143611141138121313121138133711381213111413361114113813121312111314361138121313371113120006029294143613000d0500000000000000000000",
       		       			"arrowDown": "26004e00929511141113123813361213113911131213111411141138113812131238131112131213113814361114111312381114113812381113121311381238111411381213110006029295113812000d0500000000000000000000",
              				"arrowLeft": "260052009294121312131138123811151038121311151013121312371238111510381213111411141115101311381213123811151038113812381138121311391113123811151000060292951138110008b00c000d05000000000000",
              				"arrowRight": "26004e00929511141114113811381213123811131213121311141138123811131238111411131238111411131238111411381114113812131138123811141138121311381312120006019295123811000d0500000000000000000000",
              				"back": "26004e00939412150f14133612381114113811141114111312131138123811141138121311141113133711141113121511371113123811381213123811381238111312381114110006029294123811000d0500000000000000000000",
							"playPause": "26004e00929412131215113711381114113812131114111312131238113812131138121312150f38123811381238111512121138131211131213121311141138113911150f39110006029295113812000d0500000000000000000000",
              				"exit": "26004e009295111510150f3911381312123713140f15101510151038123713140f39121410150f38131212381213111312381214103813131038121311381337121311381312110006029295133612000d0500000000000000000000",
	              			"info": "26004e00929412131213113911381114113812131312111411131238113812131138121312131114113812131138121312131114113812381113123811141138133711381114110006029295113812000d0500000000000000000000"
       		     		},
            			"volume": {
              				"up": "26004e00929514111213143514361412123614111412121114121038143614111435141213121236143514361412133514131014121311121411141211371213143514361435140005ff9295143614000d0500000000000000000000",
              				"down": "26004e00929514121211143614351413123614121211141113131236143613121336141212111411143613361412123614131112131114361412121114361412123614361336140005ff9295143515000d0500000000000000000000"
						},
						"inputs": [{
							"name": "Home",
							"type": "other",
							"data": "26004e009295111510150f3911381312123713140f15101510151038123713140f39121410150f38131212381213111312381214103813131038121311381337121311381312110006029295133612000d0500000000000000000000"
						},
						{
							"name": "Function",
							"type": "hdmi",
							"data": "26004e00929412131213113911381114113812131312111411131238113812131138121312131114113812131138121312131114113812381113123811141138133711381114110006029295113812000d0500000000000000000000"
						}]						
					}

tv is not shown properly

I added a tv type as shown in the example.json in the repository
Added multiple hdmi inputs
on the homekit the icon is shown as a television, but i see nothing except turning the tv on\off and the current input and some weird "Show as separate tiles" option.
Can't see a volume or input selection, is it something wrong that I did or apple changed something?
Running ios 13.2.2

How to add Inputs

This Plugin is working nicely for me so far but i dont get the Inputs to work properly.
I have a Samsung Smart Tv, to change the Inputs i have to press the Source Button, then swipe right a few times and then press ok. Is there a way to simplify?

I want to add hdmi 1-3 but i dont get it to work. One Input is working so far, the Netflix Application.

Someone with the same problem?
Here is my config
{
"platform": "BroadlinkRM",
"name": "Broadlink",
"hideScanFrequencyButton": false,
"hideLearnButton": false,
"hideWelcomeMessage": true,
"accessories": [
{
"name": "Learnbutton",
"type": "learn-code",
"host": "192.168.2.121",
"enableAutoOff": true,
"onDuration": 60,
"scanFrequency": true,
"isRFSupported": true
},
{
"name": "Fernseher",
"type": "tv",
"data": {
"off": "26008c009595113813371238121312131114121312131139113813371213121312131114121311141139111411141114111312131213133713121238123812381138133712381200060495951237123813371213121311141213121312381237133712131213121312131213111412381213121312131114121311131238131213371238113912381237123812000d05000000000000000000000000",
"on": "26008c009495123811391238111312131213121313121238123812381213121311141114111411141138131212131312121312131213123812131238123713371337123812381100060594951238113912381114121213121213121312381238123811141114111411141114111411381312121312131312121312131238111412381238123713371238123812000d05000000000000000000000000",
"remote": {
"select": "26008c009395133712381139121213121213121312131139113813371213121311141114111412121213121312381114113911381213123812381138121312381114111411381300060394951238113911381213121312131114111411381337123811141114111312131312121312131114113911131238123812131138123812381114113812131213123812000d05000000000000000000000000",
"arrowUp": "2600180194951238113813371213121311141213111411381337123811141114111312131213121312131213111412131138133712131238113812381238113911131213123812000604949512381138123812131114111411141213113812381139111411131213121312131213111411141114111411381238111411391138123811391138121312131238110006059495123812381138121312131114111411141138123812381114121311141113121312131213121312131114113812381213113911391138123812381114111312381200060593951337123812381212121312131312121311391237123812131213111411141213111412121213121312131238113812131238123812381138123811141114123713000d05",
"arrowDown": "2600180194931438133614361213121311141114111411381436123811141114111312131411123811141114111411131238123812131114113812381238113812131213143611000605949512381138123812131114111411141113123812381139111312131213121312131337111411131213121312381139111411131238123712391138121312131139110006059495113812381238111411141114131112131238113911381213121313121213111411391113121312131213123811381213141112381139113812381213111411391100060594951138123812381114111411141113121312381238113812131213121312131114113911131213121312131238113911131213123812381138123813121213113911000d05",
"arrowLeft": "26008c009495113814361238121311141113121312131238113911381213121312131114131211381213123812131114113911381213121311391114113812381213111411391100060594921537123811391114111312131213121312381138123812131213111411141114113812131238121311141138123812131114113812131238123811141114113812000d05000000000000000000000000",
"arrowRight": "26008c009495123811391138121312131114111411141138123812381114111411131213121312131238111411141113123812381114113812131238123811381213121312381100060594951139123713371114111411141114111313371238123811141113121312131213121311391114111312131337113911141138131212381139123712131213123811000d05000000000000000000000000",
"back": "2600460094951139113812381213111411141114111312381238113911131213121312131213111411141114113813371213113911141138123811391113131212381213113911000d050000",
"exit": "2600460094941238113911381213121312131114111411381337123811141114111312131213123811141237123812131238111412131113123812131114113911141138123812000d050000",
"playPause": "26008c009594123713371238111412131212121313121238123811381213121312131114111412371337123811141114121212381213121311141213113813371238111411381200060495941238123713371213111411141213121312371238123812131113131213121312123812381138131212131114113911131213121313121238113911381213123812000d05000000000000000000000000",
"info": "2600460093951337123811391113121312131213121311391138123812131114111411141114113812381139123712381213111411141114111411131213121312381139113813000d050000"
},
"powerMode": {
"show": "HEX..."
},
"volume": {
"up": "2600460094941337123812371213121312131213111411391138123812131114121311131213123812381237131212131213111412131114121312121238123811391237123812000d050000",
"down": "2600460093951337113912371213121312131213121311391237123812131213111411131213123812381114113813121213121311141213111412371213123812381237133711000d050000"
},
"inputs": [
{
"name": "Netflix",
"type": "application",
"data": [
{
"data": "26008c009594123713371238111411141212121313121238113911381213121311141213111411381312121312381238113813371213121311381238121312131213111412371200060594951237133712381114111312131213121311391237133712131213121312131113123812131213113911381238123811141114123713371213111412131114123712000d05000000000000000000000000",
"pause": 0.3
},
{
"data": "26008c009594123713371238111411141212121313121238113911381213121311141213111411381312121312381238113813371213121311381238121312131213111412371200060594951237133712381114111312131213121311391237133712131213121312131113123812131213113911381238123811141114123713371213111412131114123712000d05000000000000000000000000",
"pause": 0.3
}
]
}
]
}
}
]
},
{

PickUp temperature on other device

Hi

I'm trying to configure this plugin for the air conditionner with RM mini.
The ambient temperature is always the same (14°C) iand n the log I found:
[10/23/2019, 9:38:15 PM] [Remote Salon] Climatisation addTemperatureCallbackToQueue (requested temperature from device, waiting)

[10/23/2019, 9:38:15 PM] [Remote Salon] Climatisation onTemperature (14)

The question is how and where the plugin take the temperature? I found in the doc the variable temperatureFilePathbut if I can and how use it.
Do you know any possibility to pick up the ambiant temperature for the air conditionner directly by another device in homekit or homebridge (Broadlink A1 by exemple)?

Thanks

Channel numbers and inputs

Hello,

First of all, I really want to thank you for adding TV support to this plugin.
I have two questions though.

  1. Is it possible to add numbers (1, 2, etc.) or Channel_Up/Down to switch channels?
  2. Whatever I do and how many times I check the issues, I can't make the Inputs work. I add three inputs, one for the local TV source, one for the Apple TV and one for the Xbox. Only two of them appear in the list on device and it does not do anything.

Would you please help me?

TV Ping not working

Ping with tv type not working, here is my json code

"name": "TV",
"type": "tv",
"pingIPAddress": "192.168.0.39",
"pingFrequency": 20,
"pingIPAddressStateOnly": true,
"host": "192.168.0.4",
"allowResend": true,
"data": {
"on": "260050000001269511141114111411141114111411131213113911391139113911391114113812381114111411391139113911141114111312381139111411141114113911391139110005450001264b11000d050000000000000000",
"off": "260050000001269511141114111411141114111411131213113911391139113911391114113812381114111411391139113911141114111312381139111411141114113911391139110005450001264b11000d050000000000000000",
"volume": {
"up": "260058000001289313121312131213121213121213121312133713371337133713371312133712371337133713121337131213121337131213121312133712131237133713121336140005440001284a13000c560001284913000d05",
"down": "260050000001289413121213121213121312131213121312133713371337133712371312133713371337133713371337121213121337131213121312131213121337133712131237130005440001264b13000d050000000000000000"

here is the log output
Screen Shot 2019-09-16 at 8 44 24 pm

Can successfully ping the device
Screen Shot 2019-09-16 at 8 44 50 pm

hanging when there is no temperature feedback from device

From Reddit

Can you please check that version 4.0.1 isn’t working on iOS 13.2 specifically AC accessory. The difference I can find is that it’s hanging when there is no temperature feedback from device. And it puts entire home app in undetermined state.

FYI version 4.0.0 is perfect on iOS 13.2.

Add delay to TV Input change

Is there a way (or can functionality be added) to add a delay from turning the TV on to switching its input using a scene?

The use case is as follows:
I have scene 1 which turns the tv on and sets HDM1 active and scene 2 which turns the tv on and sets HDMI 2 active. If the last used input was HDM1 and then I activate scene 2, the tv turns on and Home sees the input as HDMI2 but the tv is still on HDM1.

When watching the homebridge output it sends both commands (without delay) and so the TV doesn't acknowledge the second command (input change) as it is still turning on.

Thanks!!

Fahrenheit for config?

Really happy with this plugin, although a bit unsatisfied with my air conditioner config. Currently you can only configure air conditioners using Celsius and my air conditioner uses Fahrenheit. This creates a really weird situation where setting the temperature does a conversion and I can't set it to certain temperatures. I would really appreciate the ability to add temperatures in config as Fahrenheit! Thanks

"enableAutoOff": true,

Hello, I set up a swtich tv and I would like to activate the function "enableAutoOff": true I need it to turn off quickly. Could you help me because it worked with the switch but not with tv. I show you my config file. Thanks

      "platform": "BroadlinkRM",
        "name": "Broadlink RM",
        "accessories": [
            {
                "accessory": "Broadlink RM Learner",
                "type": "learn-code",
                "name": "Learn IR",
                "host": "192.168.86.36"
            },
            {
                "name": "Television",
                "type": "tv",
                "enableAutoOff": true,
                "onDuration": 1,
                "data": {
                    "on": "260068001b1e1c1e391f1b1f1b1e1c1e1c1e1b1f1b3b1c1e38201b000b961b1f1b1f381f1b1f1b1f1b1f1b1f1b1f1b3b1b1f381f1b000b971b1e1c1e391f1b1f1b1e1c1e1c1e1b1f1b3b1c1e38201b000b961b1f1b1f381f1b1f1b1f1b1f1b1f1b1f1b3b1b1f381f1b000d05 "
                }

Second television has disappeared

hello, I had to add both tvs all worked well until the second disappears two days ago. I did not do anything. I happen to see tele in the homebridge terminal but it does not appear in homekit. however, there is no error. i tried deleting the line in config.json to reboot and put it back but the tv icon does not come back. you have an idea? thank you.

daily crashes (ENOTCONN)

Hi
My install has been crashing recently whilst complaining about ENOTCONN. Any ideas?

[05/11/2019, 10:45:59 pm] [Broadlink RM] Ceiling Fan setFanSpeed: 48
[05/11/2019, 10:45:59 pm] [Broadlink RM] Ceiling Fan setFanSpeed: (closest: 40)
[05/11/2019, 10:45:59 pm] [Broadlink RM] Ceiling Fan sendHex (192.168.1.70; 34:ea:34:e7:e8:76) 2600580000012b90153614111511141115111411153515111535151114111535153614111535151115101511153515111411151114361510153614361511143615351535151115351500056c00012a4815000c6600012b4815000d05
[05/11/2019, 10:45:59 pm] [Broadlink RM] Ceiling Fan setSwitchState: true
[05/11/2019, 10:45:59 pm] [Broadlink RM] Ceiling Fan setSwitchState: already true (no data sent - B)
[06/11/2019, 4:48:44 am] Error: read ENOTCONN
at tryReadStart (net.js:557:20)
at Socket._read (net.js:568:5)
at Socket.Readable.read (_stream_readable.js:490:10)
at Socket.read (net.js:608:39)
at new Socket (net.js:362:12)
at Object.Socket (net.js:253:41)
at createSocket (internal/child_process.js:311:14)
at ChildProcess.spawn (internal/child_process.js:424:23)
at Object.spawn (child_process.js:540:9)
at Object.probe (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-promise.js:44:15)
at Object.probe (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-sys.js:38:17)
at Timeout._onTimeout (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/helpers/getDevice.js:14:16)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)

[06/11/2019, 4:48:44 am] Got SIGTERM, shutting down Homebridge...
[06/11/2019, 4:48:44 am] Error: read ENOTCONN
at tryReadStart (net.js:557:20)
at Socket._read (net.js:568:5)
at Socket.Readable.read (_stream_readable.js:490:10)
at Socket.read (net.js:608:39)
at new Socket (net.js:362:12)
at Object.Socket (net.js:253:41)
at createSocket (internal/child_process.js:311:14)
at ChildProcess.spawn (internal/child_process.js:424:23)
at Object.spawn (child_process.js:540:9)
at Object.probe (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-promise.js:44:15)
at Object.probe (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-sys.js:38:17)
at Timeout._onTimeout (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/helpers/getDevice.js:14:16)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)

[06/11/2019, 4:48:44 am] [Broadlink RM] Error pinging Broadlink RM device at 192.168.1.70 (34:ea:34:e7:e8:76): Error: ping.probe: there was an error while executing the ping program. . Check the path or permissions...
[06/11/2019, 4:48:44 am] Error: ping.probe: there was an error while executing the ping program. . Check the path or permissions...
at ChildProcess. (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-promise.js:54:19)
at Object.onceWrapper (events.js:300:26)
at ChildProcess.emit (events.js:210:5)
at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:80:21)

[06/11/2019, 4:48:49 am] Error: read ENOTCONN
at tryReadStart (net.js:557:20)
at Socket._read (net.js:568:5)
at Socket.Readable.read (_stream_readable.js:490:10)
at Socket.read (net.js:608:39)
at new Socket (net.js:362:12)
at Object.Socket (net.js:253:41)
at createSocket (internal/child_process.js:311:14)
at ChildProcess.spawn (internal/child_process.js:424:23)
at Object.spawn (child_process.js:540:9)
at Object.probe (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-promise.js:44:15)
at Object.probe (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-sys.js:38:17)
at Timeout._onTimeout (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/helpers/getDevice.js:14:16)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)

[06/11/2019, 4:48:49 am] Error: read ENOTCONN
at tryReadStart (net.js:557:20)
at Socket._read (net.js:568:5)
at Socket.Readable.read (_stream_readable.js:490:10)
at Socket.read (net.js:608:39)
at new Socket (net.js:362:12)
at Object.Socket (net.js:253:41)
at createSocket (internal/child_process.js:311:14)
at ChildProcess.spawn (internal/child_process.js:424:23)
at Object.spawn (child_process.js:540:9)
at Object.probe (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-promise.js:44:15)
at Object.probe (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-sys.js:38:17)
at Timeout._onTimeout (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/helpers/getDevice.js:14:16)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)

[06/11/2019, 4:48:49 am] [Broadlink RM] Error pinging Broadlink RM device at 192.168.1.70 (34:ea:34:e7:e8:76): Error: ping.probe: there was an error while executing the ping program. . Check the path or permissions...
[06/11/2019, 4:48:49 am] Error: ping.probe: there was an error while executing the ping program. . Check the path or permissions...
at ChildProcess. (/usr/local/lib/node_modules/homebridge-broadlink-rm-tv/node_modules/ping/lib/ping-promise.js:54:19)
at Object.onceWrapper (events.js:300:26)
at ChildProcess.emit (events.js:210:5)
at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:80:21)

Unable to See Remote option in Iphone homekit app

Ive configured one of my TVs with the new homebridge-broadlink-rm-tv plugin tha supports TV device type... (see below config).
I can see ON/OFF button and input change (Cable-bluray-Game-Etc) .. but Im not able to see remote option in order to press Select - Up - down, - etc...
Also no option to volume Up and Down (Ive tried with phone vol + and vol - buttons while TV opened and no command sent to TV (broadlink with no activity)

Am I doing something wrong in config? How can Access to Remote and Volume option in App? I copied and edited sample config on (https://github.com/AlexanderBabel/homebridge-broadlink-rm/blob/master/config-sample.json)

This is how I see TV in homekitApp
https://drive.google.com/file/d/15QmCqZEseXzeA4TGCweOlTFYeqWS8siA/view?usp=sharing

Running IOS 13.2.2

This is how I see TV Living Accesory on HomeKit UI Accesory tab

Television  
Active 1
Active Identifier 3
Configured Name TV Living
Sleep Discovery Mode 1
Remote Key  
Picture Mode 0
Power Mode Selection  
Manufacturer Broadlink
Model RM Mini or Pro
Name TV Living
Serial Number 7bbe1804-ca44-46b4-8a03-a9d4ac1394d5
Homebridge Instance IP 192.168.0.139
Homebridge Instance Port 37987
Homebridge Instance Username BA:6F:0C:F9:24:57
aid 1
iid 8

This is the applied config on this TV.

	{
                "name": "TV Living",
                "type": "tv",
                "host": "77:0f:78:5a:d9:d6",
                "pingIPAddress": "192.168.0.45",
                "pingIPAddressStateOnly": true,
                "pingFrequency": 3,
                "pingGrace": 24,
                "data": {
                    "on": "260058000001269114111312133613111312131113121312133613361312133613361336133614351411133613121336131213361311131213361312133613111436131113361436130005140001264814000c380001264913000d05",
                    "off": "260060000001269114111311143514111312131114111311143514361311143514361336133613361435141113361411131114361311131213111435141113361435141113361435140005140001264814000c380001264913000c380001274813000d050000000000000000",
                    "remote": {
                        "select": "260054000700021300012a94151114111437141114111510151114111437143615111436153614361536143615111411153614111411151114361511143615361411143714361536141114361500050b0001294b14000d0500000000",
                        "arrowUp": "2600500000012a94141114121337151014121411141114121337153614111437133714371436153615361411143714111411141213371510141213371511143615361535151113371500050b00012b4915000d050000000000000000",
                        "arrowDown": "2600480000012c931411151015361510151015111411151015361535151115351536153614361536151015361436151114111510153615101536151015101536153614361511143615000d05",
                        "arrowLeft": "2600500000012c92151115101536141115101511141115101536153515111436153615351536153614361536153515111411151015361510151015111411153515361536141115351500050900012e4815000d050000000000000000",
                        "arrowRight": "2600580000012c93151015101536151015111411151015101536153614111535153615361436153615101510151115351511141115361411153515361536141115351536151015361500050b00012b4915000c5200012c4815000d05",
                        "back": "2600580000012b93151015101536151015111411151015111436153615101535153615361436153615101536151015361411151015361510153614111536141115351536151015361500050a00012c4815000c5200012c4815000d05",
                        "exit": "2600500000012c92151114111536141115101510151114111536143615101536153614361536143615361510151114361510151114361511141114361536151015361535151114361500050b00012b4815000d050000000000000000",
                        "playPause": "2600600000012d92151015111535151114111510151114111535153615101536153515361536143615361535151114111535153615101511141115101536153515111510153614361500050b00012b4915000c5100012c4815000c5200012b4815000d050000000000000000",
                        "info": "2600580000012c92151015111536141114111510151114111535153615101536153515361536143615361535151114361536151015111411151015101536151015111436153615351500050b00012b4914000c5200012c4815000d05"
                    },
                    "powerMode": {
                        "show": "2600580000012c921510151115361411141115101511141115"
                    },
                    "volume": {
                        "up": "2600480000012a951213121313381213131213131213121313381238131312381437123815361338121312391213121313131213121313121338121313381238133812391238133812000d05",
                        "down": "2600500000012995131312131338121313121313121313121338123813131238143713371437123912381338121312131313121312131312131312131338123813381238143713371300050d0001294b12000d050000000000000000"
                    },
                    "inputs": [
                        {
                            "name": "Netflix",
                            "type": "hdmi",
                            "data": "2600cc004e15131413142715261526152714271413151314131413152714271413151300029b4e15131413152615261527142714271413151314131513142714271413151300029c4e14131513142714271427142714271513141314141413142714271513141300029c4e14131513142714271427152615261513141315131413152615261513151200029c4e15131413142715261526152714271413151314131513142714271413151300029b4e151314131526152714271427142714131513141315131427142714131513000d05000000000000000000000000"
                        },
                        {
                            "name": "TV",
                            "type": "hdmi",
                            "data": "2600ee004e1413152615131427141315261526151314131513141315261526151314130002b04e1413152813141327141315281328131513131414131513281328131513120002b04f1315132813141329121513281328131513141315131413281329121513140002ae501314132813151328131512291229131413151215131512291229131413150002ad501315122912151328131513281328131413151314131513281328131413150002ae4f1315132615141327141315281328131315131415131413271428131315130002af4e151314271413152615131427152615131413151314131427152615131413000d0500000000000000000000"
                        },
                        {
                            "name": "BluRay",
                            "type": "hdmi",
                            "data": "260034014e141315261527141314271513141314141413141315131427141315131413152615131427141315130001ea4e141414271427141315261513141315131413141414131427141414131413152714131427141414130001ea4e151314271427141315261513141315131413151314131526151314131513142714131526151314130001ea4f141314271427151314271413151314131414141314131526151314131513142714131527141314130001eb4e141314271526151314271413151314131513141314141427141314141413142714141427141315130001ea4e141315261526151314271414141314131513141315131427141315131413142715131427141315130001ea4e14131527142714131427151314131414141314131513142714131513141315261513142714131513000d0500000000"
                        },
                        {
                            "name": "Cable",
                            "type": "hdmi",
                            "data": "2600ee004f1427142714131513141315131413141414131413151314271427141414270002c34e1427142714131513141315131413151314131414141314271526151314270002c34e1427142714141413141315131413151314131513141314271526151314270002c34e1427142715131413141414131413151314131513141315261526151314270002c34e1427152615131413151314131414141314131513141315261527141314270002c34e1526152615131413151314141413141314131513141315261527141314270002c34e152615271413141315131413151314131513141315131427142714131526000d0500000000000000000000"
                        },
                        {
                            "name": "Chromecast",
                            "type": "hdmi",
                            "data": "2600aa00501215122913151215121513281315121512151315121512291229131512150002d7501315122912151215131512291215121513151215131413291229121512150002d8501215132813151215121513281315121512151315121513281328131512150002d8501315122912151215131512291215131512151215131512291229121513140002d950121512291215131512151328131512151215131512151229122912151315000d050000000000000000000000000000"
                        },
                        {
                            "name": "Play 4",
                            "type": "hdmi",
                            "data": "2600cc004e15131413142715261526152714271413151314131413152714271413151300029b4e15131413152615261527142714271413151314131513142714271413151300029c4e14131513142714271427142714271513141314141413142714271513141300029c4e14131513142714271427152615261513141315131413152615261513151200029c4e15131413142715261526152714271413151314131513142714271413151300029b4e151314131526152714271427142714131513141315131427142714131513000d05000000000000000000000000"
                        },
                        {
                            "name": "Apple TV",
                            "type": "hdmi",
                            "data": "2600ee00511215122912291229122912151216121512151315121512291229121612150002af511215122912291229122912161215121512161215121512291329121512150002b0501216122912291229122912151216121512151216121512291229121612150002b1501215122912291329122912151215121612151215121612291229121512150002b1511215122912291229122912161215121512161215121512291229121612150002b0511215122912291229122912161215121611161215121512291329121512150002b051121512291229122912291216121512151216121512151329122912151215000d0500000000000000000000"
                        }
                    ]
                }
            },

All possible buttons?

Is the sample config.json feature-complete in terms of available buttons? Or are there more buttons that can be configured?

TV issue

Hello,
for some reason every time I add a TV accessory it bug my homebridge and a lot of my accessories disappear
Has anyone had the same issue?

Add Original Broadlink PR#336

I know you said you only support the TV accessory on this fork, but I saw you were willing to add some air con mods someone put forward. Frustratingly the old plugin is no longer supported and a PR on it I need was never merged (lprhodes#336) is there any chance you could merge it into your fork? There are two parts to it, I’m only after the white colour added to the light.

Inputs Losing Name

Hi, love your work here :) one small thing I have noticed is Input 2 and Input 3 always lose their name that I have defined in my config. This requires me to change it in the setup of the accessory in HomeKit and then it loses it again after a while. Any ideas why this might be happening?

01260523-BE43-4AD3-B066-0ED766E0EDD1

Cannot see volume controls

I've added my config and can see TV in homekit but cant see volume controls.
Here is my config file

{
"name": "TV",
"type": "tv",
"data": {
"on": "260050000001269511141114111411141114111411131213113911391139113911391114113812381114111411391139113911141114111312381139111411141114113911391139110005450001264b11000d050000000000000000",
"off": "260050000001269511141114111411141114111411131213113911391139113911391114113812381114111411391139113911141114111312381139111411141114113911391139110005450001264b11000d050000000000000000",
"volume": {
"up": "260058000001289313121312131213121213121213121312133713371337133713371312133712371337133713121337131213121337131213121312133712131237133713121336140005440001284a13000c560001284913000d05",
"down": "260050000001289413121213121213121312131213121312133713371337133712371312133713371337133713371337121213121337131213121312131213121337133712131237130005440001264b13000d050000000000000000"
}
}

Air con temperature is set always to defaultTemperature

While I try change the temperature of the air con, the return temperature is always the default one, for cooling and heating. A part of the config file is also copied below.

[12/14/2019, 1:14:48 PM] [Broadlink RM] Air Conditioner setTargetTemperature: 32
[12/14/2019, 1:14:48 PM] [Broadlink RM] Air Conditioner No heat HEX code found for 32
[12/14/2019, 1:14:48 PM] [Broadlink RM] Air Conditioner Update to default temperature (30)
[12/14/2019, 1:14:48 PM] [Broadlink RM] Air Conditioner sendHex (192.168.0.115; 42:f7:c8:48:61:62) 2600d800000126941336133712121213121212121238123811381337123712131237123812121238131113111312121212121337123713371311121312121213111312121213111312121213121212121212133712381212121212131212131112131212121212131212121213121212121212131212123812121212121311131212121312121212121311131212121312121212121312121212121312121212123812371312121212121213121213111213121212121213123713121237121312121212121312121238123712381237121312371238121212000d05
[12/14/2019, 1:14:48 PM] [Broadlink RM] Air Conditioner getTargetTemperature: 30
[12/14/2019, 1:14:48 PM] [Broadlink RM] Air Conditioner sentTemperature (30)
[12/14/2019, 1:14:49 PM] [Broadlink RM] Air Conditioner setCurrentHeatingCoolingState: 1
[12/14/2019, 1:14:49 PM] [Broadlink RM] Air Conditioner setCurrentHeatingCoolingState: already 1 (no data sent - B)

{
"name": "Air Conditioner",
"type": "air-conditioner",
"defaultCoolTemperature": 20,
"defaultHeatTemperature": 30,
"pseudoDeviceTemperature": 22,
"heatTemperature": 26,
"data": {
"off": "hexcode",
..................................
"temperature28": {
"data": "hexcode",
"pseudo-mode": "heat"
},
"temperature29": {
"data": "hexcode",
"pseudo-mode": "heat"
},
"temperature30": {
"data": "hexcode",
"pseudo-mode": "heat"
},
"temperature31": {
"data": "hexcode",
"pseudo-mode": "heat"
},
"temperature32": {
"data": "hexcode",
"pseudo-mode": "heat"
}
}
}

Remember input on restart

As @lint2015 mentioned in #4, it would be good to remember the selected input. Every time I restart, mine resets to BluRay -- not sure why it's that one, it's not first in my config or alphabetically.

config.json

hello, you see an error on this config.json? it works well but the inputs are not displayed and the tv LG is not displayed in the control center. thanks

        "platform": "BroadlinkRM",
        "name": "Broadlink RM",
        "accessories": [
            {
                "accessory": "Broadlink RM Learner",
                "type": "learn-code",
                "name": "Learn IR",
                "host": "192.168.86.141"
            },
            {
                "name": "LG",
                "type": "tv",
                "host": "192.168.86.141",
                "data": {
                    "on": "260050000001289214111411143514111312131114111312133614351411143514361336143613361312131114111336141113121311141114351436133614111336143613361336140005220001284814000d050000000000000000",
                    "off": "260050000001289214111411143514111312131114111312133614351411143514361336143613361312131114111336141113121311141114351436133614111336143613361336140005220001284814000d050000000000000000",
                    "remote": {
                        "select": "260058000001279313121311143613121311131213121311143613361312133613361436133613371311141113361411131213111436131213361336131213361436133613121336130005220001284913000c4c0001284913000d05",
                        "arrowUp": "260058000001289214111312133613121312131114111312133613361411133614361336133713361312131114111312131114111336141113371336133614361336133614111336140005220001284913000c4c0001274a13000d05",
                        "arrowDown": "260058000001269411131213113812131114111411131114113812381113123811381138123811381238111312131114111312131138121311141138113911381138123811131238110005240001274a11000c4f0001264a12000d05",
                        "arrowLeft": "260058000001269511131114113812131114111312131114113811391113123811381138123811381138123811381213111411131213111411131213111411381138123811381238110005240001264b11000c4e0001274a13000d05",
                        "arrowRight": "260050000001289212131114113811141114111312131114113811381213113911381138123811381114113811381213121311141113121311381213111411381139113811381238110005240001274a11000d050000000000000000",
                        "back": "260050000001269411141114113813121113131213121311123813361312133613371336133713361114131113121336141113371212131213361436113812131336131213361337130005230001264a14000d050000000000000000",
                        "exit": "260058000001269413121311133711131213131213121311123813361312113813361238133612381138113812131139113813121336131211131213113911131114113812131138120005240001264b11000c4f0001264b11000d05",
                        "info": "260050000001269411141114113811141113121311141113123811381114113812381138113812381138113911131213111411131238111411131114113812381138113812131139110005240001274a11000d050000000000000000"
                    },
                    "volume": {
                        "up": "260050000001299114111312133613121312131114111312133613361411143514361336143613361312133613121312131114111312131114361311143613361436133613361436130005220001294814000d050000000000000000",
                        "down": "260050000001299114111411133614111312131114111411133614361311143613361435143613361436133614111312131114111312131114111312133614361336133614361336140005220001284913000d050000000000000000"
                    },
                    "inputs": [
                        {
                            "name": "AppleTv",
                            "type": "hdmi",
                            "data": "260050000001259411141015103910141114101510141114103910391114103910391139103910391015101411141014113910391039103911381139103910391015101411141015100005220001254b10000d050000000000000000"
                        },
                        {
                            "name": "TV",
                            "type": "hdmi",
                            "data": "260050000001259411141015103910141114101510141114103910391114103910391139103910391015101411141014113910391039103911381139103910391015101411141015100005220001254b10000d050000000000000000"
                        }
                    ]
                }
            },
            {
                "name": "Télé",
                "type": "tv",
                "host": "192.168.86.36",
                "pingIPAddress": "192.168.86.123",
                "pingFrequency": 2,
                "pingIPAddressStateOnly": true,
                "data": {
                    "on": "260068001b1e1c1e391f1b1f1b1e1c1e1c1e1b1f1b3b1c1e38201b000b961b1f1b1f381f1b1f1b1f1b1f1b1f1b1f1b3b1b1f381f1b000b971b1e1c1e391f1b1f1b1e1c1e1c1e1b1f1b3b1c1e38201b000b961b1f1b1f381f1b1f1b1f1b1f1b1f1b1f1b3b1b1f381f1b000d05",
                    "off": "260068001b1e1c1e391f1b1f1b1e1c1e1c1e1b1f1b3b1c1e38201b000b961b1f1b1f381f1b1f1b1f1b1f1b1f1b1f1b3b1b1f381f1b000b971b1e1c1e391f1b1f1b1e1c1e1c1e1b1f1b3b1c1e38201b000b961b1f1b1f381f1b1f1b1f1b1f1b1f1b1f1b3b1b1f381f1b000d05",
                    "remote": {
                        "select": "26001800383b391f1b1f1b1f1b1e1c1e1c3b383b1c1e1b1f1b000d05",
                        "arrowUp": "26003000383c381f1b1f1b1f1b1f1b1f1b3b3a1d1b1f1b1f1d000b94393b381f1c1e1c1e1b1f1b1f1b3b38201b1e1c1e1c000d050000000000000000",
                        "arrowDown": "26003400381f1c1e1b1f1b1f1b1f1b1f1b1f1b3b381f1b1f1b3b1c000b79391f1b1f1b1f1b1e1c1e1c1e1c1e1b3b391f1b1f1b3b1b000d0500000000",
                        "arrowLeft": "2600180038201b1e1c1e1c1e1b1f1c1e1b1f1b3b383c383c1b000d05",
                        "arrowRight": "26001600383c381f1b1f1c1e1b1f1b1f1c3a383b1c1e39000d050000",
                        "back": "26003400381f1c1e1b1f1b1f1b1f1b1f1b1f1b3b381f1b3b1d1d1c000b79391f1b1f1b1f1b1e1c1e1c1e1b1f1b3b391f1b3b1b1f1b000d0500000000",
                        "exit": "26003400381f1c1e1b1f1b1f1b1f1b1f1b1f1b3b381f1b3b1d1d1c000b79391f1b1f1b1f1b1e1c1e1c1e1b1f1b3b391f1b3b1b1f1b000d0500000000",
                        "info": "26001800381f1b1f1b1f1b1f1b1f1b1f1b1f1b3b381f1b3b39000d05"
                    },
                    "volume": {
                        "up": "26009000000124951014113910151039103a1039121310381214101510151014111410391312103a1039103a1014111410151015121211141015101411391039133710391139103911000541000124951014113910151039103a1237101510391114101510151014111410391114103a1039103a1014111410151015101411141015101411391039113811391139103911000d050000000000000000",
                        "down": "26009000000126941114103a1014103a10391139101411391015101411141015101411391015103910151039111410151015101411141015103911141039113910391139103911391000054100012594111410391114103a1039103a1014113910151014111410151014113910151039101510391114101510151014111410151039101510391139103812381139113910000d050000000000000000"
                    }
                }
            },
            {
                "name": "Barre de Son",
                "type": "switch",
                "host": "192.168.86.36",
                "enableAutoOff": true,
                "onDuration": 20,
                "data": {
                    "on": "2600d800000124951015103911141039113910391114103a10141114101510141114103a10141139101510141139103911141015103911141039113811151014113910391114103a10000541000124951015103911141039113911381114103a1014111411141014111411391014113910151014113910391114101510391114103a103910151014113910391114103a10000541000124951015103911141039113910391114103a10141114101510141114113910141139101510141139103911141015103911141039113910151014113910391114103a10000d05 "
                }
            }
        ]
    },
    {

random crashes

Hello,
I experience random crashes with the following stack trace-

[11/14/2019, 9:49:10 PM] [Broadlink RM] Learn Code (ready)
[11/14/2019, 9:49:15 PM] TypeError: log is not a function
at stop (/homebridge/node_modules/homebridge-broadlink-rm-tv/helpers/learnData.js:14:3)
at Object.start (/homebridge/node_modules/homebridge-broadlink-rm-tv/helpers/learnData.js:18:3)
at LearnIRAccessory.toggleLearning (/homebridge/node_modules/homebridge-broadlink-rm-tv/accessories/learnCode.js:41:17)
at Characteristic.On.emit (events.js:210:5)
at Characteristic.On.Characteristic.setValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Characteristic.js:321:10)
at Bridge. (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:882:22)
at Array.forEach (:null:null)
at Bridge.Accessory._handleSetCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:822:8)
at HAPServer.emit (events.js:210:5)
at HAPServer._handleCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:974:10)
at HAPServer. (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
at IncomingMessage.emit (events.js:210:5)
at endReadableNT (_stream_readable.js:1183:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21)

[11/14/2019, 9:49:15 PM] Got SIGTERM, shutting down Homebridge...
[11/14/2019, 9:49:24 PM] Loaded config.json with 0 accessories and 3 platforms.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.