HM Lan Konfigurator winMatic

Begonnen von Seppel18, 07 Mai 2011, 11:36:44

Vorheriges Thema - Nächstes Thema

Seppel18

                                             

Hallo fhem-user,

ich bin wohl der einzige der ein winmatic in Betrieb hat?
meine Frage an Rudolf,

wie kann ich das umsetzen:
eingefügt in de winMatic elsif

elsif($cmd eq "create") { #####################################


     $sndcmd = sprintf("++B000%s%s0101%s%02X%s",$id, $dst, $id, $a[2],
$chn);
     $sndcmd = sprintf("++A001%s%s0104%s%02X%s",$id, $dst, $id, $a[2],
$chn);

  ich muss beide strings nacheinander senden

set fenster1 raw ++B0011419FB11531901011419FB1B03
sleep (2)
set fenster1 raw ++A0011419FB11531901041419FB1B03

funktioniert, kann dann mit matic 27 das fenster kippen
kippen ist standard eintrag

wie kann ich mehrere Befehle senden
Beispiel:
  configmode aktivieren 0101      ++B0011419FB11531901011419FB1B03
  config bestätigen     0104      ++B0011419FB11531901011419FB1B03

mfg Frank

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

rudolfkoenig

                                                   

> wie kann ich das umsetzen:

Das haengt vom restlichen Funkverkehr ab. Mit CUL_HM_PushCmdStack($hash, ...)
kann man Kommandos auf dem "cmdStack" des Geraetes packen, und wenn das Geraet
etwas bestaetigt, dann wird das unterste vom Stack losgeschickt.

...Aeh. Das ist doch kein Stack sonder ein FIFO. Hmmm. Am Namen aendere ich
jetzt aber nichts mehr :)

Also:
- erst Befehl 2,3,4,.. mit CUL_HM_PushCmdStack auf dem FIFO des Geraetes
  packen.
- dann Befehl 1 mit CUL_HM_SendCmd ($sndcmd = ...) senden.

Wenn es tut, bitte melden.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Seppel18

                                             

> - erst Befehl 2,3,4,.. mit CUL_HM_PushCmdStack auf dem FIFO des Geraetes
>    packen.
> - dann Befehl 1 mit CUL_HM_SendCmd ($sndcmd = ...) senden.

elsif($cmd eq "create") { ###################################

      CUL_HM_PushCmdStack($hash, sprintf("++A001%s%s0104%s%02X%s",$id,
$dst, $id, $a[2], $chn));
      $sndcmd = sprintf("++B000%s%s0101%s%02X%s",$id, $dst, $id, $a[2],
$chn);
}

es wird nur der sndcmd string gesendet
2011-05-08_13:21:01 hmlan3 CUL_HM SND L:10 N:01 CMD:B000 SRC:1419FB
DST:115319 01011419FB2701

irgend was mache ich falsch?

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

Seppel18

                                             

> Also:
> - erst Befehl 2,3,4,.. mit CUL_HM_PushCmdStack auf dem FIFO des Geraetes
>    packen.
> - dann Befehl 1 mit CUL_HM_SendCmd ($sndcmd = ...) senden.
winMatic =>
         { matic => "", config => "", create => "" },


elsif($cmd eq "create") { ###################################
      $sndcmd =  sprintf("++B001%s%s0101%s%02X%s",$id, $dst, $id, $a[2],
$chn);
      CUL_HM_SendCmd($hash, $sndcmd ,1,1);

      $sndcmd = sprintf("++A001%s%s0104%s%02X%s",$id, $dst, $id, $a[2],
$chn);

}

diese tut was es soll, einen virtuelle Taste im winMatic anlegen,
Standard ist kippen.
Jetzt muß ich noch config einbauen.
kann ich da culHmModelSets irgend wie verwenden, da sind doch einige
Parameter zum einstellen.
Aber so wie du schon geschrieben hast alles muß dann auch nicht sein.
bis dann Frank


--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

rudolfkoenig

                                                   

> irgend was mache ich falsch?

Nicht unbedingt. Evtl. antwortet winMatic nicht mit einem Ack.
Womit antwortet es denn?

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Seppel18

                                             

