Hallo zusammen,
ich habe bei uns einige FlowerCare sensoren im Einsatz und wollte diese nun ins Smarthome einbinden. Dazu habe ich mir einen ESP32 zugelegt und mit dem openmqttgateway 0.95 geflashed. Das funktioniert soweit auch und ich sehe die Sticks auch. Ich weiß aber nicht wie ich die Werte jetzt weiterverwenden kann. Ich möchte moi, lux, tempc, tempf auslesen und in Datenpunkte reinschreiben.
So sieht es im IoBroker aus, was über MQTT nacheinander ankommt.
{"id":"C4:7C:8D:66:3E:E3","name":"Flower care","rssi":-84,"distance":13.81901,"model":"HHCCJCY01HHCC","lux":120}
{"id":"C4:7C:8D:66:3E:E3","name":"Flower care","rssi":-85,"distance":15.12852,"model":"HHCCJCY01HHCC","tem":21.1,"tempc":21.1,"tempf":69.98}
{"id":"C4:7C:8D:66:3E:E3","name":"Flower care","rssi":-74,"distance":5.270232,"model":"HHCCJCY01HHCC","moi":10}
Dachte das es mittels einem Java-Script gehen müsste, bin hier aber leider totaler Anfänger. Hat einer Tipp wie das geht? Habe es schonmal versucht, komme aber nicht weiter. Aktuell schaut das Skript so aus:
const idRaw = "mqtt.0.home.ESP.OpenMQTTGateway_ESP32_BLE_Flur.BTtoMQTT.C47C8D663EE3"; // Datenpunkt-ID MQTT
const Lux_Yucca = 'lux';
// Datenpunkt erzeugen
createState(Lux_Yucca, 0, {
type: 'number',
name: 'lux',
});
function lux(json) {
var obj = JSON.parse(json);
var range = parseFloat(obj.lux);
setState(Lux_Yucca, range, true);
}
lux(getState(idRaw).val); // Skriptstart
on(idRaw, function(dp) {
lux(dp.state.val);
});
Danke!