diff --git a/xaal.go b/xaal.go
index 7a5c91490f4702dea6bf04c0e5c455ba27a67bad..953336bd67cd5bc8df43df54f881e32ed12ec18a 100644
--- a/xaal.go
+++ b/xaal.go
@@ -61,6 +61,14 @@ type LuxMeter struct {
 	XAALDevice
 }
 
+type VoltMeter struct {
+	XAALDevice
+}
+
+type AmpMeter struct {
+	XAALDevice
+}
+
 type DebugDevice struct {
 	XAALDevice
 }
@@ -492,6 +500,42 @@ func (dev *LuxMeter) update(payload map[string]interface{}) {
 	}
 }
 
+// =============================================================================
+// VoltMeter
+// =============================================================================
+func NewVoltMeter(addr uuid.UUID, zDev *Z2MDevice, exp *Expose) XAALDeviceInterface {
+	dev := &VoltMeter{XAALDevice{schemas.NewBasic(addr), zDev, exp}}
+	dev.DevType = "voltmeter.any"
+	dev.AddAttribute("voltage", 0.0)
+	dev.setup()
+	return dev
+}
+
+func (dev *VoltMeter) update(payload map[string]interface{}) {
+	value, err := convertToFloat64(payload[dev.Expose.Name])
+	if err == nil {
+		dev.GetAttribute("voltage").SetValue(value)
+	}
+}
+
+// =============================================================================
+// AmpMeter
+// =============================================================================
+func NewAmpMeter(addr uuid.UUID, zDev *Z2MDevice, exp *Expose) XAALDeviceInterface {
+	dev := &AmpMeter{XAALDevice{schemas.NewBasic(addr), zDev, exp}}
+	dev.DevType = "ampmeter.any"
+	dev.AddAttribute("current", 0.0)
+	dev.setup()
+	return dev
+}
+
+func (dev *AmpMeter) update(payload map[string]interface{}) {
+	value, err := convertToFloat64(payload[dev.Expose.Name])
+	if err == nil {
+		dev.GetAttribute("current").SetValue(value)
+	}
+}
+
 // =============================================================================
 // Debug Device
 // =============================================================================
diff --git a/z2m.go b/z2m.go
index 68d058c035457754f096e7b007aa8f4194832803..27486bcb637ea13f5971b4aa2370c4420c081c29 100644
--- a/z2m.go
+++ b/z2m.go
@@ -113,7 +113,8 @@ func (zDev *Z2MDevice) FindXAALDevices(gw *Gateway) {
 			"light":       NewLamp,
 			"occupancy":   NewMotion,
 			"illuminance": NewLuxMeter,
-			"voltage":     NewDebugDevice,
+			"voltage":     NewVoltMeter,
+			"current":     NewAmpMeter,
 		}
 
 		// Search a matching expose name