Weather Location
This skill automates weather data retrieval using Open-Meteo and live webcam image capture using agent-browser.
Workflow
-
Get Coordinates (Geocoding):
- Execute
curl -s "https://geocoding-api.open-meteo.com/v1/search?name=[Location]&count=1&language=es&format=json"to resolve city name to coordinates.
- Execute
-
Get weather (Open-Meteo):
- Execute
curl -s "https://api.open-meteo.com/v1/forecast?latitude=[Lat]&longitude=[Lon]¤t=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,wind_speed_10m"to get real-time data.
- Execute
-
Search for Webcam:
- Web search for
site:meteoblue.com [Location] webcamorsite:windy.com [Location] webcam. - Select the direct link to the location's webcam page.
- Web search for
-
Capture Image (Agent Browser Method):
- Use agent-browser to navigate and interact:
/home/user/.npm-global/bin/agent-browser --session-name webcam open "[URL]" - Interaction:
- Click "OK/Accept" on cookie banners using
snapshot+click @ref.
- Click "OK/Accept" on cookie banners using
- Extraction:
- Use
evalto find the highest resolution URL (look for/full/andoriginal.jpg):Array.from(document.querySelectorAll('img')).map(img => img.src).filter(src => src.includes('original.jpg') && src.includes('/full/'))[0]
- Use
- Download:
- Download with
curlto/home/user/.openclaw/workspace/webcam.jpg.
- Download with
- Use agent-browser to navigate and interact:
-
User Response:
- Send with
message(action=send, media="/home/user/.openclaw/workspace/webcam.jpg", caption="[City]: [Icon] [Temp]°C [Humidity]% [Wind]km/h\n[Comment]"). - Respond with
NO_REPLY.
- Send with
Optimization (Token Saving)
- Open-Meteo API: Faster, keyless, and more reliable than wttr.in.
- Agent Browser: Priority method for Alex to ensure interaction (cookies) and high-quality images.
- Session Persistence: Use
--session-name webcamto keep cookies.