Issue with threeAxis capability

Hi,

I have 2 drivers that are using
threeAxis capability.
In both of them it is not shown in automations, neither in conditions, nor in actions.

Is there anything I can do to add it to automations?
Thanks

I have Fibaro sensor with official driver , the 3axis capability is not available in routines.

The current routine UI doesn’t allow to set value ranges , and doesn’t allow to use the same capability in the same routine more than once .

so even if you create your own 3axis capability, it wouldn’t be possible create an condition

if X in 90…180 and Y in 355 … 5 then action

No, this capability doesn’t have that section configured on its presentation:

smartthings capabilities:presentation threeAxis 1 -j
{
    "detailView": [
        {
            "label": "{{i18n.label}}",
            "displayType": "state",
            "state": {
                "label": "{{threeAxis.value}}",
                "unit": "threeAxis.unit"
            }
        }
    ],
    "id": "threeAxis",
    "version": 1
}

However, we can check with the team if that configuration can be added but it can take a long time before it happens if it gets approved.

As @veonua mentioned, it would be difficult to create a custom capability for it because:

  • You wouldn’t be able to print the x, y, z values as shown for the stock capability, but you can concatenate them:
"state": {
    "label": "{{attrone.value}},{{attrtwo.value}},{{attrthree.value}}"
}
  • In “Routines” you cannot set several conditions for the same capability, but a capability can receive several commands at once for the same capability, the automation.actions would look something like this:
"actions": [
    {
        "label": "attrone",
        "displayType": "textField",
        "textField": {
            "command": "setAttrOne",
            "argumentType": "string"
        }
    },
    {
        "label": "attrtwo",
        "displayType": "textField",
        "textField": {
            "command": "setAttrTwo",
            "argumentType": "string"
        }
    },
    {
        "label": "attrthree",
        "displayType": "textField",
        "textField": {
            "command": "setAttrThree",
            "argumentType": "string"
        }
    },
    {
        "label": "attrfour",
        "displayType": "textField",
        "textField": {
            "command": "setAttrFour",
            "argumentType": "string"
        }
    }
]

Note: You can use the Rules API instead to create an automation based on these values

I don’t see any traction on the RulesAPI, there are very few mentions in the community.

Count you please at least consider LUA Api for rules.

The Rules API can be used from any other source, for example, if you create a Lua program, you could send requests to the API to save/manage that automation.
The program could be able of building a Rule because the structure follows a pattern.

We’re always excited to see your experiments with the developer’s tools. There is a tutorial about the Rules API here:

There’s a Github repo (Sample-RulesAPI) that contains several samples as well which you can copy and edit as required.

We welcome all questions about the Rules API, also, if you have a functionality proposal, we can share it with the corresponding team for them to evaluate.

1 Like