Innledning
Du kan opprette automatiseringer gjennom Thingsplex-flows for å kontrollere enheter basert på hvor mye din Fronius-inverter produserer, eller lignende.
For å få tilgang til Thingsplex, vennligs følg veiledningen i denne artikkelen.
Hvis du oppretter en flow som fungerer godt for deg og ønsker å dele den med resten av Futurehome-fellesskapet, kan du gjøre det på forum.futurehome.io.
Eksempel på automatisering
Som et eksempel har vi opprettet en automatisering som publiserer en hendelse i tidslinjen hvis Fronius-inverteren produserer mer enn 3000W.
Kildekoden er tilgjengelig nederst i dette dokumentet. Følg disse trinnene for å få denne flowen til å fungere med din inverter:
- Kopier kildekoden nederst i dette dokumentet.
- Klikk på «import» i flows og lim inn den gitte kildekoden.
- Klikk på if condition noden. Under value kan du endre verdien som flowen skal skille seg ut på. I kildekoden nedenfor er den satt til 3000 W.
- Endre action node (tidslinje i eksempelet) til å gjøre det du ønsker at flowen skal gjøre. For eksempel kan du opprette en generic action node som slår på varmtvannsberederen din.
- Lagre.
Liste over støttede grensesnitt: 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
Logg på hvis du vil legge inn en kommentar.