HomeMatic Funk-Statusanzeige - HM-Dis-WM55

Begonnen von Roaster, 14 November 2014, 20:33:48

Vorheriges Thema - Nächstes Thema

martinp876

Wenn fhem aescommrequest off ist kann es passieren, dass jemand einen click simuliert und du die info an den Einbrecher schickst. Wenn die info nicht sicherheitsrelevante ist, ist es wurscht.
Wenn cmddone steht ist alles uebertragen. Sicher, dass aescommrequest was damit zu tun hat?

Bytechanger

Hallo,

ZitatWenn fhem aescommrequest off ist kann es passieren, dass jemand einen click simuliert
genau das möchte ich verhindern, das Click (LONG, etc.) kann ja auch andere Dinge machen (Garage auf oder so)

Ja, der Fehler tauchte bisher immer nur auf, sobald ich aesCommReq auf 1 setzte und war wieder weg, als ich das Attribut löschte!
Ohne das Attribut läuft die Anzeige!

Bin ich der Einzige, der die Anzeige signiert, oder der Einzige, der damit Probleme hat?


Greets

Byte

martinp876

Das muss ich wohl simulieren. Fhem sollte immer die messages zusammenstellen und queuen.
Wenn ein done kommt ist alles raus. Warum es weniger sind, wenn AES an ist verstehe ich es nicht. Das ist die eigentliche Frage.

Bytechanger

Hallo,

das wäre toll. Ich bin hier mit meinem Latein am Ende..

Greets
Byte

Bytechanger

Hi,

gibt es schon etwas Neues?
Kann ich auf eine Lösung hoffen?


Greets

Byte

martinp876

Bin nicht dazu gekommen. 2. Rechnerabsturz.
Werde versuchen am Wochenende zu testen. Versprechen kann ich nichts.

Eisingstone

#381
Hat jemand eine funktionierende Kontakt Abfrage ohne dass das State (open oder closed) im Display mit angezeigt wird.
Habe auch keine Ahnung wie man das State in der Funktion umbiegen könnte.



Besten Gruß
Stefan

Hat sich ereldigt, man sollte einfach den Text in den Anführungzeichen löschen......... :o
FHEM 5.7 (Dev.), Debian Jessie Server
HM-LAN, HM-CFG-USB-2, RFXTRX433-USB, BT, HUE sowie diverse Homematic Sensoren und Aktoren

Eisingstone

Mal eine ganz andere Sache, hat irgendwer schon den Status eines Dummy ausgelesen und sich anzeigen lassen??

