Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. ```import logging
  2. import sys, os
  3. logging.basicConfig(level=logging.INFO)
  4. logger = logging.getLogger('openzwave')
  5. import openzwave
  6. from openzwave.node import ZWaveNode
  7. from openzwave.value import ZWaveValue
  8. from openzwave.scene import ZWaveScene
  9. from openzwave.controller import ZWaveController
  10. from openzwave.network import ZWaveNetwork
  11. from openzwave.option import ZWaveOption
  12. import time
  13. import six
  14. if six.PY3:
  15. from pydispatch import dispatcher
  16. else:
  17. from louie import dispatcher```
  18. ```device="/dev/ttyACM0"
  19. log="None"
  20. options = ZWaveOption(device, config_path="/etc/openzwave", user_path=".", cmd_line="")
  21. options.set_log_file("OZW_Log.log")
  22. options.set_append_log_file(False)
  23. options.set_console_output(False)
  24. options.set_save_log_level(log)
  25. options.set_logging(True)
  26. options.lock()```
  27. ```def louie_network_started(network):
  28. print("Hello from network : I'm started : homeid {:08x} - {} nodes were found.".format(network.home_id, network.nodes_count))
  29.  
  30. def louie_network_failed(network):
  31. print("Hello from network : can't load :(.")
  32.  
  33. def louie_network_ready(network):
  34. print("Hello from network : I'm ready : {} nodes were found.".format(network.nodes_count))
  35. print("Hello from network : my controller is : {}".format(network.controller))
  36. dispatcher.connect(louie_node_update, ZWaveNetwork.SIGNAL_NODE)
  37. dispatcher.connect(louie_node_event, ZWaveNetwork.SIGNAL_NODE_EVENT)
  38. dispatcher.connect(louie_value_update, ZWaveNetwork.SIGNAL_VALUE)
  39.  
  40. def louie_network_awake(network):
  41. print("Hello from network : I'm awake")
  42.  
  43. def louie_node_update(network, node):
  44. print("Hello from node : {}.".format(node))
  45.  
  46. def louie_value_update(network, node, value):
  47. print("Hello from value : {}.".format( value ))
  48.  
  49. def louie_node_event(**kwargs):
  50. print("Hello from node event : {}.".format( kwargs ))```
  51.  
  52. ```network = ZWaveNetwork(options, autostart=False)
  53. dispatcher.connect(louie_network_started, ZWaveNetwork.SIGNAL_NETWORK_STARTED)
  54. dispatcher.connect(louie_network_failed, ZWaveNetwork.SIGNAL_NETWORK_FAILED)
  55. dispatcher.connect(louie_network_ready, ZWaveNetwork.SIGNAL_NETWORK_READY)
  56. dispatcher.connect(louie_network_awake, ZWaveNetwork.SIGNAL_NETWORK_AWAKED)
  57. network.start()```
  58. then `network.nodes` to see all the devices
  59. `network.nodes[nodeId].get_switches().keys()` to get the switch_id
  60. `network.nodes[nodeId].set_switch(switch_id, True/False)` to turn a switch on/off
  61.  
  62. ```In [30]: for node in network.nodes:
  63. if node > 1:
  64. network.nodes[node].set_switch(list(network.nodes[node].get_switches().keys())[0], True)```
  65. ^ to turn all the lights on
  66.  
  67. ```In [30]: for node in network.nodes:
  68. if node > 1:
  69. network.nodes[node].set_switch(list(network.nodes[node].get_switches().keys())[0], False)```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement