Fronius - avanserte automatiseringer

  • Oppdatert

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:

  1. Kopier kildekoden nederst i dette dokumentet.
  2. Klikk på «import» i flows og lim inn den gitte kildekoden.
  3. 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.
  4. 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.
  5. Lagre.

Liste over støttede grensesnitt: https://github.com/thingsplex/fronius

image

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

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.