turgu1 / indigo-simple-8channel-relay

Simple 8 Channel Relay Plugin for Indigo
1 stars 0 forks source link

Inputs configuration #1

Open Kevin-Ford opened 3 years ago

Kevin-Ford commented 3 years ago

How do you add inputs? There is an 'Add Input' button on the configuration window but I do not see anything added when I click it

turgu1 commented 3 years ago

When you press Add Relay or Add Input, you will see new entries appearing in the Indigo list of entries. The IP address is followed with "r" for relais and "i" for Inputs.

Kevin-Ford commented 3 years ago

Note: I updated indigo to 2021.1 on Friday

I am not sure of the keystrokes, but I managed to get one input (mapped to input 1) added to the Device.(after many opening and closing of the device, restarting the plug in, etc) I cannot seem to add anymore...

The configuration window states 'Device Group (8 Max)'. Does this include the inputs ? Currently I have all 8 relays mapped and 1 Input mapped and the all function as designed.

turgu1 commented 3 years ago

You can have 8 Inputs and 8 Relays mapped. When you add an Input, you must then go to it's configuration panel to associate it to one of the 8 Inputs shown in the list.

Can you take a snapshot of the Indigo' s list of device entries, (a part of the list that show the Input that you added would be sufficient) and attach it to a new comment here. Thanks.

Kevin-Ford commented 3 years ago
2021-06-20_08-11-52

Here you go

turgu1 commented 3 years ago

Thanks! I will be back soon. I have to ask my friend to test it for me (I don't have Indigo myself). We were able to add input devices this morning without any problem in his installation. Will check for the Indigo version...

turgu1 commented 3 years ago

Which version are you using? My friend is using 7.5.0

Kevin-Ford commented 3 years ago

I am using Indigo version 2021.1 (just released this week)

2021-06-20_09-06-22
Kevin-Ford commented 3 years ago

I see the issue... There can only be 9 rows in the Device Group grid. I can add any combination of inputs and relays but after 9 rows it stops accepting any additional Devices.

2021-06-20_09-23-32 2021-06-20_09-25-34

Here is an example of 5 relays and 4 inputs...

turgu1 commented 3 years ago

My friend did updated his version of Indigo to 2021.1. He was then able to add Input devices without any issue. There was already 8 relays defined. image

turgu1 commented 3 years ago

Is there anything that appears in the log when you tried to add a 10th device?

Kevin-Ford commented 3 years ago

Nothing appears in the log...

I have the original 8 channel plugin controlling an original network relay and for fun I tried to add more inputs to it and it has the same behaviour.... Which indicates to me it may be something in my indigo....

What number is shown on the other indigo under the Configuration window? Both versions of my plugins say (8 Max).

2021-06-20_10-51-47

Could the plugin be revised so all 8 relays and 8 inputs are available without configuration as many Multifunction devices are?

turgu1 commented 3 years ago

This is part of the label. It shows the same thing here. This is to indicate that you can't add more than 8 relays or 8 inputs, as there is not more than 8 inputs/8 outputs physically on the relays board.

turgu1 commented 3 years ago

But you were able to have 9 devices defined isn't it?

Kevin-Ford commented 3 years ago

Yes nine devices. Almost like the plug-in has a devices definition set at 8 (with the plugin’s device IDs going from 0 - 8 giving 9 useable devices)

Does the other system have the original plug in running?

Sent from my iPhone

On Jun 20, 2021, at 11:05 AM, Guy Turcotte @.***> wrote:

 But you were able to have 9 devices defined isn't it?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Kevin-Ford commented 3 years ago

What is the Device Group (XX Max) number on your friend's indigo?

turgu1 commented 3 years ago

To my knowledge, he is running the same version of the plugin. He is not available at the moment to answer your last question.

turgu1 commented 3 years ago

He got the same value:: 8 Max. As indicated, this is a hard coded label in the device's Python code.

I suspect that the issue is related to the sequence of action taken by you and my friend that are different. I asked him to detail the sequence he did to generate a new input device. Can you try to describe the sequence you are using to try to create a new input device? We can then compare.

Kevin-Ford commented 3 years ago

No matter which way I create the devices I can only have 9 created for a Relay Board.

Today I created a new install of indigo on a different server and created a new database. I only added the Simple 8 Channel Relay plugin to the database and I am observing the same behaviour.

My creations steps are :

  1. in the database window --> DEVICES grid --> Click the 'New' button
  2. in the New Device window, select 'Simple 8 Channel Relay' from the Type: dropdown
  3. in the Configure Simple 8 Channel Relay Board window I edit the Relay IP address: to '10.0.0.XX' to match a physical Relay Board on my network
  4. All other fields left as default
  5. click the 'Add Relay' button 8 times to add relays 'new device' thru 'new device 7'
  6. click the 'Add Input' button, the first click adds 'new device 8' as an input, subsequent clicks do nothing

No matter what permutation (1 relay, 8 inputs, 5 relays, 4 inputs, and so on) I can only get 9 rows in the 'Device Group (8 Max):' grid

turgu1 commented 3 years ago

Thanks for the info, it helped me better understand your issue.

After some tests with my friend, I can tell that the notion of Device Group doesn't seem to work as expected.

My friend managed to create as many devices as required for him using the following steps, one device at a time:

1) Create a new device using the Indigo [New...] button in the main devices list and in the dialog window then select "Simple 8 Channel Relay". A second dialog will appear. 2) In the "Configure Simple 8 Channel Relay Board" dialog, enter the IP address, Port number, Username and Password for the board. 3) Press the [Add Relay] or [Add Input] only once and press the [Save] button. 4) In the "Create New Device" Dialog, change the name of the device to something appropriate, and press the [Edit Device Settings...] button. 5) Select the appropriate Relay or Input number from the list, then click on the [Save] button in that dialog. Then close the "Create New Device" window.

