Giter Site home page Giter Site logo

homebridge-tedee's People

Contributors

lukasroegner avatar mobilemanic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

lpostiglione

homebridge-tedee's Issues

Plugin always unlock latch

With the new version homebridge-tedee v0.3.1 my door latch is constantly unlocked when I open the door via Homekit.
This is not good in my case.
Tedee-App works well.
My Config:
{
"platform": "TedeePlatform",
"emailAddress": "[email protected]",
"password": "smartapfel;-)",
"devices": [
{
"name": "Haustür",
"unlatchFromLockedToUnlocked": false,
"unlatchFromUnlockedToUnlocked": false,
"unlatchLock": false,
"disableUnlock": false,
"defaultLockName": "Haustür",
"defaultLatchName": "Haustür Falle"
}
],
"updateInterval": 30
},

No lock in HomeKit

Hi

I installed the package, I made the correct configuration in the config.json file. I have no errors, but the lock is not in HomeKit.

What am I doing wrong?

Regards
Norbert

Keep latch pulled when open

@lukasroegner Hi. Hope you are well.
I noticed that when I open the lock with the plugin the latch is pulled only for 1-2 seconds although I have it setup in the tedee App to get pulled 15 seconds.
When using the tedee app it works and the door keeps open (unlatched) for this time. However wehen using Siri or a Home App the the latch is pulled but every time only 1-2 seconds. 🤷🏼‍♂️
When using the "open latch" button, the 15 seconds are working, but using "open lock" button it is not.
Something has changed the last weeks maybe with API Firmware?
Hope you can help and thanks in advance.

Pulling spring once executes multiple pulls since IOS 17

Hi,

Ever since iOS 17 HomeKit is a nightmare, but for Tedee lock via this plugin it became even worse. Every time you pull a spring, it repeats the process 6-20 times until it finally stops.

Its just one little switch, but triggers lock to do it over and over again. Any way to fix it?

image

[12/4/2023, 9:05:07 AM] [homebridge-tedee] [Wejscie] Open via HomeKit requested.
[12/4/2023, 9:05:08 AM] [homebridge-tedee] [Wejscie] Waiting for open operation to be completed.
[12/4/2023, 9:05:08 AM] [homebridge-tedee] [Wejscie] Opened via API.
[12/4/2023, 9:05:08 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:10 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:10 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:10 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:11 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:11 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:11 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:12 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:12 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:12 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:13 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:13 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:13 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:15 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:15 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:15 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:16 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:16 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:16 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:17 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:17 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:17 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:18 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:18 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:18 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:20 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:20 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:20 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:21 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:21 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:21 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:22 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:22 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:22 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:24 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:24 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:24 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:25 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:26 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:26 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:26 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:27 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:27 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:27 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:27 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:28 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:28 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:28 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:29 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:29 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:29 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:30 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:30 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:30 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:30 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:30 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:30 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:31 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:31 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:31 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:31 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:31 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:31 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:32 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:32 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:32 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:33 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:33 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:33 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:34 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:34 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:34 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:34 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:34 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:34 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:35 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:35 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:35 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:35 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:35 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:35 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:36 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:36 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:36 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:36 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:36 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:36 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:37 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:37 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:38 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:38 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:39 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:39 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:39 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:39 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:39 AM] [homebridge-tedee] Error while syncing lock with ID 12445 from API: Error: Request failed with status code 429
[12/4/2023, 9:05:39 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:40 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:40 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:40 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:41 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:41 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:42 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:43 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:43 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:43 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:44 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:44 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:44 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:44 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:45 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:45 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:45 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:45 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:45 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:45 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:46 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:46 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:46 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:47 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:47 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:47 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:48 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:48 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:48 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:48 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:48 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:48 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:49 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:49 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:49 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:49 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:49 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:49 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:50 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:50 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:50 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:50 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:50 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:51 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:51 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:51 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:51 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:52 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:52 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:52 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:53 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:53 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:53 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:53 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:53 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:53 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:54 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:54 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:54 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:54 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:54 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:54 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:55 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:55 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:55 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:56 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:56 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:56 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:56 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:56 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:57 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:57 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:57 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:57 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:58 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:58 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:58 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:58 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:58 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:58 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:05:59 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:05:59 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:05:59 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:00 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:00 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:00 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:00 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:00 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:00 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:01 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:01 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:01 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:02 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:02 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:02 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:02 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:02 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:02 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:03 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:03 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:03 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:04 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:04 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:04 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:04 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:04 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:05 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:05 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.
[12/4/2023, 9:06:05 AM] [homebridge-tedee] [Wejscie] Pull spring via HomeKit requested.
[12/4/2023, 9:06:07 AM] [homebridge-tedee] [Wejscie] Waiting for pull spring operation to be completed.
[12/4/2023, 9:06:07 AM] [homebridge-tedee] [Wejscie] Pulled spring via API.

Log Entry

I recently get the following error message in the log:

[9/9/2021, 6:10:55 PM] [TedeePlatform] Error while syncing locks from API: Error: getaddrinfo ENOTFOUND api.tedee.com
[9/9/2021, 6:11:00 PM] [TedeePlatform] Error while syncing locks from API: Error: getaddrinfo ENOTFOUND api.tedee.com
[9/9/2021, 6:11:05 PM] [TedeePlatform] Error while syncing locks from API: Error: getaddrinfo ENOTFOUND api.tedee.com
[9/9/2021, 6:11:05 PM] [TedeePlatform] Failed to sync locks from API.

How to solve this?

“No plugins installed”

Hi, any idea what to do if I get “no plugins installed” in the log? Thanks in advance

[14.08.2023 8:35] [Hub] tedee stopping
[14.08.2023 8:35] [Hub] Tedee starting
[14.08.2023 8:35] [Tedee] [WARNING] No plugins installed.
[14.08.2023 8:35] [Tedee] Loading 1 platforms...
[14.08.2023 8:35] [Tedee] Bridge is running on port 51846.

Here is my plain config:

{
"devices" : [
{
"defaultLatchName" : "Latch",
"defaultLockName" : "Lock",
"disableUnlock" : false,
"name" : "NAME OF THE DEVICE IN THE APP",
"unlatchFromUnlockedToUnlocked" : true,
"unlatchLock" : true
}
],
"emailAddress" : "TEDEE APP EMAIL",
"name" : "tedee",
"password" : "TEDEE PASSWORD",
"platform" : "TedeePlatform",
"plugin_map" : {
"plugin_name" : "homebridge-tedee"
},
"updateInterval" : 15
}

Lock status - half closed -

Hey @lukasroegner

I noticed today when the tedee lock was opened by manual key (from unlocked - just the latch of course) the tedee app status is "half closed". Meaning the door is open, just the latch closed.
But HomeKit is showing "closed". Which is definitely not the case. Latch of course closed but lock is open.

Do you think it is better or possible to change that "half closed" to showing up as "open" in HomeKit? Would reflect more the reality.

Thanks. :)

