For those that are interested…my work around is below:
A) I copied the gc100.py file and named it gc100a.py. I then edited its contents to change all gc100 code to gc100a (file is here: /srv/homeassistant/lib/python3.5/site-packages)
The only exception here is (where I left the gc100 alone):
class GC100SocketClient(object):
"""A Python client for the GC100 socket server."""
queue = queue.Queue()
subscribers = {}
_socket_recv = 1024
B) I also copied the gc100 directory and named it as gc100a (found here: /srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/gc100)
I then edited all of the files within the directory anywhere gc100 was referenced to “gc100a”.
The only exceptions are:
- Within manifest.json where I had to leave the following as gc100:
"documentation": "https://www.home-assistant.io/components/gc100",
"requirements": [
"python-gc100==1.0.3a"
- Within binary_sensor.py where I had to leave the following as gc100 ‘GC100BinarySensor(’:
def setup_platform(hass, config, add_entities, discovery_info=None):
"""Set up the GC100 devices."""
binary_sensors = []
ports = config.get(CONF_PORTS)
for port in ports:
for port_addr, port_name in port.items():
binary_sensors.append(GC100BinarySensor(
Now my configuration looks like this:
# Itach ir sensor
gc100:
host: 192.168.1.23
gc100a:
host: 192.168.1.21
binary_sensor:
- platform: gc100
scan_interval:
milliseconds: 50
ports:
- '1:1': Sensor1
- '1:2': Sensor2
- '1:3': Sensor3
switch:
- platform: gc100a
ports:
- '1:1': Ch1
- '1:2': Ch2
- '1:3': Ch3
Reboot and everything works…guess I’ll have to do this for each of the gc100 components I plan to use.
Anyone know why the current documentation would only allow one device? Seems strange.