Hallo,
ich habe versucht, ein scripted device anzulegen. Die Aufgabe ist, einen bestimmten Temperaturwert aus meiner Heizung auszulesen und in dS zur Verfügung zu stellen. Im Browser funktioniert das einfach:
Das URL-Kommando http://bsb-lan.local/JQ=8830 liefert folgenden json-output:
{
"8830": {
"name": "Trinkwassertemperatur-Istwert Oben (B3)",
"dataType_name": "TEMP",
"dataType_family": "VALS",
"destination": 0,
"error": 0,
"value": "46.2",
"desc": "",
"payload": "000B8D",
"precision": 0.1,
"dataType": 0,
"readwrite": 1,
"unit": "°C"
}
}
Ich habe mich an verschiedenen Beispielen orientiert, habe es aber nicht fertiggebracht, den Wert zurückzugeben. Ich habe es u.a. mit folgender init-message und script versucht:
{
'message':'init',
'protocol':'json',
'name':'TW-temp', /* initialer Name */
'sensors':[
/* sensortype1 = Temperatur, updateinterval = 30 = zweimal ausgelesen pro Minute */
{'sensortype':1,'usage':1, 'group':3, 'hardwarename':'TW_temp','min':0,'max':100,'resolution':0.1, 'updateinterval':30}
]
}
var url_tw_temp = "http://bsb-lan.local/JQ=8830"
// alle 30 Sekunden:
on (every(30)) {
var msg = {'message':'sensors', 'index':0 }
var ans = json(geturl(url_tw_temp, 10))
//log (ans)
msg.value = ans.value
message(msg)
}
return true
Ich denke, mein Problem ist, dass ich Javascript nicht kenne und mir der Zusammenhang zwischen der Init-Sequenz und dem script nicht klar geworden ist. Dadurch verstehe ich in all den Beschreibungen der sehr umfangreichen Dokumentation die Zusammenhänge nicht. Ich habe ja schon die Beispiele ausprobiert und sie laufen auch, aber mein eigenes Beispiel habe ich nicht auf die Pfanne bekommen. Ein wenig Nachhilfe wäre sehr nett!
Viele Grüsse, Joey