Napkin 11 07 20, 4 47 40 PM

No accessories created

Hi Lukas! I’ve set the config file but nothing happens. No accessories created on homebridge

IOS14

Thanks for the plugin! I was wondering whether you have tested this with IOS 14 and tvOS and especially the integration with a door camera.

„Hey Siri unlock the door“ locks the door

Hi Lukas,

since 2 weeks I have a problem unlocking the door with Siri. Opening the door with the home App works, but I can’t get Siri to open the lock or the latch. Any ideas?

I am on IOS Beta 14.3 but it doesn’t work under 14.2 with another phone.

TTLock

can we use the same plugin in order to control a TTLOCK smart door lock. it looks to me we can if the plugin is modified in order to accept the TTLOCK authentication instead of this of Tedee. TTLOCK is widely used all over the world and such use case is very much in need. TTLOCK provides its own API

error 400

Hallo,
ich bekomme u.a. den Fehler 400.
Im Anhang ein Snapshot.
Können Sie mir helfen?
Viele Grüße Charly
B5EC122F-2DC6-4C2B-AD38-DD8B436C21AB

Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com

Hi @lukasroegner

I recently get this error the log flooding.
Any idea?

However, the lock is still responding to HomeKit commands.

If you think it might have something to do with the API, Andrzej said you should contact him.
Would be great if you could find out to what request get the error message. Helpful for Andrzej's Developers he said.

I noticed this just starting yesterday and today.
Maybe it's only bad/slow network. I will have an eye on it and update here if I see any changes during the day.

[2020-8-4 9:37:03] [TedeePlatform] [Wohnungstür] Pull spring via HomeKit requested.
[2020-8-4 9:37:03] [TedeePlatform] [Wohnungstür] Pulled spring via API.
[2020-8-4 9:37:53] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:39:28] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:39:43] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:39:53] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:39:58] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:39:58] [TedeePlatform] Failed to get locks from API and start background updates.
[2020-8-4 9:40:13] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:40:23] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:40:28] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:40:28] [TedeePlatform] Failed to get locks from API and start background updates.
[2020-8-4 9:40:38] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:40:53] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:40:53] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:40:53] [TedeePlatform] Failed to get locks from API and start background updates.
[2020-8-4 9:41:08] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:41:22] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:41:23] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:41:23] [TedeePlatform] Failed to get locks from API and start background updates.
[2020-8-4 9:41:38] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:41:53] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:41:53] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
[2020-8-4 9:41:53] [TedeePlatform] Failed to get locks from API and start background updates.
Aug 04 09:48:23 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:48:23] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
Aug 04 09:48:23 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:48:23] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
Aug 04 09:48:23 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:48:23] [TedeePlatform] Failed to get locks from API and start background updates.
Aug 04 09:48:38 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:48:38] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
Aug 04 09:49:23 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:49:23] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
Aug 04 09:49:27 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:49:27] [TedeePlatform] [Wohnungstür] Close via HomeKit requested.
Aug 04 09:49:37 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:49:37] [TedeePlatform] [Wohnungstür] Error while closing via API: Error: getaddrinfo EAI_AGAIN api.tedee.com
Aug 04 09:49:38 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:49:38] [TedeePlatform] Error while getting locks from API: Error: getaddrinfo EAI_AGAIN api.tedee.com
Aug 04 09:49:50 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:49:50] [TedeePlatform] [Wohnungstür] Closed via API.
Aug 04 09:50:09 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:50:09] [TedeePlatform] [Wohnungstür] Open via HomeKit requested.
Aug 04 09:50:10 raspberrypi-3BPlus homebridge[2674]: [2020-8-4 9:50:10] [TedeePlatform] [Wohnungstür] Opened via API.

Tedee go - zwei Schlösser in der Bridge

Erst einmal herzlichen Dank für Ihre tolle Idee. Ich versuche gerade beide Schlösser (Tedee go) in Ihr Plugin zu integrieren´. In der Tedee App sind beide Schlösser da, in Ihrem Plugin habe ich diese auch so konfiguriert. In Homebridge bekomme ich die Meldung:

[homebridge-tedee] No device with name 'Eingang' found in your account - , [homebridge-tedee] {"result":[{"id":87149,"isConnected":true,"lockProperties":{"state":2,"isCharging":false,"batteryLevel":98,"stateChangeResult":null,"lastStateChangedDate":"2023-12-07T03:23:47.864"}},{"id":87312,"isConnected":true,"lockProperties":{"state":0,"isCharging":false,"batteryLevel":98,"stateChangeResult":null,"lastStateChangedDate":"2023-12-07T03:23:47.864"}}],"success":true,"errorMessages":[],"statusCode":200}

Vielleicht können Sie mir helfen, was mache ich nicht richtig?

Setting up tedee not working

First of all thank you very much for the plugin. Unfortunately I couldn't get it running. I filled out the mask but received the following error messages:
image

Plugin is crashing entire Homebridge because of tedee Server problems

Hi @lukasroegner
there is a major issue on tedee's server service at the moment. Thursday 17.12.2020 21:45 ongoing
The App also is showing this Issue and I talked to Andrzej from tedee.

However, I only noticed because my entire homebridge crashed.
The Plugin should probably not cause a complete crash and reboot loop just because tedee service is not available?!

Maybe you can take a look at it at the next opportunity so that the plugin can handle it better.

Thanks in advance.

