@@ -18,8 +18,9 @@ Inverters with integrated Solar API V1 support include:
1818| -----------------| ----------------------------------------------------------------------------------------------------------------------------------------------------------------|
1919| ` bridge ` | The Bridge |
2020| ` powerinverter ` | Fronius Galvo, Symo and other Fronius inverters: You can add multiple inverters that depend on the same datalogger with different device ids. (default id = 1) |
21+ | ` battery ` | Fronius Battery: Battery devices that map to storage controller fields (default id = 0) |
2122| ` meter ` | Fronius Smart Meter: You can add multiple smart meters with different device ids. (default id = 0) |
22- | ` ohmpilot ` | Fronius Ohmpilot ( default id = 0) |
23+ | ` ohmpilot ` | Fronius Ohmpilot (default id = 0) |
2324
2425## Discovery
2526
@@ -44,27 +45,33 @@ The binding has no configuration options, all configuration is done at `bridge`,
4445### Powerinverter Thing Configuration
4546
4647| Parameter | Description |
47- | ---------- | ------------------------------------------ |
48+ | ------------ | -------------------------------------------- |
4849| ` deviceId ` | The identifier of your device (Default: 1) |
4950
51+ ### Battery Thing Configuration
52+
53+ | Parameter | Description |
54+ | ------------| ----------------------------------------------------|
55+ | ` deviceId ` | The identifier of your battery device (Default: 0) |
56+
5057### Meter Thing Configuration
5158
5259| Parameter | Description |
53- | ---------- | ----------------------------------------------- |
60+ | ------------ | ------------------------------------------------- |
5461| ` deviceId ` | The identifier of your smart meter (Default: 0) |
5562
5663### Ohmpilot Thing Configuration
5764
5865| Parameter | Description |
59- | ---------- | -------------------------------------------- |
66+ | ------------ | ---------------------------------------------- |
6067| ` deviceId ` | The identifier of your ohmpilot (Default: 0) |
6168
6269## Channels
6370
6471### ` powerinverter ` Thing Channels
6572
6673| Channel ID | Item Type | Description |
67- | ------------------------------------ | ------------------------ | ----------------------------------------------------------------------------------------------------------------- |
74+ | -------------------------------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------- |
6875| ` inverterdatachannelpac ` | Number: Power | AC Power generated |
6976| ` inverterdatachannelpdc ` | Number: Power | DC Power calculated from DC voltage * DC current |
7077| ` inverterdatachannelpdc2 ` | Number: Power | DC Power generated by MPPT tracker 2 |
@@ -94,10 +101,24 @@ The binding has no configuration options, all configuration is done at `bridge`,
94101| ` powerflowinverter1power ` | Number: Power | Current power of inverter 1, null if not running (+ produce/export, - consume/import) - DEPRECATED |
95102| ` powerflowinverter1soc ` | Number: Dimensionless | Current state of charge of inverter 1 in percent - DEPRECATED |
96103
104+ ### ` battery ` Thing Channels
105+
106+ | Channel ID | Item Type | Description |
107+ | --------------------| --------------------------| ----------------------------------------|
108+ | ` maximumCapacity ` | Number: Energy | Current maximum battery capacity in Wh |
109+ | ` designedCapacity ` | Number: Energy | Designed battery capacity in Wh |
110+ | ` currentDc ` | Number: ElectricCurrent | DC current |
111+ | ` voltageDc ` | Number: ElectricPotential | DC voltage |
112+ | ` soc ` | Number: Dimensionless | State of charge in percent |
113+ | ` status ` | Number | Battery cell status code |
114+ | ` enable ` | Number | Enable flag for the battery controller |
115+ | ` temperature ` | Number: Temperature | Cell temperature |
116+ | ` timestamp ` | DateTime | Timestamp of the last measurement |
117+
97118### ` meter ` Thing Channels
98119
99120| Channel ID | Item Type | Description |
100- | ----------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
121+ | ------------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
101122| ` enable ` | Number | 1 = enabled, 0 = disabled |
102123| ` location ` | Number | 0 = grid interconnection point (primary meter)<br /> 1 = load (primary meter) <br />3 = external generator (secondary meters)(multiple)<br />256-511 = subloads (secondary meters)(unique). Refer to Fronius Solar API. |
103124| ` currentacphase1 ` | Number: ElectricCurrent | AC Current on Phase 1 |
@@ -119,7 +140,7 @@ The binding has no configuration options, all configuration is done at `bridge`,
119140### ` ohmpilot ` Thing Channels
120141
121142| Channel ID | Item Type | Description |
122- | ----------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
143+ | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
123144| ` energyrealsumconsumed ` | Number: Energy | Real Energy consumed |
124145| ` powerrealsum ` | Number: Power | Real Power |
125146| ` temperaturechannel1 ` | Number: Temperature | Temperature |
@@ -128,17 +149,24 @@ The binding has no configuration options, all configuration is done at `bridge`,
128149
129150## Properties
130151
152+ ### ` battery ` Thing Properties
153+
154+ | Property | Description |
155+ | ----------------| -----------------------------------|
156+ | ` modelId ` | The model name of the battery |
157+ | ` serialNumber ` | The serial number of the battery |
158+
131159### ` meter ` Thing Properties
132160
133161| Property | Description |
134- | -------------- | ------------------------------ |
162+ | ---------------- | -------------------------------- |
135163| ` modelId ` | The model name of the meter |
136164| ` serialNumber ` | The serial number of the meter |
137165
138166### ` ohmpilot ` Thing Properties
139167
140168| Property | Description |
141- | -------------- | --------------------------------- |
169+ | ---------------- | ----------------------------------- |
142170| ` modelId ` | The model name of the ohmpilot |
143171| ` serialNumber ` | The serial number of the ohmpilot |
144172
@@ -172,6 +200,19 @@ var froniusInverterActions = actions.thingActions('fronius', 'fronius:powerinver
172200
173201:::
174202
203+ ::: tab JRuby
204+
205+ In JRuby, the action methods are attached to the the Thing object.
206+
207+ ``` rb
208+ my_inverter = things[" fronius:powerinverter:mybridge:myinverter" ]
209+
210+ # call some actions
211+ my_inverter.prevent_battery_charging
212+ ```
213+
214+ :::
215+
175216::::
176217
177218Where the first parameter must always be ` fronius ` and the second must be the full Thing UID of the inverter.
@@ -212,6 +253,10 @@ All methods return a boolean value indicating whether the action was successful.
212253
213254### Examples
214255
256+ :::: tabs
257+
258+ ::: tab JS
259+
215260``` javascript
216261var froniusInverterActions = actions .thingActions (' fronius' , ' fronius:powerinverter:mybridge:myinverter' );
217262
@@ -231,13 +276,41 @@ froniusInverterActions.addSchedule(time.toZDT('10:00'), time.toZDT('11:00'), 'DI
231276froniusInverterActions .setBackupReservedBatteryCapacity (50 );
232277```
233278
279+ :::
280+
281+ ::: JRuby
282+
283+ ``` rb
284+ inverter = things[" fronius:powerinverter:mybridge:myinverter" ]
285+
286+ inverter.reset_battery_control
287+ inverter.hold_battery_charge
288+ inverter.force_battery_charging(5 | " kW" )
289+
290+ inverter.reset_battery_control
291+ inverter.add_hold_battery_charge_schedule(LocalTime .parse(" 18:00" ), LocalTime .parse(" 22:00" ))
292+ inverter.add_forced_battery_charging_schedule(LocalTime .parse(" 22:00" ), LocalTime .parse(" 23:59" ), 5 | " kW" )
293+ inverter.add_forced_battery_charging_schedule(LocalTime .parse(" 00:00" ), LocalTime .parse(" 06:00" ), 5 | " kW" )
294+ inverter.add_forced_battery_discharging_schedule(LocalTime .parse(" 07:00" ), LocalTime .parse(" 09:00" ))
295+ inverter.add_prevent_battery_charging_schedule(LocalTime .parse(" 09:00" ), LocalTime .parse(" 12:00" ))
296+
297+ inverter.add_schedule(LocalTime .parse(" 10:00" ), LocalTime .parse(" 11:00" ), ' DISCHARGE_MAX' , 500 | " W" )
298+
299+ inverter.set_backup_reserved_battery_capacity(50 )
300+ ```
301+
302+ :::
303+
304+ ::::
305+
234306## Full Example
235307
236308demo.things:
237309
238310``` java
239311Bridge fronius: bridge: mybridge [hostname= " 192.168.66.148" , refreshInterval= 5 , username= " customer" , password= " someSecretPassword" , scheme= " http" ] {
240312 Thing powerinverter myinverter [deviceId= 1 ]
313+ Thing battery mybattery [deviceId= 0 ]
241314 Thing meter mymeter [deviceId= 0 ]
242315 Thing ohmpilot myohmpilot [deviceId= 0 ]
243316}
@@ -291,6 +364,14 @@ Number:Power Ohmpilot_PowerSum { channel="fronius:ohmpilot:mybridge:myohmpilot:p
291364Number : Temperature Ohmpilot_Temperature { channel= " fronius:ohmpilot:mybridge:myohmpilot:temperaturechannel1" }
292365Number Ohmpilot_State { channel= " fronius:ohmpilot:mybridge:myohmpilot:statecode" }
293366Number Ohmpilot_Errorcode { channel= " fronius:ohmpilot:mybridge:myohmpilot:errorcode" }
367+
368+ Number : Energy Battery_MaxCapacity { channel= " fronius:battery:mybridge:mybattery:maximumCapacity" }
369+ Number : Energy Battery_DesignedCapacity { channel= " fronius:battery:mybridge:mybattery:designedCapacity" }
370+ Number : ElectricCurrent Battery_CurrentDC { channel= " fronius:battery:mybridge:mybattery:currentDc" }
371+ Number : ElectricPotential Battery_VoltageDC { channel= " fronius:battery:mybridge:mybattery:voltageDc" }
372+ Number : Dimensionless Battery_SOC { channel= " fronius:battery:mybridge:mybattery:soc" }
373+ Number : Temperature Battery_Temperature { channel= " fronius:battery:mybridge:mybattery:temperature" }
374+ DateTime Battery_Timestamp { channel= " fronius:battery:mybridge:mybattery:timestamp" }
294375```
295376
296377Note: Make sure to turn on the ** Night Mode** in the Display Settings on the Fronius inverter to keep it from going offline at night.
0 commit comments