mirror of
https://github.com/oasis6212/Meshbot_weather.git
synced 2025-12-10 00:06:12 -06:00
August Update 2
This commit is contained in:
parent
29983db0c3
commit
1907320f34
93
README.md
93
README.md
@ -33,7 +33,7 @@
|
||||

|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
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:
|
||||

|
||||
|
||||
|
||||
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
BIN
img/Newfeatures.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 173 KiB |
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user