AlexanderBabel / homebridge-broadlink-rm

[This fork supports TV accessories] Broadlink RM Mini and Pro plugin for homebridge: https://github.com/nfarina/homebridge
Apache License 2.0
46 stars 11 forks source link

daily crashes (ENOTCONN) #45

Closed deeloke closed 4 years ago

deeloke commented 4 years ago

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)

kiwi-cam commented 4 years ago

Hi @deeloke . Do you get this constantly - like every five seconds?

We ping the Broadlink device every 5 seconds to confirm that it's still online. If this happens intermittently then it might just be a matter of tweaking the logic. If it's constant... I'll need to dig deeper and get to the bottom of it.

Unfortunately I'm at work so can't dig much deeper into this right now.

deeloke commented 4 years ago

Hi Alexander Thanks for writing. No, this crash occurs once per day (over the past 3 days), so intermittently.
-Damien


Damien Lock Sent from my mobile

On 7 Nov 2019, at 03:46, Cameron notifications@github.com wrote:

 Hi @deeloke . Do you get this constantly - like every five seconds?

We ping the Broadlink device every 5 seconds to confirm that it's still online. If this happens intermittently then it might just be a matter of tweaking the logic. If it's constant... I'll need to dig deeper and get to the bottom of it.

Unfortunately I'm at work so can't dig much deeper into this right now.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

kiwi-cam commented 4 years ago

Sweet. I'm comfortable just reporting and ignoring the error then. I've made a change but I can't test it at the moment. If you're able could you:

  1. run npm install -g git+https://github.com/AlexanderBabel/homebridge-broadlink-rm#kiwi-cam-pingerror
  2. restart homebridge
  3. try again

If not, I'll take a look this evening.

kiwi-cam commented 4 years ago

I've just installed this version at home and initial testing looks good. I'll run it for a day or two and make sure there's nothing unexpected then I'll update the master. If you get a chance to run this version too, let me know how it goes.

deeloke commented 4 years ago

Ok, I needed to uninstall the original homebridge-broadlink-rm plug, before I could run yours.

Funny thing is that since I wrote to you, homebridge hasn’t crashed!

Here’s the console output from your new version:

homebridge [07/11/2019, 8:36:55 pm] Loaded config.json with 0 accessories and 1 platforms. [07/11/2019, 8:36:55 pm] --- [07/11/2019, 8:36:55 pm] Loaded plugin: homebridge-broadlink-rm-tv [07/11/2019, 8:36:55 pm] Registering platform 'homebridge-broadlink-rm.BroadlinkRM' [07/11/2019, 8:36:55 pm] --- [07/11/2019, 8:36:55 pm] Loaded plugin: homebridge-config-ui-x [07/11/2019, 8:36:55 pm] Registering platform 'homebridge-config-ui-x.config' [07/11/2019, 8:36:55 pm] --- [07/11/2019, 8:36:55 pm] Loading 1 platforms... [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing BroadlinkRM platform... [07/11/2019, 8:36:55 pm] [Broadlink RM] [INFO] Automatically discovering Broadlink RM devices. [07/11/2019, 8:36:55 pm] [Broadlink RM] [INFO] Running Homebridge Broadlink RM Plugin version 4.0.1 HAP Warning: Characteristic 00000025-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 000000B7-0000-1000-8000-0026BB765291. Adding anyway. [07/11/2019, 8:36:55 pm] [Broadlink RM] Ceiling Fan Accessory Ready [07/11/2019, 8:36:55 pm] [Broadlink RM] Light White Accessory Ready [07/11/2019, 8:36:55 pm] [Broadlink RM] Light Yellow Accessory Ready [07/11/2019, 8:36:55 pm] [Broadlink RM] Light OffWhite Accessory Ready [07/11/2019, 8:36:55 pm] [Broadlink RM] Light toggle Accessory Ready [07/11/2019, 8:36:55 pm] [Broadlink RM] Sharp TV Accessory Ready [07/11/2019, 8:36:55 pm] [Broadlink RM] Air Con Accessory Ready [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing platform accessory 'Learn'... [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing platform accessory 'Ceiling Fan'... [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing platform accessory 'Light White'... [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing platform accessory 'Light Yellow'... [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing platform accessory 'Light OffWhite'... [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing platform accessory 'Light toggle'... [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing platform accessory 'Air Con'... [07/11/2019, 8:36:55 pm] [Broadlink RM] Initializing platform accessory 'Sharp TV'... [07/11/2019, 8:36:55 pm] Loading 0 accessories... Setup Payload: X-HM://0023IX8JIAC7A Scan this code with your HomeKit app on your iOS device to pair with Homebridge:

Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:

┌────────────┐
│ 033-44-254 │
└────────────┘

[07/11/2019, 8:36:55 pm] Homebridge is running on port 51826. [07/11/2019, 8:36:56 pm] [Broadlink RM] Ceiling Fan getSwitchState: true [07/11/2019, 8:36:56 pm] [Broadlink RM] Ceiling Fan getSwingMode: 0 [07/11/2019, 8:36:56 pm] [Broadlink RM] Ceiling Fan getFanSpeed: 57 [07/11/2019, 8:36:56 pm] [Broadlink RM] Ceiling Fan getRotationDirection: 0 [07/11/2019, 8:36:56 pm] [Broadlink RM] Light White getSwitchState: false [07/11/2019, 8:36:56 pm] [Broadlink RM] Light White getBrightness: 100 [07/11/2019, 8:36:56 pm] [Broadlink RM] Light Yellow getSwitchState: true [07/11/2019, 8:36:56 pm] [Broadlink RM] Light Yellow getBrightness: 25 [07/11/2019, 8:36:56 pm] [Broadlink RM] Light OffWhite getSwitchState: false [07/11/2019, 8:36:56 pm] [Broadlink RM] Light OffWhite getBrightness: 100 [07/11/2019, 8:36:56 pm] [Broadlink RM] Light toggle getSwitchState: false [07/11/2019, 8:36:56 pm] [Broadlink RM] Sharp TV getSwitchState: 0 [07/11/2019, 8:36:56 pm] [Broadlink RM] Air Con getCurrentHeatingCoolingState: 0 [07/11/2019, 8:36:56 pm] [Broadlink RM] Air Con getTargetTemperature: 28 [07/11/2019, 8:36:56 pm] [Broadlink RM] Air Con getTargetHeatingCoolingState: 0 [07/11/2019, 8:36:56 pm] [Broadlink RM] [INFO] Discovered Broadlink RM2 Pro Plus (272a) at 192.168.1.70 (34:ea:34:e7:e8:76) [07/11/2019, 8:36:57 pm] [Broadlink RM] Light OffWhite getBrightness: 100 [07/11/2019, 8:36:57 pm] [Broadlink RM] Light OffWhite getSwitchState: false [07/11/2019, 8:36:57 pm] [Broadlink RM] Air Con getTargetHeatingCoolingState: 0 [07/11/2019, 8:36:57 pm] [Broadlink RM] Air Con getCurrentTemperature (using pseudoDeviceTemperature 10 from config) [07/11/2019, 8:36:57 pm] [Broadlink RM] Air Con getTargetTemperature: 28 [07/11/2019, 8:36:57 pm] [Broadlink RM] Air Con getCurrentHeatingCoolingState: 0 [07/11/2019, 8:36:57 pm] [Broadlink RM] Light Yellow getSwitchState: true [07/11/2019, 8:36:57 pm] [Broadlink RM] Light Yellow getBrightness: 25 [07/11/2019, 8:36:57 pm] [Broadlink RM] Ceiling Fan getSwitchState: true [07/11/2019, 8:36:57 pm] [Broadlink RM] Ceiling Fan getRotationDirection: 0 [07/11/2019, 8:36:57 pm] [Broadlink RM] Ceiling Fan getFanSpeed: 57 [07/11/2019, 8:36:57 pm] [Broadlink RM] Ceiling Fan getSwingMode: 0 [07/11/2019, 8:36:57 pm] [Broadlink RM] Sharp TV getSwitchState: 0 [07/11/2019, 8:36:57 pm] [Broadlink RM] Light toggle getSwitchState: false [07/11/2019, 8:36:57 pm] [Broadlink RM] Light White getBrightness: 100 [07/11/2019, 8:36:57 pm] [Broadlink RM] Light White getSwitchState: false

-Damien

On 7 Nov 2019, at 15:19, Cameron notifications@github.com wrote:

I've just installed this version at home and initial testing looks good. I'll run it for a day or two and make sure there's nothing unexpected then I'll update the master. If you get a chance to run this version too, let me know how it goes.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/AlexanderBabel/homebridge-broadlink-rm/issues/45?email_source=notifications&email_token=ABISES7PADXJ2RTE4WSGYJDQSO6OLA5CNFSM4JJVIDG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDLOGTA#issuecomment-550953804, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABISESYOWFCJUUC464LJHJLQSO6OLANCNFSM4JJVIDGQ.

kiwi-cam commented 4 years ago

That all looks perfect to me. Let me know if you do have any further crashes.

If the same thing happens again you'll see this line: [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... but Homebridge will now keep running.