Also looking for KD110 support. I have one if there's anything I can do to help with testing.
I found another repo kasa-camera that gets access to other Kasa brand cameras, but it's connection string doesn't seem to be the same as the KD110. Connecting to the KD110 at this address gives me an authentication prompt in the browser, but no feed after logging in with my Kasa account credentials. https://local.IP:19443/https/stream/mixed?video=h264&audio=g711&resolution=hd
The doorbell uses the same protocol as that detailed in the below repository. Only exception is the credentials are
"USERNAME:PASSWORD" encoded to Base64 (do not need to encode password prior to the final encoding). Additionally, when creating the command, the "context" section is not required.
Are those detected when using kasa discover --show-unsupported? There is an open PR for adding support for some cameras #537, maybe this implements the same or very similar protocol.
The open PR you mentioned is a Kasa Camera. The doorbell is, in-fact, a basic (not ptz) camera with the addition of the doorbell button (plus some other (auto answer) functions. The Protocols used (slightly modified for credentials as stated earlier) should work also for the Kasa Doorbell. At least a good starting point.
I am working on a HubitatElevation camera/doorbell set for three device types: basicCamera, PTZCamera, and Doorbell. What is missing from the doorbell is a means to detect the button press within the code (still looking for this in the APK file). In fact, I am able to send any local command to both a camera and doorbell using same code. Of course, all commands are not valid on all both. In that case I get the not-supported by API error message [smartlife.cam.ipcamera.vod:[get_detect_state:[err_code:-10008, err_msg:Unsupported API call.]]]. Now to check through my library of commands and see which work and which do not on the doorbell.
Just a guess, but given the nature of doorbells, the most obvious way would be to use some type of eventing instead of polling. So perhaps something similar to device triggers (#456) is used for that, if the devices function just fine without cloud connectivity?
That particular set of methods refers to rules to execute when a trigger event is executed. It does not expose the trigger event.
On Tapo Hub devices, you poll for events in a method get_trigger_logs (identifying the number of log entries to extract). I am looking for a similar for the Kasa camera/doorbell.
The associated api document in #456 is incomplete. No camera/doorbell/trv commands. limits on others. What is there is GREAT however and shows good work.
For the Camera, I have worked out a library of a lot of working commands (and tested). Below are just a few:
There hasn't been any activity on this issue recently. This issue has been automatically marked as stale because of that. It will be closed if no further activity occurs.
Please make sure to update to the latest python-kasa version and check if that solves the issue.
Thank you for your contributions.
Also looking for KD110 support. I have one if there's anything I can do to help with testing.
I found another repo kasa-camera that gets access to other Kasa brand cameras, but it's connection string doesn't seem to be the same as the KD110. Connecting to the KD110 at this address gives me an authentication prompt in the browser, but no feed after logging in with my Kasa account credentials. https://local.IP:19443/https/stream/mixed?video=h264&audio=g711&resolution=hd
using "resolution=720p" gets me further but stream is still broken. FWIW.
There hasn't been any activity on this issue recently. This issue has been automatically marked as stale because of that. It will be closed if no further activity occurs.
Please make sure to update to the latest python-kasa version and check if that solves the issue.
Thank you for your contributions.
Activity
StratISaurus commented on Oct 5, 2023
Also looking for KD110 support. I have one if there's anything I can do to help with testing.
I found another repo kasa-camera that gets access to other Kasa brand cameras, but it's connection string doesn't seem to be the same as the KD110. Connecting to the KD110 at this address gives me an authentication prompt in the browser, but no feed after logging in with my Kasa account credentials.
https://local.IP:19443/https/stream/mixed?video=h264&audio=g711&resolution=hd
DaveGut commented on Dec 2, 2023
The doorbell uses the same protocol as that detailed in the below repository. Only exception is the credentials are
"USERNAME:PASSWORD" encoded to Base64 (do not need to encode password prior to the final encoding). Additionally, when creating the command, the "context" section is not required.
https://github.com/search?q=LOCAM&type=repositories
A lot of the Camera commands are the same. I am still looking for motion/sound detect events as well as doorbell press event.
rytilahti commented on Dec 2, 2023
Are those detected when using kasa discover --show-unsupported? There is an open PR for adding support for some cameras #537, maybe this implements the same or very similar protocol.
DaveGut commented on Dec 2, 2023
The open PR you mentioned is a Kasa Camera. The doorbell is, in-fact, a basic (not ptz) camera with the addition of the doorbell button (plus some other (auto answer) functions. The Protocols used (slightly modified for credentials as stated earlier) should work also for the Kasa Doorbell. At least a good starting point.
I am working on a HubitatElevation camera/doorbell set for three device types: basicCamera, PTZCamera, and Doorbell. What is missing from the doorbell is a means to detect the button press within the code (still looking for this in the APK file). In fact, I am able to send any local command to both a camera and doorbell using same code. Of course, all commands are not valid on all both. In that case I get the not-supported by API error message [smartlife.cam.ipcamera.vod:[get_detect_state:[err_code:-10008, err_msg:Unsupported API call.]]]. Now to check through my library of commands and see which work and which do not on the doorbell.
rytilahti commented on Dec 2, 2023
Just a guess, but given the nature of doorbells, the most obvious way would be to use some type of eventing instead of polling. So perhaps something similar to device triggers (#456) is used for that, if the devices function just fine without cloud connectivity?
DaveGut commented on Dec 2, 2023
That particular set of methods refers to rules to execute when a trigger event is executed. It does not expose the trigger event.
On Tapo Hub devices, you poll for events in a method get_trigger_logs (identifying the number of log entries to extract). I am looking for a similar for the Kasa camera/doorbell.
The associated api document in #456 is incomplete. No camera/doorbell/trv commands. limits on others. What is there is GREAT however and shows good work.
For the Camera, I have worked out a library of a lot of working commands (and tested). Below are just a few:
github-actions commented on Sep 28, 2024
There hasn't been any activity on this issue recently. This issue has been automatically marked as stale because of that. It will be closed if no further activity occurs.
Please make sure to update to the latest python-kasa version and check if that solves the issue.
Thank you for your contributions.
theColourSpace commented on Apr 25, 2025
using "resolution=720p" gets me further but stream is still broken. FWIW.
DaveGut commented on Apr 25, 2025
github-actions commented on Jul 25, 2025
There hasn't been any activity on this issue recently. This issue has been automatically marked as stale because of that. It will be closed if no further activity occurs.
Please make sure to update to the latest python-kasa version and check if that solves the issue.
Thank you for your contributions.