mmende / homebridge-samsungtv-control2 Goto Github PK
View Code? Open in Web Editor NEWhomebridge-samsungtv-control2
License: MIT License
homebridge-samsungtv-control2
License: MIT License
Please add cable and SAT tuner STB-E7500 / STB-E7900 / STB-E7509S / STB-E7909S.
I have the cable tuner STB-E7900 wich was found by your discover function.
pi@homebridge:/lib/modules $ homebridge-samsungtv-control discover
Searching for devices...
Found unparsable model name (E7900) for device [STB]E7900, usn: "uuid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX". Skipping it.
😞 No Samsung TV found. Remember to turn on your Samsung TV's and check if they are connected to the same network before starting the discovery.
Thanks in advance!
This is possibly an enhancement we can do during the polishing up phase. Once TV is discovered and shown in log, USN and Remote port still needs to be manually added to the config.
Hi @mmende,
Thanks for creating plugin. Nice job 👍
I did get the pair1 to work and i have token.
But I'm not able to get the USN / UUID, it is not presentet in the logs.
But no USN / UUID in logs.
Any pointers?
My UE40H5500 does not turn off, if I use the cutom input KEY_POWEROFF it works fine
Instead of the pseudo input '-' you could use the default feature to indicate when it's on "On"
I was able to pair my TV using pair1. I have tried other ways to see if I could avoid what happens, but only pair1 seems to work with my TV.
I pair successfully, add the device in the Home app and am able to control the device using the iOS remote. I am able to see the status of the TV (on or off). I can power off the device once only, then the device never responds to power off again. I can still see the status in Home, cannot use the remote any longer in iOS, I can change the volume and mute/unmute Homebridge but also cannot power the device off.
When I try to power off the device again I get an UnhandledPromiseRejectionWarning in my logs. I apologize as I cannot paste the full text as iOS is not letting me copy it. I can grab them and post them later.
an error is given and I am unable to install the plugin here is the error undefined ls-remote -h -t https://github.com/mmende/samsung-remo
te-models-2014-and-newer.git**** then it says this a couple lines lower: This is related to npm not being able to find a file.
Ok so this is kind of strange... here are my steps and what is happening:
If I were to rerun the script to get the token, a different 8 digit token is presented every time. And, every time, the process of running it successfully mutes the TV.
Any ideas what might be going on here?
Hello,
When attempting to change inputs or power the TV on or off, the TV continuously prompts to allow or Deny access to NodeJS Remote, rather than just setting “allow” once. I’ve tried setting it so it never asks but still prompts to allow or deny everytime, requiring me to use the tv remote.
paring works and i get a token and the tv switches to mute but i can not find a usn number terminal is not showing it..
i did the paring with the command
Not sure if this is already known and something you might be working on, but thought I should mention it in case it is not known.
I think overall the remote works terrifically well, and quite responsive. The only short coming I wanted to bring to your attention is Play/Pause and Back button not working.
When trying to update via Homebridge Config UI X I am getting the following error. Anyone else or is it just me?
USER: homebridge
DIR: /usr/lib
CMD: sudo -E -n npm install homebridge-samsungtv-control@latest
npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno ENOENT
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t https://github.com/mmende/samsung-remote-models-2014-and-newer.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /home/homebridge/.npm/_logs/2020-07-25T14_15_06_626Z-debug.log
Command failed. Please review log for details.
Hello,
I got a Samsung F5370 with the version 2127 installed. I also have Homebridge successfully running and installed your plugin. The plugin doesn't show me the TV.
If I run the discover command manually on the shell, it doesn't find it.
With the legacy command it issues the mute key on the TV and the TV shows a message to allow or decline the request, the picture is attached. The command tells to set port to 55000.
Than I run pair2 with the port set to 55000 and again the TV shows the message to allow the request, but the command just continues and doesn't wait, than I can click accept on the TV and if I rerun the command it shows the same behavior, except it doesn't bring back the request on the TV.
Run pair2 and get a request on my tv to pair but when I click accept npx pair2 returns "That didn't work unfortunately" I have a samsung UN40MU6300
Hi,
I am a little confused!
My logs tell me to issue the npx command, but the very next line gives me the UUID (which I have put into my config).
Question: Is the paring token the same thing as the UUID?
When I run the pairing command, I get the following error:
Ok... sending the pairing request to your tv. Please click allow when asked
(node:45177) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66
throw new Error('Error send Key');
^
Error: Error send Key
at /usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66:23
at WebSocket.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:299:17)
at WebSocket.emit (events.js:315:20)
at ClientRequest.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/node_modules/ws/lib/websocket.js:551:15)
at ClientRequest.emit (events.js:315:20)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
Meanwhile, I cannot select any of my custom inputs.
Question: What am I doing wrong?
cheers!
James.
@mmende, Just wanted to make you aware of this
[1/4/2021, 1:56:22 AM] The plugin 'homebridge-samsungtv-control' slows down requests made to homebridge! The read handler for the characteristic 'Brightness' was slow to respond!
[1/4/2021, 1:56:22 AM] The plugin 'homebridge-samsungtv-control' slows down requests made to homebridge! The read handler for the characteristic 'Mute' was slow to respond!
[1/4/2021, 1:56:22 AM] The plugin 'homebridge-samsungtv-control' slows down requests made to homebridge! The read handler for the characteristic 'Volume' was slow to respond!
I installed and set up the new alpha plug in and it works well with my 2011 Samsung TV but I had trouble adding the custom inputs. No matter what I put, it only shows me the current source inputs and this Youttube input which does nothing on mine since YouTube was removed with a S/W update. I don't mind having the current source inputs (They are very useful) but I cannot get rid of the Youttube nor can I add other inputs (Channels, CC, etc.)
Below is my config.json if there are any errors:
{
"devices": [
{
"usn": "xxxxxxx",
"name": "Home TV",
"lastKnownIp": "192.168.1.xxx",
"mac": "xx:xx:xx:xx:xx",
"delay": 400,
"inputs": [
{
"name": "TV",
"keys": "KEY_TV"
},
{
"name": "MENU",
"keys": "KEY_MENU"
}
],
"disableUpnpSetters": false
}
],
"platform": "SamsungTVControl"
}
Just tested the new alpha beta but my tv is not showing in the Homebridge UI-X accessories tab. In the logs it seems that the plugin founds my Tv...
[2020-7-17 22:40:39] [SamsungTVControl] Discovered TV "[TV] Samsung" with usn "uuid:XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
[2020-7-17 22:40:39] [SamsungTVControl] Found overwrites for "[TV] Samsung" in config
[2020-7-17 22:40:39] [SamsungTVControl] Samsung - Skipping pairing since this TV is from 2013 and should support the legacy protocol without pairing.
hello, alexa recognizes accessory but he doesn't answer. (google translate)
I'm trying to discover my TV with the discover command and getting this error:
Found unparsable model name (UN65TU8000FXZA) for device [TV] TV_NAME usn: "uuid:UUID"
I assume this means that the plugin does not support my TV?
I tried to pair Samsung LE40A856
pi@homebridge:~ $ homebridge-samsungtv-control legacy 192.168.1.32 00:12:fb:1f:86:99
Sending the mute key to see if your device is controlable with the legacy protocol over port 55000.
Device is off or unreachable
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try pairing method 1 npx homebridge-samsungtv-control pair1 192.168.1.32 00:12:fb:1f:86:99
2. Try pairing method 2 npx homebridge-samsungtv-control pair2 192.168.1.32 00:12:fb:1f:86:99
pi@homebridge:~ $ homebridge-samsungtv-control pair1 192.168.1.32 00:12:fb:1f:86:99
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try pairing method 2 npx homebridge-samsungtv-control pair2 192.168.1.32 00:12:fb:1f:86:99
2. Try the legacy protocol npx homebridge-samsungtv-control legacy 192.168.1.32 00:12:fb:1f:86:99
pi@homebridge:~ $ homebridge-samsungtv-control pair2 192.168.1.32 00:12:fb:1f:86:99
Ok... sending the pairing request to your tv. Please click allow when asked
(node:19221) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
TV is off or unavalible
/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66
throw new Error('Error send Key');
^
Error: Error send Key
at /usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66:23
at WebSocket.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:299:17)
at WebSocket.emit (events.js:315:20)
at ClientRequest.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/node_modules/ws/lib/websocket.js:551:15)
at ClientRequest.emit (events.js:315:20)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
So i made a portscan
Port Scanning host: 192.168.1.32
Open TCP Port: 52396
Then I tried to pair again
pi@homebridge:~ $ homebridge-samsungtv-control legacy 192.168.1.32 00:12:fb:1f:86:99 --port 52396
Sending the mute key to see if your device is controlable with the legacy protocol over port 52396.
(node:19515) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try pairing method 1 npx homebridge-samsungtv-control pair1 192.168.1.32 00:12:fb:1f:86:99
2. Try pairing method 2 npx homebridge-samsungtv-control pair2 192.168.1.32 00:12:fb:1f:86:99
pi@homebridge:~ $ homebridge-samsungtv-control pair1 192.168.1.32 00:12:fb:1f:86:99 --port 52396
error: unknown option '--port'
pi@homebridge:~ $ homebridge-samsungtv-control pair2 192.168.1.32 00:12:fb:1f:86:99 --port 52396
Ok... sending the pairing request to your tv. Please click allow when asked
(node:19561) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66
throw new Error('Error send Key');
^
Error: Error send Key
at /usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66:23
at WebSocket.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:299:17)
at WebSocket.emit (events.js:315:20)
at ClientRequest.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/node_modules/ws/lib/websocket.js:551:15)
at ClientRequest.emit (events.js:315:20)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
Nothing found.
It would be nice if the button command that is sent to the TV to check if the connection succeeded was changed from the Mute button to something like the Menu button as the Mute button cannot be pressed when the TV has no signal or the audio is being routed through the optical audio port.
Hi,
I've just installed the plugin on my JU6500 series and managed to successfully go throught the first steps - i.e. successfully paired with pair1, the plugin correctly sent "mute".
But:
Once I add the configuration to config.json, homebridge encounters an error.
Jul 26 12:16:34 raspberrypi homebridge[15887]: [7/26/2020, 12:16:34 PM] Homebridge is running on port 51826. Jul 26 12:16:35 raspberrypi homebridge[15887]: { [Error: ENOENT: no such file or directory, mkdir '/.node-persist' Jul 26 12:16:35 raspberrypi homebridge[15887]: ] Jul 26 12:16:35 raspberrypi homebridge[15887]: errno: -2, Jul 26 12:16:35 raspberrypi homebridge[15887]: code: 'ENOENT', Jul 26 12:16:35 raspberrypi homebridge[15887]: syscall: 'mkdir', Jul 26 12:16:35 raspberrypi homebridge[15887]: path: '/.node-persist' } Jul 26 12:16:35 raspberrypi homebridge[15887]: { [Error: ENOENT: no such file or directory, mkdir '/.node-persist' Jul 26 12:16:35 raspberrypi homebridge[15887]: ] Jul 26 12:16:35 raspberrypi homebridge[15887]: errno: -2, Jul 26 12:16:35 raspberrypi homebridge[15887]: code: 'ENOENT', Jul 26 12:16:35 raspberrypi homebridge[15887]: syscall: 'mkdir', Jul 26 12:16:35 raspberrypi homebridge[15887]: path: '/.node-persist' } Jul 26 12:16:35 raspberrypi homebridge[15887]: [7/26/2020, 12:16:35 PM] [Amplifier] poll end, state: true Jul 26 12:16:35 raspberrypi homebridge[15887]: [7/26/2020, 12:16:35 PM] Got SIGTERM, shutting down Homebridge...
Here's my config:
{
"devices": [
{
"name": "Samsung TV",
"usn": "uuid:b0f374b8-baac-4839-a78d-1234567890123",
"token": "[deleted for privacy]=="
}
],
"platform": "SamsungTVControl"
}
(I found the uuid in the tv's web console at IP:8001/ms/1.0/ , hope it's the right one; regardless, even without putting it in the config, homebridge dies)
It was able to successfully discover TV and all HDMI inputs.
But since there is no AnyNet or CEC counterpart for HDMI inputs available via this plugin, when input is changed to an HDMI device, it does not go to its Anynet/CEC counterpart, which removes the ability of controlling the HDMI device via TV remote once we switch to it.
Can Anynet/CEC inputs be discovered and added to the Input selection menu?
Hi,
I tried to connect 2 of my Samsung TVs. One of them the pairing didn't worked completely, but the second one gave me a code to enter in the console. If I type in the code the code on the TV disappears and I get an error like this:
Ok... sending "1907" to your tv to see if it works...
(node:12517) UnhandledPromiseRejectionWarning: Error: Unable to handleEvent
at /usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/SamsungTvConnection.js:130:13
at /usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/Messages.js:30:31
at new Promise (<anonymous>)
at Messages.handle (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/Messages.js:29:12)
at onMessageEmitter (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/SamsungTvConnection.js:45:12)
at WebSocket.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/SamsungTvConnection.js:157:9)
at WebSocket.emit (events.js:315:20)
at Receiver._receiver.onmessage (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/websocket.js:137:47)
at Receiver.dataMessage (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/receiver.js:409:14)
at Receiver.getData (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/receiver.js:347:12)
at Receiver.startLoop (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/receiver.js:143:16)
at Receiver.add (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/receiver.js:117:10)
at Socket.emit (events.js:315:20)
at addChunk (_stream_readable.js:295:12)
at readableAddChunk (_stream_readable.js:271:9)
at Socket.Readable.push (_stream_readable.js:212:10)
(node:12517) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:12517) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code
Complete LOG:
Linux raspberrypi 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Sep 5 11:49:38 2020 from 192.168.178.48
pi@raspberrypi:~ $ npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE
Ok... sending the pairing request to your tv. Please click allow when asked
(node:12335) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try another port npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 8001
2. Try another port npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 55000
3. Try the other pairing method npx homebridge-samsungtv-control pair1 192.168.178.28 CC:B1:1A:B6:CF:FE
4. Try the legacy protocol npx homebridge-samsungtv-control legacy 192.168.178.28 CC:B1:1A:B6:CF:FE
pi@raspberrypi:~ $ npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 8001
Ok... sending the pairing request to your tv. Please click allow when asked
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try another port npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 8002
2. Try another port npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 55000
3. Try the other pairing method npx homebridge-samsungtv-control pair1 192.168.178.28 CC:B1:1A:B6:CF:FE
4. Try the legacy protocol npx homebridge-samsungtv-control legacy 192.168.178.28 CC:B1:1A:B6:CF:FE
pi@raspberrypi:~ $ npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 8002
Ok... sending the pairing request to your tv. Please click allow when asked
(node:12382) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try another port npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 8001
2. Try another port npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 55000
3. Try the other pairing method npx homebridge-samsungtv-control pair1 192.168.178.28 CC:B1:1A:B6:CF:FE
4. Try the legacy protocol npx homebridge-samsungtv-control legacy 192.168.178.28 CC:B1:1A:B6:CF:FE
pi@raspberrypi:~ $ npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE --port 55000
Port 55000 is usually the port for the legacy protocol without pairing and most likely won't work with pair2. Trying anyway.
Ok... sending the pairing request to your tv. Please click allow when asked
Device is off or unreachable
/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66
throw new Error('Error send Key');
^
Error: Error send Key
at /usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66:23
at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:369:17)
at Socket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
pi@raspberrypi:~ $ npx homebridge-samsungtv-control legacy 192.168.178.28 CC:B1:1A:B6:CF:FE
Sending the mute key to see if your device is controlable with the legacy protocol over port 55000.
Device is off or unreachable
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try pairing method 1 npx homebridge-samsungtv-control pair1 192.168.178.28 CC:B1:1A:B6:CF:FE
2. Try pairing method 2 npx homebridge-samsungtv-control pair2 192.168.178.28 CC:B1:1A:B6:CF:FE
pi@raspberrypi:~ $ npx homebridge-samsungtv-control pair1 192.168.178.28 CC:B1:1A:B6:CF:FE
Please enter the pin you see on your tv
1907
Ok... sending "1907" to your tv to see if it works...
(node:12517) UnhandledPromiseRejectionWarning: Error: Unable to handleEvent
at /usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/SamsungTvConnection.js:130:13
at /usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/Messages.js:30:31
at new Promise (<anonymous>)
at Messages.handle (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/Messages.js:29:12)
at onMessageEmitter (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/SamsungTvConnection.js:45:12)
at WebSocket.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-remote-pin-paired/lib/Connection/SamsungTvConnection.js:157:9)
at WebSocket.emit (events.js:315:20)
at Receiver._receiver.onmessage (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/websocket.js:137:47)
at Receiver.dataMessage (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/receiver.js:409:14)
at Receiver.getData (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/receiver.js:347:12)
at Receiver.startLoop (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/receiver.js:143:16)
at Receiver.add (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/ws/lib/receiver.js:117:10)
at Socket.emit (events.js:315:20)
at addChunk (_stream_readable.js:295:12)
at readableAddChunk (_stream_readable.js:271:9)
at Socket.Readable.push (_stream_readable.js:212:10)
(node:12517) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:12517) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code
Method 2 is the only one that makes something to appear on my TV, but it gives me this error when if I click Consent.
npx homebridge-samsungtv-control pair2 [CENSORED IP] [CENSORED MAC]
Ok... sending the pairing request to your tv. Please click allow when asked
(node:6370) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try another port npx homebridge-samsungtv-control pair2 [CENSORED IP] [CENSORED MAC] --port 8001
2. Try another port npx homebridge-samsungtv-control pair2 [CENSORED IP] [CENSORED MAC] --port 55000
3. Try the other pairing method npx homebridge-samsungtv-control pair1 [CENSORED IP] [CENSORED MAC]
4. Try the legacy protocol npx homebridge-samsungtv-control legacy [CENSORED IP] [CENSORED MAC]
Getting this error: The requested platform "SamsungTVControl" was not registered by any plugin. Your config.json is requesting the platform "SamsungTVControl" which has not been published by any installed plugins.
8/9/2020, 5:22:55 AM HOOBS listening on port 8080.
8/9/2020, 5:23:02 AM Loaded plugin "homebridge-alexa".
8/9/2020, 5:23:02 AM Loaded plugin "homebridge-chamberlain".
8/9/2020, 5:23:02 AM Loaded plugin "homebridge-delay-switch".
8/9/2020, 5:23:02 AM Loaded plugin "homebridge-leviton".
8/9/2020, 5:23:03 AM Loaded plugin "homebridge-nest".
8/9/2020, 5:23:03 AM Loaded plugin "homebridge-samsung-tizen".
8/9/2020, 5:23:03 AM Loaded plugin "homebridge-samsungtv-control".
8/9/2020, 5:23:03 AM [Alexa] homebridge-alexa v0.4.73, node v12.14.1, homebridge v3.2.6
8/9/2020, 5:23:03 AM [Alexa] Initializing platform accessory "Alexa"...
8/9/2020, 5:23:03 AM [Nest] Fetching Nest devices.
8/9/2020, 5:23:03 AM The requested platform "SamsungTVControl" was not registered by any plugin.
8/9/2020, 5:23:03 AM Your config.json is requesting the platform "SamsungTVControl" which has not been published by any installed plugins.
Config:
{
"platform": "SamsungTVControl",
"devices": [
{
"usn": "uuid:0aba9501-00b4-1000-8d01-kjsfndkjakjdf",
"name": "Living Room TV"
}
],
"plugin_map": {
"plugin_name": "homebridge-samsungtv-control"
}
}
Hi and thanks for making this plug in. I'm excited about getting it running and feel I am very very close. I followed the instructions and ran the pairing command with my TV, confirmed it worked with the "mute" test and then pasted the token into the configuration of the Samsungtv Control plugin in HOOBS. However I can't get it to appear there as an accessory and I can't add it in the iOS Home app as an Accessory that "I don't have a code for." It doesn't show as a "nearby accessory."
I've rebooted the HOOBS server, the AppleTV, the TV itself as well as the router. Everything else is working, just not this one. What's am I missing? This is the relevant error from my logs:
9/13/2020, 5:41:24 PM The requested platform "SamsungTVControl" was not registered by any plugin.
9/13/2020, 5:41:24 PM Your config.json is requesting the platform "SamsungTVControl" which has not been published by any installed plugins.
And this is the relevant bit from my config.json, I just changed my usn and token a bit for security.
{
"platform": "SamsungTVControl",
"devices": [
{
"usn": "uuid:85439306-a10c-42ba-b6c5-911823fc4b8b",
"token": "eyJzPXNzaW9uYUBiOiIyIiwiYWVzQ2V5IjoiOTU4NWY5YTY1ZDI3NjlhYjlkMDJhYmEwMDEyMTRhOTEifQ==",
"name": "Living Room TV",
"inputs": [
{
"name": "HDMI",
"keys": "hdmi"
},
{
"name": "ZDF HD",
"keys": "102"
},
{
"name": "Sleep 30m",
"keys": "tools,down*3,enter,down,enter,return"
},
{
"name": "Open YouTube",
"keys": "YouTube"
}
]
}
]
}
I'm new to this and still learning and would appreciate any assistance.
I can pair to the TV using the pair 2 method, mute does work but I can not find the uuid.
Can you help here please?
I installed the Samsungtv-control in my Hoobs server (BCM2835 - Pi 3 Model B) with Node v12.13.1 and NPM v6.14.8. My Samsung TV is 2014 model, note running Tizen. Does it support?
/.hoobs/etc $ npx homebridge-samsungtv-control pair2 10.0.1.46 90:F1:AA:B1:9D:48
Ok... sending the pairing request to your tv. Please click allow when asked
(node:10561) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. >This will be ignored in a future version.
TV is off or unavalible
/home/hoobs/.hoobs/node_modules/samsung-tv-control/lib/samsung.js:66
throw new Error('Error send Key');
^
Error: Error send Key
at /home/hoobs/.hoobs/node_modules/samsung-tv-control/lib/samsung.js:66:23
at WebSocket. (/home/hoobs/.hoobs/node_modules/samsung-tv-control/lib/samsung.js:299:17)
at WebSocket.emit (events.js:210:5)
at ClientRequest. (/home/hoobs/.hoobs/node_modules/samsung-tv-control/node_modules/ws/lib/websocket.js:551:15)
at ClientRequest.emit (events.js:210:5)
at TLSSocket.socketErrorListener (_http_client.js:406:9)
at TLSSocket.emit (events.js:210:5)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
What does it mean? Not supported anymore? Thanks for the advice!
Hi,
I have added my TV in the config.json via
{
"platform": "SamsungTVControl",
"devices": [
{
"usn": "uuid:068e7781-006e-1000-bbbf-xxxxxxxxx",
"name": "Samsung TV"
}
]
},
The usn I found out via postman http://<my_ip>:8001/api/v2/
The command npx homebridge-samsungtv-control pair1 <myip> <mymac>
requires then a PIN which is shown on my TV screen. After entering the PIN in the command line and click enter, it works successfully and my TV is muted. When I try npx homebridge-samsungtv-control discover
I get the following:
Searching for devices...
Got error while trying to check device with usn: "uuid:0c845881-00d2-1000-8d3a-505xxxxxxxx". HTTPError: Response code 401 (Unauthorised)
at EventEmitter.<anonymous> (/homebridge/node_modules/homebridge-samsungtv-control/node_modules/got/dist/source/as-promise.js:118:31)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
😞 No Samsung TV found. Remember to turn on your Samsung TV's and check if they are connected to the same network before starting the discovery.
During the the startup I also can't see that any TV is initialised. I also can't see anything in my home app. Am I doing something wrong? Do I miss something?
My homebridge is running inside a docker container. Is this maybe an issue?
Thanks for your help!!
Hi,My TV Device is (UA43MU6100), I cant find my token,
There is a response in silent mode, but no token can be found.
how can I do? Thank you
homebridge@raspberrypi:/var/lib/homebridge $ npx homebridge-samsungtv-control pair1 192.168.1.xxx xx:xx:xx:xx:xx:xx
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try pairing method 2 npx homebridge-samsungtv-control pair2 192.168.1.xxx xx:xx:xx:xx:xx:xx
2. Try the legacy protocol npx homebridge-samsungtv-control legacy 192.168.1.xxx xx:xx:xx:xx:xx:xx
homebridge@raspberrypi:/var/lib/homebridge $ npx homebridge-samsungtv-control pair2 192.168.1.xxx xx:xx:xx:xx:xx:xx
Ok... sending the pairing request to your tv. Please click allow when asked
(node:6544) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try another port npx homebridge-samsungtv-control pair2 192.168.1.xxx xx:xx:xx:xx:xx:xx --port 8001
2. Try another port npx homebridge-samsungtv-control pair2 192.168.1.xxx xx:xx:xx:xx:xx:xx --port 55000
3. Try the other pairing method npx homebridge-samsungtv-control pair1 192.168.1.xxx xx:xx:xx:xx:xx:xx
4. Try the legacy protocol npx homebridge-samsungtv-control legacy 192.168.1.xxx xx:xx:xx:xx:xx:xx
homebridge@raspberrypi:/var/lib/homebridge $ npx homebridge-samsungtv-control pair2 192.168.1.xxx xx:xx:xx:xx:xx:xx --port 8001
Ok... sending the pairing request to your tv. Please click allow when asked
/usr/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66
throw new Error('Error send Key');
^
Error: Error send Key
at /usr/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:66:23
at WebSocket. (/usr/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/lib/samsung.js:299:17)
at WebSocket.emit (events.js:315:20)
at Receiver.receiverOnError (/usr/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/node_modules/ws/lib/websocket.js:777:13)
at Receiver.emit (events.js:315:20)
at errorOrDestroy (internal/streams/destroy.js:108:12)
at onwriteError (_stream_writable.js:418:5)
at onwrite (_stream_writable.js:445:5)
at Receiver.startLoop (/usr/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/node_modules/ws/lib/receiver.js:152:5)
at Receiver._write (/usr/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/node_modules/ws/lib/receiver.js:78:10)
at doWrite (_stream_writable.js:403:12)
at writeOrBuffer (_stream_writable.js:387:5)
at Receiver.Writable.write (_stream_writable.js:318:11)
at Socket.socketOnData (/usr/lib/node_modules/homebridge-samsungtv-control/node_modules/samsung-tv-control/node_modules/ws/lib/websocket.js:872:35)
at Socket.emit (events.js:315:20)
at addChunk (_stream_readable.js:295:12)
homebridge@raspberrypi:/var/lib/homebridge $ npx homebridge-samsungtv-control legacy 192.168.1.xxx xx:xx:xx:xx:xx:xx
Sending the mute key to see if your device is controlable with the legacy protocol over port 55000.
Device is off or unreachable
That didn't work unfortunatelly. Here are some other possible solutions:
1. Try pairing method 1 npx homebridge-samsungtv-control pair1 192.168.1.xxx xx:xx:xx:xx:xx:xx
2. Try pairing method 2 npx homebridge-samsungtv-control pair2 192.168.1.xxx xx:xx:xx:xx:xx:xx
homebridge@raspberrypi:/var/lib/homebridge $
Hi,
I successfully paired the TV with a PIN and a recognised MUTE command from a newly installed Homebridge setup.
I get following in the log:
[11/23/2020, 3:09:07 PM] [HB Supervisor] Restarting Homebridge...
[11/23/2020, 3:09:07 PM] [HB Supervisor] Starting Homebridge with extra flags: -I
[11/23/2020, 3:09:07 PM] [HB Supervisor] Started Homebridge v1.1.6 with PID: 6855
[11/23/2020, 3:09:08 PM] Loaded config.json with 0 accessories and 2 platforms.
[11/23/2020, 3:09:08 PM] ---
[11/23/2020, 3:09:09 PM] Loaded plugin: [email protected]
[11/23/2020, 3:09:09 PM] Registering platform 'homebridge-config-ui-x.config'
[11/23/2020, 3:09:09 PM] ---
[11/23/2020, 3:09:09 PM] Loaded plugin: [email protected]
[11/23/2020, 3:09:09 PM] Registering platform 'homebridge-samsungtv-control.SamsungTVControl'
[11/23/2020, 3:09:09 PM] ---
[11/23/2020, 3:09:09 PM] Loading 2 platforms...
[11/23/2020, 3:09:09 PM] [Config] Initializing config platform...
[11/23/2020, 3:09:09 PM] [Config] Running in Service Mode
[11/23/2020, 3:09:09 PM] [SamsungTVControl] Initializing SamsungTVControl platform...
Setup Payload:
X-HM://00252X4C4AFHB
This is my config:
{
"platform": "SamsungTVControl",
"name": "SamsungTVControl",
"devices": [
{
"usn": "uuid:5855e8bc-0c31-4b5d-a13f-xxxxxxxxxxxx",
"token": "eyJzZXNzaW9uSWQiOiIxIiwiYWVzS2V5IjoiMDU5Yjk2NmU3ZWZhZGRmY2U3ZGU1ZWI3MWY1xxxxxxxxxxxx",
"name": "[TV] Living room TV",
"inputs": [
{
"name": "HDMI",
"keys": "hdmi"
},
{
"name": "ZDF HD",
"keys": "102"
},
{
"name": "Sleep 30m",
"keys": "tools,down*3,enter,down,enter,return"
},
{
"name": "Open YouTube",
"keys": "YouTube"
}
]
}
]
}
/api/v2/ output
{
"id": "uuid:5855e8bc-0c31-4b5d-a13f-xxxxxxxxxxxx",
"name": "[TV] Living room TV",
"version": "2.0.25",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:5855e8bc-0c31-4b5d-a13f-xxxxxxxxxxxx",
"model": "15_HAWKP_UHD_SEK",
"modelName": "UE65F9000",
"description": "Samsung DTV RCR",
"networkType": "wired",
"ssid": "",
"ip": "192.168.0.35",
"firmwareVersion": "Unknown",
"name": "[TV] Living room TV",
"id": "uuid:5855e8bc-0c31-4b5d-a13f-xxxxxxxxxxxx",
"udn": "uuid:5855e8bc-0c31-4b5d-a13f-xxxxxxxxxxxx",
"resolution": "1920x1080",
"countryCode": "LU",
"msfVersion": "2.0.25",
"smartHubAgreement": "true",
"wifiMac": "50:85:69:xx:xx:xx",
"developerMode": "0",
"developerIP": ""
},
"type": "Samsung SmartTV",
"uri": "http://192.168.0.35:8001/api/v2/"
}
No accessory shown in Homebridge and nothing recognised in the Homekit app.
Any idea?
Thanks in advance.
Hi,
Trying to connect UE55F6400
npx homebridge-samsungtv-control legacy 192.168.2.8 78:AB:BB:C9:2F:8A
Send well mute command to the tv, but not appear on home app ?
Regards
I follow the steps given to pair, enter the code that shows on the TV, and then it gives me UnhandledPromiseRejectionWarning: Error: Unable to handleEvent
I'm not sure what to do and my TV wont show up in the config so I can start configuring.
The first time I installed this in HOOBS without any inputs section, it was successfully displayed as an accessory i could add in the Home app. I have since modified the configuration like so.
{
"platform": "SamsungTVControl",
"devices": [
{
"usn": "uuid:0c845882-00d2-1000-9130-90f1aacaecbf",
"token": "eyJzZXNzaW9uSWQiOiIxIiwiYWVzS2V5IjoiN2ZjNjc3NzI3NDY1NjU1MGU1NjAyNjRiZTgyMmE5Y2MifQ==",
"name": "Living Room TV",
"inputs": [
{
"name": "HDMI",
"keys": "KEY_HDMI1"
}
]
}
]
}
Even though I removed it from the Home app, it will not ever show up again as an addable accessory. I have gone back and removed the inputs section, removed the plugin from HOOBS, and then readied it, and the log shows
10/5/2020, 12:56:45 PM [SamsungTVControl] Found device Living Room TV (UN55HU8700), usn: uuid:0c845882-00d2-1000-9130-90f1aacaecbf
10/5/2020, 12:56:45 PM Living Room TV is running on port 32953.
but it never shows up in the Home app as an accessory that can be added.
(node:12323) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
Hi..
When I try the pair command only the first one do something,
The pair2 crashs
and the legacy :
(node:6844) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
(Use node --trace-deprecation ...
to show where the warning was created)
TV is off or unavalible
the pair1 shows the pairring code but the mute test didn't work...
Going in the HomeApp i saw the tv in the add menu but it failed and then i didn't see it again
Is this TV compatible with your plug-in @mmende ? because i like it a lot
EDIT: I did all the configuration again (Cleared TV in homebridge)
Did the same commands( pair2) and same results
No mute when pairing
Seen in add device in HomeApp
But then stuck on Connecting to the TV
resulting in an error " TV is not reachable"
hi,
when I do a device search i get a feedback that 'Found Unparsable model name'
What does tis mean?
I have a UE55LS003 (The Frame TV)
the UUID is detected.
Not sure if I am not setting this up correctly but this is what I get after plugin installation and restarting the HomeBridge Service.
(node:1488) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 1) (node:1488) UnhandledPromiseRejectionWarning: HTTPError: Response code 404 (Not Found) at EventEmitter.<anonymous> (/usr/local/lib/node_modules/homebridge-samsungtv-control/node_modules/got/dist/source/as-promise.js:118:31) at processTicksAndRejections (internal/process/task_queues.js:97:5) (node:1488) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag
--unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
Hi,
Thank you for this cool HomeKit feature!
In my Home App i cant see the dPad?
What can i do to see it?
Philipp
this line refers to an older document for deciphering release codes, but there’s a more up-to-date and complete description at this address: https://www.samsung.com/us/support/answer/ANS00087664/
hi everyone, how do i turn on volume control. thank you
@mmende After the update this morning, HDMI input has stopped appearing. Any way to fix it? I tried add it as a custom input, but it still doesn't show up.
Anyway around it?
TypeError: Cannot read property 'log' of undefined at debug (/usr/lib/node_modules/homebridge/src/logger.ts:143:10) at checkDeviceDetails (/usr/lib/node_modules/homebridge-samsungtv-control/src/utils/detectDevices.ts:85:5) at processTicksAndRejections (node:internal/process/task_queues:93:5)
This error causes HB to get stuck in a constant service restart loop.
Please advise.
EDIT:
Hi,
When I start homebridge I get this error, can anyone help?
[SamsungTVControl] SamsungTVControl db - /root/.homebridge/.homebridge-samsungtv-control/49a93582a910673f04262657317b99d0 does not exist, returning undefined value
Thanks
At first, Home app and Homebridge worked ok with theTV (I had a little trouble understanding legacy pairing but I worked it out).
Then, when I set up the config file to add HDMI and that stuff, reseted Homebridge and started to get this error message no matter what I tried:
[SamsungTVControl] Found device Tele (UE32D5500), usn: uuid:longnumber
(node:95519) UnhandledPromiseRejectionWarning: Error: Cannot add a Service with the same UUID 'long number' and subtype 'TV' as another Service in this Accessory.
at Accessory._this.addService (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:281:17)
at PlatformAccessory.addService (/usr/local/lib/node_modules/homebridge/src/platformAccessory.ts:92:41)
at SamsungTVHomebridgePlatform.registerTV (/usr/local/lib/node_modules/homebridge-samsungtv-control/src/platform.ts:638:40)
at HomebridgeAPI.SamsungTVHomebridgePlatform.api.on (/usr/local/lib/node_modules/homebridge-samsungtv-control/src/platform.ts:69:14)
(node:95519) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
This is my Config file, just in case it helps:
{
"platform": "SamsungTVControl",
"name": "SamsungTVControl",
"devices": [
{
"usn": "uuid:large number",
"ip_address": "192.168.xxx.xxx",
"name": "SamsungTV",
"inputs": [
{
"name": "TV",
"keys": "tv"
},
{
"name": "HDMI1",
"keys": "hdmi1"
},
{
"name": "HDMI2",
"keys": "hdmi2"
},
{
"name": "HDMI3",
"keys": "hdmi3"
},
{
"name": "HDMI4",
"keys": "hdmi4"
}
]
}
]
}
I'm running it on a Mac but don't know what I am doing wrong 😔, can you help me, please?
Thank you in advance
Hello, I installed alpha version 2 and my TV does not appear in the home application (it does not even appear if I want to add it manually). My Samsung TV is not smart (model UN40C5000). I estimate that you are not loading the platform because the only thing that appears in the homebridge log is "[SamsungTVControl] Initializing SamsungTVControl platform ...". My configuration file only has:
{
"platform": "SamsungTVControl",
"devices": [
{
"name": "TV Mir y Gastón",
"usn": "My_UPNP_number"
}
]
}
Regards,
I can see others have had similar issues, but the previous threads have not helped me to find my UUID. Is there a straightforward way too find my TV's UUID?
I have two televisions. In the older one it works without problems. In the other, it detects that it is on, but when I try to turn it off it returns this error and homebridge reboots.
(node:3993) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
TV is off or unavalible
Error: connect ECONNREFUSED 10.0.0.126:8002
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
{
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '10.0.0.126',
port: 8002
}
Error: connect ECONNREFUSED 10.0.0.126:8002
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
{
errno: 'ECONNREFUSED',
code: 'ECONNREFUSED',
syscall: 'connect',
address: '10.0.0.126',
port: 8002
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.