Announcement

Collapse
No announcement yet.

Issue with newer ELK firmware and Plugin

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

    Issue with newer ELK firmware and Plugin

    Ultra

    I've had an issue with x10 lights connected to the ELK, endlessly toggling when commanding the light via HS. This was rare and appeared only to happen with I toggled the light on/off/on/off very quickly, usually resulting from using the touch screen.

    I've upgraded to a BETA version of the ELK firmware and it is VERY pronounced. Every time I turn on a light from the HS web page, the light toggles on/off/on......every 1 second. This is happening to both my light module and applicance module....

    Here is the debug from HS. WHat I cant work out is if I shutdown HS, the light still toggles however there is clearly something wrong in the debug..I've been in contact with ELK and they are interested to help out however as I've made mention, I cant work out where the issue is... COuld you please let me know what you think so I can let ELK know ?

    Thanks..Pete

    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Processing response [XK]
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
    '
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Entered ControlPLCDevice() function.
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~ControlPLCDevice() is sending a PLC off command to M2.
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Sending command: 'pfM0200' to Elk M1, attempt # 1
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Entered SendToM1G() function.
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Sending pfM0200 to M1G via Ethernet.
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Command pfM0200 does not produce a result.
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:50 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
    '
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0201008B
    '
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 01
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Entered ControlPLCDevice() function.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~ControlPLCDevice() is sending a PLC on command to M2.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Sending command: 'pnM0200' to Elk M1, attempt # 1
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Entered SendToM1G() function.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Sending pnM0200 to M1G via Ethernet.
    8/28/2007 9:32:51 PM ~!~UltraM1G Debug~!~Command pnM0200 does not produce a result.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0201008B
    '
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 01
    8/28/2007 9:32:52 PM ~!~X10 Received~!~A5 (Movement Detectors Nikki Bedroom) A On
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
    '
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Entered ControlPLCDevice() function.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~ControlPLCDevice() is sending a PLC off command to M2.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Sending command: 'pfM0200' to Elk M1, attempt # 1
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Entered SendToM1G() function.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Sending pfM0200 to M1G via Ethernet.
    8/28/2007 9:32:52 PM ~!~UltraM1G Debug~!~Command pfM0200 does not produce a result.
    8/28/2007 9:32:53 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
    '
    8/28/2007 9:32:53 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:53 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:53 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0201008B
    '
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 01
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered ControlPLCDevice() function.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~ControlPLCDevice() is sending a PLC on command to M2.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Sending command: 'pnM0200' to Elk M1, attempt # 1
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered SendToM1G() function.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Sending pnM0200 to M1G via Ethernet.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Command pnM0200 does not produce a result.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0201008B
    '
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 01
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
    '
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
    8/28/2007 9:32:54 PM ~!~UltraM1G Debug~!~Processing response [PC]
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~Entered ControlPLCDevice() function.
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~ControlPLCDevice() is sending a PLC off command to M2.
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~Sending command: 'pfM0200' to Elk M1, attempt # 1
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~Entered SendToM1G() function.
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~Sending pfM0200 to M1G via Ethernet.
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~Command pfM0200 does not produce a result.
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
    8/28/2007 9:32:55 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
    HS 2.2.0.11

    #2
    Ultra

    I've had a reply from ELK (Don Lamb) with a couple of questions that I cant answer.... Could you reply to Don's questions please ?

    Hi Peter,



    Starting at the top of the log, the ELK-M1 sends the string:
    0BPCM0200008C. This is to inform the other systems (Homeseer) that Light
    M02 turned off.

    Homeseer then sends the string: 'pfM0200'. Why Homeseer sends this
    string in reply, I don't know, the ELK-M1 already knows that the light
    is off. But, this tells the ELK-M1 to turn light M2 off. The ELK-M1 then
    sends the string 0BPCM0200008C again. Homeseer doesn't reply to the
    second string. I'm guessing that it must ignore it because it's a
    duplicate. I also noticed in the log that it says "Command pfM0200 does
    not produce a result". This is not the case; 'pfM0200' tells the ELK-M1
    to turn off light M02 and that causes the ELK-M1 to send another update
    string 0BPCM0200008C in reply.



    So, for every light change update from the ELK-M1 the same string is
    sent twice. This is because Homeseer is sending the 'pf' or 'pn'
    following receiving the ELK-M1's string.



    Immediately after that group of strings, the ELK-M1 sends the string:
    0BPCM0201008B. I'm not sure what made the ELK-M1 send this string. Is
    there some rule to "Turn ON light M02" that could occur if the ELK-M1
    receives the "turn off" command? Or could something else trigger the
    ELK-M1 to turn on M02?



    Do you know if there a way to turn off Homeseer's reply string when it
    receives a lighting update string from the ELK-M1?



    Regards,

    Don Lamb
    HS 2.2.0.11

    Comment


      #3
      I am looking into this issue...
      Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

      Comment


        #4
        Please shutdown HomeSeer, backup the existing HSPI_ULTRAM1G.dll, then replace it with the one contained in the zip file.

        Enable debug and try your test again. Please post the debug results.

        Regards,
        Ultrajones
        Attached Files
        Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

        Comment


          #5
          Hi Ultra

          Here is the debug. What I see now is the light turns on and then off and stays off.

          8/30/2007 4:03:26 PM ~!~Info~!~Device: UltraM1G Plugin Lighting 194 [Study Light] (_2) ON
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered ControlPLCDevice() function.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~ControlPLCDevice() is sending a PLC on command to M2.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Sending command: 'pnM0200' to Elk M1, attempt # 1
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered SendToM1G() function.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Sending pnM0200 to M1G via Ethernet.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Command pnM0200 does not produce a result.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
          '
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Processing response [PC]
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered ControlPLCDevice() function.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~ControlPLCDevice() is sending a PLC off command to M2.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Sending command: 'pfM0200' to Elk M1, attempt # 1
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered SendToM1G() function.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Sending pfM0200 to M1G via Ethernet.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Command pfM0200 does not produce a result.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0201008B
          '
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Processing response [PC]
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 01
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0201008B
          '
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~Processing response [PC]
          8/30/2007 4:03:26 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 01
          8/30/2007 4:03:26 PM ~!~X10 Received~!~B1 (Movement Detectors Family Room) B On
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
          '
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Processing response [PC]
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Entered ControlPLCDevice() function.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~ControlPLCDevice() is sending a PLC off command to M2.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Sending command: 'pfM0200' to Elk M1, attempt # 1
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Entered SendToM1G() function.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Sending pfM0200 to M1G via Ethernet.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Command pfM0200 does not produce a result.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Entered SetIO() subroutine.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~The SetIO call was generated locally, no action required.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
          '
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~Processing response [PC]
          8/30/2007 4:03:27 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
          8/30/2007 4:03:28 PM ~!~UltraM1G Debug~!~Entered ProcessReceived() function with a string '0BPCM0200008C
          '
          8/30/2007 4:03:28 PM ~!~UltraM1G Debug~!~Entered ProcessCommand() subroutine.
          8/30/2007 4:03:28 PM ~!~UltraM1G Debug~!~Processing response [PC]
          8/30/2007 4:03:28 PM ~!~UltraM1G Debug~!~PLC Change Update M 02 00
          HS 2.2.0.11

          Comment


            #6
            Not sure why, but the Elk M1 is returning "00" for the Light Level (LL) in response to the pn command. So, when you turn the light on, the Elk is saying it is off and the plug-in is processing the PLC off event.

            EDIT: My code to process the "PLC Change Update" is correct.

            Regards,
            Ultrajones
            Last edited by Ultrajones; September 1, 2007, 10:33 AM.
            Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

            Comment


              #7
              HI Ultra

              Latest feedback from ELK. Looks like your plugin has helped find a bug in the firmware.

              ---------------------------------------------------------------------------------------------------

              Hi Peter,

              Thanks for the information. It pointed me to the cause of the issue.

              When the M1 receives an ASCII lighting command, it immediately sends
              back an ASCII lighting status update string with the previous level of
              the device, and then it sends a second ASCII lighting status update
              string with the updated level.

              A change has now been made to the M1 firmware so that the M1 will reply
              with the level that it received in both ASCII lighting status update
              strings.

              I'll check with David about sending you a new version of the firmware.

              Thanks again for your help,
              Don Lamb
              HS 2.2.0.11

              Comment


                #8
                Any idea when they will be releasing the new firmware?
                Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

                Comment


                  #9
                  Not sure. There have been a few beta releases, I suspect there will be a new one this week. I've installed a new version of the serial expander and its busted some thermostat stuff. Don is trying to nail down this rounding issues with the RCS thermostat. I think he should have it sorted this week, he's close to sorting it...

                  Cheers..Pete
                  HS 2.2.0.11

                  Comment


                    #10
                    Got the latest beta M1XEP firmware today and its fixed the Celcius rounding issue with the RCS thermostat. Don has added a feature in the expander firmware to send text messages to the RCS thermostat panel :-)

                    Its all looking good, suspect they will be out of BETA shortly so look out for some new cool stuff to play with !

                    Pete
                    HS 2.2.0.11

                    Comment


                      #11
                      Tested latest BETA firmware for ELK and Serial expander, the issues of the lights endlessly toggling and the Farenheit/Celcius conversions have been fixed.

                      I think this firmware will be the last BETA version and we will see a release in teh next 2 weeks

                      There are also some new commands being implement, one specifically around system troubles...

                      Cheers..pete
                      HS 2.2.0.11

                      Comment

                      Working...
                      X