[17.12.2020, 22:14:47] [TedeePlatform] Error while getting locks from API: Error: Request failed with status code 401
Error: Request failed with status code 401
    at createError (/usr/local/lib/node_modules/homebridge-tedee/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/usr/local/lib/node_modules/homebridge-tedee/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/usr/local/lib/node_modules/homebridge-tedee/node_modules/axios/lib/adapters/http.js:236:11)
    at IncomingMessage.emit (events.js:327:22)
    at endReadableNT (internal/streams/readable.js:1327:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
 {
  config: {
    url: 'https://api.tedee.com/api/v1.15/my/lock',
    method: 'get',
    headers: {
      Accept: 'application/json, text/plain, */*',
      Authorization: 'Bearer xxxxxxxxxxxxxxxxxxxxxxxiOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJpc3MiOiJodHRwczovL3RlZGVlLmIyY2xvZ2luLmNvbS90ZnAvZTMxOTYxN2EtZjMyMi00Y2JhLTgxZWYtNGI1Yjk1MGU5MTcyL2IyY18xX3NpZ25pbl9yb3BjL3YyLjAvIiwiZXhwIjoxNjA4MjUwNDc1LCJuYmYiOjE2MDgyMzk2NzUsImF1ZCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsImlkcCI6IkxvY2FsQWNjb3VudCIsIm9pZCI6ImNiNjY1ZTFiLxxxxxxxxxxxxiNjY1ZTFiLTZmY2QtNGY2Ny05ODQzLTcxN2ZlZWIzMWEzZCIsIm5hbWUiOiJESmF5IiwibmV3VXNlciI6ZmFsc2UsImVtYWlscyI6WyJkamF5QG1lLmNvbSJdLCJ0ZnAiOiJCMkNfMV9TaWduSW5fUm9wYyIsImF6cCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsInZlciI6IjEuMCIsImlhdCI6MTYwODIzOTY3NX0.D1FcynocxrgCekS10JP8lCOteZy-jqiZgwxUCgM7EhtNjk5V9R_Mawq9i0AvXcow0oK5NynKpSMmt2Wp1KY2O9j-vRf-GiF-1xMTo97US6PnthkIyF41AEAcwdJSewBm6LJswa-DiGDAA2Le2nt1yg9hDcYamj1cuYoFqtatQ1YGK8NfnZZfnQzvwKE3EsT_Vby_uUiZgSwPZOwMkMMmYQ2qA0EFP8x0inni6mljwThps6xBBG3RGVCvGhmhn51XjpvYhyUsO7TKyXUANHKSsfi1GvRgNqA_RzSfyZKBLFT-bI2fgiUpyhhwETP5q62TSHWiaYvvcNY19gzXj3wPcg',
      'User-Agent': 'axios/0.19.2'
    },
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    adapter: [Function: httpAdapter],
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    validateStatus: [Function: validateStatus],
    data: undefined
  },
  request: <ref *1> ClientRequest {
    _events: [Object: null prototype] {
      socket: [Function (anonymous)],
      abort: [Function (anonymous)],
      aborted: [Function (anonymous)],
      error: [Function (anonymous)],
      timeout: [Function (anonymous)],
      prefinish: [Function: requestOnPrefinish]
    },
    _eventsCount: 6,
    _maxListeners: undefined,
    outputData: [],
    outputSize: 0,
    writable: true,
    destroyed: false,
    _last: true,
    chunkedEncoding: false,
    shouldKeepAlive: false,
    _defaultKeepAlive: true,
    useChunkedEncodingByDefault: false,
    sendDate: false,
    _removedConnection: false,
    _removedContLen: false,
    _removedTE: false,
    _contentLength: 0,
    _hasBody: true,
    _trailer: '',
    finished: true,
    _headerSent: true,
    socket: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: false,
      _SNICallback: null,
      servername: 'api.tedee.com',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 10,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'api.tedee.com',
      _readableState: [ReadableState],
      _maxListeners: undefined,
      _writableState: [WritableState],
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: [TLSWrap],
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: [Circular *1],
      [Symbol(res)]: [TLSWrap],
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(async_id_symbol)]: 5351,
      [Symbol(kHandle)]: [TLSWrap],
      [Symbol(kSetNoDelay)]: false,
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: null,
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(connect-options)]: [Object],
      [Symbol(RequestTimeout)]: undefined
    },
    _header: 'GET /api/v1.15/my/lock HTTP/1.1\r\n' +
      'Accept: application/json, text/plain, */*\r\n' +
      'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxiOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJpc3MiOiJodHRwczovL3RlZGVlLmIyY2xvZ2luLmNvbS90ZnAvZTMxOTYxN2EtZjMyMi00Y2JhLTgxZWYtNGI1Yjk1MGU5MTcyL2IyY18xX3NpZ25pbl9yb3BjL3YyLjAvIiwiZXhwIjoxNjA4MjUwNDc1LCJuYmYiOjE2MDgyMzk2NzUsImF1ZCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsImlkcCI6IkxvY2FsQWNjb3VudCIsIm9pZCI6ImNiNjY1ZTFiLxxxxxxxxxxxxiNjY1ZTFiLTZmY2QtNGY2Ny05ODQzLTcxN2ZlZWIzMWEzZCIsIm5hbWUiOiJESmF5IiwibmV3VXNlciI6ZmFsc2UsImVtYWlscyI6WyJkamF5QG1lLmNvbSJdLCJ0ZnAiOiJCMkNfMV9TaWduSW5fUm9wYyIsImF6cCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsInZlciI6IjEuMCIsImlhdCI6MTYwODIzOTY3NX0.D1FcynocxrgCekS10JP8lCOteZy-jqiZgwxUCgM7EhtNjk5V9R_Mawq9i0AvXcow0oK5NynKpSMmt2Wp1KY2O9j-vRf-GiF-1xMTo97US6PnthkIyF41AEAcwdJSewBm6LJswa-DiGDAA2Le2nt1yg9hDcYamj1cuYoFqtatQ1YGK8NfnZZfnQzvwKE3EsT_Vby_uUiZgSwPZOwMkMMmYQ2qA0EFP8x0inni6mljwThps6xBBG3RGVCvGhmhn51XjpvYhyUsO7TKyXUANHKSsfi1GvRgNqA_RzSfyZKBLFT-bI2fgiUpyhhwETP5q62TSHWiaYvvcNY19gzXj3wPcg\r\n' +
      'User-Agent: axios/0.19.2\r\n' +
      'Host: api.tedee.com\r\n' +
      'Connection: close\r\n' +
      '\r\n',
    _keepAliveTimeout: 0,
    _onPendingData: [Function: noopPendingOutput],
    agent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object],
      requests: {},
      sockets: [Object],
      freeSockets: {},
      keepAliveMsecs: 1000,
      keepAlive: false,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      scheduling: 'fifo',
      maxTotalSockets: Infinity,
      totalSocketCount: 4,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      [Symbol(kCapture)]: false
    },
    socketPath: undefined,
    method: 'GET',
    maxHeaderSize: undefined,
    insecureHTTPParser: undefined,
    path: '/api/v1.15/my/lock',
    _ended: true,
    res: IncomingMessage {
      _readableState: [ReadableState],
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      socket: [TLSSocket],
      httpVersionMajor: 1,
      httpVersionMinor: 1,
      httpVersion: '1.1',
      complete: true,
      rawHeaders: [Array],
      rawTrailers: [],
      aborted: false,
      upgrade: false,
      url: '',
      method: null,
      statusCode: 401,
      statusMessage: 'Unauthorized',
      client: [TLSSocket],
      _consuming: true,
      _dumped: false,
      req: [Circular *1],
      responseUrl: 'https://api.tedee.com/api/v1.15/my/lock',
      redirects: [],
      [Symbol(kCapture)]: false,
      [Symbol(kHeaders)]: [Object],
      [Symbol(kHeadersCount)]: 22,
      [Symbol(kTrailers)]: null,
      [Symbol(kTrailersCount)]: 0,
      [Symbol(RequestTimeout)]: undefined
    },
    aborted: false,
    timeoutCb: null,
    upgradeOrConnect: false,
    parser: null,
    maxHeadersCount: null,
    reusedSocket: false,
    host: 'api.tedee.com',
    protocol: 'https:',
    _redirectable: Writable {
      _writableState: [WritableState],
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      _options: [Object],
      _redirectCount: 0,
      _redirects: [],
      _requestBodyLength: 0,
      _requestBodyBuffers: [],
      _onNativeResponse: [Function (anonymous)],
      _currentRequest: [Circular *1],
      _currentUrl: 'https://api.tedee.com/api/v1.15/my/lock',
      [Symbol(kCapture)]: false
    },
    [Symbol(kCapture)]: false,
    [Symbol(kNeedDrain)]: false,
    [Symbol(corked)]: 0,
    [Symbol(kOutHeaders)]: [Object: null prototype] {
      accept: [Array],
      authorization: [Array],
      'user-agent': [Array],
      host: [Array]
    }
  },
  response: {
    status: 401,
    statusText: 'Unauthorized',
    headers: {
      'transfer-encoding': 'chunked',
      'content-type': 'application/json',
      server: 'Microsoft-IIS/10.0',
      'www-authenticate': 'Bearer error="invalid_token", error_description="The signature key was not found", Bearer error="invalid_token", error_description="The signature key was not found"',
      'request-context': 'appId=cid-v1:xxxxxxxxxxxx-bf23-4ab2-b999-bbd05e97fbc2',
      'strict-transport-security': 'max-age=xxxxxxxxxxxx',
      'x-correlation-id': 'xxxxxxxxxxxx-0001-f800-b63f-xxxxxxxxxxxx',
      'x-powered-by': 'ASP.NET',
      date: 'Thu, 17 Dec 2020 21:14:47 GMT',
      connection: 'close'
    },
    config: {
      url: 'https://api.tedee.com/api/v1.15/my/lock',
      method: 'get',
      headers: [Object],
      transformRequest: [Array],
      transformResponse: [Array],
      timeout: 0,
      adapter: [Function: httpAdapter],
      xsrfCookieName: 'XSRF-TOKEN',
      xsrfHeaderName: 'X-XSRF-TOKEN',
      maxContentLength: -1,
      validateStatus: [Function: validateStatus],
      data: undefined
    },
    request: <ref *1> ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 6,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      socket: [TLSSocket],
      _header: 'GET /api/v1.15/my/lock HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxiOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJpc3MiOiJodHRwczovL3RlZGVlLmIyY2xvZ2luLmNvbS90ZnAvZTMxOTYxN2EtZjMyMi00Y2JhLTgxZWYtNGI1Yjk1MGU5MTcyL2IyY18xX3NpZ25pbl9yb3BjL3YyLjAvIiwiZXhwIjoxNjA4MjUwNDc1LCJuYmYiOjE2MDgyMzk2NzUsImF1ZCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsImlkcCI6IkxvY2FsQWNjb3VudCIsIm9pZCI6ImNiNjY1ZTFiLxxxxxxxxxxxxiNjY1ZTFiLTZmY2QtNGY2Ny05ODQzLTcxN2ZlZWIzMWEzZCIsIm5hbWUiOiJESmF5IiwibmV3VXNlciI6ZmFsc2UsImVtYWlscyI6WyJkamF5QG1lLmNvbSJdLCJ0ZnAiOiJCMkNfMV9TaWduSW5fUm9wYyIsImF6cCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsInZlciI6IjEuMCIsImlhdCI6MTYwODIzOTY3NX0.D1FcynocxrgCekS10JP8lCOteZy-jqiZgwxUCgM7EhtNjk5V9R_Mawq9i0AvXcow0oK5NynKpSMmt2Wp1KY2O9j-vRf-GiF-1xMTo97US6PnthkIyF41AEAcwdJSewBm6LJswa-DiGDAA2Le2nt1yg9hDcYamj1cuYoFqtatQ1YGK8NfnZZfnQzvwKE3EsT_Vby_uUiZgSwPZOwMkMMmYQ2qA0EFP8x0inni6mljwThps6xBBG3RGVCvGhmhn51XjpvYhyUsO7TKyXUANHKSsfi1GvRgNqA_RzSfyZKBLFT-bI2fgiUpyhhwETP5q62TSHWiaYvvcNY19gzXj3wPcg\r\n' +
        'User-Agent: axios/0.19.2\r\n' +
        'Host: api.tedee.com\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: noopPendingOutput],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      path: '/api/v1.15/my/lock',
      _ended: true,
      res: [IncomingMessage],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'api.tedee.com',
      protocol: 'https:',
      _redirectable: [Writable],
      [Symbol(kCapture)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    data: { success: false, errorMessages: [Array], statusCode: 401 }
  },
  isAxiosError: true,
  toJSON: [Function (anonymous)]
}
Error: Request failed with status code 401
    at createError (/usr/local/lib/node_modules/homebridge-tedee/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/usr/local/lib/node_modules/homebridge-tedee/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/usr/local/lib/node_modules/homebridge-tedee/node_modules/axios/lib/adapters/http.js:236:11)
    at IncomingMessage.emit (events.js:327:22)
    at endReadableNT (internal/streams/readable.js:1327:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
 {
  config: {
    url: 'https://api.tedee.com/api/v1.15/my/lock',
    method: 'get',
    headers: {
      Accept: 'application/json, text/plain, */*',
      Authorization: 'Bearer xxxxxxxxxxxxxxxxxxxxxxxiOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJpc3MiOiJodHRwczovL3RlZGVlLmIyY2xvZ2luLmNvbS90ZnAvZTMxOTYxN2EtZjMyMi00Y2JhLTgxZWYtNGI1Yjk1MGU5MTcyL2IyY18xX3NpZ25pbl9yb3BjL3YyLjAvIiwiZXhwIjoxNjA4MjUwNDc1LCJuYmYiOjE2MDgyMzk2NzUsImF1ZCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsImlkcCI6IkxvY2FsQWNjb3VudCIsIm9pZCI6ImNiNjY1ZTFiLxxxxxxxxxxxxiNjY1ZTFiLTZmY2QtNGY2Ny05ODQzLTcxN2ZlZWIzMWEzZCIsIm5hbWUiOiJESmF5IiwibmV3VXNlciI6ZmFsc2UsImVtYWlscyI6WyJkamF5QG1lLmNvbSJdLCJ0ZnAiOiJCMkNfMV9TaWduSW5fUm9wYyIsImF6cCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsInZlciI6IjEuMCIsImlhdCI6MTYwODIzOTY3NX0.D1FcynocxrgCekS10JP8lCOteZy-jqiZgwxUCgM7EhtNjk5V9R_Mawq9i0AvXcow0oK5NynKpSMmt2Wp1KY2O9j-vRf-GiF-1xMTo97US6PnthkIyF41AEAcwdJSewBm6LJswa-DiGDAA2Le2nt1yg9hDcYamj1cuYoFqtatQ1YGK8NfnZZfnQzvwKE3EsT_Vby_uUiZgSwPZOwMkMMmYQ2qA0EFP8x0inni6mljwThps6xBBG3RGVCvGhmhn51XjpvYhyUsO7TKyXUANHKSsfi1GvRgNqA_RzSfyZKBLFT-bI2fgiUpyhhwETP5q62TSHWiaYvvcNY19gzXj3wPcg',
      'User-Agent': 'axios/0.19.2'
    },
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    adapter: [Function: httpAdapter],
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    validateStatus: [Function: validateStatus],
    data: undefined
  },
  request: <ref *1> ClientRequest {
    _events: [Object: null prototype] {
      socket: [Function (anonymous)],
      abort: [Function (anonymous)],
      aborted: [Function (anonymous)],
      error: [Function (anonymous)],
      timeout: [Function (anonymous)],
      prefinish: [Function: requestOnPrefinish]
    },
    _eventsCount: 6,
    _maxListeners: undefined,
    outputData: [],
    outputSize: 0,
    writable: true,
    destroyed: false,
    _last: true,
    chunkedEncoding: false,
    shouldKeepAlive: false,
    _defaultKeepAlive: true,
    useChunkedEncodingByDefault: false,
    sendDate: false,
    _removedConnection: false,
    _removedContLen: false,
    _removedTE: false,
    _contentLength: 0,
    _hasBody: true,
    _trailer: '',
    finished: true,
    _headerSent: true,
    socket: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: false,
      _SNICallback: null,
      servername: 'api.tedee.com',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 10,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'api.tedee.com',
      _readableState: [ReadableState],
      _maxListeners: undefined,
      _writableState: [WritableState],
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: [TLSWrap],
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: [Circular *1],
      [Symbol(res)]: [TLSWrap],
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(async_id_symbol)]: 5351,
      [Symbol(kHandle)]: [TLSWrap],
      [Symbol(kSetNoDelay)]: false,
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: null,
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(connect-options)]: [Object],
      [Symbol(RequestTimeout)]: undefined
    },
    _header: 'GET /api/v1.15/my/lock HTTP/1.1\r\n' +
      'Accept: application/json, text/plain, */*\r\n' +
      'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxiOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJpc3MiOiJodHRwczovL3RlZGVlLmIyY2xvZ2luLmNvbS90ZnAvZTMxOTYxN2EtZjMyMi00Y2JhLTgxZWYtNGI1Yjk1MGU5MTcyL2IyY18xX3NpZ25pbl9yb3BjL3YyLjAvIiwiZXhwIjoxNjA4MjUwNDc1LCJuYmYiOjE2MDgyMzk2NzUsImF1ZCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsImlkcCI6IkxvY2FsQWNjb3VudCIsIm9pZCI6ImNiNjY1ZTFiLxxxxxxxxxxxxiNjY1ZTFiLTZmY2QtNGY2Ny05ODQzLTcxN2ZlZWIzMWEzZCIsIm5hbWUiOiJESmF5IiwibmV3VXNlciI6ZmFsc2UsImVtYWlscyI6WyJkamF5QG1lLmNvbSJdLCJ0ZnAiOiJCMkNfMV9TaWduSW5fUm9wYyIsImF6cCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsInZlciI6IjEuMCIsImlhdCI6MTYwODIzOTY3NX0.D1FcynocxrgCekS10JP8lCOteZy-jqiZgwxUCgM7EhtNjk5V9R_Mawq9i0AvXcow0oK5NynKpSMmt2Wp1KY2O9j-vRf-GiF-1xMTo97US6PnthkIyF41AEAcwdJSewBm6LJswa-DiGDAA2Le2nt1yg9hDcYamj1cuYoFqtatQ1YGK8NfnZZfnQzvwKE3EsT_Vby_uUiZgSwPZOwMkMMmYQ2qA0EFP8x0inni6mljwThps6xBBG3RGVCvGhmhn51XjpvYhyUsO7TKyXUANHKSsfi1GvRgNqA_RzSfyZKBLFT-bI2fgiUpyhhwETP5q62TSHWiaYvvcNY19gzXj3wPcg\r\n' +
      'User-Agent: axios/0.19.2\r\n' +
      'Host: api.tedee.com\r\n' +
      'Connection: close\r\n' +
      '\r\n',
    _keepAliveTimeout: 0,
    _onPendingData: [Function: noopPendingOutput],
    agent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object],
      requests: {},
      sockets: [Object],
      freeSockets: {},
      keepAliveMsecs: 1000,
      keepAlive: false,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      scheduling: 'fifo',
      maxTotalSockets: Infinity,
      totalSocketCount: 4,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      [Symbol(kCapture)]: false
    },
    socketPath: undefined,
    method: 'GET',
    maxHeaderSize: undefined,
    insecureHTTPParser: undefined,
    path: '/api/v1.15/my/lock',
    _ended: true,
    res: IncomingMessage {
      _readableState: [ReadableState],
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      socket: [TLSSocket],
      httpVersionMajor: 1,
      httpVersionMinor: 1,
      httpVersion: '1.1',
      complete: true,
      rawHeaders: [Array],
      rawTrailers: [],
      aborted: false,
      upgrade: false,
      url: '',
      method: null,
      statusCode: 401,
      statusMessage: 'Unauthorized',
      client: [TLSSocket],
      _consuming: true,
      _dumped: false,
      req: [Circular *1],
      responseUrl: 'https://api.tedee.com/api/v1.15/my/lock',
      redirects: [],
      [Symbol(kCapture)]: false,
      [Symbol(kHeaders)]: [Object],
      [Symbol(kHeadersCount)]: 22,
      [Symbol(kTrailers)]: null,
      [Symbol(kTrailersCount)]: 0,
      [Symbol(RequestTimeout)]: undefined
    },
    aborted: false,
    timeoutCb: null,
    upgradeOrConnect: false,
    parser: null,
    maxHeadersCount: null,
    reusedSocket: false,
    host: 'api.tedee.com',
    protocol: 'https:',
    _redirectable: Writable {
      _writableState: [WritableState],
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      _options: [Object],
      _redirectCount: 0,
      _redirects: [],
      _requestBodyLength: 0,
      _requestBodyBuffers: [],
      _onNativeResponse: [Function (anonymous)],
      _currentRequest: [Circular *1],
      _currentUrl: 'https://api.tedee.com/api/v1.15/my/lock',
      [Symbol(kCapture)]: false
    },
    [Symbol(kCapture)]: false,
    [Symbol(kNeedDrain)]: false,
    [Symbol(corked)]: 0,
    [Symbol(kOutHeaders)]: [Object: null prototype] {
      accept: [Array],
      authorization: [Array],
      'user-agent': [Array],
      host: [Array]
    }
  },
  response: {
    status: 401,
    statusText: 'Unauthorized',
    headers: {
      'transfer-encoding': 'chunked',
      'content-type': 'application/json',
      server: 'Microsoft-IIS/10.0',
      'www-authenticate': 'Bearer error="invalid_token", error_description="The signature key was not found", Bearer error="invalid_token", error_description="The signature key was not found"',
      'request-context': 'appId=cid-v1:xxxxxxxxxxxx-bf23-4ab2-b999-bbd05e97fbc2',
      'strict-transport-security': 'max-age=xxxxxxxxxxxx',
      'x-correlation-id': 'xxxxxxxxxxxx-0001-f800-b63f-xxxxxxxxxxxx',
      'x-powered-by': 'ASP.NET',
      date: 'Thu, 17 Dec 2020 21:14:47 GMT',
      connection: 'close'
    },
    config: {
      url: 'https://api.tedee.com/api/v1.15/my/lock',
      method: 'get',
      headers: [Object],
      transformRequest: [Array],
      transformResponse: [Array],
      timeout: 0,
      adapter: [Function: httpAdapter],
      xsrfCookieName: 'XSRF-TOKEN',
      xsrfHeaderName: 'X-XSRF-TOKEN',
      maxContentLength: -1,
      validateStatus: [Function: validateStatus],
      data: undefined
    },
    request: <ref *1> ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 6,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      socket: [TLSSocket],
      _header: 'GET /api/v1.15/my/lock HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxiOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJpc3MiOiJodHRwczovL3RlZGVlLmIyY2xvZ2luLmNvbS90ZnAvZTMxOTYxN2EtZjMyMi00Y2JhLTgxZWYtNGI1Yjk1MGU5MTcyL2IyY18xX3NpZ25pbl9yb3BjL3YyLjAvIiwiZXhwIjoxNjA4MjUwNDc1LCJuYmYiOjE2MDgyMzk2NzUsImF1ZCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsImlkcCI6IkxvY2FsQWNjb3VudCIsIm9pZCI6ImNiNjY1ZTFiLxxxxxxxxxxxxiNjY1ZTFiLTZmY2QtNGY2Ny05ODQzLTcxN2ZlZWIzMWEzZCIsIm5hbWUiOiJESmF5IiwibmV3VXNlciI6ZmFsc2UsImVtYWlscyI6WyJkamF5QG1lLmNvbSJdLCJ0ZnAiOiJCMkNfMV9TaWduSW5fUm9wYyIsImF6cCI6IjAyMTA2YjgyLTA1MjQtNGZkMy1hYzU3LWFmNzc0ZjM0MDk3OSIsInZlciI6IjEuMCIsImlhdCI6MTYwODIzOTY3NX0.D1FcynocxrgCekS10JP8lCOteZy-jqiZgwxUCgM7EhtNjk5V9R_Mawq9i0AvXcow0oK5NynKpSMmt2Wp1KY2O9j-vRf-GiF-1xMTo97US6PnthkIyF41AEAcwdJSewBm6LJswa-DiGDAA2Le2nt1yg9hDcYamj1cuYoFqtatQ1YGK8NfnZZfnQzvwKE3EsT_Vby_uUiZgSwPZOwMkMMmYQ2qA0EFP8x0inni6mljwThps6xBBG3RGVCvGhmhn51XjpvYhyUsO7TKyXUANHKSsfi1GvRgNqA_RzSfyZKBLFT-bI2fgiUpyhhwETP5q62TSHWiaYvvcNY19gzXj3wPcg\r\n' +
        'User-Agent: axios/0.19.2\r\n' +
        'Host: api.tedee.com\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: noopPendingOutput],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      path: '/api/v1.15/my/lock',
      _ended: true,
      res: [IncomingMessage],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'api.tedee.com',
      protocol: 'https:',
      _redirectable: [Writable],
      [Symbol(kCapture)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    data: { success: false, errorMessages: [Array], statusCode: 401 }
  },
  isAxiosError: true,
  toJSON: [Function (anonymous)]
}
[17.12.2020, 22:14:47] Got SIGTERM, shutting down Homebridge...

