*Created with ClaudeAI. If it looks good on your side feel free to add it to the script library. I've tried it within Meshmonitor and it seems to work able to use timed events or auto responder.
Please add my script to the User Scripts Gallery:
Changelog: v3 fixes a timeout issue in the script that caused time events automation trigger to fail with a [ error — "The read operation timed out" ] that problem has been corrected.
Script Name: PirateWeatherADV v3
Description: PirateWeatherADV is a Python weather script for mesh network auto-responders with four output modes:
Location mode — query weather by typing a place name. Works via trigger from another node, or as a Timed Event with a CLI argument. Outputs the classic single-line format:
Weather for Peterborough, Ontario, Canada:
Misty. Currently 40°F (feels like 32°F). Today: High 47°F, Low 38°F. Humidity: 96%, Wind: 9 mph.
7-Day Forecast for Peterborough, Ontario, Canada:
7-Day Forecast - Peterborough, Ontario, Canada:
Sun: Mostly clear starting in the evening.. Hi 44°F/6°C Lo 27°F/-3°C 💧14%
17:21
Mon: Mostly clear until evening, returning overnight.. Hi 39°F/4°C Lo 25°F/-4°C 💧7%
Tue: Partly cloudy until afternoon, returning overnight.. Hi 43°F/6°C Lo 35°F/2°C 💧6%
17:22
Wed: Mostly clear until evening, returning overnight.. Hi 57°F/14°C Lo 36°F/2°C
Thu: Partly cloudy starting in the afternoon.. Hi 58°F/15°C Lo 42°F/5°C
17:22
Fri: Drizzle overnight.. Hi 59°F/15°C Lo 44°F/7°C 💧29%
Sat: Drizzle until evening.. Hi 57°F/14°C Lo 43°F/6°C 💧46%
Image
GPS mode — send just weather with no location and the script automatically uses the requesting node's GPS coordinates, falling back to the local node's GPS if none is provided. Outputs a multi-line emoji format with a reverse-geocoded city name.
Input is flexible — it accepts peterborough,ontario,canada or weather peterborough,ontario,canada, from a trigger, a CLI argument, or an environment variable. It figures out what you meant either way.
All weather data comes from Pirate Weather, location names from OpenStreetMap Nominatim. The only thing you need to supply is a free Pirate Weather API key.
Additional documentation can be found within the script.
Language (Python/JavaScript/Shell): Python
Tags (comma-separated): Weather, API, Geocoding, PirateWeather, V2
Example Trigger: weather — GPS mode, uses node coordinates
weather {location:.+} — location mode, user types a place name
Requirements: Python 3.6+
Pirate Weather API key — free from https://pirateweather.net/
PIRATE_WEATHER_API_KEY set as an environment variable
LOCAL_LAT / LOCAL_LON set if you want a GPS fallback when the requesting node has no coordinates
Internet access from the container (for Pirate Weather and Nominatim)
GitHub Link or Gist: N/A
[Paste your script code here or link to it]
PirateWeatherADV v3.py
*Created with ClaudeAI. If it looks good on your side feel free to add it to the script library. I've tried it within Meshmonitor and it seems to work able to use timed events or auto responder.
Please add my script to the User Scripts Gallery:
Changelog: v3 fixes a timeout issue in the script that caused time events automation trigger to fail with a [ error — "The read operation timed out" ] that problem has been corrected.
Script Name: PirateWeatherADV v3
Description: PirateWeatherADV is a Python weather script for mesh network auto-responders with four output modes:
Location mode — query weather by typing a place name. Works via trigger from another node, or as a Timed Event with a CLI argument. Outputs the classic single-line format:
Weather for Peterborough, Ontario, Canada:
Misty. Currently 40°F (feels like 32°F). Today: High 47°F, Low 38°F. Humidity: 96%, Wind: 9 mph.
7-Day Forecast for Peterborough, Ontario, Canada:
7-Day Forecast - Peterborough, Ontario, Canada:
Sun: Mostly clear starting in the evening.. Hi 44°F/6°C Lo 27°F/-3°C 💧14%
17:21
Mon: Mostly clear until evening, returning overnight.. Hi 39°F/4°C Lo 25°F/-4°C 💧7%
Tue: Partly cloudy until afternoon, returning overnight.. Hi 43°F/6°C Lo 35°F/2°C 💧6%
17:22
Wed: Mostly clear until evening, returning overnight.. Hi 57°F/14°C Lo 36°F/2°C
Thu: Partly cloudy starting in the afternoon.. Hi 58°F/15°C Lo 42°F/5°C
17:22
Fri: Drizzle overnight.. Hi 59°F/15°C Lo 44°F/7°C 💧29%
Sat: Drizzle until evening.. Hi 57°F/14°C Lo 43°F/6°C 💧46%
Image
GPS mode — send just weather with no location and the script automatically uses the requesting node's GPS coordinates, falling back to the local node's GPS if none is provided. Outputs a multi-line emoji format with a reverse-geocoded city name.
Input is flexible — it accepts peterborough,ontario,canada or weather peterborough,ontario,canada, from a trigger, a CLI argument, or an environment variable. It figures out what you meant either way.
All weather data comes from Pirate Weather, location names from OpenStreetMap Nominatim. The only thing you need to supply is a free Pirate Weather API key.
Additional documentation can be found within the script.
Language (Python/JavaScript/Shell): Python
Tags (comma-separated): Weather, API, Geocoding, PirateWeather, V2
Example Trigger: weather — GPS mode, uses node coordinates
weather {location:.+} — location mode, user types a place name
Requirements: Python 3.6+
Pirate Weather API key — free from https://pirateweather.net/
PIRATE_WEATHER_API_KEY set as an environment variable
LOCAL_LAT / LOCAL_LON set if you want a GPS fallback when the requesting node has no coordinates
Internet access from the container (for Pirate Weather and Nominatim)
GitHub Link or Gist: N/A
[Paste your script code here or link to it]
PirateWeatherADV v3.py