Hi,
I’m trying to get the HTTP Binding to work with my custom API, but it just won’t work.
Here’s a sample from my API:
[
{"price_yesterday":"0.5419","name":"Burgenland","price_today":"0.5419","price_difference":"0.0","id":"burgenland"},
{"price_yesterday":"0.5459","name":"Kärnten","price_today":"0.5459","price_difference":"0.0","id":"kaernten"},
{"price_yesterday":"0.5529","name":"Niederösterreich","price_today":"0.5529","price_difference":"0.0","id":"niederoesterreich"},
{"price_yesterday":"0.5172","name":"Oberösterreich","price_today":"0.5172","price_difference":"0.0","id":"oberoesterreich"},
{"price_yesterday":"0.54","name":"Salzburg","price_today":"0.54","price_difference":"0.0","id":"salzburg"},
{"price_yesterday":"0.5313","name":"Steiermark","price_today":"0.5313","price_difference":"0.0","id":"steiermark"},
{
"price_yesterday": "0.582",
"name": "Tirol",
"price_today": "0.582",
"price_difference": "0.0",
"id": "tirol"
},
{"price_yesterday":"0.582","name":"Vorarlberg","price_today":"0.582","price_difference":"0.0","id":"vorarlberg"},
{"price_yesterday":"0.5579","name":"Wien","price_today":"0.5579","price_difference":"0.0","id":"wien"}
]
Here’s the item definition and the transformation file:
Number Heizung_Oelpreis "Ölpreis [%.3f €/l]" <oil> {http="<[https://api.morph.io/reitermarkus/heizoelpreise-oesterreich/data.json?key=XXXXXXXXXXXXXXXXXXXX&query=select%20%2A%20from%20%27data%27:10000:JS(Heizung_Oelpreis.js)]"}
(function(i) {
var results = JSON.parse(i),
i = results.length
while (--i && results[i]["id"] != "tirol") {}
return results[i]["price_today"]
})(input)
It’s throwing this error:
2016-02-17 07:18:43.446 [ERROR] [.service.AbstractActiveService] - Error while executing background thread HTTP Refresh Service
java.util.UnknownFormatConversionException: Conversion = '2'
at java.util.Formatter.checkText(Formatter.java:2579) ~[na:1.8.0_66]
at java.util.Formatter.parse(Formatter.java:2565) ~[na:1.8.0_66]
at java.util.Formatter.format(Formatter.java:2501) ~[na:1.8.0_66]
at java.util.Formatter.format(Formatter.java:2455) ~[na:1.8.0_66]
at java.lang.String.format(String.java:2940) ~[na:1.8.0_66]
at org.openhab.binding.http.internal.HttpBinding.execute(HttpBinding.java:139) ~[na:na]
at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) ~[na:na]
at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) ~[na:na]