Understanding security sensors in Vera Plus

Have both motion sensors and smoke sensors in my Vera Plus installation. Can see from SDATA that both uses “armedtripped” as detection. From the tile samples and device in HR, Motion sensor uses capabillity “Motion” with “Active, Inactive” values and Smoke detektor use capabillity “Smoke” with “Clear, Detected, Tested” as values.
Tested with tiles and I can see the SDATA mapping of 0,1 maps to Active, Inactive on the motion sensor in text label but not on the Smoke detektor tile where the Smoke capabillity comes up as Unknown in text label. When testing with motion and smoke detektor by each instance (ie using room.Smoke instead of @Device.Smoke as binding to text label) and then both the motion sensor and smoke detector comes up as Unknown.
Can you explain how the mapping of SDATA armedtripped to the sensors capabilities is done and also hint me why the sensor states comes up as Unknown?

There is one other weird thing I can see between the instance mapping and @Device mapping. In the instance binding (i.e room.xx) the format string for decimal number {0:F1) in MultiBinding creates consistent comma as decimal point but with same format string in tile (i.e @device.xx binding) with MultiBinding I can see a mixture of dots and comma as decimal point. Any tips on why this happens?

All the other mappings capability mappings towards Vera Plus works great.

Those motion & smoke capabilities look at “tripped”, not “armedtripped”. What’s the value of “tripped” in your SDATA?

This is the response from Vera Plus in the SDATA for Motion sensor ( Aeotec Multisensor 6):
{ “name”: “Storstuga, Rörelse”, “altid”: “12”, “id”: 28, “category”: 4, “subcategory”: 3, “room”: 4, “parent”: 1, “lasttrip”: “1606048561”, “tripped”: “0”, “armedtripped”: “0”, “configured”: “1”, “batterylevel”: “100”, “commFailure”: “0”, “armed”: “1”, “state”: -1, “comment”: “” }

This is the response from Vera Plus in the SDATA for the Smoke sensor (Fibaro FGSD-002):
{ “name”: “Brandlarm”, “altid”: “37”, “id”: 155, “category”: 4, “subcategory”: 4, “room”: 1, “parent”: 1, “armed”: “1”, “armedtripped”: “0”, “configured”: “1”, “batterylevel”: “100”, “state”: -1, “comment”: “” }

So armedtripped / tripped are same on the motion sensor but on the smoke sensor tripped is not defined. This could explain the Unknown in the mapping in the tile for @Device.Smoke. I will try to add the tripped variable to the smoke sensor and check if this maps to “Clear, Detected , Tested”.

This will not however explain the difference I can see between the tile binding to @device.xx and the instance binding to room.xx. Any tips also on this?

Yes, that is why you are seeing “Unknown”. I can probably make a change so that if “tripped” isn’t present, it’ll use “armedtripped” instead.

I’m not sure I understand what @device.xx is or what issue you are having. This is case sensitive, you need to be using @Device. Can you share some screenshots? And what is xx? Show it to me in your SDATA.

So from the SDATA details above, for the motion sensor when using @Device.Motion it maps 0 and 1 to Inactive and Active but when binding is done through StorstugaRörelse.Motion it is not mapping 0 and 1 to Inactive and Active. Lower case device was just a type, I have used Device all the time…
image
image
Room was just a general replacement for swedish strange room definitions and xx was just a placeholder for the capabillity. Sorry if this was unclear.

Are you selecting “StorstugaRörelse.Motion” from the dropdown or, are you typing it?

Try selecting it to help ensure you don’t mistype something. If it still doesn’t work, would you mind emailing me your project so I can go online & troubleshoot?

It’s really strange that it’d work with @Device & not the actual name because behind the scenes, @Device is getting replaced with your device name. They should be bound to the same object.

Yes, all binding has been done through the dropdown. All is working but I only get the 0 and 1 when StorstugaRörelse.Motion i used as text binding.
Added the Tripped and you are absololutely correct - when used @Device.Smoke binding it works as it should - se picture on the standard tiles below with only difference that Vera send 0 and 1 on the Tripped:
image

Same setup, without any other changes and looking at the instance with binding to Brandlarm.Smoke gives the below. As you can see, changes to the image is with a datatrigger for Brandlarm.Smoke equals Detected but still exactly the same instance binding to Brandlarm.Smoke on the text label shows 0 and 1…

image .

Can you try assigning a different name to the device? Try StorstugaSensor & see if that makes any difference.

I am using this Vera setup in my live Imperihome and are evaluating HR as replacement in parallell with the new Ezlo. As this would mean changing the live setup on the Vera plus I am not so trilled to this kind of elaboration during the evaluation. Would be good enough to fully understanding at the moment how the mapping from 0/1 to Active/Inactive etc should be working and then I can debug this later if I decide to go with HR in the long run…
Will take a look tomorrow if I can make a stripped down version of my project with only these 2 devices for you to look at.

Did you have any tip on why the string format maps the decimal point different in text labels when used on instance vs @Device binding?

I was just referring to the Home Remote Device object Name. Not the name in Vera. The names you use in Home Remote are completely independent. I doubt it makes any difference it was just something something to try. Yes, please create a stripped down project & send it to me tomorrow if you can.

I’m still not sure I understand your issue with decimal points. Please share screenshots & show me which JSON field you are trying to read in the SDATA. Better yet, if it is unrelated to this Motion & Smoke sensor issue, create another topic for that.

Don’t know if this helps? But my Smoke and Co Sensors from my Vera Plus are working OK in Home Remote.

This is my smoke sensor:

image

Tile:

image

Details:

image

I’m just using this Binding:

@Device.Smoke

Motion Sensor

image

Tile:

image

image

Details:

image

image

Binding used is @Device.Motion

Using the “armed” attribute I was also able to add a button to Arm / Disarm the sensor in Vera also.

image

My setup for tile binding are same as yours and after adding the Tripped parameter as Bill explained to my Vera Plus SDATA it behaves same as what you are seeing. Have also implemented the Armed attribute as you can see on the green images above. The problem comes when I am not using tile and makes the binding to the device itself i.e Brandlarm.Smoke instead of @Device.Smoke. When using Brandlarm.Smoke the value comes up as 0 and1 instead of Clear and Detected. Same applies for Motion sensors. Works same way as your motion sensors when binding to @Device.Motion but comes up as 1 and 0 using StorstugaRörelse.Motion. This is what I am trying to understand…
Hope to get a small testcase I can share with Bill later today.

You could make a data trigger for 0 and then have a setter to change the text on the label to “Clear” for example.

And then another data trigger for 1 and a setter to change the text on the label to “Detected”.

Or Active / Inactive or any text you want to appear on the label.

I’ve only used these sensors with the tiles and the @Device.Smoke or @Device.Motion bindings, not expressively binding directly to the devices name.

But I have used data triggers and text setters on some of my tiles to change the text that is displayed on the label to what I want it to say, for the different sensor states.

I can post screen shots later if you need.

This device is a virtual switch device I have in Vera.

image

image

On the label I have two DataTriggers, one for the ON state and one for the OFF state.

image

I have two setters one is for the colour red and the other is for the labels Text.

image

image

image

This way you can make a label say anything you want based on the sensors / devices current status.

Finaly, problem solved. Sometimes it helps do make a cut down version. It turned out that I still had some armedtripped in the instance binding which together with the datatriggers for armed created this behaviour. Now it’s working ( see image below within red).


Thanks - really appreciates your assistance. And really likes the designer tools :grinning:

1 Like