| 
					
				 | 
			
			
				@@ -25,6 +25,42 @@ type jsonPacket struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Temperature_F float64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func checkTemperature(writer temperature.Writer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	resp, err := http.Get(*host) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		fmt.Println(err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	defer resp.Body.Close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	contents, err := ioutil.ReadAll(resp.Body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		fmt.Println(err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	buffer := []byte(contents) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if json.Valid(buffer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var jsonPacket jsonPacket 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		err := json.Unmarshal(buffer, &jsonPacket) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			fmt.Println(err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if strings.Contains(strings.ToLower(string(contents)), "_f") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonPacket.Temperature_C = (jsonPacket.Temperature_F - 32) * 5 / 9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		fmt.Printf("Celcius: %f. Fahrenheit: %f \n", jsonPacket.Temperature_C, jsonPacket.Temperature_F) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		measurement := temperature.Measurement{Temperature: jsonPacket.Temperature_C, BatteryState: temperature.BATT_NOT_AVAILABLE, ID: 0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		err = writer.Write(measurement) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			fmt.Println(err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	host = flag.String("host", "http://localhost:80", "Http address (http://localhost:80)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	db = flag.String("db", "temperature", "Influxdb database") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -42,39 +78,7 @@ func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		resp, err := http.Get(*host) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			fmt.Println(err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		defer resp.Body.Close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		contents, err := ioutil.ReadAll(resp.Body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			fmt.Println(err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		buffer := []byte(contents) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if json.Valid(buffer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			var jsonPacket jsonPacket 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			err := json.Unmarshal(buffer, &jsonPacket) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				fmt.Println(err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if strings.Contains(strings.ToLower(string(contents)), "_f") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				jsonPacket.Temperature_C = (jsonPacket.Temperature_F - 32) * 5 / 9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			fmt.Printf("Celcius: %f. Fahrenheit: %f \n", jsonPacket.Temperature_C, jsonPacket.Temperature_F) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			measurement := temperature.Measurement{Temperature: jsonPacket.Temperature_C, BatteryState: temperature.BATT_NOT_AVAILABLE, ID: 0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			err = writer.Write(measurement) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				fmt.Println(err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		checkTemperature(writer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		time.Sleep(time.Duration(*seconds) * time.Second) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |