Announcement

Collapse
No announcement yet.

Event "X10 Received - L4 ON" triggers when L14 ON received [resolved in v3.0.0.40]

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Event "X10 Received - L4 ON" triggers when L14 ON received [resolved in v3.0.0.40]

    Mark,

    I'm experiencing some odd behavior.

    I have two Events, one triggered by X10 code L4 ON and the other by L4 OFF. They seem to work normally when receiving the L4 commands. However, I also have a lamp on code L14. When I send an L14 ON command, my L4 ON event runs. Likewise, sending an L14 OFF triggers the L4 OFF event.

    Can you see if you can replicate this issue?

    Mike
    Last edited by mfisher; December 24, 2016, 10:46 AM.

    #2
    Hi Mike,

    I tested this but am unable to replicate it. Did you (re)create these L4 ON/OFF triggers under the latest version of the plugin or are they from a previous version?
    Best regards,
    -Mark-

    If you're not out on the edge, you're taking up too much room!
    Interested in 3D maps? Check out my company site: Solid Terrain Modeling

    Comment


      #3
      Originally posted by mfisher View Post
      Hi Mike,

      I tested this but am unable to replicate it. Did you (re)create these L4 ON/OFF triggers under the latest version of the plugin or are they from a previous version?
      Thanks for looking at it. They events are from the latest version.

      I have found a work around, so you probably don't need to spend any more time on it. I've carefully checked all of my events to make sure I'm not programmatically causing the issue, and though I have found nothing, I'm not positive it's not in my setup/events somewhere.

      So, what I did is simply change the device code from L14 to D2 (an unused code in my system), then created an event that triggers D2 when L14 is received. L4 is no longer triggered when the L14 command is sent. I have no idea, why having an actual device on L14 causes the issue.

      Thanks,
      Mike

      Comment


        #4
        Originally posted by Mike Johnson View Post
        Thanks for looking at it. They events are from the latest version.

        I have found a work around, so you probably don't need to spend any more time on it. I've carefully checked all of my events to make sure I'm not programmatically causing the issue, and though I have found nothing, I'm not positive it's not in my setup/events somewhere.

        So, what I did is simply change the device code from L14 to D2 (an unused code in my system), then created an event that triggers D2 when L14 is received. L4 is no longer triggered when the L14 command is sent. I have no idea, why having an actual device on L14 causes the issue.

        Thanks,
        Mike
        Thanks for update. I will keep an eye out for this when working on the code and let you know if I find anything.
        Best regards,
        -Mark-

        If you're not out on the edge, you're taking up too much room!
        Interested in 3D maps? Check out my company site: Solid Terrain Modeling

        Comment


          #5
          Originally posted by mfisher View Post
          Thanks for update. I will keep an eye out for this when working on the code and let you know if I find anything.
          Actually, I think I've run into it again. I'm going to analyze it and see if I can make it repeatable. I will let you know what I find.

          Thanks,
          Mike

          Comment


            #6
            Originally posted by mfisher View Post
            Thanks for update. I will keep an eye out for this when working on the code and let you know if I find anything.
            Mark,

            I was able to easily replicate the issue. I used a house code that I do not use in my system, so there should be no other events or devices in my system contributing to the issue. Please see if you can replicate the issue on your end with the following steps:

            1. Create a new X10 device on any House Code, but make sure the Unit Code is between 11 and 16, inclusive (example, A11). The physical device does NOT need to exist.

            2. Create an event that uses "X10: Receive X10" as the trigger, set the X10 trigger to "Device On", and set the Unit Code 10 lower than the device in step 1 (so, for my example, it would be A1). I believe the Action for the event can be anything, I just had it turn on an existing light.

            3. Go to the Device Management page and click the On button for the new device you created in step 1 (A11).

            4. Check the log to see if your A1 event was triggered.

            Thanks,
            Mike

            Comment


              #7
              Thank you so much for the clear & repeatable scenario - made it so much easier to find the bug!!

              I found the issue and will post a new build for you to test later tonight.

              The reason I couldn't replicate the issue was that I was not commanding L14 from the HS UI but was sending L14 from a Maxi controller. The code behaves correctly when receiving X10 data but incorrectly when controlled from the UI!

              Also, I moved our posts about this bug to this new thread so it's easier to find it later.
              Last edited by mfisher; December 19, 2016, 11:17 AM.
              Best regards,
              -Mark-

              If you're not out on the edge, you're taking up too much room!
              Interested in 3D maps? Check out my company site: Solid Terrain Modeling

              Comment


                #8
                Originally posted by mfisher View Post
                Thank you so much for the clear & repeatable scenario - made it so much easier to find the bug!!

                I found the issue and will post a new build for you to test later tonight.

                The reason I couldn't replicate the issue was that I was not commanding L14 from the HS UI but was sending L14 from a Maxi controller. The code behaves correctly when receiving X10 data but incorrectly when controlled from the UI!

                Also, I moved our posts about this bug to this new thread so it's easier to find it later.
                Excellent news! Glad you found it.

                I was not using a maxi controller at any point, but was originally sending commands from a Palm Pad. However, I believe at that point in my testing, my Palm Pad command was executing an event, which in turn contained an action that send an L14 command, which in turn incorrectly triggered the L4 event. So, I assume this scenario (an event executing the L14 command) is similar to using the UI to execute L14, but I thought I'd pass it along just in case it's in another area of the code with a similar issue.

                Again, thanks so much for looking into this (and all the work you'e done on this plugin).

                Mike

                Comment


                  #9
                  Hi Mike,

                  Sorry I wasn't able to get it finished and posted last night, but v.40 is now posted in the Beta thread. Please let me know how it works and if you come across any issues.

                  I was not using a maxi controller at any point, but was originally sending commands from a Palm Pad. However, I believe at that point in my testing, my Palm Pad command was executing an event, which in turn contained an action that send an L14 command, which in turn incorrectly triggered the L4 event. So, I assume this scenario (an event executing the L14 command) is similar to using the UI to execute L14, but I thought I'd pass it along just in case it's in another area of the code with a similar issue.
                  This makes sense as the offending code is called from different places depending on whether the plugin is receiving an X10 command or a device is changed in HS3. My method of testing only invoked one path while your example invoked the other!

                  The issue was that the method callbackCheckTrigger() expected the UnitCode to include the HouseCode (this is how all of the hardware interfaces return a UnitCode - leftovers from HS2) and if the length of the UC was not 1 then it simply removed the left-most digit, incorrectly assuming it was a HC character. Unfortunately, SetIOMulti() does not include the HC with the UC and when a device with UC 11-16 was changed, callbackCheckTrigger() was called with the UC as 14 (not L14 as expected), the UC was truncated to 4 and then a trigger for L4 was checked instead of L14.
                  Last edited by mfisher; December 19, 2016, 11:37 AM.
                  Best regards,
                  -Mark-

                  If you're not out on the edge, you're taking up too much room!
                  Interested in 3D maps? Check out my company site: Solid Terrain Modeling

                  Comment


                    #10
                    The issue appears to be solved. Thank you!

                    Mike

                    Comment


                      #11
                      Mark,

                      I just wanted to confirm that events activate when X-10 received via the RFXCOM work great! In .39, I think it missed a beat, but I didn't have much time to confirm. In .40, it works very fast and without a skip. Now I can delete some virtual devices my events were triggering on, when they "became on/off".

                      I'm very impressed. Thanks a great deal...

                      Robert
                      HS3PRO 3.0.0.500 as a Fire Daemon service, Windows 2016 Server Std Intel Core i5 PC HTPC Slim SFF 4GB, 120GB SSD drive, WLG800, RFXCom, TI103,NetCam, UltraNetcam3, BLBackup, CurrentCost 3P Rain8Net, MCsSprinker, HSTouch, Ademco Security plugin/AD2USB, JowiHue, various Oregon Scientific temp/humidity sensors, Z-Net, Zsmoke, Aeron Labs micro switches, Amazon Echo Dots, WS+, WD+ ... on and on.

                      Comment


                        #12
                        Originally posted by Mike Johnson View Post
                        The issue appears to be solved. Thank you!

                        Mike
                        Mike, so glad it's working, and thanks again for providing a very clearly stated setup to recreate the issue.
                        Best regards,
                        -Mark-

                        If you're not out on the edge, you're taking up too much room!
                        Interested in 3D maps? Check out my company site: Solid Terrain Modeling

                        Comment


                          #13
                          Originally posted by langenet View Post
                          Mark,

                          I just wanted to confirm that events activate when X-10 received via the RFXCOM work great! In .39, I think it missed a beat, but I didn't have much time to confirm. In .40, it works very fast and without a skip. Now I can delete some virtual devices my events were triggering on, when they "became on/off".

                          I'm very impressed. Thanks a great deal...

                          Robert
                          Robert, you are most welcome. Please let me know if you encounter any new issues.
                          Best regards,
                          -Mark-

                          If you're not out on the edge, you're taking up too much room!
                          Interested in 3D maps? Check out my company site: Solid Terrain Modeling

                          Comment

                          Working...
                          X