Updated external content (Jenkins build 1165)
parent
0aed77c9ee
commit
df53a04ca5
|
@ -33,19 +33,20 @@ The channels (i.e. measurements) associated with the Binding:
|
|||
|
||||
Tibber Default:
|
||||
|
||||
| Channel ID | Description | Read-only |
|
||||
|--------------------|-----------------------------------------|-----------|
|
||||
| Current Total | Current Total Price (energy + tax) | True |
|
||||
| Starts At | Current Price Timestamp | True |
|
||||
| Current Level | Current Price Level | True |
|
||||
| Daily Cost | Daily Cost (last/previous day) | True |
|
||||
| Daily Consumption | Daily Consumption (last/previous day) | True |
|
||||
| Daily From | Timestamp (daily from) | True |
|
||||
| Daily To | Timestamp (daily to) | True |
|
||||
| Hourly Cost | Hourly Cost (last/previous hour) | True |
|
||||
| Hourly Consumption | Hourly Consumption (last/previous hour) | True |
|
||||
| Hourly From | Timestamp (hourly from) | True |
|
||||
| Hourly To | Timestamp (hourly to) | True |
|
||||
| Channel ID | Description | Read-only |
|
||||
|--------------------|---------------------------------------------------------|-----------|
|
||||
| Current Total | Current Total Price (energy + tax) | True |
|
||||
| Starts At | Current Price Timestamp | True |
|
||||
| Current Level | Current Price Level | True |
|
||||
| Daily Cost | Daily Cost (last/previous day) | True |
|
||||
| Daily Consumption | Daily Consumption (last/previous day) | True |
|
||||
| Daily From | Timestamp (daily from) | True |
|
||||
| Daily To | Timestamp (daily to) | True |
|
||||
| Hourly Cost | Hourly Cost (last/previous hour) | True |
|
||||
| Hourly Consumption | Hourly Consumption (last/previous hour) | True |
|
||||
| Hourly From | Timestamp (hourly from) | True |
|
||||
| Hourly To | Timestamp (hourly to) | True |
|
||||
| Tomorrow prices | JSON array of tomorrow's prices. See below for example. | True |
|
||||
|
||||
Tibber Pulse (optional):
|
||||
|
||||
|
@ -111,6 +112,110 @@ Retrieve personal token and HomeId from description above, and initialize/start
|
|||
|
||||
Tibber API will be auto discovered if provided input is correct.
|
||||
|
||||
## Tomorrow prices
|
||||
|
||||
Example of tomorrow prices data structure - an array of tuples:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"startsAt": "2022-09-27T00:00:00.000+02:00",
|
||||
"total": 3.8472
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T01:00:00.000+02:00",
|
||||
"total": 3.0748
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T02:00:00.000+02:00",
|
||||
"total": 2.2725
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T03:00:00.000+02:00",
|
||||
"total": 2.026
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T04:00:00.000+02:00",
|
||||
"total": 2.6891
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T05:00:00.000+02:00",
|
||||
"total": 3.7821
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T06:00:00.000+02:00",
|
||||
"total": 3.9424
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T07:00:00.000+02:00",
|
||||
"total": 4.158
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T08:00:00.000+02:00",
|
||||
"total": 4.2648
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T09:00:00.000+02:00",
|
||||
"total": 4.2443
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T10:00:00.000+02:00",
|
||||
"total": 4.2428
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T11:00:00.000+02:00",
|
||||
"total": 4.2061
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T12:00:00.000+02:00",
|
||||
"total": 4.1458
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T13:00:00.000+02:00",
|
||||
"total": 3.9396
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T14:00:00.000+02:00",
|
||||
"total": 3.8563
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T15:00:00.000+02:00",
|
||||
"total": 4.0364
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T16:00:00.000+02:00",
|
||||
"total": 4.093
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T17:00:00.000+02:00",
|
||||
"total": 4.1823
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T18:00:00.000+02:00",
|
||||
"total": 4.2779
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T19:00:00.000+02:00",
|
||||
"total": 4.3154
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T20:00:00.000+02:00",
|
||||
"total": 4.3469
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T21:00:00.000+02:00",
|
||||
"total": 4.2329
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T22:00:00.000+02:00",
|
||||
"total": 4.1014
|
||||
},
|
||||
{
|
||||
"startsAt": "2022-09-27T23:00:00.000+02:00",
|
||||
"total": 4.0265
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## Full Example
|
||||
|
||||
|
@ -153,4 +258,5 @@ Number:Power TibberAPILivePowerProduction "Live Power Pro
|
|||
Number:Power TibberAPILiveMinPowerproduction "Min Power Production [%.0f W]" {channel="tibber:tibberapi:7cfae492:live_minPowerproduction"}
|
||||
Number:Power TibberAPILiveMaxPowerproduction "Max Power Production [%.0f W]" {channel="tibber:tibberapi:7cfae492:live_maxPowerproduction"}
|
||||
Number:Energy TibberAPILiveAccumulatedProduction "Accumulated Production [%.2f kWh]" {channel="tibber:tibberapi:7cfae492:live_accumulatedProduction"}
|
||||
String TibberAPITomorrowPrices "Price per hour tomorrow JSON array" {channel="tibber:tibberapi:7cfae492:tomorrow_prices"}
|
||||
```
|
||||
|
|
|
@ -481,6 +481,19 @@ In order for a report to be sent to the binding, or to another device, a "bindin
|
|||
|
||||
Polling may be used by the binding to request data from the device. Polling is normally only used if reporting doesn't work for some reason. This may happen if the reporting table in a device is full - if the binding detects this, it will increase the polling rate.
|
||||
|
||||
|
||||
## Device Firmware Updates
|
||||
|
||||
A *Firmware Provider*, backed by the [Koenkk OTA](https://github.com/Koenkk/zigbee-OTA) repository on GitHub can be used to upgrade device firmware. This *Firmware Provider* provides firmware to the openHAB firmware management system. Since there is no information linking firmware to a device, Zigbee devices must ask for a firmware update, and when this happens, the *Firmware Provider* will use the information in this request to check to see if there is firmware available, and if there is it will download this to a local file in the *Userdata* folder. It will also advise the openHAB firmware management system that there is firmware available to upload, and the user can manage this appropriately.
|
||||
|
||||
Devices normally request a firmware update at an interval that could be every few minutes, to every few days - depending on the manufacturer. When the provider receives the request from the device, it checks to see if there is a firmware matching the request, and if so it will download the firmware from the net in preparation for the user to approve the upgrade.
|
||||
|
||||
Firmware files downloaded from the repository are checked for integrity against the SHA512 hash. an MD5 hash is then generated locally so that the firmware can be checked by the OH core prior to starting the firmware update.
|
||||
|
||||
Currently the openHAB main UI doesn't support the firmware management system, so this must be performed using the console.
|
||||
|
||||
|
||||
|
||||
## When things don't appear to be working
|
||||
|
||||
When things don't appear to be working as expected you should check the logs to try and find what is happening. Debug logging can be enabled with the following Karaf commands -:
|
||||
|
@ -507,7 +520,7 @@ To list all known nodes, use the `nodes` command. This will list the nodes and e
|
|||
|
||||
#### Device Information (Fingerprint)
|
||||
|
||||
In some instances a device may not work correctly. This could be because the binding had problems during initialisation, or possibly because the device supports features not implemented in the binding, or possibly the device may implement custom functionality. To understand this, there is a `fingerprint` command. This command will attempt to poll the device to get a list of all the commands and attributes that the device supports and create a concise list. Note that this may not work on all devices if the device doesn't support the functionality discovery commands.
|
||||
In some instances a device may not work correctly, or you may wish to see more technical information about the devices' features. This could be because the binding had problems during initialisation, or possibly because the device supports features not implemented in the binding, or possibly the device may implement custom functionality. To understand this, there is a `fingerprint` command. This command will attempt to poll the device to get a list of all the commands and attributes that the device supports and create a concise list. Note that this may not work on all devices if the device doesn't support the functionality required discovery the commands and attributes supported by the device.
|
||||
|
||||
#### Binding and Reporting
|
||||
|
||||
|
|
|
@ -496,6 +496,19 @@ In order for a report to be sent to the binding, or to another device, a "bindin
|
|||
|
||||
Polling may be used by the binding to request data from the device. Polling is normally only used if reporting doesn't work for some reason. This may happen if the reporting table in a device is full - if the binding detects this, it will increase the polling rate.
|
||||
|
||||
|
||||
## Device Firmware Updates
|
||||
|
||||
A *Firmware Provider*, backed by the [Koenkk OTA](https://github.com/Koenkk/zigbee-OTA) repository on GitHub can be used to upgrade device firmware. This *Firmware Provider* provides firmware to the openHAB firmware management system. Since there is no information linking firmware to a device, Zigbee devices must ask for a firmware update, and when this happens, the *Firmware Provider* will use the information in this request to check to see if there is firmware available, and if there is it will download this to a local file in the *Userdata* folder. It will also advise the openHAB firmware management system that there is firmware available to upload, and the user can manage this appropriately.
|
||||
|
||||
Devices normally request a firmware update at an interval that could be every few minutes, to every few days - depending on the manufacturer. When the provider receives the request from the device, it checks to see if there is a firmware matching the request, and if so it will download the firmware from the net in preparation for the user to approve the upgrade.
|
||||
|
||||
Firmware files downloaded from the repository are checked for integrity against the SHA512 hash. an MD5 hash is then generated locally so that the firmware can be checked by the OH core prior to starting the firmware update.
|
||||
|
||||
Currently the openHAB main UI doesn't support the firmware management system, so this must be performed using the console.
|
||||
|
||||
|
||||
|
||||
## When things don't appear to be working
|
||||
|
||||
When things don't appear to be working as expected you should check the logs to try and find what is happening. Debug logging can be enabled with the following Karaf commands -:
|
||||
|
@ -522,7 +535,7 @@ To list all known nodes, use the `nodes` command. This will list the nodes and e
|
|||
|
||||
#### Device Information (Fingerprint)
|
||||
|
||||
In some instances a device may not work correctly. This could be because the binding had problems during initialisation, or possibly because the device supports features not implemented in the binding, or possibly the device may implement custom functionality. To understand this, there is a `fingerprint` command. This command will attempt to poll the device to get a list of all the commands and attributes that the device supports and create a concise list. Note that this may not work on all devices if the device doesn't support the functionality discovery commands.
|
||||
In some instances a device may not work correctly, or you may wish to see more technical information about the devices' features. This could be because the binding had problems during initialisation, or possibly because the device supports features not implemented in the binding, or possibly the device may implement custom functionality. To understand this, there is a `fingerprint` command. This command will attempt to poll the device to get a list of all the commands and attributes that the device supports and create a concise list. Note that this may not work on all devices if the device doesn't support the functionality required discovery the commands and attributes supported by the device.
|
||||
|
||||
#### Binding and Reporting
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ The following databases are currently supported and tested:
|
|||
|
||||
| Database | Tested Driver / Version |
|
||||
| -------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Apache Derby](https://db.apache.org/derby/) | [derby-10.12.1.1.jar](https://mvnrepository.com/artifact/org.apache.derby/derby) |
|
||||
| [Apache Derby](https://db.apache.org/derby/) | [derby-10.14.2.0.jar](https://mvnrepository.com/artifact/org.apache.derby/derby) |
|
||||
| [H2](https://www.h2database.com/) | [h2-1.4.191.jar](https://mvnrepository.com/artifact/com.h2database/h2) |
|
||||
| [HSQLDB](http://hsqldb.org/) | [hsqldb-2.3.3.jar](https://mvnrepository.com/artifact/org.hsqldb/hsqldb) |
|
||||
| [MariaDB](https://mariadb.org/) | [mariadb-java-client-1.4.6.jar](https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client) |
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<channel id="current_total" typeId="price"/>
|
||||
<channel id="current_startsAt" typeId="timestamp"/>
|
||||
<channel id="current_level" typeId="level"/>
|
||||
<channel id="tomorrow_prices" typeId="tomorrow_prices"/>
|
||||
<channel id="daily_from" typeId="timestamp"/>
|
||||
<channel id="daily_to" typeId="timestamp"/>
|
||||
<channel id="daily_cost" typeId="cost"/>
|
||||
|
@ -115,4 +116,10 @@
|
|||
<description>Accumulated Production since Midnight</description>
|
||||
<state pattern="%.3f %unit%"></state>
|
||||
</channel-type>
|
||||
<channel-type id="tomorrow_prices" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Prices for tomorrow as a JSON array</label>
|
||||
<description>JSON array of tuples startsAt,total, e.g. {["startsAt": "2022-09-10T00:00:00+02:00", "total": 5.332},
|
||||
{"startsAt": ...}]. See binding documantation for full example.</description>
|
||||
</channel-type>
|
||||
</thing:thing-descriptions>
|
||||
|
|
Loading…
Reference in New Issue