瀏覽代碼

Added battery measurement

Spencer Gardner 7 年之前
父節點
當前提交
b142db682a
共有 3 個文件被更改,包括 8 次插入3 次删除
  1. 4 2
      json.go
  2. 1 0
      measurement.go
  3. 3 1
      writer.go

+ 4 - 2
json.go

@@ -51,8 +51,10 @@ func (jp jsonParser) Measure() (*Measurement, error) {
 			return nil, err
 		}
 		if len(jsonPacket.Model) > 0 {
-			fmt.Printf("Model: %s, ID:%d, Temperature:%f \n", jsonPacket.Model, jsonPacket.ID, jsonPacket.Temperature_C)
-			return &Measurement{ID: jsonPacket.ID, Temperature: jsonPacket.Temperature_C}, nil
+			batteryGood := strings.Compare(jsonPacket.Battery, "OK") == 0
+			fmt.Printf("Model: %s, ID:%d, Temperature:%f, Battery good: %t\n", jsonPacket.Model, jsonPacket.ID, jsonPacket.Temperature_C, batteryGood)
+
+			return &Measurement{ID: jsonPacket.ID, Temperature: jsonPacket.Temperature_C, BatteryGood: batteryGood}, nil
 		}
 	}
 	return nil, nil

+ 1 - 0
measurement.go

@@ -6,4 +6,5 @@ type Measurement struct {
 	ID int
 	// Temperature in celcius
 	Temperature float64
+	BatteryGood bool
 }

+ 3 - 1
writer.go

@@ -37,7 +37,8 @@ func (i influxWriter) Write(measurement Measurement) error {
 		tags["location"] = "id:" + strconv.FormatInt(int64(measurement.ID), 10)
 	}
 	fields := map[string]interface{}{
-		"temperature": measurement.Temperature,
+		"temperature":  measurement.Temperature,
+		"battery_good": measurement.BatteryGood,
 	}
 
 	pt, err := influx.NewPoint("temperature", tags, fields, time.Now())
@@ -48,6 +49,7 @@ func (i influxWriter) Write(measurement Measurement) error {
 		return err
 	}
 	bp.AddPoint(pt)
+
 	err = i.client.Write(bp)
 
 	if err != nil {