//======= ITEM DEFINITION ==============================

//dog GPS location
Number itm_dog_mqtt_temp "Dog Temp [%.1f F]" (All) {mqtt="<[mymosquitto:4241:state:default]"}
Number itm_dog_mqtt_lat "Dog lat [%.5f]" (All) {mqtt="<[mymosquitto:4222:state:default]"}
Number itm_dog_mqtt_long "Dog long [%.5f]" (All) {mqtt="<[mymosquitto:4223:state:default]"}
String itm_dog_gps "Dog gps string [%s]" {mqtt="<[mymosquitto:dog_gps:state:JS(mqttitude-coordinates.js)]"}
Switch itm_dog_gps_alm_enb "Dog Escape Alarm Enable"
Switch itm_dog_gps_alm_sta "Dog Escape Alarm Status"

//dog poop
Number itm_poop_mqtt_deg "Poop Deg [%.0f]" (All) {mqtt="<[mymosquitto:4231:state:default]"}
Number itm_poop_mqtt_lat "Poop Lat [%.5f]" (All) {mqtt="<[mymosquitto:4232:state:default]"}
Number itm_poop_mqtt_long "Poop Long [%.5f]" (All) {mqtt="<[mymosquitto:4233:state:default]"}
String itm_poop_gps "Poop gps string [%s]" {mqtt="<[mymosquitto:poop_gps:state:JS(mqttitude-coordinates.js)]"}
DateTime itm_poop_time "Poop Time [%1$tA, %1$tm/%1$td, %1$tI:%1$tM %1$tp]"
Switch itm_poop_alm "Poop?" (ALL)



//======= RULES ==============================

//dog poop location
rule "update poop location"
when
	Item itm_poop_mqtt_long received update
then
	if (itm_poop_alm.state == OFF)
	{itm_poop_gps.postUpdate(itm_poop_mqtt_lat.state.toString + ","+ itm_poop_mqtt_long.state.toString)}
end

//dog gps location
rule "update dog gps location"
when
	Item itm_dog_mqtt_long received update
then
	itm_dog_gps.postUpdate(itm_dog_mqtt_lat.state.toString + ","+ itm_dog_mqtt_long.state.toString)
	if (( (itm_dog_mqtt_long.state < -92.98101)) && (itm_dog_gps_alm_enb.state == ON))
	{
		//say("who let the dog out!")
		if (itm_dog_gps_alm_sta.state==OFF)
		{playSound("dogs.mp3")}
		
		sendCommand(itm_dog_gps_alm_sta, ON)
	}
	
end


/*-----  Capture Poop alarm and time ---------- */
rule "poop happens"
        when
                Item itm_poop_mqtt_long received update
        then
				sendCommand(itm_poop_alm, ON)
				postUpdate(itm_poop_time, new DateTimeType())

end


rule "poop happened"
        when
			Item itm_poop_alm changed from OFF to ON
        then
			//sendMail("ArduinoHomeAutomationOpenHAB@gmail.com", "gas / smoke" , "gas or smoke detected")
			playSound("poop.mp3")
			//say("poop poop poop")
end





//======= SITEMAP ==============================
	Frame label="Fido Tracker"
	{
		Switch item=itm_poop_alm mappings=[OFF="Off"]
		Text label="Poop Location" icon="firstfloor" {
			Frame label="Poop Location" {
				Webview url="https://localhost:8443/static/poop.html" height=16
			}
			
			}
		Text label="Poop Location History" icon="firstfloor" {
			Frame label="Poop Location History" {
				Webview url="https://localhost:8443/static/poop2.html" height=16
			}
		}//end page "Poop Location"
		Text item=itm_poop_time
	}//end frame "fido tracker"
	Frame label=""
	{
		Text label="Current Location" icon="firstfloor" {
			Frame label="Current Location" {
				Webview url="https://localhost:8443/static/dog.html" height=16
			}
		}//end page "current Location"
		Text label="Historical Location" icon="firstfloor" {
			Frame label="Historical Location" {
				Webview url="https://localhost:8443/static/dog2.html" height=16
			}
		}//end page "current Location"
		
		
		Text item=itm_dog_mqtt_temp valuecolor=[<5="red",>10="green",>98="red"] labelcolor=[<5="red",>10="green",>98="red"]
		Switch item=itm_dog_gps_alm_sta mappings=[OFF="Off"]
		Switch item=itm_dog_gps_alm_enb
		Text label="Fido Tracker Setup" icon="firstfloor"
		{
			Frame label="Raw Data" {
				Text item=itm_dog_mqtt_lat
				Text item=itm_dog_mqtt_long
				Text item=itm_dog_gps
				Text item=itm_poop_mqtt_deg
				Text item=itm_poop_mqtt_lat
				Text item=itm_poop_mqtt_long
				Text item=itm_poop_gps
			}
			Frame label="Dog Poop Science!!" {
				Chart item=itm_poop_mqtt_deg period=h  refresh=10000
			}
			
		}//end page "Fido Tracker Setup"
		
		
		
		
	}//end frame "" for dog GPS

