vielen Dank erstmal für diesen tollen Beitrag. Das was ihr hier besprochen habt, hat mir bisher sehr geholfen.
Ich versuche das aktuell über Code zu implementieren:
Dafür sieht meine .Things Datei so aus:
Ich habe folgenden Code in meiner .thing stehen:
Code: Alles auswählen
Thing http:url:forecastsolar "forecastsolar" [ authMode="BASIC", baseURL="https://api.forecast.solar", refresh=60, stateMethod= "GET", timeout=40000, bufferSize=2048] {
Channels:
Type string : forecastsolar_watts "forecastsolar_watts" [ stateExtension="/demo-key/estimate/51.15/10.45/30/0/5.json?time=minutes", stateTransformation="JSONPATH:$.result.watt_hours_day[*]" ]
}
unter dem Ordner "transform" habe ich die split.js erstellt mit Inhalt:
Code: Alles auswählen
(function(string) {
var value = string.replace("["," ").replace("]"," ");
var myval = value.split(", ");
return myval[0];
})(input)
in meiner .Items sieht es so aus:
Code: Alles auswählen
String forecastsolar_current { channel="http:url:forecastsolar:forecastsolar_watts" [ profile="transform:JS", function="split.js"] }
In den String forecastsolar_current schreibt er dann folgendes rein:
[10579, 2847, 10332, 15191, 5859, 7562, 7824]
Wo liegt der Fehler, dass er die split.js nicht anwendet?
Wenn ich das Item forecastsolar_current als Number definiere bekommt es den Status 'NULL'
Hat jemand einen Tipp?
Danke euch. Grüße