Hallo,
nach mehreren verzweifelten Versuchen habe ich die Hoffnung, daß mir hier einer helfen kann.
Ich möchte einen Dummy mit einer Variable anlegen die ich über einen weiteren Dummy als Schalter verändern kann.
D.h. Dummy1 soll erstmal den Wert 10 bekommen, wenn ich dann Dummy2 anklicke soll Dummy1 mit jedem Klick einen Wert von 1 addiert bekommen.
Den Dummy1 habe ich ich mit define Dummy1 dummy
angelegt.
dann habe ich mit setreading Dummy1 Wert 10
ein Reading mit dem Wert 10 angelegt.
Von da an scheitere ich. Über Hilfe würde ich mich sehr freuen.
LG Sascha
Hallo,
wo bleibt Dummy2?
Auf Dummy2 dann ein webCmd mit hoch:runter und du kannst im notify hoch- und runter zählen lassen.
Grüße
Dummy2 habe ich natürlich ebenso angelegt:
define Dummy2 dummy
attr Dummy2 webCmd hoch
define zaehler notify Dummy2
Aber genau an der Umsetzung dieses notify scheitere ich.
Sascha
Hallo,
das ganze lässt sich auch nur mit einem Dummy erledigen aber egal.
define zaehler notify Dummy2 {}
in die FHEM-Befehlszeile eingeben und dann auf DEF klicken und los gehts.
Mal schauen was in $EVENT steht oder was $NAME beinhaltet und darauf dann aufbauen.
Beispiele findest du hier wenn du meinen Namen in der SuFu eingibst und auf Anfängerfragen einschränkst.
Gestern (und auch heute schon) habe ich einige Beispiele gepostet wie man sich selbst helfen kann - was ja zukünftigen Codes zugute kommen dürfte.
Der Rest ist dann nur noch das Reading Wert einlesen in eine Variable und diese dann mit +1 und -1 zu bearbeiten.
Grüße
Edith: Oder noch einfacher - auf meinen Namen klicken und dann Beiträge anzeigen anklicken.
Edith2: hier mal ein Beispiel wie ich das mache:
...
my $Wert=ReadingsVal("OG_Zimmer_Licht2","counter",0);
my $Dauer=ReadingsVal("OG_Zimmer_Licht2","counter_max",0);
if ($EVENT eq "on") {
$Wert = $Wert+1;
fhem("setreading OG_Zimmer_Licht2 counter $Wert");
}
...
so sieht jetzt meine fhem.cfg aus:
define taster dummy
attr taster devStateIcon hoch:rc_PLUS
attr taster fp_Dachgeschoss 400,900,0,
attr taster icon rc_PLUS
attr taster webCmd hoch
define zaehler notify taster {my $Wert=ReadingsVal("taster","solltemperatur",0);;\
if ($EVENT eq "hoch") {\
$Wert = $Wert+1;;\
fhem("setreading taster solltemperatur $Wert");;\
}
Das Reading solltemperatur habe ich mit setreading taster solltemperatur 20
gesetzt.
Ich verstehe meinen Fehler nicht... wenn ich auf "hoch" klicke wird der Wert nicht verändert. Nur das Reading state wird auf "hoch" gesetzt, bzw. bei jedem weiteren klick mit der aktuellen Zeit versehen.
Sascha
Der Fehler steht im Logfile - das letzte } fehlt.
Edith: Mit einem gepflegten
attr Dummy1 stateFormat {sprintf("Wert: %.0f",ReadingsVal("Dummy1","solltemperatur",0))}
kannst du dir den Wert auch noch anstelle des + anzeigen lassen - und er ändert sich brav mit.
tausend Dank für deine Hilfe. Gibt es eine Möglich in das ganze eine "Sperre" einzubauen damit der Wert einen Maximalwert nicht überschreitet?
Klar geht das - if-Bedingung.
...
if $wert <= 200 {
...
wird nur ausgeführt solange $wert kleiner oder gleich 200 ist.
ich komme mit der zweiten Abfrage nicht klar:
define zaehler notify taster {my $Wert=ReadingsVal("taster","solltemperatur",0);;\
if ($EVENT eq "hoch") { if ($wert <= 26) {\
$Wert = $Wert+1;;\
fhem("setreading taster solltemperatur $Wert");;\
}}}
habe auch schon folgendes Probiert:
define zaehler notify taster {my $Wert=ReadingsVal("taster","solltemperatur",0);;\
if ($EVENT eq "hoch" && $wert <= 26) {\
$Wert = $Wert+1;;\
fhem("setreading taster solltemperatur $Wert");;\
}}
Das Logfile ist immer ein heisser Tipp ;)
Danke!