Energy Bank - avanserte automasjoner

  • Oppdatert

Innledning

Du kan opprette automasjoner gjennom Thingsplex-flows for å styre enheter basert på rapporter fra Energy Bank.

For å få tilgang til Thingsplex, vennligs følg veiledningen i denne artikkelen.

Hvis du oppretter en flow som fungerer bra for deg, og ønsker å dele den med resten av Futurehome-samfunnet, kan du gjerne gjøre det på forum.futurehome.io.

Eksempel på automasjon

Som et eksempel har vi opprettet en automasjon for å endre modus til "lading" hvis solcellepanelene produserer mer enn 3000W.

Kildekoden er tilgjengelig nederst i dette dokumentet. Følg disse trinnene for å få denne flowen til å fungere for deg:

  1. Kopier kildekoden nederst i dette dokumentet.
  2. Klikk på "importer" i flows og lim inn kildekoden.
  3. Klikk på noden for "if condition". Under "value" kan du endre verdien som skal brukes i flown. I kildekoden nedenfor er den satt til 3000 W.
  4. Du kan også endre noden for "trigger" for å utløse automatiseringen ved en annen hendelse, eller noden for "action" for å endre resultatet av flown.
  5. Lagre.

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 artikkelen nyttig?

0 av 0 syntes dette var nyttig

Har du flere spørsmål? Send oss en henvendelse

Kommentarer

0 kommentarer

Logg på hvis du vil legge inn en kommentar.