Hallo Fhem-User,

hier mein bisheriger Erfolg:
========
winMatic =>
         { matic => "", config => " ", create =>
"" },
=========

=====
  elsif($cmd eq "matic") { #####################################
     # create key
     # matic key
     # config key aktion value(1..100)

     $sndcmd = sprintf("++B03E%s%s%s40%02X%s",$id, $dst, $id, $a[2], $chn);

   } elsif($cmd eq "create") { ###################################
      $sndcmd = sprintf("++B001%s%s0101%s%02X%s",$id, $dst, $id, $a[2],
$chn);

      CUL_HM_SendCmd($hash, $sndcmd ,1,1);
      sleep(2);
      $sndcmd = sprintf("++A001%s%s0104%s%02X%s",$id, $dst, $id, $a[2],
$chn);
   }  elsif($cmd eq "config") { #####################################
         if($a[3] eq "tilt"){
       $sndcmd =  sprintf("++B001%s%s0105%s%02X03",$id, $dst, $id,
$a[2]);              
       CUL_HM_SendCmd($hash, $sndcmd, 2, 2);       
             $sndcmd =  sprintf("++A001%s%s01080B220D838B228D83",$id, $dst);
             sleep(2);
             CUL_HM_SendCmd($hash, $sndcmd, 2, 2);
            sleep(2);
            $sndcmd = sprintf("++A001%s%s0106", $id, $dst);

         }elsif($a[3] eq "close"){
       $sndcmd =  sprintf("++B001%s%s0105%s%02X03",$id, $dst, $id, $a[2]);
       CUL_HM_SendCmd($hash, $sndcmd, 2, 2);
       $sndcmd =  sprintf("++A001%s%s01080B550D838B558D83",$id, $dst);
            sleep(2);
             CUL_HM_SendCmd($hash, $sndcmd, 2, 2);
             sleep(2);
             $sndcmd = sprintf("++A001%s%s0106", $id, $dst);

         }elsif($a[3] eq "closed"){
             $sndcmd =  sprintf("++B001%s%s0105%s%02X03",$id, $dst, $id,
$a[2]);
             CUL_HM_SendCmd($hash, $sndcmd ,2,2);
             $sndcmd =  sprintf("++A001%s%s01080F008F00",$id, $dst);
             sleep(2);
             CUL_HM_SendCmd($hash, $sndcmd ,2,2);
             sleep(2);
             $sndcmd = sprintf("++A001%s%s0106", $id, $dst);
         }elsif($a[3] eq "bolt"){
            $sndcmd =  sprintf("++B001%s%s0105%s%02X03",$id, $dst, $id,
$a[2]);
       CUL_HM_SendCmd($hash, $sndcmd ,2,2);
             $sndcmd =  sprintf("++A001%s%s01080FFF8FFF",$id, $dst);
             sleep(2);
             CUL_HM_SendCmd($hash, $sndcmd ,2,2);
             sleep(2);
             $sndcmd = sprintf("++A001%s%s0106", $id, $dst);
         }elsif($a[3] eq "delete"){
            $sndcmd =  sprintf("++B001%s%s0102%s%02X%s",$id, $dst, $id,
$a[2], $chn);
   
         }elsif($a[3] eq "speedclose"){
            $sndcmd =  sprintf("++B001%s%s0105%s%02X03",$id, $dst, $id,
$a[2]);
       CUL_HM_SendCmd($hash, $sndcmd ,2,2);
             $sndcmd = $a[4]*2;

             $sndcmd =  sprintf("++A001%s%s010823%02XA3%02X",$id, $dst,
$sndcmd, $sndcmd);
             sleep(2);
             CUL_HM_SendCmd($hash, $sndcmd ,2,2);
             sleep(2);
             $sndcmd = sprintf("++A001%s%s0106", $id, $dst);
        } elsif($a[3] eq "speedtilt"){
            $sndcmd =  sprintf("++B001%s%s0105%s%02X03",$id, $dst, $id,
$a[2]);
       CUL_HM_SendCmd($hash, $sndcmd ,2,2);
             $sndcmd = $a[4]*2;

             $sndcmd =  sprintf("++A001%s%s010822%02XA2%02X",$id, $dst,
$sndcmd, $sndcmd);
             sleep(2);
             CUL_HM_SendCmd($hash, $sndcmd ,2,2);
             sleep(2);
             $sndcmd = sprintf("++A001%s%s0106", $id, $dst);
        }
==========
  # create key
  # matic key
  # config key aktion value

ich hoffe das dieser Abschnitt in das Konzept passt
man kann auch die Einstellungen der Taste auslesen
aber da kommen viele Daten, ich befürchte das wird ein eigenes Modul
winMatic geben.
Wenn es da noch jemanden gibt der winMatic benutzt bitte um Test.
mfg Frank





--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

Seppel18

                                             

Hallo,

Man kann die Taste belegen dass das Fenster auf geht und nach einer
definierten Zeit wieder zugeht.

Diese Werte habe ich mitgeschnitten.

ich komme hier nicht weiter


    Hex to Dez   min
8A   138   10
94   148   20
9E   158   30
A8   168   40
A9   169   45
aa   170   50
AC   172   60
AE   174   70

2A   42   10 sek
0A   10   1 sek
14   20   2 sek
1E   30   3 sek
29   41   9 sek
24   36   4 sek


ich komme auf keinen Weg um das irgendwie zu berechnen.

Kann mir jemand auf die Sprünge helfen?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

rudolfkoenig

                                                   

> Kann mir jemand auf die Sprünge helfen?

Funktioniert 10_CUL_HM.pm / CUL_HM_decodeTime8() ?

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

Seppel18

                                             

Hallole,

wie kann ich das auswerten
CUL_HM RCV L:1A N:07 CMD:A010 SRC:115319 DST:1419FB
0287FF89FF8B558D838F0091C8A2C8A3C8 (INFO_PARAM_RESPONSE_PAIRS
DATA:87FF89FF8B558D838F0091C8A2C8A3C8)


A010;p01=02"   => { txt => "INFO_PARAM_RESPONSE_PAIRS", params => {
                        DATA => "2,", } }

