Announcement

Collapse
No announcement yet.

Need quick help..

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

  • Need quick help..

    I have a few devices in a group "Test_Central_Scenes". Devices are Central Scene devices from HomeSeer HS-WD200+ switches.
    What I wan to do is trigger event when any of Central Scene devices is set to value 1000 which is one tap up. Below is how I set it up to test it.

    It works when value changes but it doesn't work when it is set to same value.


    If I tap down and tap up on the switch it will see it as true. If I tap once up and previous action was also one tap up nothing will happen. I can see in Homeseer that timestamp was updated so device was set ant it's new value is still 1000.

    What am I doing wrong?

    Click image for larger version

Name:	CentralScene.jpg
Views:	8
Size:	14.1 KB
ID:	1296432





    Attached Files

  • #2
    I've found the same with central scenes. I use an immediate script to set their status back to "no scene" after they're set so 2 of the same scene in a row will trigger my events as expected.
    -Wade

    Comment


    • #3
      Hmm.. Interesting. Do you set "no scene" for one device that was SET in the group? If so would you share the code?

      Still wondering if that is the only way to do it. It looks like it should be possible to catch with this plug-in when Central Scene is SET to same scene. Maybe Spud will have some input on this as well.

      Thanks

      Comment


      • #4
        Originally posted by Charles_cz View Post
        I have a few devices in a group "Test_Central_Scenes". Devices are Central Scene devices from HomeSeer HS-WD200+ switches.
        What I wan to do is trigger event when any of Central Scene devices is set to value 1000 which is one tap up. Below is how I set it up to test it.

        It works when value changes but it doesn't work when it is set to same value.


        If I tap down and tap up on the switch it will see it as true. If I tap once up and previous action was also one tap up nothing will happen. I can see in Homeseer that timestamp was updated so device was set ant it's new value is still 1000.

        What am I doing wrong?




        I can replicate this too. The trigger only fires if the device value changes, not if it is set and stays the same. This statement also does not work:
        Code:
        IF Any Device in group Test_Central_Scenes had its value set and ($OLDVALUE == $NEWVALUE) is true
        AND IF Any Device in group Test_Central_Scenes has a value that is equal to 1000
        Spud?

        --Barry

        Comment


        • #5
          Originally posted by logman View Post
          I can replicate this too. The trigger only fires if the device value changes, not if it is set and stays the same. This statement also does not work:
          Code:
          IF Any Device in group Test_Central_Scenes had its value set and ($OLDVALUE == $NEWVALUE) is true
          AND IF Any Device in group Test_Central_Scenes has a value that is equal to 1000
          Spud?

          --Barry
          I believe this is a "feature" of how HS3 implements central scenes and nothing to do with EasyTrigger. That's not to suggest spud can't come up with a way to make ET work around it. He's made it do just about everything else we've ever asked for.

          Originally posted by Charles_cz View Post
          Hmm.. Interesting. Do you set "no scene" for one device that was SET in the group? If so would you share the code?

          Still wondering if that is the only way to do it. It looks like it should be possible to catch with this plug-in when Central Scene is SET to same scene. Maybe Spud will have some input on this as well.

          Thanks
          I've not had need to use device groups with my central scene devices so this will be of limited help. I created an additional value/status pair with value 0 and status "No Scene". After a scene is called by double-tap, etc., and an event is triggered, I have the event reset the central scene using this immediate script:

          &hs.SetDeviceValueByRef(xxxx, 0, True)

          where xxxx is the device reference.

          Using this technique with a group of devices would require a more advanced script.
          -Wade

          Comment


          • #6
            Please test version 3.0.0.62 available in the beta section of the updater in which I fixed this bug.
            Thanks

            Comment


            • #7
              Originally posted by cc4005 View Post

              I believe this is a "feature" of how HS3 implements central scenes and nothing to do with EasyTrigger. That's not to suggest spud can't come up with a way to make ET work around it. He's made it do just about everything else we've ever asked for.

              .
              Actually the group triggers behave this way with all devices (both control and status only). I'm not sure if this is by design or whether it's a bug, but I'm thinking the latter.

              --Barry

              Comment


              • #8
                Originally posted by logman View Post

                Actually the group triggers behave this way with all devices (both control and status only). I'm not sure if this is by design or whether it's a bug, but I'm thinking the latter.

                --Barry
                Ok thanks for that info. Perhaps the reason I was doing it has been changed since I set those events up some time ago and it's no longer necessary. In any case, they still work so I'll leave them be for now.
                -Wade

                Comment


                • #9
                  Originally posted by spud View Post
                  Please test version 3.0.0.62 available in the beta section of the updater in which I fixed this bug.
                  Thanks
                  Yep, that fixed it. All group triggers now work like they are supposed to if the value was set but didn't change, including the expression "IF ($OLDVALUE == $NEWVALUE) is True."

                  Thanks Spud!

                  --Barry

                  Comment


                  • #10
                    Originally posted by spud View Post
                    Please test version 3.0.0.62 available in the beta section of the updater in which I fixed this bug.
                    Thanks
                    Ok, here is another issue while you're in the bug fixin' business....

                    When trying to set the value of a status only device with ET, I get this error:

                    Code:
                    ERROR SetDeviceValue: Cannot find control value 1 for device 7989
                    I'm sure this is probably by design because it follows the normal HS convention of not allowing control of status only devices. But it can be a real hindrance when working with virtual devices or other "status only" devices that have events tied to a status change. An immediate script can be run to change the status value, so there is a work around. However it would be a lot more handy if ET could change the value of status only devices.

                    Can this be done without causing other issues?

                    --Barry

                    Comment


                    • #11
                      Originally posted by logman View Post

                      Ok, here is another issue while you're in the bug fixin' business....

                      When trying to set the value of a status only device with ET, I get this error:

                      Code:
                      ERROR SetDeviceValue: Cannot find control value 1 for device 7989
                      I'm sure this is probably by design because it follows the normal HS convention of not allowing control of status only devices. But it can be a real hindrance when working with virtual devices or other "status only" devices that have events tied to a status change. An immediate script can be run to change the status value, so there is a work around. However it would be a lot more handy if ET could change the value of status only devices.

                      Can this be done without causing other issues?

                      --Barry
                      This would be great.
                      -Wade

                      Comment


                      • #12
                        Originally posted by logman View Post

                        Ok, here is another issue while you're in the bug fixin' business....

                        When trying to set the value of a status only device with ET, I get this error:

                        Code:
                        ERROR SetDeviceValue: Cannot find control value 1 for device 7989
                        I'm sure this is probably by design because it follows the normal HS convention of not allowing control of status only devices. But it can be a real hindrance when working with virtual devices or other "status only" devices that have events tied to a status change. An immediate script can be run to change the status value, so there is a work around. However it would be a lot more handy if ET could change the value of status only devices.

                        Can this be done without causing other issues?

                        --Barry
                        Yes this is by design, if a device created by a plugin is status only you are not supposed to change its value externally.
                        If this is a virtual device then you can always create a control range that span over all its possible values.

                        Can you share an example of use case for this?

                        Comment


                        • #13
                          Excellent. Works great now. Thank you Spud!

                          Comment


                          • #14
                            Originally posted by spud View Post

                            Yes this is by design, if a device created by a plugin is status only you are not supposed to change its value externally.
                            If this is a virtual device then you can always create a control range that span over all its possible values.

                            Can you share an example of use case for this?
                            Sure, no problem... Use case:

                            Devices:
                            A plugin device that reports daily rain total ( $$DVR:001 )
                            A virtual device that represents YTD rainfall total ( $$DSR:002 )
                            Another virtual device that represents month-to-date rainfall total ( $$DSR:003 )

                            To maintain the totals, each night fire following event:

                            Code:
                            IF the time is 11:59:59pm,
                            AND IF Rainfall Today ( $$DVR:001: ) is > 0 is true,
                            
                            THEN set $$DSR:002: to ( $$DVR:001: + $$DSR:002: )
                            THEN set $$DSR:003: to ( $$DVR:001: + $$DSR:003: )
                            I'd rather not have the virtual MTD & YTD devices be control devices (especially considering they have control values 3 digits past the decimal).

                            I also have virtual devices that represent Max Wind Gust Today and Max Wind Gust YTD that update in real time as the event occurs. Currently I'm updating virtual status devices either with scripting, or with the Big5 plugin using JSON calls.

                            If it helps any, Rich recently gave us a new JSON API for updating status devices (setdevicestatus) to set status and strings:
                            Code:
                             /json?request=setdevicestatus&ref=REF&value=VALUE&string=SOME_STRING
                            It will only set whatever you include. He also disabled the addition of buttons on devices that do not have any value pairs assigned. That seems somewhat/sort-of like tacit approval.

                            --Barry

                            Comment


                            • #15
                              Originally posted by logman View Post
                              I'd rather not have the virtual MTD & YTD devices be control devices (especially considering they have control values 3 digits past the decimal).
                              why?

                              Comment

                              Working...
                              X