Ich denke der Fehler liegt hier in der Debug-Ausgabe.
Du über gibst hier nur einen Parameter, erwartet werden aber doch zumindest zwei. Ich vermute, du benutzt nicht den OpenHAB Designer, oder? Der meckert nämlich sofort bei diesem Statement :-).
Zumal: Besser lesbar ist aber wahrscheinlich die Verwendung von Platzhaltern:
Ich würde das Runden auch weglassen, du kannst den Wert ja bei der Ausgabe immer noch Runden auf keine bzw. eine Nachkommastelle. Aber warum hier schon Genauigkeit wegwerfen?
Ich habe das ganze auch mal bei mir ausprobiert, und es klappte wunderbar.
Mein Script:
Code:
logDebug("Sicherung7 Rule Execution" + value_wh + "wh " + value_kwh + "kwh")
Zumal: Besser lesbar ist aber wahrscheinlich die Verwendung von Platzhaltern:
Code:
logDebug("Sicherung7 Rule Execution", "Input: {} wh, Output: {} kWh {}", value_wh, value_kwh)
Ich habe das ganze auch mal bei mir ausprobiert, und es klappte wunderbar.
Mein Script:
Code:
import org.openhab.core.library.types.* import org.openhab.model.script.actions.* import java.util.* var String logCategory = "Lüftung Wh to kWh" rule "Lüftung Wh to kWh" when Item Stromzaehler_KWL changed then var valueWh = Stromzaehler_KWL.state if (valueWh instanceof DecimalType) { var valueKwh = valueWh as DecimalType / 1000 logInfo(logCategory, "Value wh: {}, value kWh: {}", valueWh, valueKwh) Stromzaehler_KWL_KWH.postUpdate(valueKwh) } end
Kommentar