Enocean // 01_FHEMWEB.pm // webCmd on:off

Begonnen von Guest, 15 Juli 2012, 01:18:22

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo zusammen
ich habe mehrere enocean switches (Eltako) , die  Lampen und Rollo  
kontrollieren

define Luce_S_LettoBimbe EnOcean FFA8_______
attr Luce_S_LettoBimbe eventMap AI:off A0:on
attr Luce_S_LettoBimbe fp_Secondopiano 336,1018,0,
attr Luce_S_LettoBimbe room OG
attr Luce_S_LettoBimbe subType switch
attr Luce_S_LettoBimbe webCmd on:off


Die Switches kann ich schalten und ich sehe bei */fhem?room=EG* eine schone
Gluhbirne, die ich klikken kann.
Leider wird die Gluhbirne nuer eingeschaltet und nicht ausgechaltet mit
klicken. Das gilt auch fuer floorplann.

ich habe *geforscht* und gesehen dass alles wird in 01_FHEMWEB.pm
kontrolliert ab reie 2064:

 $txt = "
$txt
";
  if($webCmd) {
    my @a = split(":", $webCmd);
    $link = "cmd.$d=set $d $a[0]";
    $cmdlist = $webCmd;

  }
    elsif($hasOnOff && !$cmdlist) {
    my (undef, $nstate) = ReplaceEventMap($d, [$d, $state], 0);
    $nstate = $state if(!defined($nstate));
    $link = "cmd.$d=set $d " . ($nstate eq "on" ? "off" : "on");
    $cmdlist = "on:off";


*1. problem  mit "attr Luce_S_LettoBimbe webCmd on:off":* $a[0] ist immer
"on"
*2. problem ohne "attr Luce_S_LettoBimbe webCmd on:off":* $nstate wird
nicht *uebersetzt *(d.h bleibt AI oder A0; egal welche eventMap ich habe)
und dann ($nstate eq "on" ? "off" : "on") ist immer "on".

*1. Loesung mit "attr Luce_S_LettoBimbe webCmd on:off"* fuer enocean
funktionierende workarround ist

> diff line 2067:  

$link = "cmd.$d=set $d $a[0]"; -->
> $link = "cmd.$d=set $d " . ($state eq $a[0] ? $a[1] : $a[0]);
>

2. *Loesung  ohne "attr Luce_S_LettoBimbe webCmd on:off"*  fuer enocean
funktionierende workarround ist

> diff line 2073:

$link = "cmd.$d=set $d " . ($nstate eq "on" ? "off" : "on");  -->
>
$link = "cmd.$d=set $d " . ($state eq "on" ? "off" : "on");
>

Da ich nicht verstehe wofuer $nstate gebraucht wird.... hier (2.Loesung)
sollte bitte ein experte kontrollieren.

FHEM macht richtig spass!! Danke an alle!
immi


--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Leider wird die Gluhbirne nuer eingeschaltet und nicht ausgechaltet mit
> klicken. Das gilt auch fuer floorplann.

Das ist ein laengeres hin und her, weil mir nicht alle Anforderungen von Anfang
an klar waren, hoffentlich sind sie jetzt, und ich habs ordentlich gefixed.


onOffLogik: FHEMWEB versucht rauszufinden, ob es ein on und ein off Kommando
gibt.  Wenn ja, dann bewirkt ein Klick auf dem Status bzw. Icon, dass das
dem aktuellen Status entgegengesetzte Kommando gesendet wird, also eine Art
toggle aber mit korrekt angezeigten Zustand.


Folgendes gilt:

- falls man webcmd gesetzt hat, dann greift die onOffLogik nicht, das Icon
  loest immer das erste Kommando von webcmd aus.  Das ist keine Aenderung zu
  bisherigen Logik, das hier geschilderte ist kein Bug sondern Feature.

- falls das Geraet kein on/off anbietet (sondern wie hier AI/A0), dann muss man
  es mappen mit
    attr name eventMap AI:off A0:on
  damit die onOffLogik greift (auch nicht neu).

- falls man es auch uebersetzt haben will, dann muss man die Uebersetzung
  auch fuer on/off doppelt angeben:
    attr name eventMap AI:Aus A0:An Aus:off off:Aus An:on on:An
  (das ist neu)

- webcmd wird nicht (mehr) uebersetzt, es sollte also in der darzustellenden
  Form angegeben werden
    bisher: attr name webcmd AI:A0
    ab jetzt: attr name webcmd An:Aus
  Die zweite Variante hat auch bisher funktioniert, war identisch zum ersten.

- Icons werden zuerst nach dem uebersetzten Namen, danach nam den original
  gesucht (das ist auch neu). Im Fall von
    attr name eventMap AI:Aus A0:An Aus:off off:Aus An:on on:An
  wird zuerst nach An.png gesucht, und dann nach AI.png, aber nicht nach on.png
 

Nochmal fuer FS20/HomeMatic Besitzer:
- onOffLogik bleibt wie bisher, auch eventMap
- wenn man webcmd verwendet, und es uebersetzt haben will, dann muss man die
  uebersetzte Variante hinschreiben, nicht die "englische".
- falls eine Uebersetzung gibt, dann wird ab jetzt zuerst nach diesen Icons
  gesucht, und dann nach dem "englischen".

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com