Jalousien-Automatisierung

Begonnen von oehi86, 02 Oktober 2015, 11:19:20

Vorheriges Thema - Nächstes Thema

oehi86

Ich habe mir mal Gedanken gemacht, wie ich meinen Regensensor und mein Raumthermometer sinnvoll miteinander einsetzen kann, um meine Jalousien zu automatisieren.
In diesem Beispiel geht es mir mal rein um die Logik, der Inhalt wird noch mit den entsprechenden FHEM-Kommandos ersetzt. Im moment bin ich nicht in der Nähe von meinem FHEM-Server, daher kann ich das nicht direkt übernehmen. Ebenfalls ist es ein direkt unter Linux laufendes PL-Script und wird entsprechend angepasst, sollte es bei FHEM zum Einsatz kommen

Wie findet ihr die Logik?
Warum bei Regen hoch fahren? Es sind Stoff-Außenjalousien die hauptsächlich die Wärme abhalten sollen. Also keine festen Rollos die bei Regen natürlich unten bleiben könnten.


#!/usr/bin/perl

#Bei Regen sollen die Jalousien hoch fahren, bei einer bestimmten Temperatur runter und nur, wenn es nicht regnet
sub jalousielogik($$$) {

#my ($aktiv, $rain, $temperature) = @_;

$aktiv=$ARGV[0];
$rain=$ARGV[1];
$temperature=$ARGV[2];

my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
$Monat += 1;
$Jahrestag += 1;
$Jahr += 1900;

$Stunden=21;

if ($aktiv eq "aktiv") {
        #print "regnet es gerade? $rain\n";
        #print "wie viel Grad haben wir? $temperature\n";
       
        if ($rain eq "yes") {
                print "es regnet, Jalousien hoch\n";
        }       
        elsif($rain eq "no" ) {
                if ($Stunden <= 20) {
                        if ($temperature >= 23) {
                                print "man es ist $temperature °C  warm, es ist $Stunden Uhr und es regnet mach die Jalousien runter\n";           
                        }       
                        else {
                                print "es sind nur $temperature Grad, so warm ist es nicht\n";
                        }
                }
                else {
                        print "es ist nach 20 Uhr, naemlich $Stunden, gleich wird es dunkel, jetzt brauchen wir die Jalousien auch nicht mehr\n";
                }
        }       
}
elsif ($aktiv ne "aktiv") {
        print "Jalousienlogik deaktiviert\n";       
}

####SUBROUTINE ENDE
}
1;
##################################################################################
############################ AUFRUF DER SUBROUTINE ###############################
##################################################################################

$bla = jalousielogik($ARGV[0],$ARGV[1],$ARGV[2]);

Bennemannc

#1
Hallo,

dat geht auch einfacher. Schau mal in der Commandref nach THRESHOLD. Und das aktivierst oder deaktivierst Du nach Uhrzeit oder sunrise sunset.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF