Hallo zusammen,
die Sprache ist mal wieder ein Problem, bei dem ich mich über ein bisschen Hilfe sehr freuen würde:
Habe in Homematic eine Systemvariable, die einen Zählerstand speichert.
Die Variable ist als item über
definiert.
Wertänderungen (z.B. auf den Wert 8) funktionieren in einer Rule über
Nun würde ich gerne bei jedem Zählerimpuls den Wert um einen Aufschlag erhöhen und den Wert in Homematic zurückschreiben
Das klappt aber leider nicht, weil in den Fehlerzeilen 1 und 2 reklamiert wird
Wie geht's denn richtig?
Danke für Eure Hilfe!
die Sprache ist mal wieder ein Problem, bei dem ich mich über ein bisschen Hilfe sehr freuen würde:
Habe in Homematic eine Systemvariable, die einen Zählerstand speichert.
Die Variable ist als item über
Code:
Number varWasserzaehler "Zählerstand Wasser [%.2f m³]" {homematic="variable=Wasserzaehler"}
Wertänderungen (z.B. auf den Wert 8) funktionieren in einer Rule über
Code:
varWasserzaehler.sendCommand(8)
Code:
rule "Wasserzaehlerimpuls"
when
Item itmSK_Wasserzaehler received command or
Item itmTestSwitch received command //normaler openHAB Switch, um die Rule manuell testen zu können
then
var float fImpuls = 0.05
if (receivedCommand==ON) {
//Relais ist true, d.h. die 0 Stellung des Zählers ist erreicht
//Zählerwert um Impulswert erhöhen
varWasserzaehler = varWasserzaehler + fImpuls //Fehlerzeile1
varWasserzaehler.sendCommand((varWasserzaehler.state + fImpuls)) //Fehlerzeile 2
}
else {
varWasserzaehler.sendCommand(8)
}
end
incompatible types. Expected java.lang.string was float
Danke für Eure Hilfe!


Kommentar