FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Cybers am 30 Dezember 2014, 13:08:18

Titel: (Gelöst) Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Cybers am 30 Dezember 2014, 13:08:18
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
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Puschel74 am 30 Dezember 2014, 13:13:13
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
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Cybers am 30 Dezember 2014, 13:31:02
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
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Puschel74 am 30 Dezember 2014, 13:38:40
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");
  }
...
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Cybers am 30 Dezember 2014, 14:47:49
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
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Puschel74 am 30 Dezember 2014, 14:54:24
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.
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Cybers am 30 Dezember 2014, 14:58:43
tausend Dank für deine Hilfe. Gibt es eine Möglich in das ganze eine "Sperre" einzubauen damit der Wert einen Maximalwert nicht überschreitet?
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Puschel74 am 30 Dezember 2014, 15:00:45
Klar geht das - if-Bedingung.

...
if $wert <= 200 {
  ...

wird nur ausgeführt solange $wert kleiner oder gleich 200 ist.
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Cybers am 30 Dezember 2014, 15:30:33
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");;\
  }}
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Puschel74 am 30 Dezember 2014, 15:35:03
Das Logfile ist immer ein heisser Tipp  ;)
Titel: Antw:Dummy Variable/Wert setzen und über Button erhöhen
Beitrag von: Cybers am 30 Dezember 2014, 16:00:46
Danke!