I get “Node type = timetools isn’t supported” when I try to use time_tools node to get the current timestamp in seconds, and when the flow is triggered, it indeed is skipped, and aborted.
Is it really not supported? Or am I doing something wrong?
Hub details:
“New” hub
ecollector 0.8.2
tpflow 1.0.2
fimpui 1.1.9
tplexui 1
(Kan lese svar på norsk, men synes det er enklere å snakke programmering/data på engelsk)
2022-01-30 00:10:26.832 error flow Node type = timetools isn't supported. Node is skipped
2022-01-30 00:10:26.834 info flow Flow Double-click to away is running
2022-01-30 00:10:49.029 error flow Transition node doesn't exist
2022-01-30 00:10:49.029 error flow Unknown transition node 9.Switching back to first node
{
"Id": "gM350OKGPQHq7gI",
"ClassId": "gM350OKGPQHq7gI",
"Author": "",
"Version": 0,
"CreatedAt": "2022-01-29T23:16:03.633664478+01:00",
"UpdatedAt": "2022-01-29T23:34:03.282064263+01:00",
"Name": "Double-click to away",
"Group": "",
"Description": "Double click the \"OFF\" in the entré to turn mode to \"away\"",
"Nodes": [
{
"Id": "1",
"Type": "trigger",
"Label": "First click",
"SuccessTransition": "2",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:evt/rt:dev/rn:zigbee/ad:1/sv:scene_ctrl/ad:3_1",
"Service": "scene_ctrl",
"ServiceInterface": "evt.scene.report",
"Config": {
"ConnectorID": "",
"InputVariableType": "",
"IsValueFilterEnabled": false,
"LookupServiceNameAndLocation": false,
"PropFilterName": "",
"PropFilterValue": "",
"RegisterAsVirtualService": false,
"Timeout": 0,
"ValueFilter": {
"Value": null,
"ValueType": "string"
},
"ValueJPath": "",
"ValueJPathResultType": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": null
},
"Ui": {
"nodeType": "",
"x": 371,
"y": 211
},
"TypeAlias": "Trigger",
"LastValue": "off"
},
{
"Id": "2",
"Type": "if",
"Label": "If \"off\" and mode is \"home\"",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "and",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": "off",
"ValueType": "string"
}
},
{
"BooleanOperator": "",
"LeftVariableIsGlobal": true,
"LeftVariableName": "fh.home.mode",
"Operand": "eq",
"RightVariable": {
"Value": "home",
"ValueType": "string"
}
}
],
"FalseTransition": "",
"TrueTransition": "9"
},
"Ui": {
"nodeType": "",
"x": 363,
"y": 389
},
"TypeAlias": "If condition"
},
{
"Id": "6",
"Type": "action",
"Label": "Push notification",
"SuccessTransition": "12",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:evt/rt:app/rn:kind_owl/ad:1",
"Service": "kind-owl",
"ServiceInterface": "evt.notification.report",
"Config": {
"DefaultValue": {
"Value": {
"EventName": "custom",
"MessageContent": "Timed out waiting for second click, ignoring",
"SiteId": "f5fa3d15-d80e-42b1-91cf-83035849fdab"
},
"ValueType": "object"
},
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"VariableName": "current_timestamp",
"VirtualServiceGroup": "",
"VirtualServiceProps": {},
"VariableType": "int"
},
"Ui": {
"nodeType": "notification_action",
"x": 86,
"y": 1009
},
"TypeAlias": "Notification"
},
{
"Id": "7",
"Type": "action",
"Label": "Set mode to \"away\"",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:cmd/rt:app/rn:vinculum/ad:1",
"Service": "vinculum",
"ServiceInterface": "cmd.pd7.request",
"Config": {
"DefaultValue": {
"Value": {
"cmd": "set",
"component": "mode",
"id": "away",
"param": {},
"requestId": 1
},
"ValueType": "object"
},
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"ResponseToTopic": "pt:j1/mt:rsp/rt:app/rn:tpflow/ad:1",
"VariableName": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": {}
},
"Ui": {
"nodeType": "vinc_action",
"x": 769,
"y": 1045
},
"TypeAlias": "Home mode"
},
{
"Id": "9",
"Type": "timetools",
"Label": "Get current timestamp",
"Address": "",
"Service": "",
"ServiceInterface": "",
"SuccessTransition": "11",
"ErrorTransition": "",
"Config": {
"TargetVariableName": "current_timestamp",
"IsTargetVariableGlobal": false,
"Operation": "now_full"
},
"Ui": {
"x": 379,
"y": 551,
"nodeType": ""
},
"TypeAlias": "Time tools"
},
{
"Id": "10",
"Type": "if",
"Label": "Check if < 10 sec",
"Address": "",
"Service": "",
"ServiceInterface": "",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"TrueTransition": "7",
"FalseTransition": "6",
"Expression": [
{
"Operand": "lt",
"LeftVariableName": "",
"LeftVariableIsGlobal": false,
"RightVariable": {
"Value": 10,
"ValueType": "int"
},
"BooleanOperator": ""
}
]
},
"Ui": {
"x": 369,
"y": 910,
"nodeType": ""
},
"TypeAlias": "If condition"
},
{
"Id": "11",
"Type": "transform",
"Label": "Get time diff (seconds)",
"Address": "",
"Service": "",
"ServiceInterface": "",
"SuccessTransition": "10",
"ErrorTransition": "",
"Config": {
"TargetVariableName": "",
"TargetVariableType": "",
"IsTargetVariableGlobal": false,
"IsTargetVariableInMemory": true,
"TransformType": "calc",
"Rtype": "var",
"IsRVariableGlobal": false,
"IsLVariableGlobal": false,
"Expression": "current_timestamp - last_entre_off_timestamp",
"RValue": {
"ValueType": "int",
"Value": 0
},
"RVariableName": "",
"LVariableName": "current_timestamp",
"ValueMapping": [],
"XPathMapping": [],
"Template": ""
},
"Ui": {
"x": 381,
"y": 737,
"nodeType": ""
},
"TypeAlias": "Transform"
},
{
"Id": "12",
"Type": "set_variable",
"Label": "Store this timestamp as last",
"Address": "",
"Service": "",
"ServiceInterface": "",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"Name": "last_entre_off_timestamp_sec",
"UpdateGlobal": true,
"UpdateInputMsg": false,
"IsVariableInMemory": true,
"DefaultValue": {
"Value": null,
"ValueType": ""
}
},
"Ui": {
"x": 375,
"y": 1136,
"nodeType": ""
},
"TypeAlias": "Set variable"
}
],
"Settings": null,
"IsDisabled": false,
"IsDefault": false,
"ParallelExecution": "parallel"
}