August Update 2

This commit is contained in:
oasis6212 2025-08-09 23:41:27 -04:00 committed by GitHub
parent 29983db0c3
commit 1907320f34
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 69 additions and 49 deletions

View File

@ -33,7 +33,7 @@
![](img/menu.png)
![](img/windnew.png)
![](img/wind.png)
MeshBot Weather is a spinoff of [MeshBot](https://github.com/868meshbot/meshbot) with a detailed focus on weather. Designed to run on a computer or a
@ -52,7 +52,7 @@ Our Mission:
- Utilizes the National Weather Service, the official source for NOAA-issued EAS alerts.
- Automatically sends severe weather alerts to all devices on the mesh network.
- Weather forecast: A selection of Multi-day and hourly forecasts available on demand.
- Easily accessible menu that can be called by sending "?" to the bot.
- Easily accessible menu that can be called by sending "menu" or "?" to the bot.
- Help message reply when the bot receives an unrecognized instruction.
- Alert system test command to varify the weather alert api is responding and is configured correctly.
- Detailed multi-message outputs for deployments on private and low-traffic meshes.
@ -66,6 +66,8 @@ Our Mission:
![](img/newfeatures.png)
Thanks [davidfries](https://github.com/davidfries)!
## Bot interaction
Your bot will be accessible through the meshtastic mesh network through the node name. DM the bot/node and issue any of the following commands:
@ -83,10 +85,10 @@ NOTE: Commands are not case-sensitive.
- rain : Rain chance every hour for the next 24 hours (Single message return)
- temp : Predicted temperature every hour for the next 24 hours (Single message return)
- wind : Hourly wind information for next 24 hours (Multi message return)
- loc : Custom location lookup.
- alert : Get full alert info for the last-issued alert.
Commands below are not listed in the help menu:
- alert : Get full alert info for the last-issued alert.
- alert-status : Runs a check on the alert system. Returns ok if good or error code if an issue is found
- test : bot will return an acknowledgement of message received
- advertise : When received, the bot will message the public channel introducing itself along with its menu command.
@ -188,32 +190,34 @@ Example Content:
```
MYNODES:
- "3663493700"
- "1234567890"
- "1234567890"
FIREWALL: false
DM_MODE: true
DUTYCYCLE: false
NWS_OFFICE: "LOX"
NWS_GRID_X: "155"
NWS_GRID_Y: "45"
USER_AGENT_APP: "myweatherapp"
USER_AGENT_EMAIL: "contact@example.com"
ALERT_LAT: "34.0522"
ALERT_LON: "-118.2433"
FIREWALL: false
DM_MODE: true
DUTYCYCLE: false
NWS_OFFICE: "BGM"
NWS_GRID_X: "84"
NWS_GRID_Y: "89"
ALERT_LAT: "37.7654"
ALERT_LON: "-100.0151"
ALERT_CHECK_INTERVAL: 300
FIRST_MESSAGE_DELAY: 3
ALERT_INCLUDE_DESCRIPTION:
ALERT_CHANNEL_INDEX: 0
FIRST_MESSAGE_DELAY: 0
MESSAGE_DELAY: 15
ALERT_INCLUDE_DESCRIPTION: false
ENABLE_FULL_ALERT_COMMAND: true
ENABLE_FULL_ALERT_COMMAND: true
ENABLE_CUSTOM_LOOKUP: true
ENABLE_7DAY_FORECAST: true
ENABLE_5DAY_FORECAST: true
ENABLE_HOURLY_WEATHER: true
FULL_MENU: true
ENABLE_HOURLY_WEATHER: true
FULL_MENU: true
ENABLE_AUTO_REBOOT: false
AUTO_REBOOT_HOUR: 3
AUTO_REBOOT_MINUTE: 0
REBOOT_DELAY_SECONDS: 10
SHUTDOWN_NODE_ON_EXIT: false
SHUTDOWN_NODE_ON_EXIT: false
USER_AGENT_APP: "myweatherapp"
USER_AGENT_EMAIL: "contact@example.com"
```
@ -234,14 +238,6 @@ Description
- NWS_OFFICE: NWS_GRID_X: NWS_GRID_Y: #settings for the weather forecast api calls, see below to learn how to set up.
- USER_AGENT_APP: "myweatherapp" #used for NWS (National Weather Service) API calls, can be whatever you want, more
unique the better. This is what NWS uses instead of an API key.
- USER_AGENT_EMAIL: "contact@example.com" #your email, in the event NWS detects excess api calls they will throttle you.
Gives you the opportunity to fix the issue and stop getting throttled.
- ALERT_LAT: "34.0522" ALERT_LON: "-118.2433" #settings for alerts, put in the latitude, and longitude of the area you
want alerts for. Make sure you only go up to 4 places past the decimal point on each.
@ -250,7 +246,15 @@ want alerts for. Make sure you only go up to 4 places past the decimal point on
From what I have gathered, they allow up to once a minute for alert checking. Your milage may very.
- FIRST_MESSAGE_DELAY: 3 # Delay in seconds between receiving a request and sending the first message back. This is
- ALERT_INCLUDE_DESCRIPTION: #Set to false to exclude description from alerts. Descriptions will include alot of detail
such as every county, town, and area affected. You can expect about 4 or 5 messages when description is set to "true" vs
a single message when set to false.
-ALERT_CHANNEL_INDEX: #Channel index for weather alerts, default is 0 (first channel)
- FIRST_MESSAGE_DELAY: # Delay in seconds between receiving a request and sending the first message back. This is
experimental. Hoping this may help with dropped 1st part of reply's, by giving the network a few seconds to settle down.
feel free to experiment with different values.
@ -258,15 +262,13 @@ feel free to experiment with different values.
- MESSAGE_DELAY: Delay in seconds between split messages. To short of a delay can cause messages to arrive out of order.
- ALERT_INCLUDE_DESCRIPTION: #Set to false to exclude description from alerts. Descriptions will include alot of detail
such as every county, town, and area affected. You can expect about 4 or 5 messages when description is set to "true" vs
a single message when set to false.
- ENABLE_FULL_ALERT_COMMAND: #set to false to disable the "alert" command. Can produce up to 8 messages, may want to
disable on a high traffic mesh.
- ENABLE_CUSTOM_LOOKUP: # Enable/disable custom lat/lon lookup via message. More info below.
- ENABLE_7DAY_FORECAST: ENABLE_5DAY_FORECAST: ENABLE_HOURLY_WEATHER: # These calls produce 2 to 4 messages each. If you
are on a high-traffic mesh, you may want to disable these.
@ -293,6 +295,14 @@ changing this.
turn the node back on before running the program again.
- USER_AGENT_APP: "myweatherapp" #used for NWS (National Weather Service) API calls, can be whatever you want, more
unique the better. This is what NWS uses instead of an API key.
- USER_AGENT_EMAIL: "contact@example.com" #your email, in the event NWS detects excess api calls they will throttle you.
Gives you the opportunity to fix the issue and stop getting throttled.
## How to get your NWS_OFFICE, NWS_GRID_X, and NWS_GRID_Y
To get your NWS office and grid coordinates:
1. Go to (https://weather.gov)
@ -321,11 +331,20 @@ earlier in this process. Use no more than four digits after the decimal point.
Press "Ctrl + c" once to tell the program to close. If Node shutdown is enabled in the settings.yaml The program will
command the node to shutdown and give it time to do so.
Letting the node complete its shutdown sequence will prevent data loss in the node itself.
Pressing "Ctrl + c" twice will force a hard exit of the program.
## Using the "Loc" custom location lookup command.
The loc command allows you to get a forecast for an area that is not the bots primary location. Input the locations
latitude and longitude along with the forecast type you want.
Full command example: "loc 39.0453/-98.2077 hourly"
Structure: loc {Latitude/longitude Command} command can be any of the regular commands like wind, 2day, 7day etc.
To ensure compatibility of your coordinates, only use up to 4 digits past the decimal point like in the example.
## API Handaling details
To prevent excessive api calls, the bot will check if it currently has the data being requested and if it is
@ -354,7 +373,7 @@ everyone else running the defaults. This could possibly cause your API request t
## Contributors
- [868meshbot](https://github.com/868meshbot), [oasis6212](https://github.com/oasis6212)
- [oasis6212](https://github.com/oasis6212), [868meshbot](https://github.com/868meshbot), [davidfries](https://github.com/davidfries)
## Acknowledgements

BIN
img/Newfeatures.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

View File

@ -1,20 +1,21 @@
MYNODES:
- "1234567890" #these are examples, fill in with your node numbers if needed, you can add lines as needed.
- "1234567890"
FIREWALL: false # If true, only responds to node ids listed under "MYNODES:"
DM_MODE: true # If true, bot responds to direct messages only. Recommend not changing this
DUTYCYCLE: false # If true, will limit to 10% duty cycle
NWS_OFFICE: "LOX" # Location settings for the weather forecast api calls, see readme for details
NWS_GRID_X: "155"
NWS_GRID_Y: "45"
USER_AGENT_APP: "myweatherapp" # Used for NWS API calls, can be whatever you want, more unique the better.
USER_AGENT_EMAIL: "contact@example.com" # Your email, in the event NWS detects excess api calls they can contact you
ALERT_LAT: "34.0522" # Location settings for alerts, use your coordinates. No more than 4 digits past the decimal point
ALERT_LON: "-118.2433"
NWS_OFFICE: "BGM" # Location settings for the weather forecast api calls, see readme for details
NWS_GRID_X: "84"
NWS_GRID_Y: "89"
ALERT_LAT: "37.7654" # Location settings for alerts, use your coordinates. No more than 4 digits past the decimal point
ALERT_LON: "-100.0151"
ALERT_CHECK_INTERVAL: 300 # Time in seconds between alert checks (default: 300 = 5 minutes)
ALERT_INCLUDE_DESCRIPTION: false # Set to false to exclude the full description from automatically issued alerts
ALERT_CHANNEL_INDEX: 0 # Channel index for weather alerts, default is 0 (first channel)
FIRST_MESSAGE_DELAY: 0 # Delay in seconds between receiving a request and sending the first message back.
MESSAGE_DELAY: 15 # Delay in seconds between subsequent messages of a multi-message response
ALERT_INCLUDE_DESCRIPTION: false # Set to false to exclude description from automatically issued alerts
ENABLE_FULL_ALERT_COMMAND: true # Set to false to disable the alert request command
ENABLE_CUSTOM_LOOKUP: true # Enable/disable custom lat/lon lookup via message
ENABLE_7DAY_FORECAST: true # Set to false to disable 7-day forecast module
ENABLE_5DAY_FORECAST: true # Set to false to disable 5-day forecast module
ENABLE_HOURLY_WEATHER: true # Set to false to disable hourly weather module
@ -23,6 +24,6 @@ ENABLE_AUTO_REBOOT: false # Set to true to enable automatic daily reboot of the
AUTO_REBOOT_HOUR: 3 # Hour for daily reboot (24-hour format)
AUTO_REBOOT_MINUTE: 0 # Minute for daily reboot
REBOOT_DELAY_SECONDS: 10 # Delay in seconds before reboot occurs (recommend not changing this)
ENABLE_CUSTOM_LOOKUP: true # Enable/disable custom lat/lon lookup via message
SHUTDOWN_NODE_ON_EXIT: false # If true, shutdown node on exit. If false, only close interface
ALERT_CHANNEL_INDEX: 0 # Channel index for weather alerts, default is 0 (first channel)
SHUTDOWN_NODE_ON_EXIT: false # If true, shutdown node on exit. If false, only close the program
USER_AGENT_APP: "myweatherapp" # Used for NWS API calls, can be whatever you want, more unique the better.
USER_AGENT_EMAIL: "contact@example.com" # Your email, in the event NWS detects excess api calls they can contact you