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.
Announcement
Collapse
No announcement yet.
Challanges during upgrade to 5.9.3.2
Collapse
X
-
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
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
5) Further I see in the "statistics tab" the transactions:
6) The HS4 VD is however not updated with the value 12.
Attached is the debug file.
Comment
-
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
-
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
-
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
Comment