erste Erfolge
Hallo Zusammen,
bei mir funktioniert nun seit ca 2 Wochen die Steuerung einer Hoval RS250 mittels LSA Modul...
Fehler und Filterwechsel lese ich noch nicht aus, kommt aber hoffentlich bald dazu. Inzwischen wird lediglich die Leistung per Analogaktor und Wiregate gesteuert.
Leider konnte ich meinen MDT Dimmaktor 1-10V nicht verwenden, dieser scheint weder mit LSA Modul als auch durch direkte Verkabelung nicht geeignet zu sein - ich habs auf alle Faelle versucht und ist mir nicht gelungen.
Ich habe dann vom Eli einen ABB Analogaktor erhalten. Diesen habe ich mit einer 24V Wechselspannung von der Wetterstations-Spannungsversorgung gefuettert, damit der 0-10V Ausgang auch richtig funktioniert.
Die Steuerung funktioniert per Wiregate, ich hab ein bestehendes Plugin aus dem SVN repository umfunktioniert um einen Wochen-Lueftungsplan aufzustellen.
Anbei die Konfiguration und das Plugin, vielleicht kann es ja jemand, falls als geeignet erachtet, ins SVN stellen:
.conf
level gibt die leistung von 0-100% an, ich glaube die Leistungsregelung ist in Wirklichkeit eher stufenweise und nicht linear...
weekdays erlaubt es die Tage einzustellen auf welche die Einstellung zutreffen soll. 0=Sonntag, 1=Montag ... 6=Samstag
start und end geben Startzeit bzw Endzeit an
Das Config file wird von oben nach unten abgearbeitet, weiter unten stehende Eintraege ueberschreiben also eventuell weiter oben liegende...
hier das Wiregate Plugin, vom Nachtdimmen Plugin abgeleitet:
steuerung_ga ist hier noch unbenutzt, moechte evtl dass das Plugin auch noch mit "Duscherkennung" funktioniert, wo wenn jemand duscht mittels TempSensor erkannt wird und die KWL-Leistung entsprechend geregelt wird.
... sobald implementiert werde ich posten...
hoffe es hilft jemanden, an dieser Stelle nochmals vielen Dank fuer die vielen Forumsbeitraege hier!
Hallo Zusammen,
bei mir funktioniert nun seit ca 2 Wochen die Steuerung einer Hoval RS250 mittels LSA Modul...
Fehler und Filterwechsel lese ich noch nicht aus, kommt aber hoffentlich bald dazu. Inzwischen wird lediglich die Leistung per Analogaktor und Wiregate gesteuert.
Leider konnte ich meinen MDT Dimmaktor 1-10V nicht verwenden, dieser scheint weder mit LSA Modul als auch durch direkte Verkabelung nicht geeignet zu sein - ich habs auf alle Faelle versucht und ist mir nicht gelungen.
Ich habe dann vom Eli einen ABB Analogaktor erhalten. Diesen habe ich mit einer 24V Wechselspannung von der Wetterstations-Spannungsversorgung gefuettert, damit der 0-10V Ausgang auch richtig funktioniert.
Die Steuerung funktioniert per Wiregate, ich hab ein bestehendes Plugin aus dem SVN repository umfunktioniert um einen Wochen-Lueftungsplan aufzustellen.
Anbei die Konfiguration und das Plugin, vielleicht kann es ja jemand, falls als geeignet erachtet, ins SVN stellen:
.conf
Code:
push @weekplan, { name => "twenty4seven", level => 15, weekdays => "0123456",start => "00:00", end => "23:59" }; push @weekplan, { name => "Stosslueftung", level => 60, weekdays => "12345",start => "08:00", end => "08:30" }; push @weekplan, { name => "Nacht", level => 30, weekdays => "0123456",start => "22:00", end => "05:30" }; push @weekplan, { name => "Lunch", level => 40, weekdays => "0123456",start => "11:00", end => "13:00" };
weekdays erlaubt es die Tage einzustellen auf welche die Einstellung zutreffen soll. 0=Sonntag, 1=Montag ... 6=Samstag
start und end geben Startzeit bzw Endzeit an
Das Config file wird von oben nach unten abgearbeitet, weiter unten stehende Eintraege ueberschreiben also eventuell weiter oben liegende...
hier das Wiregate Plugin, vom Nachtdimmen Plugin abgeleitet:
Code:
# KWL-Steuerung # v 0.1 # 2013-04-29 AjejeBraso / JuMi2006 -> https://knx-user-forum.de ##################### ### Konfiguration ### ##################### ### MAIN ### # Variablen definieren my $time = time(); my ($steuerung_ga, @weekplan); my ($sh,$sm,$eh,$em); my ($su, $eu, $time); my $kwl_level = 0; my $kwl_current_mode = "n/a"; my $kwl_leistung_ga = "2/0/4"; &readConf; ########################## ### Ende Konfiguration ### ########################## #Aufruf alle 5min $plugin_info{$plugname.'_cycle'} = 300; $plugin_subscribe{$steuerung_ga}{$plugname} = 1; # Zeit nur einmal berechnen $time = time (); my ($sec, $min, $hour, $day, $mon, $year, $wday, $yday) = localtime(); #plugin_log($plugname,"looking for kwl action!"); foreach my $kwl (@weekplan) { if (index($kwl->{weekdays}, "$wday") != -1) { #plugin_log($plugname,"$kwl->{name} day match!"); if ($kwl->{start} =~/(\w{1,})\:(\w{1,})/) { $sh = $1; $sm = $2; } if ($kwl->{end} =~/(\w{1,})\:(\w{1,})/) { $eh = $1; $em = $2; } $su = timelocal (0,$sm,$sh,$day,$mon,$year); #Start-Zeit in Unixzeit $eu = timelocal (0,$em,$eh,$day,$mon,$year); #End-Zeit in Unixzeit ###Startzeit vor Endzeit z.B. 14-18 Uhr if ($sh <= $eh) { ###Startzeit vor Endzeit z.B. 14-18 Uhr if ($time < $eu && $time > $su) { plugin_log($plugname, "if1 $kwl->{name} Leistung = $kwl->{level}"); $kwl_level = $kwl->{level}; $kwl_current_mode = $kwl->{name}; } if ($sm > $em && $sh == $eh) { plugin_log($plugname, "if1 $kwl->{name} Leistung = $kwl->{level}"); $kwl_level = $kwl->{level}; $kwl_current_mode = $kwl->{name}; } } ### Startzeit nach Endzeit z.B. 18-7 Uhr if ($sh > $eh) { ### Startzeit nach Endzeit z.B. 18-7 Uhr if ($time > $su) { plugin_log($plugname, "if1 $kwl->{name} Leistung = $kwl->{level}"); $kwl_level = $kwl->{level}; $kwl_current_mode = $kwl->{name}; } if ($time < $eu) { plugin_log($plugname, "if1 $kwl->{name} Leistung = $kwl->{level}"); $kwl_level = $kwl->{level}; $kwl_current_mode = $kwl->{name}; } } } else { plugin_log($plugname,"$kwl->{name} day missmatch!"); } } knx_write($kwl_leistung_ga,$kwl_level,5); # Dimmwert senden return "KWL level $kwl_level"; ### READ CONF ### sub readConf { my $confFile = '/etc/wiregate/plugin/generic/conf.d/'.basename($plugname,'.pl').'.conf'; if (! -f $confFile) { #plugin_log($plugname, "no conf file [$confFile] found."); } else { #plugin_log($plugname, "reading conf file [$confFile]."); open(CONF, $confFile); my @lines = <CONF>; close($confFile); my $result = eval("@lines"); ($result) and plugin_log($plugname, "conf file [$confFile] returned result[$result]"); if ($@) { #plugin_log($plugname, "ERR: conf file [$confFile] returned:"); my @parts = split(/\n/, $@); #plugin_log($plugname, "--> $_") foreach (@parts); } } }
steuerung_ga ist hier noch unbenutzt, moechte evtl dass das Plugin auch noch mit "Duscherkennung" funktioniert, wo wenn jemand duscht mittels TempSensor erkannt wird und die KWL-Leistung entsprechend geregelt wird.
... sobald implementiert werde ich posten...
hoffe es hilft jemanden, an dieser Stelle nochmals vielen Dank fuer die vielen Forumsbeitraege hier!
Kommentar