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