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

455 views
Skip to first unread message

immi

unread,
Jul 14, 2012, 7:18:22 PM7/14/12
to fhem-...@googlegroups.com
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 = "<div id=\"$d\" align=\"center\" class=\"col2\">$txt</div>";
  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


Rudolf Koenig

unread,
Jul 15, 2012, 4:30:26 AM7/15/12
to fhem-...@googlegroups.com
> 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".
Reply all
Reply to author
Forward
0 new messages