Introduction
The Fronius adapter allows you to monitor your Fronius Inverters energy production through Futurehome in real time. You can see live power production and total energy produced in the current day.
You can create automations through Thingsplex flows to control devices based on how much your Fronius Inverter produces, or similar. For example, turn on your water heater if the Fronius Inverter produces more than 3000W. Please see example flow at the end of this article.
If you make a flow that works well for you, and you want to share it with the rest of the Futurehome community, please do so in forum.futurehome.io.
The adapter supports:
- Monitor current power production
- Monitor totalt energy produced in the current day
Installation and setup
The Fronius API works over local network. This means that your Smarthub will need to be on the same network as the Fronius inverter, and you need to have your Fronius Inverter’s local IP address.
Finding local IP address
- Starting WiFi access point (on the physical inverter device)
- Click on button number 2 from the right to present menu icons.
- Click on button number 3 from the right and scroll to "SETUP".
- Click on button number 1 from the right to select setup.
- When in the setup menu, click on button number 3 from the right and scroll down to "WiFi access point".
- Click on button number 1 from the right to choose "WiFi access point".
- Click on button nr. 1 again to activate WiFi access point.
- Connecting to the inverters WiFi access point
- Open settings on you smartphone.
- Go to WiFi.
- Choose the network called "Fronius 240.xxxxxxx", and enter password "12345678".
- When your phone is successfully connected to the Fronius network, open your web browser.
- Enter "192.168.250.181" in the search box.
- Finding the inverters IP-address
- On the website you will find system information for your Fronius Inverter. In the tab called "LAN interface" you will find your Inverters local IP address. Write this down, as you will need it later.
PS: Remember to turn off WiFi access point after this procedure.
Installing the adapter and connecting to your inverter
To install the adapter, open the Futurehome app, and follow these steps:
- Go to settings
-> playground -> Fronius adapter and click the install button.
- Click on the three dots and enter your Fronius local IP address.
Your Fronius inverter should then be included and start reporting power production!
Automation example
The source code is available at the bottom of this document. To make this flow work with your devices, follow these steps:
- Copy the source code at the bottom of this document
- Click on "import" in flows and paste the source code provided
You will then have to change the action nodes to control the devices you want to, and the wattage value you want to use.
Start by clicking into the if condition node. Under value you can change the value of which you want the flow to differentiate. In the source code below it is set to 3000 W.
Then you need to change the action nodes (timeline in the example) to do what you want the flow to do. For example, make a generic action node that turns on your water heater.
When everything is setup remember to click the "Save" button in the lower left corner.
List of supported interfaces: https://github.com/thingsplex/fronius
Source
{
"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"
}
Comments
0 comments
Article is closed for comments.