Announcement

Collapse
No announcement yet.

Challanges during upgrade to 5.9.3.2

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

    #61
    I found the looping problem which was comparing string vs. status for a change. Updates that result in desired behaviors in my testing is at http://mcssprinklers.com/HSPI_mcsMQTT_5_12_0_5.zip (HS4) and http://mcssprinklers.com/mcsMQTT_5_12_0_5.zip (HS3/HS4). Uploads are 30+ mins.
    Just did a quick test and that worked! Many thanks, I will do more testing and let you know.

    Comment


      #62
      I change all devices back to there old settings. After a night of running I have seen no unusual things. It runs stable and solid as always.

      Comment


        #63
        Hello
        There is another thing that needs some investigation. I set up a "two-way" non-plugin device as I have done before. I can publish values from mscMQTT in HS4 and other clients receive this value, but I cannot do the opppsite. I cannot figure out why, since I have already identical "channels" already present doing this. The VDs I cannot make "two-way" is newly created. Here is my procedure:

        1) I have a VD with ref 121 and it is set up as a non-plugin device (purpleish).
        2) I enter the value 10 in the VD
        Click image for larger version

Name:	Screenshot 2021-01-02 at 18.10.36.png
Views:	80
Size:	20.2 KB
ID:	1444724
        3) I confirm that the value 10 is received at the other client.
        4) I enter the value 12 at the other client, and I see that is is received in the mscMQTT
        Click image for larger version

Name:	Screenshot 2021-01-02 at 18.17.12.png
Views:	66
Size:	99.3 KB
ID:	1444728
        5) Further I see in the "statistics tab" the transactions:
        Click image for larger version

Name:	Screenshot 2021-01-02 at 18.14.34.png
Views:	65
Size:	54.7 KB
ID:	1444729
        6) The HS4 VD is however not updated with the value 12.

        Attached is the debug file.
        Attached Files

        Comment


          #64
          The applicable information in the debug log is below. It shows that mcsMQTT is trying to set device 121 to value 12. It looks through the list of control VSP for this device. There is only one in the list and is defined as a single value (not range) with a value of 0. This means that the only value device 121 will accept is 0. You need to edit the VSP for this device so that it is a range spanning the potential values that will be received on this topic.

          If 121 is a virtual device then you are better making it a plugin device based upon the /set topic. If it is a physical device then you need to be able to access the properties of this device so that the VSP can be defined as you need them.

          Code:
          02/01/2021 18:32:32 20378 | ActOnMessageForTrigger Topic TNi3/mcsMQTT/Struktur/Tellere/TellerVentilasjonBoost/set,Payload=12
          02/01/2021 18:32:32 20376 | Command 121 to 12, nValue=12, [B]ControlValue=0, Range=0 to 0, ControlType=TextBoxNumber[/B], ControlString=, Label=, ControlUse=NotSpecified, UpdateLastChange=False

          Comment


            #65
            Hi
            This is the screenshot of the VD 121 properties, I just entered the value 10:
            Click image for larger version

Name:	Screenshot 2021-01-02 at 19.54.39.png
Views:	63
Size:	241.6 KB
ID:	1444754
            This seems to be a range, or is there another place to adjust?

            Comment


              #66
              Can I make it a plugin-device if HS4 is the master of the data? The VD in the current example exists only in HS4 and I want to display it, and sometimes do adjustment. The VD is also used in several other HS4 events and "processes".

              The way I understand the plugin-device is that I can subscribe on a topic from an external device(client) and then have mcsMQTT generate a device in HS?

              Comment


                #67
                Hi again
                I think the problem is solved....the end value was too high for "something", your reply made me think there might be some "wrap around" of values if they are to large compared to the type they are defined as. I reduced to to some lower value, in my test 500, and it worked.

                Comment


                  #68
                  Glad you have a solution. What you posted in #66 should be returned by HS with a control range rather than a single value. I will take a look to make certain the plugin is looking properly for a range. Things in this area changed between HS3 and HS4 API.

                  Comment


                    #69
                    I tried to do a test using HS4 to setup a virtual device that has VSP in the range of 0 to 3. I gave me a button to press (which is useless for setting a value). When I associated a MQTT topic to it and observe the CAPI iteration I see that HS actually defined individual values of 0, 1 ,2 and 3. If my payload was 1.5 it would not match, but integer values in the range do match. It may have done the same thing in your case where the range needs to be such that integer values can be enumerated. Maybe they assign up to some max number (perhaps 100 entries) so that if your range was 0 to 1000 then values of 0, 10, 20 etc. would be accepted.

                    I know in HS3 a different behavior existed.

                    Comment

                    Working...
                    X