diff --git a/VERSION b/VERSION
index 4dfdebd..9897421 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.5-dev
+1.2.6-dev
diff --git a/main.go b/main.go
index 46f6df0..9c86008 100644
--- a/main.go
+++ b/main.go
@@ -118,6 +118,11 @@
 	prometheus.MustRegister(onosPppoeDownRxPackets)
 	prometheus.MustRegister(onosPppoeDownTxBytes)
 	prometheus.MustRegister(onosPppoeDownTxPackets)
+
+	prometheus.MustRegister(deviceLaserBiasCurrent)
+	prometheus.MustRegister(deviceTemperature)
+	prometheus.MustRegister(deviceTxPower)
+	prometheus.MustRegister(deviceVoltage)
 }
 
 func loadConfigFile() Config {
diff --git a/topic-exporter.go b/topic-exporter.go
index 5d33458..f8d9d70 100644
--- a/topic-exporter.go
+++ b/topic-exporter.go
@@ -20,6 +20,7 @@
 	"github.com/prometheus/client_golang/prometheus"
 	log "github.com/sirupsen/logrus"
 	"strconv"
+	"strings"
 )
 
 var (
@@ -283,6 +284,26 @@
 		},
 		[]string{"mac_address", "ip", "session_id", "s_tag", "c_tag", "onu_serial"},
 	)
+	deviceLaserBiasCurrent = prometheus.NewGauge(
+		prometheus.GaugeOpts{
+	                Name: "device_laser_bias_current",
+			Help: "Device Laser Bias Current",
+		})
+	deviceTemperature = prometheus.NewGauge(
+		prometheus.GaugeOpts{
+			Name: "device_temperature",
+			Help: "Device Temperature",
+		})
+	deviceTxPower = prometheus.NewGauge(
+		prometheus.GaugeOpts{
+			Name: "device_tx_power",
+			Help: "Device Tx Power",
+		})
+	deviceVoltage = prometheus.NewGauge(
+		prometheus.GaugeOpts{
+			Name: "device_voltage",
+			Help: "Device Voltage",
+	})
 )
 
 func exportVolthaKPI(kpi VolthaKPI) {
@@ -569,8 +590,10 @@
 }
 
 func exportImporterKPI(kpi ImporterKPI) {
-	// TODO: add metrics for importer data
-	logger.Info("To be implemented")
+	deviceLaserBiasCurrent.Set(kpi.LaserBiasCurrent)
+	deviceTemperature.Set(kpi.Temperature)
+	deviceTxPower.Set(kpi.TxPower)
+	deviceVoltage.Set(kpi.Voltage)
 }
 
 func exportOnosAaaKPI(kpi OnosAaaKPI) {
@@ -707,9 +730,27 @@
 		exportOnosKPI(kpi)
 	case "importer.kpis":
 		kpi := ImporterKPI{}
-		err := json.Unmarshal(data, &kpi)
+		strData := string(data)
+		idx := strings.Index(strData, "{")
+		strData = strData[idx:]
+
+		var m map[string]interface{}
+		err := json.Unmarshal([]byte(strData), &m)
 		if err != nil {
-			logger.Error("Invalid msg on importer.kpis: %s, Unprocessed Msg: %s", err.Error(), string(data))
+			logger.Error("Invalid msg on importer.kpis: %s", err.Error())
+			logger.Debug("Unprocessed Msg: %s", strData)
+			break
+		}
+		if val, ok := m["TransceiverStatistics"]; ok {
+			stats := val.(map[string]interface{})
+			//kpi.Timestamp = time.Now().UnixNano()
+			kpi.LaserBiasCurrent = stats["BiasCurrent"].(map[string]interface{})["Reading"].(float64)
+			kpi.Temperature = stats["Temperature"].(map[string]interface{})["Reading"].(float64)
+			kpi.TxPower = stats["TxPower"].(map[string]interface{})["Reading"].(float64)
+			kpi.Voltage = stats["Voltage"].(map[string]interface{})["Reading"].(float64)
+		} else {
+			logger.Error("Optical stats (TransceiverStatistics) information missing [topic=importer.kpis")
+			logger.Debug("Unprocessed Msg: %s", strData)
 			break
 		}
 		exportImporterKPI(kpi)
diff --git a/types.go b/types.go
index 6185064..ece3953 100644
--- a/types.go
+++ b/types.go
@@ -112,8 +112,11 @@
 }
 
 type ImporterKPI struct {
-	DeviceID string `json: "deviceId"`
-	// TODO: add metrics data
+        Timestamp           int64
+        LaserBiasCurrent    float64
+        Temperature         float64
+        TxPower             float64
+        Voltage             float64
 }
 
 type OnosAaaKPI struct {
