[Gelöst] Dummy Schalter wird nicht aktualisiert

Begonnen von Cybers, 06 Januar 2015, 09:39:27

Vorheriges Thema - Nächstes Thema

Cybers

Hallo,

ich habe mit folgendem Code eine Schalter gebaut, der bei jedem Klick eine Variable um eins runterzählt. Das ganze funktioniert auch soweit, allerdings wird der Wert im Floorplan nicht sofort aktualisiert sonder erst nach einem Refresh der Seite. Longpoll ist aktiviert, bei allen anderen Schaltern, etc. habe ich keine Probleme:

define taster dummy
attr taster devStateIcon on:rc_MINUS@red off:rc_MINUS@blue
attr taster fp_Dachgeschoss 400,900,1,
attr taster setList on off

define zaehlerrunter notify taster {my $Wert=ReadingsVal("taster","solltemperatur",0);;\
    if ($EVENT eq "on" && $Wert >= 17) {\
    $Wert = $Wert-1;;\
    fhem("setreading taster solltemperatur $Wert");;\
  }}

define zaehlerrunter1 notify taster {my $Wert=ReadingsVal("taster","solltemperatur",0);;\
    if ($EVENT eq "off" && $Wert >= 17) {\
    $Wert = $Wert-1;;\
    fhem("setreading taster solltemperatur $Wert");;\
  }}


Vielleicht kann man das ganze auch ein wenig eleganter lösen.

Sascha
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Puschel74

Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Cybers

das hatte ich schon versucht. Dann ist das Icon im Floorplan nicht mehr anklickbar und es passiert nichts mehr.
Gerade noch mal getestet:
statt: attr taster setList on off mit webCmd: attr taster webCmd on:off -> Icon nicht mehr anklickbar
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Puschel74

Dafür gibt es ja dann devStateIcon wenn mich nicht alles täuscht.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Cybers

das habe ich ja auch im Code. Mit setList ist das Icon anklickbar aber der angezeigte Wert in der Readingsgroup wird er nach einem Refresh aktualisiert, mit webCmd ist es gar nicht erst anklickbar.
Hier noch der Code der dazugehörigen Readingsgroup:
define Heizungsteuerung readingsGroup taster:state taster2:state taster:solltemperatur
attr Heizungsteuerung alias Heizung
attr Heizungsteuerung fp_Dachgeschoss 50,900,0,
attr Heizungsteuerung group Heizung
attr Heizungsteuerung mapping %ALIAS
attr Heizungsteuerung nameStyle style="width:120px"
attr Heizungsteuerung nolinks 1
attr Heizungsteuerung notime 1
attr Heizungsteuerung style style="border-width:1px;;border-style:solid;;background:rgba(0, 0, 0, .3);;font-size:14px"
attr Heizungsteuerung valueIcon { state => '%devStateIcon' }
attr Heizungsteuerung valueStyle style="width:50px"
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Puschel74

Hallo,

du weisst aber das du per devStateIcon auch mitgeben kannst WAS bei einem klick auf das Icon geschehen soll?
Dieser Beitrag
http://forum.fhem.de/index.php/topic,26521.msg197326.html#msg197326
ist im Wiki unter devStateIcon verlinkt.

attr taster devStateIcon on:rc_MINUS@red:off off:rc_MINUS@blue:on
Versuch mal das und dann schau bitte ab ob es ein Problem in RG oder FP ist oder ob es in FHEMWEB auch nicht geht.
Also erst der Dummy alleine in FHEMWEB -
dann der Dummy in der RG -
dann die RG in FP ODER wenn der Dummy in der RG schon nicht klappt
der Dummy in FP.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Cybers

in FHEMWEB geht es auch nicht. Was ich allerdings festgestellt habe, ist das in den Readings des Dummys die Variabel "state" sofort mit "on" oder "off" und der aktuellen Zeit beim anlicken gesetzt wird, die Variable "solltemperatur" aber erst mit einem Refresh der Seite aktualisiert wird.
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Puschel74

#7
http://forum.fhem.de/index.php/topic,31225.msg237373.html#msg237373
Hatten wir doch schonmal.

Edith:
Grad nochmal versucht (wie im verlinkten Beitrag) und es klappt.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Cybers

...langsam verstehe ich nur noch Bahnhof.
Wenn ich folgendes einsetze geht nichts mehr:
attr taster stateFormat {sprintf("Wert: %.0f",ReadingsVal("taster","solltemperatur",0))}

das ganze sieht dann so aus:
define taster dummy
attr taster devStateIcon on:rc_MINUS@red:off off:rc_MINUS@blue:on
attr taster fp_Dachgeschoss 400,900,1,
attr taster webCmd :
attr taster stateFormat {sprintf("Wert: %.0f",ReadingsVal("taster","solltemperatur",0))}

define zaehlerrunter notify taster {my $Wert=ReadingsVal("taster","solltemperatur",0);;\
    if ($EVENT eq "on" && $Wert >= 17) {\
    $Wert = $Wert-1;;\
    fhem("setreading taster solltemperatur $Wert");;\
  }}
