const mqttTopic = "cfos_mqtt/set/M3"; // Korrekte ID für cFos function sendToCFOS() { let importWh = getState("mqtt.0.solax.consumeenergy").val || 0; let exportWh = getState("mqtt.0.solax.feedinenergy").val || 0; let acPower = getState("mqtt.0.solax.acpower").val || 0; let powerDc1 = getState("mqtt.0.solax.powerdc1").val || 0; let powerDc2 = getState("mqtt.0.solax.powerdc2").val || 0; let solaxData = { "model": "Solax", "import_wh": importWh, "export_wh": exportWh, "voltage": [230, 230, 230], // Dummy-Werte für Spannung "current": [powerDc1 * 1000, powerDc2 * 1000, 0], "power_w": acPower }; let payload = JSON.stringify(solaxData); if (acPower > 0) { // Sende nur, wenn Daten vorhanden sind sendTo("mqtt.0", "sendMessage", { topic: mqttTopic, payload: payload }); log(`Solax-Daten an cFos gesendet: ${payload}`); } else { log("Keine gültigen Solax-Daten, MQTT-Update übersprungen."); } } // Skript alle 30 Sekunden ausführen schedule("*/30 * * * * *", sendToCFOS); log("cFos MQTT-Daten-Aktualisierung gestartet!");