Energy Bank - avancerede automatiseringer

  • Opdateret

Indledning

Du kan oprette automatiseringer gennem Thingsplex-flows for at styre enheder baseret på rapporter fra Energy Bank.

For at få adgang til Thingsplex, følg venligst 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 gerne gøre det på forum.futurehome.io.

Eksempel på automatisering

Som et eksempel har vi oprettet en automatisering for at ændre tilstand til "opladning", hvis solcellepanelerne producerer mere end 3000W.

Kildekoden er tilgængelig nederst i dette dokument. Følg disse trin for at få dette flow til at fungere for dig:

  1. Kopier kildekoden nederst i dette dokument.
  2. Klik på "importer" i flows og indsæt kildekoden.
  3. Klik på noden for "if condition". Under "value" kan du ændre værdien, der skal bruges i flowet. I kildekoden nedenfor er den sat til 3000 W.
  4. Du kan også ændre noden for "trigger" for at udløse automatiseringen ved en anden hændelse, eller noden for "action" for at ændre resultatet af flowet.
  5. Gem.

energybank.png

Kildekode

  •  {
    "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"
    }

Var denne artikel en hjælp?

0 ud af 0 fandt dette nyttigt

Har du flere spørgsmål? Indsend en anmodning

Kommentarer

0 kommentarer

Log ind for at kommentere.