Skip to content
Snippets Groups Projects
Commit b1607668 authored by jkerdreu's avatar jkerdreu
Browse files

Added new (old..) Zwave stuffs




git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/trunk@2561 b32b6428-25c9-4566-ad07-03861ab6144f
parent 3381fff2
No related branches found
No related tags found
No related merge requests found
from xaal.zwave import core
class DSB09104(core.ZDevice):
"""Aeon Labs Home Energy Meter"""
MANUFACTURER_ID = '0x0086'
PRODUCTS = ['0x0009:0x0002',]
def setup(self):
for i in range(0,4):
power = self.new_device("powermeter.basic")
power.new_attribute("power")
# map zwave var to
self.monitor_value('power_%s' % i ,core.COMMAND_CLASS.SENSOR_MULTILEVEL,i+1,4)
def handle_value_changed(self,value):
for i in range(0,4):
tmp = self.get_value('power_%s' % i)
if tmp == value:
self.devices[i].attributes['power'] = round(value.data)
from .DSB09104 import DSB09104
from xaal.zwave import products
products.register(DSB09104)
......@@ -44,7 +44,7 @@ class ZW100(core.ZDevice):
if value == self.get_value('humidity'):
self.devices[1].attributes['humidity'] = round(value.data)
# luxmeter
if value == self.get_value('lux'):
if value == self.get_value('illuminance'):
self.devices[2].attributes['illuminance'] = round(value.data)
if value == self.get_value('ultraviolet'):
self.devices[2].attributes['ultraviolet'] = round(value.data)
......
from xaal.zwave import core
from functools import partial
class PowerNode6(core.ZDevice):
""" Greenwave Power Noe 6 port"""
MANUFACTURER_ID = '0x0099'
PRODUCTS = ['0x0004:0x0003',]
def setup(self):
for i in range(0,6):
# powerrelay
relay = self.new_device("powerrelay.basic")
on = partial(self.rel_on,i)
off = partial(self.rel_off,i)
relay.add_method('on',on)
relay.add_method('off',off)
relay.new_attribute("power")
self.monitor_value('relay_%s' % i,core.COMMAND_CLASS.SWITCH_BINARY,i+1,0)
for i in range(0,6):
# powermeter
power = self.new_device("powermeter.basic")
power.new_attribute("power")
# map zwave var to
self.monitor_value('power_%s' % i,core.COMMAND_CLASS.METER,i+1,8)
def rel_on(self,r_id):
self.set_value('relay_%s' % r_id,True)
def rel_off(self,r_id):
self.set_value('relay_%s'% r_id,False)
def handle_value_changed(self,value):
for i in range(0,6):
tmp = self.get_value('relay_%s' % i)
if value == tmp:
self.devices[i].attributes['power']=value.data
for i in range(0,6):
tmp = self.get_value('power_%s' % i)
if value == tmp:
self.devices[i+6].attributes['power']=round(value.data)
from .PowerNode6 import PowerNode6
from xaal.zwave import products
products.register(PowerNode6)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment