Hallo Leute,
nicht wirklich getestet (da die Gira iOS App keine Texte kann), stell ich hier jetzt dennoch mal mein Windrichtungs Mapping Plugin für die Quadrat zur Diskussion. Vielleicht kann ja jemand was damit Anfangen. Müsste sich auch leicht zum Windstärke Mapping ummodeln lassen, doch da ich leider nichts damit anfangen kann, werde ich das vorerst nicht umsetzen.
nicht wirklich getestet (da die Gira iOS App keine Texte kann), stell ich hier jetzt dennoch mal mein Windrichtungs Mapping Plugin für die Quadrat zur Diskussion. Vielleicht kann ja jemand was damit Anfangen. Müsste sich auch leicht zum Windstärke Mapping ummodeln lassen, doch da ich leider nichts damit anfangen kann, werde ich das vorerst nicht umsetzen.
Code:
# Plugin zum Mappen der Windrichtung einer BMS Quadra Wetterzentrale # Version 0.1 27.06.2012 # Copyright: 2ndsky (https://knx-user-forum.de/members/2ndsky.html) # In Anlehnung an das Windrichtung Mapping von Fechter65 # (https://knx-user-forum.de/231580-post879.html) # License: GPL (v2) #################### ###Einstellungen:### #################### # sendet Textmeldung DPT 16 my $windrichtung_txt_GA = "14/0/99"; # GA auf die die Quadra die Windrichtung sendet my $windrichtung_value_GA = "14/0/12"; ###################### ##ENDE Einstellungen## ###################### my @richtungen_txt = ( 'Nord', 'Nordnordost', 'Nordost', 'Ostnordost', 'Ost', 'Ostsuedost', 'Suedost', 'Suedsuedost', 'Sued', 'Suedsuedwest', 'Suedwest', 'Westsuedwest', 'West', 'Westnordwest', 'Nordwest', 'Nordnordwest', 'Nord', 'Windstille' ); my @richtungen_value = ( 11.25, 33.75, 56.25, 78.75, 101.25, 123.75, 146.25, 168.75, 191.25, 213.75, 236.25, 258.75, 281.25, 303.75, 326.25, 348.75, 359.99, 360 ); $plugin_info{$plugname.'_cycle'} = 300; # Plugin an Gruppenadresse "anmelden" $plugin_subscribe{$windrichtung_value_GA}{$plugname} = 1; my $windrichtung; # Nun kommt es darauf an, ob das Plugin aufgrund eines eintreffenden Telegramms # oder zyklisch aufgerufen wird! Wir wollen beides.. # Bei eintreffenden Telegrammen reagieren wir gezielt auf "Write" (gibt ja auch Read/Response) # und die spezifische Gruppenadresse, das Plugin könnte ja bei mehreren "angemeldet" sein. if ($msg{'apci'} eq "A_GroupValue_Write" and $msg{'dst'} eq $windrichtung_value_GA) { #$windrichtung = $msg{'value'}; #oder nur falls nicht importiert: $msg{'data'} ist dann leer/undef! $windrichtung = decode_dpt9($msg{'data'}); } else { # zyklischer Aufruf # "9" (DPT) kann entfallen falls richtig importiert! $windrichtung = knx_read($windrichtung_value_GA,300,9); } my $found = 0; for (my $i=0;$i<@richtungen_value && $found == 0;$i++){ if ($windrichtung <= $richtungen_value[$i]) { $found = 1; knx_write($windrichtung_txt_GA, $richtungen_txt[$i], 16); } } if ($found == 0) { knx_write($windrichtung_txt_GA, 'nicht definiert', 16); } return;
Kommentar