I will not close this issue until I modify the code of the plugin. It may take some time as I need to go to my friend location to test the modification. It may take a week or more to complete the update. I may get rid of the notion of Device Group...

Please let me know if this workaround is helping you to create the required devices.

Kevin-Ford commented 3 years ago

This workaround is helpful.

I wonder how the developer intends the Device Group objects to work? I assumed the Device Group would contain all the Devices encapsulated in one physical device. (The multi sensors work this way). For consistency of structure I hope you can make these Relay boards work this way.

Kevin-Ford commented 3 years ago

Hi

I asked Matt at indigo (as I though this behaviour may be specific to my system) and he replied: " I glanced at the plugin and it is definitely coded to only allow 8 devices to be added:

def _add_sensor(self, values, dev_id_list):
    """ Devices.xml Callback Method to add a new Relay sub-device. """
    if len(dev_id_list)-len(values["removedDevices"].split(",")) >= 8:
        return values
    ...

def _add_relay(self, values, dev_id_list):
    """ Devices.xml Callback Method to add a new Relay sub-device. """
    if len(dev_id_list)-len(values["removedDevices"].split(",")) >= 8:
        return values
    ...

I don’t know the capabilities of the hardware, but it is fine from Indigo’s perspective to have a mix of relay and sensor devices in the same group. Normally a single group will represent a single physical module, but there are exceptions (some plugins don’t support device groups at all).

Matt”

On Jun 22, 2021, at 3:54 PM, Guy Turcotte @.***> wrote:

Thanks for the info, it helped me better understand your issue.

After some tests with my friend, I can tell that the notion of Device Group doesn't seem to work as expected.

My friend managed to create as many devices as required for him using the following steps, one device at a time:

Create a new device using the Indigo [New...] button in the main devices list and in the dialog window then select "Simple 8 Channel Relay". A second dialog will appear. In the "Configure Simple 8 Channel Relay Board" dialog, enter the IP address, Port number, Username and Password for the board. Press the [Add Relay] or [Add Input] only once and press the [Save] button. In the "Create New Device" Dialog, change the name of the device to something appropriate, and press the [Edit Device Settings...] button. Select the appropriate Relay or Input number from the list, then click on the [Save] button in that dialog. Then close the "Create New Device" window. I will not close this issue until I modify the code of the plugin. It may take some time as I need to go to my friend location to test the modification. It may take a week or more to complete the update. I may get rid of the notion of Device Group...

Please let me know if this workaround is helping you to create the required devices.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/turgu1/indigo-simple-8channel-relay/issues/1#issuecomment-866389411, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMFYP5MEOOL66BIZNNSAZOTTUEIEBANCNFSM47AB7FDA.

Kevin-Ford commented 3 years ago

any progress on this?

turgu1 commented 3 years ago

I’m afraid I will be able to do the debugging of the new version only by mid-september. For that, I need to borrow the Indigo environment from my friend that will not be available until then.