in dem Data String 87FF89FF8B558D838F0091C8A2C8A3C8
sind die benötigten Daten enthalten.
87FF   airing:deaktiv      Lüften deaktiviert sonst Zeitwert in hex
8B55   course:tilt/close   Fahrtrichtng kippen/schliessen

Gebt mir einen Hinweis wo ich ansetzen kann!
Es kommen zwei oder drei antworten auch doppelt.
Hiermit könnte ich den aktuellen Stand der Taste anzeigen.

mfg Frank

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

rudolfkoenig

                                                   

> wie kann ich das auswerten

Im CUL_HM_Parse, in der winMatic Abschnitt:
 
   if($cmd eq "A010" && $p =~ m/^0287(..)89(..)8B(..)/) {
     my ($air, undef, $course) = ($1, $2, $3);
     push @event, "airing:".
        ($air eq "FF" ? "inactiv" : CUL_HM_decodeTime8($air));
     push @event, "course:".($course eq "FF" ? "tilt" : "close");

     CUL_HM_SendCmd($shash, "++8002".$id.$src."00",1,0)  # Send Ack
       if($id eq $dst);
   }

Im %culHmBits wuerde ich nicht mehr Energie reinstecken, der ist nur fuer das
debugging gedacht.

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

Seppel18

                                             

im winmatic Abschnitt eingefügt

       if($cmd eq "A010" && $p =~
m/^0201(..)(03)(..)(04)(..)(05)(..)(07)(..)(09)(..)(0B)(..)(0D)(..)/) {
     #   my ($flg1, $flg2, $flg3, $flg4, $flg5, $flg6, $flg7, $flg8) =
($1, $2, $3, $4, $5, $6, $7, $8);
        # push @event, "airing:".($flg5 eq "FF" ? "inactiv" :
CUL_HM_decodeTime8($flg5));
   push @event, "contact:tesed";
   #push @event, "airing:"

# CUL_HM_SendCmd($shash, "++8002".$id.$src."00",1,0)  # Send Ack
# if($id eq $dst);


   }