define zaehlerrunter1 notify taster {my $Wert=ReadingsVal("taster","solltemperatur",0);;\
    if ($EVENT eq "off" && $Wert >= 17) {\
    $Wert = $Wert-1;;\
    fhem("setreading taster solltemperatur $Wert");;\
  }}


Ich möchte das Minus-Icon ja haben um den Wert verändern zu können.... Ich verstehe meinen Denkfehler immer noch nicht.

FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Puschel74

#9
Hallo,

dieser Dummy:
define Dummy1 dummy
attr Dummy1 stateFormat {sprintf("Wert: %.0f",ReadingsVal("Dummy1","solltemperatur",0))}
attr Dummy1 webCmd hoch:runter


und dieses notify:
Dummy1 {
  my $Wert=ReadingsVal("Dummy1","solltemperatur",0);
  if (($EVENT eq "hoch") && ($Wert < 100)) {
    $Wert = $Wert+1;
    fhem("setreading Dummy1 solltemperatur $Wert");
  }
  if (($EVENT eq "runter") && ($Wert > 1)) {
    $Wert = $Wert-1;
    fhem("setreading Dummy1 solltemperatur $Wert");
  }
}


führen nach einem Klick auf hoch zur Anzeige im Screenshot - ganz ohne Browserreload.

Grüße

Edith: Notify für hoch und runter angepasst.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Cybers

#10
das läuft, allerdings kann ich mit dieser Version keine zwei getrennten, anklickbare Icons für + und - im Floorplan darstellen, da mir ja nur der jeweilige Zustand angezeigt wird. Demnach würde mir bei jedem Klick erst einer addiert und beim nächsten Klick wieder einer abgezogen werden.

Schematisch soll das ganze dann im Floorplan so aussehen:
________________
|                             |
|   Solltemperatur   |
|                             |
|    [-]  20°C 
  •      |
    |                             |
    |_______________|
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Puschel74

#11
Hallo,

das geht mWn so auch nicht im FP.
Pro Device lässt sich nur ein Status/oder Icon anzeigen.
Du wirst dafür wohl oder übel 2 Dummys nehmen müssen.
I-wo hab  ich da was gelesen im Forum.

Grüße

Edith: Aber da ich keinen FP nutze kann ich dir dabei leider nicht helfen.
Ich such nachher mal - vielleicht find ich den Beitrag noch.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Cybers

danke für deine Hilfe. Es läuft jetzt wie es soll. Ich habe es jetzt wie folgt gelöst:

##########
# Heizungssteuerung
#
define Dummy1 dummy
attr Dummy1 stateFormat {sprintf("Wert: %.0f",ReadingsVal("Dummy1","solltemperatur",0))}
attr Dummy1 webCmd hoch:runter

define Dummy2 dummy
attr Dummy2 fp_Dachgeschoss 400,900,0,
attr Dummy2 devStateIcon on:rc_MINUS@red:off off:rc_MINUS@blue:on
attr Dummy2 webCmd on:off

define zaehlerrunter notify Dummy2 {\
  my $Wert=ReadingsVal("Dummy1","solltemperatur",0);;\
  if (($EVENT eq "on") && ($Wert > 1)) {\
    $Wert = $Wert-1;;\
    fhem("setreading Dummy1 solltemperatur $Wert");;\
  }\
  if (($EVENT eq "off") && ($Wert > 1)) {\
    $Wert = $Wert-1;;\
    fhem("setreading Dummy1 solltemperatur $Wert");;\
  }\
}

define Dummy3 dummy
attr Dummy3 fp_Dachgeschoss 400,950,0,
attr Dummy3 devStateIcon on:rc_PLUS@red:off off:rc_PLUS@blue:on
attr Dummy3 webCmd on:off

define zaehlerhoch notify Dummy3 {\
  my $Wert=ReadingsVal("Dummy1","solltemperatur",0);;\
  if (($EVENT eq "on") && ($Wert < 100)) {\
    $Wert = $Wert+1;;\
    fhem("setreading Dummy1 solltemperatur $Wert");;\
  }\
  if (($EVENT eq "off") && ($Wert < 100)) {\
    $Wert = $Wert+1;;\
    fhem("setreading Dummy1 solltemperatur $Wert");;\
  }\
}

define Heizungsteuerung readingsGroup Dummy2:state,solltemperatur@Dummy1,state@Dummy3
attr Heizungsteuerung alias Heizung
attr Heizungsteuerung fp_Dachgeschoss 50,900,0,
attr Heizungsteuerung group Heizung
attr Heizungsteuerung mapping &nbsp
attr Heizungsteuerung nolinks 1
attr Heizungsteuerung notime 1
attr Heizungsteuerung style style="border-width:1px;;border-style:solid;;background:rgba(0, 0, 0, .3);;font-size:14px"
attr Heizungsteuerung valueIcon { state => '%devStateIcon' }
attr Heizungsteuerung valueStyle style="width:50px"

#
##########


Jetzt muß ich nur noch die Readingsgroup optisch anpassen.
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel