Metadata-Version: 2.1
Name: ISY994v5
Version: 0.3.9
Summary: ISY99 Controller Rest and Websocket client v5 firmware
Home-page: https://github.com/mjcumming/ISY994v5
Author: Michael Cumming
Author-email: mike@4831.com
License: UNKNOWN
Description: # ISY994v5
        
        Class based interface to the ISY994 device with V5 firmware.
        
        Provides a common interface to all devices, variables, programs, and scenes on an ISY controller. 
        
        After connecting to the ISY, the 4 types (device, scenes, programs, and variables) of items on the ISY are enumerated. The event handler generates 'add' events are items are discovered. Each item has properties that generate 'property' events as they are changed. 
        
        Currently supports Insteon dimmers, switches, keypadlincs, fanlincs, and contact devices. 
        
        Designed to be easy to expand support to other device types and technologies such as zWave.
        
        Requires 5.xx firmware. Tested against 5.12
        
        An event handler is supplied when the controller is started. All device events (add, remove, property) can be captured through the event handler for processing as needed.
        
        This library is used in [IYS994-Homie-Bridge](https://pypi.org/project/ISY994-Homie3-Bridge/), an MQTT Client to serve ISY devices to a MQTT broker using the [Homie 3](https://homieiot.github.io/) protocol.
        
        Supports Insteon switch, dimmers, contact, and templinc devices and scenes
        
        
        
        Example usage: The program below connects to the ISY and enumerates all items. If it finds a device with the address specified, it will flash that device on and off every 2 seconds
        
        ~~~~
        import time
        
        from isy994.controller import Controller
        
        url = '192.168.1.213'
        #url = None # use autodiscovery
        
        dimmer_address = '42 C8 99 1' # dimmer to flash on/off
        
        dimmer = None
        
        def isy_event_handler(container,item,event,*args):
            print ('Event {} from {}: {} {}'.format(event,container.container_type,item.name,*args))
        
            if container.container_type == 'Device' and event == 'add' and item.address == dimmer_address:
                global dimmer
                dimmer = item
        
        
        try:
            c = Controller(url,username='admin',password='admin',use_https=False,event_handler=isy_event_handler)
        
            while True:
                if dimmer is not None:
                    dimmer.set_level (0)
        
                time.sleep(2)
                
                if dimmer is not None:
                    dimmer.set_level (100)
        
        
        except KeyboardInterrupt:
            print("KeyboardInterrupt has been caught.")
        ~~~~
        
        This package requires further development and testing.
        
        
        
Keywords: INSTEON,ISY994,ISY,Universal Devices
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
