Johdanto
Voit luoda automaatioita Thingsplex-flow’iden avulla ohjataksesi laitteita Energy Bankin raporttien perusteella.
Pääset Thingsplex-käyttöliittymään noudattamalla ohjeita tässä artikkelissa.
Jos luot flown, joka toimii sinulla hyvin ja haluat jakaa sen muun Futurehome-yhteisön kanssa, voit tehdä sen osoitteessa forum.futurehome.io.
Esimerkki automaatiosta
Esimerkkinä olemme luoneet automaation, joka muuttaa tilaksi "lataus", jos aurinkopaneelit tuottavat yli 3000 W.
Lähdekoodi on saatavilla tämän dokumentin lopussa. Seuraa näitä vaiheita saadaksesi tämän flown käyttöön:
- Kopioi lähdekoodi tämän dokumentin lopusta.
- Napsauta "import" flows-osiossa ja liitä lähdekoodi.
- Napsauta "if condition" -nodia. Kohdassa "value" voit muuttaa flown käyttämää arvoa. Alla olevassa lähdekoodissa se on asetettu 3000 W:iin.
- Voit myös muuttaa "trigger"-nodia käynnistääksesi automaation toisesta tapahtumasta tai "action"-nodia muuttaaksesi flown lopputulosta.
- Tallenna.
Lähdekoodi
-
{
"Id": "jDtHzGOzAcwrXsx",
"ClassId": "jDtHzGOzAcwrXsx",
"Author": "",
"Version": 0,
"CreatedAt": "2020-11-19T12:16:41.016268639+01:00",
"UpdatedAt": "2021-01-20T11:20:29.590106341+01:00",
"Name": "Energybank example",
"Group": "energybank",
"Description": "if solar>3000",
"Nodes": [
{
"Id": "1",
"Type": "trigger",
"Label": "trigger",
"SuccessTransition": "2",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:evt/rt:dev/rn:energybank/ad:1/sv:inverter_solar_conn/ad:1",
"Service": "inverter_solar_conn",
"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": 119,
"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": 119,
"y": 372
},
"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": 119,
"y": 518
},
"TypeAlias": "If condition"
},
{
"Id": "5",
"Type": "action",
"Label": "Set energybank = charging",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:cmd/rt:dev/rn:energybank/ad:1/sv:battery_charge_ctrl/ad:1",
"Service": "battery_charge_ctrl",
"ServiceInterface": "cmd.mode.set",
"Config": {
"DefaultValue": {
"Value": "charging",
"ValueType": "string"
},
"IsVariableGlobal": false,
"Props": "charging",
"RegisterAsVirtualService": false,
"ResponseToTopic": "",
"VariableName": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": {}
},
"Ui": {
"nodeType": "",
"x": 53,
"y": 697
},
"TypeAlias": "Action"
},
{
"Id": "6",
"Type": "action",
"Label": "Set energybank = idle",
"SuccessTransition": "",
"TimeoutTransition": "",
"ErrorTransition": "",
"Address": "pt:j1/mt:cmd/rt:dev/rn:energybank/ad:1/sv:battery_charge_ctrl/ad:1",
"Service": "battery_charge_ctrl",
"ServiceInterface": "cmd.mode.set",
"Config": {
"DefaultValue": {
"Value": "idle",
"ValueType": "string"
},
"IsVariableGlobal": false,
"Props": "charging",
"RegisterAsVirtualService": false,
"ResponseToTopic": "",
"VariableName": "",
"VirtualServiceGroup": "",
"VirtualServiceProps": {}
},
"Ui": {
"nodeType": "",
"x": 301,
"y": 697
},
"TypeAlias": "Action"
}
],
"Settings": null,
"IsDisabled": false,
"IsDefault": false,
"ParallelExecution": "parallel"
}
Kommentit
0 kommenttia
Kirjaudu sisään jättääksesi kommentin.