Funktioniert nicht , der Programmcode springt wohl nicht auf die if
Frage rein.
Diese Data muß ich auswerten
02010003000432056407FF09FF0B550D83
0287FF89FF8B558D838F0091C8A2C8A3C8
020F0011C822C823C88100830084328564
nicht das da keine Kennung mit kommt oder wie wird in den z.b. wnmatic
zweig gesprungen.
ich komme nicht weiter!


Am 18.05.2011 07:47, schrieb Rudolf Koenig:
>> wie kann ich das auswerten
>
> Im CUL_HM_Parse, in der winMatic Abschnitt:
>
>     if($cmd eq "A010"&&  $p =~ m/^0287(..)89(..)8B(..)/) {
>       my ($air, undef, $course) = ($1, $2, $3);
>       push @event, "airing:".
>          ($air eq "FF" ? "inactiv" : CUL_HM_decodeTime8($air));
>       push @event, "course:".($course eq "FF" ? "tilt" : "close");
>
>       CUL_HM_SendCmd($shash, "++8002".$id.$src."00",1,0)  # Send Ack
>         if($id eq $dst);
>     }

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

rudolfkoenig

                                                   

> Funktioniert nicht , der Programmcode springt wohl nicht auf die if
> Frage rein.

Da muesste man pruefen, ob die eintreffenden Nachrichten das korrekte CMD und
Daten ($p) haben. In solchen faellen hilft es die Nachricht einmal mit hohen
debug auszugeben, und dann die Funktion von der fhem Prompt aus direkt
aufzurufen:
  fhem> inform timer
  fhem> { CUL_HM_Parse($defs{HMLAN}, "A.....") }
So muss man nicht auf die richtige Nachricht vom Geraet warten.

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

Seppel18

                                             

das kommt

2011-05-21 12:42:38 HMLAN hmlan3 CUL_HM RCV L:1A N:1B CMD:A010
SRC:115319 DST:1419FB 02010003000432056407FF09FF0B550D83

ich probiere
set fenster1 read 41
{CUL_HM_Parse($defs{HMLAN}, "A010")}
oder
{CUL_HM_Parse($defs{HMLAN}, "A010")}
set fenster1 read 41


ich glaube die Daten kommen richtig

hmlan3 CUL_HM RCV L:1A N:17 CMD:A010 SRC:115319 DST:1419FB
02010003000432056407FF09FF0B550D83

der CMD und DATA $p stimmen doch oder?

wo wird der String von winMatic erkannt?
ich glaube der Ansatz ist falsch.




Am 21.05.2011 10:41, schrieb Rudolf Koenig:
> { CUL_HM_Parse($defs{HMLAN}, "A.....") }

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

rudolfkoenig

                                                   

> ich probiere
...

Besser ist:
{CUL_HM_Parse($defs{HMLAN},
    "A1A1BA0101153191419FB02010003000432056407FF09FF0B550D83")}

Der Regexp

  m/^0201(..)(03)(..)(04)(..)(05)(..)(07)(..)(09)(..)(0B)(..)(0D)(..)/) {

ist etwas komisch, da sind zu viele Klammer, ich wuerde es eher so schreiben:

  m/^0201(..)03(..)04(..)05(..)07(..)09(..)0B(..)0D(..)/) {

wir wissen ja, dass 03 03 ist, das muessen wir nicht extra in $2 speichern.
Damit hat man in $1 bis $8 die Werte im Klammern gespeichert.

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

Seppel18

                                             

> Besser ist:
> {CUL_HM_Parse($defs{HMLAN},
>      "A1A1BA0101153191419FB02010003000432056407FF09FF0B550D83")}
ok dann kommt

 > fenster1 < mein Bezeichner von  winMatic

>    m/^0201(..)03(..)04(..)05(..)07(..)09(..)0B(..)0D(..)/) {

if($cmd eq "A010" && $p =~
m/^0201(..)03(..)04(..)05(..)07(..)09(..)0B(..)0D(..)/) {
       {push @event, "contact:tested";}
}

Das geht noch nicht




--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF