Skulle hatt en grundig guide for flows, hva de forskjellige options gjør på rullegardin menyen, og gjerne med “demo video” Jeg kunne godt tenke meg å lage flows, men må erkjenne at jeg ikke skjønner oppsettet godt nok til å begynne med det.
Hei og velkommen til forumet
Regelmotoren kan gjøre så mangt, så litt mer spesifikk hadde vert greit om du ønsker eksempler.
Kan legge ved link til en basic guide for Thingsplex og TPFlow:
Jeg skal logge meg inn nå, sette opp en automasjon, og “sjekke hvor jeg står fast” og komme med en mer beskrivende tilbakemelding
Hvis jeg har klart å sette en Flow for min 4-button namron bryter i gangen nå, som modus bryter - så snakker vi fremskritt Vet selvfølgelig ikke hvilken verdi som trigger hvilken bryterknapp, men det finner en jo ut av fort, om det virker
Knapp 1 (oppe til venstre) skal rapportere scene 1.0
Knapp 2 (oppe til høyre) skal rapportere scene 2.0 osv…
Du kan trykke på knapp og se i message stream hvilken string den sender på scene_ctrl servicen
Fant en feil da…hadde satt cmd.scene.set - ikke evt.scene.report…for fikk ikke noe respons på bryteren
får failed…hmmm
kan du sende source coden, så kan jeg sjekke ?
{
"Id": "fsZpT11ZMb6Eg5I",
"ClassId": "fsZpT11ZMb6Eg5I",
"Author": "",
"Version": 0,
"CreatedAt": "2020-06-11T10:41:51.641465683+02:00",
"UpdatedAt": "2020-06-11T12:31:44.484229593+02:00",
"Name": "Shortcut button",
"Group": "",
"Description": "Scene trigger",
"Nodes": [
{
"Id": "1",
"Type": "trigger",
"Label": "Scene bryter",
"SuccessTransition": "2",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:scene_ctrl/ad:101_0",
"Service": "scene_ctrl",
"ServiceInterface": "evt.scene.report",
"Config": {
"InputVariableType": "",
"IsValueFilterEnabled": false,
"LookupServiceNameAndLocation": false,
"RegisterAsVirtualService": false,
"Timeout": 0,
"ValueFilter": {
"Value": null,
"ValueType": ""
},
"ValueJPath": "",
"ValueJPathResultType": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": null
},
"Ui": {
"nodeType": "",
"x": 70,
"y": 170
}
},
{
"Id": "2",
"Type": "if",
"Label": "Hjemmemodus",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": 1,
"ValueType": "string"
}
}
],
"FalseTransition": "3",
"TrueTransition": "6"
},
"Ui": {
"nodeType": "",
"x": 258,
"y": 171
}
},
{
"Id": "3",
"Type": "if",
"Label": "Nattmodus",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": 2,
"ValueType": "string"
}
}
],
"FalseTransition": "4",
"TrueTransition": "7"
},
"Ui": {
"nodeType": "",
"x": 467,
"y": 162
}
},
{
"Id": "4",
"Type": "if",
"Label": "Bortemodus",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": 3,
"ValueType": "string"
}
}
],
"FalseTransition": "5",
"TrueTransition": "8"
},
"Ui": {
"nodeType": "",
"x": 673,
"y": 160
}
},
{
"Id": "5",
"Type": "if",
"Label": "Feriemodus",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": 4,
"ValueType": "string"
}
}
],
"FalseTransition": "",
"TrueTransition": "9"
},
"Ui": {
"nodeType": "",
"x": 856,
"y": 163
}
},
{
"Id": "6",
"Type": "action",
"Label": "Home action",
"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": "home",
"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": 99,
"y": 350
}
},
{
"Id": "7",
"Type": "action",
"Label": "Home action",
"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": "sleep",
"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": 358,
"y": 344
}
},
{
"Id": "8",
"Type": "action",
"Label": "Home action",
"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": 589,
"y": 344
}
},
{
"Id": "9",
"Type": "action",
"Label": "Home action",
"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": "vacation",
"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": 791,
"y": 345
}
}
],
"IsDisabled": false,
"IsDefault": false,
"ParallelExecution": "parallel"
}
Mrk: jeg er som sagt helt amatør på thingsplex -men hadde vært greit å få en aha opplevelse
Ser du har brukt string 1, og ikke 1.0 (som jeg mener den skal rapportere i message stream) dobbelsjekk det
Det fungerte, sånn litt iallefall. Sjekket ved fysisk test, og dobbeltsjekker med app ved siden av meg. Det ser ut som jeg klarer å sette home modus, men i home skal danalock åpne/låse opp døren. Det gjør den ikke… og når jeg prøver å sette away mode, så får jeg ikke opp at det er satt, i appen etter første gang jeg gjorde det (da fungerte den og gikk i lås)
For å ha nevnt det, så står batteribryteren i panel med 3 andre zwave enheter, og lås 20cm unna der igjen…
får heller ikke opp noe i message stream når jeg trigger scenebryteren. men den kjører likevel en av scenene, en gang, før det ikke skjer mer. er det feil måte de er satt sammen? Bryteren er en 1-kanal 4-knapp namron bryter. lurer jo litt på om jeg skulle hatt 4kanal ?
Jeg har laget tilsvarende for en AeoTec Quad bryter.
To øverste knappene til Home/Sleep.
To nederste til garasjeport opp/ned.
Legger ved bilde + kode i tillfelle du kan ha nytte av det.
Jeg fikk noen fien tips fra det du har lagd. Takker!
{
"Id": "fRFqKmc6hjmjKzS",
"ClassId": "fRFqKmc6hjmjKzS",
"Author": "",
"Version": 0,
"CreatedAt": "2020-09-07T20:41:55.922583765+02:00",
"UpdatedAt": "2020-09-08T09:50:38.317433049+02:00",
"Name": "AeoMultiButton",
"Group": "",
"Description": "AeoMultiButton",
"Nodes": [
{
"Id": "1",
"Type": "trigger",
"Label": "Button",
"SuccessTransition": "3",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:scene_ctrl/ad:147_0",
"Service": "scene_ctrl",
"ServiceInterface": "evt.scene.report",
"Config": {
"InputVariableType": "",
"IsValueFilterEnabled": false,
"LookupServiceNameAndLocation": false,
"PropFilterName": "",
"PropFilterValue": "",
"RegisterAsVirtualService": false,
"Timeout": 0,
"ValueFilter": {
"Value": 1,
"ValueType": "float"
},
"ValueJPath": "",
"ValueJPathResultType": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": null
},
"Ui": {
"nodeType": "",
"x": 194,
"y": 206
}
},
{
"Id": "2",
"Type": "action",
"Label": "Home",
"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": "home",
"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": 483,
"y": 469
}
},
{
"Id": "3",
"Type": "if",
"Label": "Check pressed button",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": "1.0",
"ValueType": "string"
}
}
],
"FalseTransition": "4",
"TrueTransition": "2"
},
"Ui": {
"nodeType": "",
"x": 470,
"y": 212
}
},
{
"Id": "4",
"Type": "if",
"Label": "Check button pressed",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": "2.0",
"ValueType": "string"
}
}
],
"FalseTransition": "6",
"TrueTransition": "5"
},
"Ui": {
"nodeType": "",
"x": 713,
"y": 220
}
},
{
"Id": "5",
"Type": "action",
"Label": "Sleep",
"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": "sleep",
"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": 714,
"y": 471
}
},
{
"Id": "6",
"Type": "if",
"Label": "Check pressed button",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": "3.0",
"ValueType": "string"
}
}
],
"FalseTransition": "7",
"TrueTransition": "8"
},
"Ui": {
"nodeType": "",
"x": 954,
"y": 221
}
},
{
"Id": "7",
"Type": "if",
"Label": "Check pressed button",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": false,
"LeftVariableName": "",
"Operand": "eq",
"RightVariable": {
"Value": "4.0",
"ValueType": "string"
}
}
],
"FalseTransition": "",
"TrueTransition": "9"
},
"Ui": {
"nodeType": "",
"x": 1193,
"y": 223
}
},
{
"Id": "8",
"Type": "action",
"Label": "Open Garage Door",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:barrier_ctrl/ad:31_0",
"Service": "barrier_ctrl",
"ServiceInterface": "cmd.tstate.set",
"Config": {
"DefaultValue": {
"Value": "open",
"ValueType": "string"
},
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"ResponseToTopic": "",
"VariableName": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": {}
},
"Ui": {
"nodeType": "",
"x": 949,
"y": 466
}
},
{
"Id": "9",
"Type": "action",
"Label": "Close Garage Door",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:barrier_ctrl/ad:31_0",
"Service": "barrier_ctrl",
"ServiceInterface": "cmd.tstate.set",
"Config": {
"DefaultValue": {
"Value": "closed",
"ValueType": "string"
},
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"ResponseToTopic": "",
"VariableName": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": {}
},
"Ui": {
"nodeType": "",
"x": 1196,
"y": 466
}
}
],
"Settings": null,
"IsDisabled": false,
"IsDefault": false,
"ParallelExecution": "parallel"
}
Flott
Redigerte innlegget for å gjøre koden enklere å lese (og kopiere)
{
"Id": "RzNhBZ8ck9bUDSv",
"ClassId": "RzNhBZ8ck9bUDSv",
"Author": "",
"Version": 0,
"CreatedAt": "2020-09-10T20:59:32.083531896+02:00",
"UpdatedAt": "2020-09-10T20:59:32.083531896+02:00",
"Name": "Modus_switch",
"Description": "modus switch buttons",
"Nodes": [
{
"Id": "1",
"Type": "trigger",
"Label": "button",
"SuccessTransition": "2",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:scene_ctrl/ad:101_0",
"Service": "scene_ctrl",
"ServiceInterface": "evt.scene.report",
"Config": {
"Timeout": 0,
"ValueFilter": {
"Value": 1,
"ValueType": "float"
},
"PropFilterName": "",
"PropFilterValue": "",
"ValueJPath": "",
"ValueJPathResultType": "",
"InputVariableType": "",
"IsValueFilterEnabled": false,
"RegisterAsVirtualService": false,
"LookupServiceNameAndLocation": false,
"VirtualServiceGroup": "",
"VirtualServiceProps": null
},
"Ui": {
"x": 450,
"y": 205,
"nodeType": ""
}
},
{
"Id": "2",
"Type": "if",
"Label": "Button 1 pressed",
"Address": "",
"Service": "",
"ServiceInterface": "",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"TrueTransition": "3",
"FalseTransition": "4",
"Expression": [
{
"Operand": "eq",
"LeftVariableName": "",
"LeftVariableIsGlobal": false,
"RightVariable": {
"Value": "1.0",
"ValueType": "string"
},
"BooleanOperator": ""
}
]
},
"Ui": {
"x": 721,
"y": 205,
"nodeType": ""
}
},
{
"Id": "3",
"Type": "action",
"Label": "Home",
"Address": "pt:j1/mt:cmd/rt:app/rn:vinculum/ad:1",
"Service": "vinculum",
"ServiceInterface": "cmd.pd7.request",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"VariableName": "",
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"VirtualServiceGroup": "",
"VirtualServiceProps": {},
"ResponseToTopic": "pt:j1/mt:rsp/rt:app/rn:tpflow/ad:1",
"DefaultValue": {
"Value": {
"cmd": "set",
"component": "mode",
"id": "home",
"param": {},
"requestId": 1
},
"ValueType": "object"
}
},
"Ui": {
"x": 724,
"y": 426,
"nodeType": "vinc_action"
}
},
{
"Id": "4",
"Type": "if",
"Label": "Button 2 pressed",
"Address": "",
"Service": "",
"ServiceInterface": "",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"TrueTransition": "5",
"FalseTransition": "6",
"Expression": [
{
"Operand": "eq",
"LeftVariableName": "",
"LeftVariableIsGlobal": false,
"RightVariable": {
"Value": "2.0",
"ValueType": "string"
},
"BooleanOperator": ""
}
]
},
"Ui": {
"x": 983,
"y": 200,
"nodeType": ""
}
},
{
"Id": "5",
"Type": "action",
"Label": "Away",
"Address": "pt:j1/mt:cmd/rt:app/rn:vinculum/ad:1",
"Service": "vinculum",
"ServiceInterface": "cmd.pd7.request",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"VariableName": "",
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"VirtualServiceGroup": "",
"VirtualServiceProps": {},
"ResponseToTopic": "pt:j1/mt:rsp/rt:app/rn:tpflow/ad:1",
"DefaultValue": {
"Value": {
"cmd": "set",
"component": "mode",
"id": "away",
"param": {},
"requestId": 1
},
"ValueType": "object"
}
},
"Ui": {
"x": 982,
"y": 423,
"nodeType": "vinc_action"
}
},
{
"Id": "6",
"Type": "if",
"Label": "Button 3 pressed",
"Address": "",
"Service": "",
"ServiceInterface": "",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"TrueTransition": "7",
"FalseTransition": "8",
"Expression": [
{
"Operand": "eq",
"LeftVariableName": "",
"LeftVariableIsGlobal": false,
"RightVariable": {
"Value": "3.0",
"ValueType": "string"
},
"BooleanOperator": ""
}
]
},
"Ui": {
"x": 1253,
"y": 201,
"nodeType": ""
}
},
{
"Id": "7",
"Type": "action",
"Label": "Vacation",
"Address": "pt:j1/mt:cmd/rt:app/rn:vinculum/ad:1",
"Service": "vinculum",
"ServiceInterface": "cmd.pd7.request",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"VariableName": "",
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"VirtualServiceGroup": "",
"VirtualServiceProps": {},
"ResponseToTopic": "pt:j1/mt:rsp/rt:app/rn:tpflow/ad:1",
"DefaultValue": {
"Value": {
"cmd": "set",
"component": "mode",
"id": "vacation",
"param": {},
"requestId": 1
},
"ValueType": "object"
}
},
"Ui": {
"x": 1268,
"y": 421,
"nodeType": "vinc_action"
}
},
{
"Id": "8",
"Type": "if",
"Label": "Button 4 pressed",
"Address": "",
"Service": "",
"ServiceInterface": "",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"TrueTransition": "9",
"FalseTransition": "",
"Expression": [
{
"Operand": "eq",
"LeftVariableName": "",
"LeftVariableIsGlobal": false,
"RightVariable": {
"Value": "4.0",
"ValueType": "string"
},
"BooleanOperator": ""
}
]
},
"Ui": {
"x": 1532,
"y": 200,
"nodeType": ""
}
},
{
"Id": "9",
"Type": "action",
"Label": "sleep",
"Address": "pt:j1/mt:cmd/rt:app/rn:vinculum/ad:1",
"Service": "vinculum",
"ServiceInterface": "cmd.pd7.request",
"SuccessTransition": "",
"ErrorTransition": "",
"Config": {
"VariableName": "",
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"VirtualServiceGroup": "",
"VirtualServiceProps": {},
"ResponseToTopic": "pt:j1/mt:rsp/rt:app/rn:tpflow/ad:1",
"DefaultValue": {
"Value": {
"cmd": "set",
"component": "mode",
"id": "sleep",
"param": {},
"requestId": 1
},
"ValueType": "object"
}
},
"Ui": {
"x": 1534,
"y": 426,
"nodeType": "vinc_action"
}
}
],
"Settings": null,
"IsDisabled": false,
"IsDefault": false,
"ParallelExecution": ""
}
Laget meg en standard modus bryter her, som bytter mellom de 4 vanlige modusene. Noen som vil se gjennom om det funker?