<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://pabut.org/wiki/index.php?action=history&amp;feed=atom&amp;title=River_Gage_Bot</id>
	<title>River Gage Bot - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://pabut.org/wiki/index.php?action=history&amp;feed=atom&amp;title=River_Gage_Bot"/>
	<link rel="alternate" type="text/html" href="http://pabut.org/wiki/index.php?title=River_Gage_Bot&amp;action=history"/>
	<updated>2026-04-17T13:19:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>http://pabut.org/wiki/index.php?title=River_Gage_Bot&amp;diff=156&amp;oldid=prev</id>
		<title>Pabut: Created page with &quot;This script checks the USGS waterdata site (https://waterdata.usgs.gov/) and sends a group me message when a gage height exceeds a certain level.  &#039;&#039;(No I&#039;m not misspelling gu...&quot;</title>
		<link rel="alternate" type="text/html" href="http://pabut.org/wiki/index.php?title=River_Gage_Bot&amp;diff=156&amp;oldid=prev"/>
		<updated>2021-09-03T17:24:18Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;This script checks the USGS waterdata site (https://waterdata.usgs.gov/) and sends a group me message when a gage height exceeds a certain level.  &amp;#039;&amp;#039;(No I&amp;#039;m not misspelling gu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This script checks the USGS waterdata site (https://waterdata.usgs.gov/) and sends a group me message when a gage height exceeds a certain level. &lt;br /&gt;
&amp;#039;&amp;#039;(No I&amp;#039;m not misspelling guage, on the USGS site that&amp;#039;s how they spell it. Turns out google says it&amp;#039;s an accepted alternative spelling. You learn something new everyday)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The script is called:&lt;br /&gt;
 ./river_guage.bash &amp;lt;USGS SITE ID&amp;gt; &amp;lt;limit in feet&amp;gt; &amp;lt;path to the groupme script&amp;gt; &amp;lt;groupme bot id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 ./river_guage.bash 01443500 0 /tmp/post-group-me.bash 123456789abcd12345&lt;br /&gt;
&lt;br /&gt;
The Bot will post text in the group that resembles:&lt;br /&gt;
 Gage Height for Paulins Kill at Blairstown NJ at 2021-09-03 12:15 EDT is 5.16 feet.&lt;br /&gt;
&lt;br /&gt;
you can set this up in a cron job that looks like this:&lt;br /&gt;
 15 04,10,16,22 * * * /home/user/river_guage.bash 01443500 5 /home/roschews/post-group-me.bash 123456789abcd12345&lt;br /&gt;
&lt;br /&gt;
In this case it will execute every 6 hours at 15 min past the hour and only send a message if the level exceeds 5 feet.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ###&lt;br /&gt;
 # $1 = USGS Site ID&lt;br /&gt;
 # $2 = Limit in feet&lt;br /&gt;
 # $3 = Path to groupme bot script&lt;br /&gt;
 # $4 = GroupMe Bot ID&lt;br /&gt;
 ###&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$#&amp;quot; -ne 4 ]; then&lt;br /&gt;
     echo &amp;quot;Illegal number of parameters&amp;quot;&lt;br /&gt;
     echo &amp;quot;     $0 &amp;lt;SITE ID&amp;gt; &amp;lt;feet&amp;gt; &amp;lt;groupme script&amp;gt; &amp;lt;bot id&amp;gt;&amp;quot;&lt;br /&gt;
     exit&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 SITE=$1&lt;br /&gt;
 LIMIT=$2&lt;br /&gt;
 BOT_SCRIPT=$3&lt;br /&gt;
 BOT_ID=$4&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 rm -f /tmp/${SITE}.dat&lt;br /&gt;
 URL=&amp;quot;https://waterdata.usgs.gov/nj/nwis/uv?cb_00065=on&amp;amp;format=rdb&amp;amp;site_no=${SITE}&amp;amp;period=1&amp;quot;&lt;br /&gt;
 wget -q -O /tmp/${SITE}.dat $URL &lt;br /&gt;
 &lt;br /&gt;
 # decode the gage height first to see if we need to bother doing anything else&lt;br /&gt;
 # Sorry BASH limits us to INTEGER precision &lt;br /&gt;
 GAGE_HEIGHT=$(sed -ne &amp;#039;$p&amp;#039; /tmp/${SITE}.dat | cut -f5)&lt;br /&gt;
 GAGE_INTEGER=$(echo ${GAGE_HEIGHT} | echo $((10#$(sed -e &amp;#039;s/\.[0-9]\+//&amp;#039;))))&lt;br /&gt;
 &lt;br /&gt;
 if [ $GAGE_INTEGER -ge ${LIMIT} ]; then&lt;br /&gt;
 &lt;br /&gt;
         SITE_TEXT=$(sed -ne &amp;#039;/Data for the following/{N;s/.* [0-9]\{8\}//p}&amp;#039; /tmp/${SITE}.dat)&lt;br /&gt;
         DATETIME=$(sed -ne &amp;#039;$p&amp;#039; /tmp/${SITE}.dat | cut -f3)&lt;br /&gt;
         DATETIME_ZONE=$(sed -ne &amp;#039;$p&amp;#039; /tmp/${SITE}.dat | cut -f4)&lt;br /&gt;
         MSG_TEXT=&amp;quot;Gage Height for${SITE_TEXT} at ${DATETIME} ${DATETIME_ZONE} is ${GAGE_HEIGHT} feet.&amp;quot;&lt;br /&gt;
         ${BOT_SCRIPT} &amp;quot;${MSG_TEXT}&amp;quot; &amp;quot;${BOT_ID}&amp;quot;&lt;br /&gt;
 fi&lt;/div&gt;</summary>
		<author><name>Pabut</name></author>
	</entry>
</feed>