ZUr Zeit verwende ich diese Art von Anbindung (gemäß Wiki) an mein Systen:
my %lineArr = (0 =>{#============Btn Type 0: Btn1 short
                     0 =>{#-------itteration 0
                           1=>'{myTx("Garten","","",'    #  line 1
                          ,2=>'{myTh("","temp.garten",'
                          ,3=>'{myTx("Keller","","",'
                          ,4=>'{myTh("","temp.keller",'
                          ,5=>'{myTx("","","",'
  ,6=>'{myTx("","","",'     
                         }


Ich weiß nur noch nicht wie ich den Status meiner Alarmanlage anzeigen lassen soll??
FHEM 5.7 (Dev.), Debian Jessie Server
HM-LAN, HM-CFG-USB-2, RFXTRX433-USB, BT, HUE sowie diverse Homematic Sensoren und Aktoren

Bytechanger

Hallo,

ich habe mich eng an das Wiki-Beispiel gehalten

set InfoDisplay_Dis_01 displayWM short line1 e:{getMyLine(1,1)}
set InfoDisplay_Dis_01 displayWM short line2 e:{getMyLine(1,2)}
set InfoDisplay_Dis_01 displayWM short line3 e:{getMyLine(1,3)}
set InfoDisplay_Dis_01 displayWM short line4 e:{getMyLine(1,4)}
set InfoDisplay_Dis_01 displayWM short line5 e:{getMyLine(1,5)}
set InfoDisplay_Dis_01 displayWM short line6 e:{getMyLine(1,6)}

Hier stellt sich nur für mich interessenweise die Frage, wofür steht das e:  vor dem Perl-Syntax, kann mir das jemand erklären ???


sub getMyLine($$) {
   my ($button,$line) = @_;
 
   #nc = no change

   my $txt="nc";
   my $farbe="nc";
   my $icon="nc";

given($button){
  when(1) {
            #----- UNTEN kurz --------------
              given($line){
                  when(1) {
                           #--- Line 1 - Alarmanlage mit ICON
                           my $status=AttrVal("Alarmanlage", "level6xec", "unbekannt");
                           if ($status eq "armed") {  $icon="ok"; }
                           elsif($status eq "disarmed") { $icon="error"; }
                           $txt="Alarmanlage:";
                           $farbe="white";
                          }
                  when(2) {
                           #--- Line 2 - Alarm Linie6 scharf/unscharf
                           my $status=AttrVal("Alarmanlage", "level6xec", "unbekannt");
                           if ($status eq "armed") { $status="scharf"; $icon="noIcon"; $farbe="green"; }
                           elsif($status eq "disarmed") { $status="unscharf"; $icon="noIcon"; $farbe="red";  }
                           $txt="$status";
                          }
                  when(3) {
                           #--- Line 3 - Text Fenster
                           my $status=HouseOpenCheck();
                           
                           $farbe="white";
                           if (length($status) < 1) {  $icon="closed"; $txt="Alle Fenster"; }
                           else { $icon="open"; $txt="Fenster offen:";}
                          }
                  when(4) {
                           #--- Line 4 - offene Fenster
                           my $status=HouseOpenCheck();                       
                           if (length($status) < 1) { $txt="geschlossen"; $farbe="green"; $icon="noIcon"; }
                           else { $txt="$status"; $farbe="red"; $icon="noIcon"; }
                          }
                   when(5) {
                           #--- Line 5 - Temperatur, wenn Wert nicht zu alt
                           my $tmp=GetTemp();
                           $txt="$tmp C"; $farbe="white";
                          }

                  when(6) {
                             my ($tonne,$az)=GetAbfall();
                             if ($az < 1)  { $txt="keine Abfuhr"; }
                             if ($az == 1) { $txt="Abfuhr:$tonne"; }
                             if ($az > 1)  {  $txt="$tonne"; }   
                             $farbe="white"; $icon="noIcon";
                          }
              }
           }

  default { ; }
}


  return (UmlauteSet($txt),$farbe,$icon);
}

######################################################
# Umlaute werden für das Display zur Anzeige gesetzt

sub UmlauteSet($) { #Umlaute fürs Display umformen
   my ($text) = @_;

   $text =~ s/ä/{/g;
   $text =~ s/ö/|/g;
   $text =~ s/ü/}/g;
   $text =~ s/Ä/[/g;
   $text =~ s/Ö/#/g;
   $text =~ s/Ü/\$/g;

   return $text;
}

Damu

#384
Hallo

Ich hab das Teil auch schon eine Weile und bin jatzt zum Installieren gekommen.

Was ist gemeint mit:
Zitatset HM-Dis-WM55_Dis_01 peerBulk <fhemID>01
set HM-Dis-WM55_Dis_02 peerBulk <fhemID>01

Ist das die HMID gemeint.
Ist es das selbe wie gei den Fernbedienungen von HM.
Da musste ich alle Kanäle mit einem Virtuellen "Aktor" Peeren, damit die Statusled kommt.

martinp876


Damu

#386
ZitatSchon mal wiki gelesen?

Hab ich von der FHEM Wiki
ZitatpeerBulk

set <sensChan> peerBulk <peer1,peer2,...>

peerBulk dient der Wiederherstellung einer gesicherten Konfiguration. Dieser Befehlt erlaubt eine Liste von Peers en-block in ein Gerät zu schreiben. Die Gegenstelle und die Kommunikation der Beiden wird nicht berücksichtigt.

Das ist auch von der Wiki

Zitatset HM-Dis-WM55_Dis_01 peerBulk <fhemID>01
set HM-Dis-WM55_Dis_02 peerBulk <fhemID>01



martinp876

ZitatIst das die HMID gemeint.
lese einmal das einsteigerdoc
Zitat
Ist es das selbe wie gei den Fernbedienungen von HM.
ja

ZitatDa musste ich alle Kanäle mit einem Virtuellen "Aktor" Peeren, damit die Statusled kommt.
willst du eine StatusLED oder einen Text im Display? Da steht mehr im Wiki, peeren ist der kleinste Teil. Aber ja, wenn du mit einem Kanal peerst ist das ein Schritt in eine Richtung. Deine Richtung kenne ich aktuell nicht. Soll es ein schalter oder ein Display werden?

Damu

Zitatlese einmal das einsteigerdoc

Hab da nichts über eine "FHEMID" gehunden.
Ist aber wohl gemeint, das mann die zwei Kanäle mit einem Virtuellen "Kanal" der VCCU peeren soll.

Das ist aber wohl nicht nötig, geht bei mir auch ohne.

Der Speicherort im notify  für die fhem_user.cfg hat bei mir nicht gepasst.
Zitatdefine userCfg notify global:INITIALIZED include fhem_user.cfg
Habs bei mir auf "fhem/FHEM" gespeichert.
Zitatdefine userCfg notify global:INITIALIZED includ ./FHEM/fhem_user.cfg

Habe meine Homematic Fernbedienungen (welche mit Bestätigungs_LED) alle mit einem Virtuellen Aktor gepeert.
Ist es besser diese wieder zu lösen und mit einem Virtuellen Kanal der VCCU zu perren?


martinp876

Was willst du mit den virt aktor erreichen? Du Kannst es so lassen. Ich habe die Problem aus den augen verloren. was brauchst du nun? Eine anzeigen? Und was passiert?