Indledning
Du kan oprette automatiseringer gennem Thingsplex-flows for at styre enheder baseret på, hvor meget din Fronius-inverter producerer, eller lignende.
For at få adgang til Thingsplex, venligst følg vejledningen i denne artikel.
Hvis du opretter et flow, der fungerer godt for dig og ønsker at dele det med resten af Futurehome-fællesskabet, kan du gøre det på forum.futurehome.io.
Eksempel på automatisering
Som et eksempel har vi oprettet en automatisering, der publicerer en hændelse i tidslinjen, hvis Fronius-inverteren producerer mere end 3000W.
Kildekoden er tilgængelig nederst i dette dokument. Følg disse trin for at få dette flow til at fungere med din inverter:
- Kopier kildekoden nederst i dette dokument.
- Klik på «import» i flows og indsæt den givne kildekode.
- Klik på if condition noden. Under value kan du ændre værdien, som flowet skal skille sig ud på. I kildekoden nedenfor er den sat til 3000 W.
- Ændr action node (tidslinje i eksemplet) til at gøre det, du ønsker, at flowet skal gøre. For eksempel kan du oprette en generic action node som tænder for din vandvarmer.
- Gem.
Liste over understøttede grænseflader: https://github.com/thingsplex/fronius
Kildekode
-
{
"Id": "jDtHzGOzAcwrXsx",
"ClassId": "jDtHzGOzAcwrXsx",
"Author": "",
"Version": 0,
"CreatedAt": "2020-11-19T12:16:41.016268639+01:00",
"UpdatedAt": "2020-11-19T12:28:53.268387556+01:00",
"Name": "fronius test",
"Group": "fronius",
"Description": "fronius",
"Nodes": [
{
"Id": "1",
"Type": "trigger",
"Label": "trigger",
"SuccessTransition": "2",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:evt/rt:dev/rn:fronius/ad:1/sv:meter_elec/ad:1",
"Service": "meter_elec",
"ServiceInterface": "evt.meter_ext.report",
"Config": {
"InputVariableType": "",
"IsValueFilterEnabled": false,
"LookupServiceNameAndLocation": false,
"PropFilterName": "",
"PropFilterValue": "",
"RegisterAsVirtualService": false,
"Timeout": 0,
"ValueFilter": {
"Value": null,
"ValueType": "float_map"
},
"ValueJPath": "",
"ValueJPathResultType": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": null
},
"Ui": {
"nodeType": "",
"x": 62,
"y": 230
},
"TypeAlias": "Trigger"
},
{
"Id": "2",
"Type": "transform",
"Label": "get_p_export",
"SuccessTransition": "4",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": "",
"IsRVariableGlobal": false,
"IsTargetVariableGlobal": false,
"IsTargetVariableInMemory": true,
"LVariableName": "",
"RValue": {
"Value": 0,
"ValueType": "int"
},
"RVariableName": "",
"Rtype": "var",
"TargetVariableName": "",
"TargetVariableType": "",
"Template": "",
"TransformType": "jpath",
"ValueMapping": [],
"XPathMapping": [
{
"IsTargetVariableGlobal": true,
"Path": "$.val.p_export",
"TargetVariableName": "p_export",
"TargetVariableType": "float",
"UpdateInputVariable": false
}
]
},
"Ui": {
"nodeType": "",
"x": 62,
"y": 373
},
"TypeAlias": "Transform"
},
{
"Id": "4",
"Type": "if",
"Label": "if_>_3000",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "",
"Service": "",
"ServiceInterface": "",
"Config": {
"Expression": [
{
"BooleanOperator": "",
"LeftVariableIsGlobal": true,
"LeftVariableName": "p_export",
"Operand": "gt",
"RightVariable": {
"Value": 3000,
"ValueType": "float"
}
}
],
"FalseTransition": "6",
"TrueTransition": "5"
},
"Ui": {
"nodeType": "",
"x": 59,
"y": 519
},
"TypeAlias": "If condition"
},
{
"Id": "5",
"Type": "action",
"Label": "Publish timeline",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:cmd/rt:app/rn:time_owl/ad:1",
"Service": "time_owl",
"ServiceInterface": "cmd.timeline.set",
"Config": {
"DefaultValue": {
"Value": {
"message_en": "fronius >1000",
"message_no": "-",
"sender": "flow"
},
"ValueType": "str_map"
},
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"VariableName": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": {}
},
"Ui": {
"nodeType": "timeline_action",
"x": 18,
"y": 683
},
"TypeAlias": "Timeline"
},
{
"Id": "6",
"Type": "action",
"Label": "Publish timeline",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:cmd/rt:app/rn:time_owl/ad:1",
"Service": "time_owl",
"ServiceInterface": "cmd.timeline.set",
"Config": {
"DefaultValue": {
"Value": {
"message_en": "fronius <1000",
"message_no": "-",
"sender": "flow"
},
"ValueType": "str_map"
},
"IsVariableGlobal": false,
"Props": {},
"RegisterAsVirtualService": false,
"VariableName": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": {}
},
"Ui": {
"nodeType": "timeline_action",
"x": 238,
"y": 684
},
"TypeAlias": "Timeline"
}
],
"Settings": null,
"IsDisabled": true,
"IsDefault": false,
"ParallelExecution": "parallel"
}
Kommentarer
0 kommentarer
Log ind for at kommentere.