Skip to content

Instantly share code, notes, and snippets.

@skittleson
Created May 28, 2025 01:31
Show Gist options
  • Save skittleson/796f0d8cb78d6bbccfdd837371939b65 to your computer and use it in GitHub Desktop.
Save skittleson/796f0d8cb78d6bbccfdd837371939b65 to your computer and use it in GitHub Desktop.
Wyze API Jobs
import requests
import os
import sys
import json
from wyze_sdk import Client
from wyze_sdk.errors import WyzeApiError
client = Client(token=sys.argv[1])
try:
cameras = client.cameras.list()
for camera in cameras:
print(f"\nFetching events for camera: {camera.nickname} {camera.ip}")
events = client.events.list(device_mac=camera.mac, limit=5)
for event in events:
print(dir(event))
for file in event.files:
image_url = file.url
output_dir = 'event_images'
os.makedirs(output_dir, exist_ok=True)
filename = f"{file.id}.jpg"
filepath = os.path.join(output_dir, filename)
response = requests.get(image_url)
if response.status_code == 200:
with open(filepath, 'wb') as f:
f.write(response.content)
print(f"Downloaded: {filepath}")
except WyzeApiError as e:
print(f"An error occurred: {e}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment