Gude Nils,
danke für die Tipps. Inzwischen funktioniert soweit alles!!!
10000000 Dank!
Trotzdem ….
Ich hab’ auch noch etwas rumprobiert.
Anbei das eingehende Telegram mit dem 2. Datensatz vom Multisensor:
{“LRNB”:{“name”:“LRN Bit”,“unit”:"",“rawValue”:1,“value”:“1”,“description”:“Data telegram”},“SNW”:{“name”:“Sun – West”,“rawValue”:15,“value”:8.823529411764707,“range”:{“min”:“0”,“max”:“255”},“scale”:{“min”:“0”,“max”:“150”},“unit”:“klx”},“SNS”:{“name”:“Sun – South”,“rawValue”:13,“value”:7.647058823529412,“range”:{“min”:“0”,“max”:“255”},“scale”:{“min”:“0”,“max”:“150”},“unit”:“klx”},“SNE”:{“name”:“Sun – East”,“rawValue”:6,“value”:3.5294117647058822,“range”:{“min”:“0”,“max”:“255”},“scale”:{“min”:“0”,“max”:“150”},“unit”:“klx”},“ID”:{“name”:“Identifier”,“unit”:"",“rawValue”:2,“value”:“0x2”,“description”:{}},“HEM”:{“name”:“Hemisphere”,“unit”:"",“rawValue”:0,“value”:“0”,“description”:“North”}}
Nachdem ich erstmal festgestellt habe, dass es sich um den 2. Datensatz vom Multisensor handelt, kommt folgende Function:
var brightness = msg.payload.SNW.value;
brightness = brightness * 1000;
if (brightness > 60000)
{brightness = 60000;}
// else {brightness = brightness / 0.4;}
var message = {
“meta”: {
“eep”:“a5-06-01”,
“channel”:5,
“type”:“data”
},
“data”:{
“name”:“Sun-West”,
“ILL1”:brightness,
“ILL2”:0,
“SVC”:0,
“LRN”: 1,
“RS”:0,
“range”:{
“min”:“0”,
“max”:“255”
},
“scale”:{
“min”:“600”,
“max”:“60000”
},
“unit”:“lux”
}
};
msg.payload = message;
node.status({
fill:“blue”,
shape:“ring”,
text:brightness: ${brightness} lx}
})
return msg;
Tatsächlich kann der Eltako FAH60 in ILL1 die Daten von 600 bis 60000 lux verarbeiten - etwas tricky, da der Multisensor die Daten in kilo-lux anliefert.
Grundsätzlich funktioniert alles.
Jedoch zeigt hommee an, dass es auch Werte auf dem 2. Lichtsensor (300 - 30000) empfängt:
Obwohl alles soweit funktioniert, bin ich einfach irritiert.
Beste Grüße
Michael