Show also the status of the tedee lock

I'm asking me if it is possible to see messages like "Schloss blockiert" in ioBroker.
The Homebridge/Homekit plugin can show e.g. SECURED, UNSECURED or an issue like "Schloss blockiert".
In ioBroker I can see only a 0 or 1 under Lock-current-state. Is it possible to change it?

Unlatch without Homebridge command

Hi everybody,

unfortunately the lock unlatchs without a Homebridge command (by itself).

After a few minutes, the door open (unlatch) the front door and I don't know why. I added a own user for Homebridge and in the protocol of tedee is written that the door was opened by Homebridge, but as I already mentioned, without an external command by Homebridge.

Software-Version:
Lock: 1.3.51693
Bridge: 1.2.51141

With this uncertainty the plugin is useless for everyone with the same problem.

KR,
Hadea

[Feature Request] Option to disable unlock action

Hello @lukasroegner,

is there a chance to disable the possibility to open the lock? Because of security reasons I would like to allow HomeKit only to close the lock. That would mean that Homebridge-tedee would do nothing, when the switch in HomeKit is moved to open.

Otherwise everyone who has access to my home via HomeKit can open the door and with the Alexa Homebridge plugin you just have to shout loud enough in front of the house and Alexa will open the door (a little bit hypothetical but who knows...).

Regards
Martin

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.