Neueste Beiträge

Seiten: [1] 2 3 ... 10
1
FHEMWEB / Antw:neues DateTimePicker Widget
« Letzter Beitrag von DS_Starter am Heute um 07:27:42 »
Hallo Matscher,

habe mein Modul DbRep auf Anregung eines Users angepasst um den datetimepicker zu unterstützen. Klappt soweit auch einwandfrei, danke für dieses Widget !

Etwas nachteilig ist, dass datetimepicker keine Sekundenauswahl anbietet (sovielo ich weiß). Das ist für die Datenselektion in der Datenbank etwas hinderlich.

Könnte das Widget um eine (optionale) Sekundenauswahl ergänzt werden ?
Das wäre sehr hilfreich.

Danke und viele Grüße
Heiko
2
Automatisierung / Antw:Raumklima zur Wäschetrocknung via myutils
« Letzter Beitrag von abc2006 am Heute um 07:20:22 »
DOIF hat durchaus seinen Charme, bei der Kombination von Event und Zeit, sowie bei einfachen Aufgaben.
Diese Aufgabe würde ich vermutlich tatsächlich auch als *Sub* lösen, weil man einfach wesentlich mehr Möglichkeiten hat, und es meiner Meinung nach auch übersichtlicher ist.

Dass es geht, davon bin ich überzeugt. Und dass es Geschmackssache ist, gebe ich dir 100% recht.
Grüße,
Stephan
3
Anfängerfragen / Antw:Filter auf alle Lampen
« Letzter Beitrag von marvin78 am Heute um 07:12:22 »
Ich möchte nochmal lichtscene in den Ring werfen.
4
SVG/Plots/logProxy / SVG plot die letzten 3 Monate anzeigen
« Letzter Beitrag von Tueftler1983 am Heute um 07:05:57 »
Hallo ist es möglich das ich mir im Plot als Zeitspanne die letzten 3 Monate anzeigen lassen kann?

Ich logge mein Tank verhalten und da wäre es ganz schön wenn ich die letzten 3 Monate im Auge halten könnte.
5
Sonstiges / Antw:mobiles FHEM
« Letzter Beitrag von Amenophis86 am Heute um 07:03:41 »
Kann FHEM zufälligerweise NMEA2000 ? --> Schau mal hier
Kann FHEM CAN Bus ? --> Schau mal hier
Gibts schon KNXnet oder ist das nur eine Planung der Gremien ? --> Schau mal hier
6
polltime steht auf 300s.
Allerdings sieht man in den Logs, dass er etwa im Minutentakt Anfragen schickt.
7
Bastelecke / Suche jemanden, der mir PCB Files erstellen kann
« Letzter Beitrag von andies am Heute um 06:34:39 »
Mal im Ernst - kann man das wirklich? Ich bilde mir ein, dass wir das im „Elektroklub“ in den 70ern in der Ostzone gemacht hatten, oder ist das eine falsche Kindheitserinnerung? Da muss ich nicht ständig mit China mailen...


Gesendet von iPad mit Tapatalk Pro
8
Anfängerfragen / Antw:Filter auf alle Lampen
« Letzter Beitrag von CoolTux am Heute um 06:20:55 »
Guten Morgen,

Zu nächst erstmal eine kleine Empfehlung. Dein Code sieht aus wie direkt aus der fhem.cfg Datei kompiert. Aktueller Beispielcode oder auch Code aus Antworten hier aus dem Forum werden entweder für die DEF geschrieben oder als RAW Definition für FHEMWEB. Generell empfehle ich immer über FHEMWEB zu arbeiten und nie niemals die cfg zu bearbeiten.

Nun zum Code. Das sieht auf den ersten schnellen Blick doch gut aus. Bevor der Schaltbefehl für die Lampe kommt prüfst Du ob der Dummy NightTime 1 ist. So sollte das eigentlich gehen.

Was die Anwesenheit an geht, so kann man drüber nachdenken es über eine Fritzbox zu machen sofern vorhanden, oder so wie ich das mache mit einen G-Tag Bluetooth. Jeder Bewohner hat so einen kleinen Dongle am Schlüsselbund.


Lichtschaltung ist generell ein sehr komplexes Thema. Daher habe ich meine Lichsteuerung in eine eigene 99_myUtils Datei dafür ausgelagert. Die Subroutine für Licht wird hierbei jedesmal aufgerufen wenn sich der Wert eines Twilight Readings (Azimut) ändert.
Um die Komplexität der Anwesenheit zu steuern verwende ich die Residents Modulfamilie. Besser kann man Anwesenheit nicht dar stellen. Die G-Tag werden mit dem presence Modul erkannt und schalten dann einen virtuellen Bewohner auf an oder abwesend, diese Schalten lösst ein Notify aus wo alle relevanten Schaltungen für den Bewohner drin stehen. Sind alle Bewohner abwesend, wird automatisch das Device Wohnung (Residents) abwesend geschalten. In seinem Notify steht dann das alles ausgeschalten werden soll, die Alarmanlage scharf geschalten werden soll, geschaut werden soll wo Fenster noch auf sind und wenn Unwetter oder Regen drohen bekommt der letzte Bewohner der gegangen ist eine Nachricht das Fenster noch zu schließen sind.


Kurz noch mal zum Thema Licht. Nur damit Du mal eine Vorstellung bekommst wie komplex das werden kann hier meine 99_myUtils_LightControl
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;



sub myUtils_LightControl_Initialize($$) {

  my ($hash) = @_;

}

###### Wohnungslicht ################
sub autoLightControl() {

## Hilfsvariablen
my $adv = adv();
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time());
my $lux = ReadingsVal('twilightStahnsdorf','lux',1000);

#### Helligkeitswert vom Pflanzensensor mit abfragen
fhem("get PflanzeFensterRechts statusRequest") if($hour > 04 and $hour < 23);
fhem("sleep 60; get PflanzeFensterLinks statusRequest") if($hour > 04 and $hour < 23);


########################
## Abends Licht an

    if( ((ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) < 55 and ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) > 24 and ReadingsVal( "twilightStahnsdorf", "state", "100" ) > 6
          and ReadingsVal( "twilightStahnsdorf", "state", "100" ) < 11 ) or (ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) > 24 and ReadingsVal( "twilightStahnsdorf", "state", "100" ) > 5
          and ReadingsVal( "twilightStahnsdorf", "state", "100" ) < 11))
        and (Value("dummyLgTV") eq "on" or ReadingsVal("Eltern","state","absent") eq "home") and $lux < 200 ) {

        if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" ) {
                if( $adv and Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) {     ## Abfrage Adventszeit aus 99_myUtils_Helper
                    fhem "set lightScenenLicht_Media scene Twilight_7_WohnzimmerFlurWeihnacht";
                    fhem "set room=Weihnacht:FILTER=state=off on";
                } else {
                    fhem "set lightScenenLicht_Media scene Twilight_7_WohnzimmerFlur";
                    fhem "set room=Weihnacht:FILTER=state=off on" if( Value("dummyLichtWinter") eq "active" );
                }
        } else {
                if( $adv and Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) {     ## Abfrage Adventszeit aus 99_myUtils_Helper
                    fhem "set lightScenenLicht_Media scene Twilight_7_WohnzimmerWeihnacht";
                    fhem "set room=Weihnacht:FILTER=state=off on";
                } else {
                    fhem "set lightScenenLicht_Media scene Twilight_7_Wohnzimmer";
                    fhem "set room=Weihnacht:FILTER=state=off on" if( Value("dummyLichtWinter") eq "active" );
                }
        }
           
            CommandSet(undef,"LichtDimmerStevenDeckenLampe_Sw:FILTER=pct=0 pct 50") if( Value("rr_Steven") eq "home" and $lux < 200 and Value('autoLichtsteuerungSteven') eq 'on' );
    }

    elsif( ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) < 66 and ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) > 24 and ReadingsVal( "twilightStahnsdorf", "state", "100" ) > 6
     and ReadingsVal( "twilightStahnsdorf", "state", "100" ) < 10 and $lux < 300 ) {
    fhem "set LED_StreifenFlurDecke bri 254; set LED_StreifenFlurDecke hue 44444 : sat 90" if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" );
    }

    elsif( ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) < 66 and ReadingsVal( "twilightStahnsdorf", "state", "100" ) == 6
     and ReadingsVal( "twilightStahnsdorf", "nextEvent", "ss_weather" ) eq "ss_weather" and $lux < 300) {
    fhem "set LED_StreifenFlurDecke bri 254; set LED_StreifenFlurDecke hue 44444 : sat 90" if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" );
    }
   
    ### Wenn die Eltern nicht zu Hause sind aber die Kinder
    elsif( ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) < 20 and ReadingsVal( "twilightStahnsdorf", "state", "100" ) > 9
     and ReadingsVal("Eltern","state","home") ne "home" and ReadingsVal("Kinder","state","absent") eq "home" and $lux < 200 ) {
    fhem "set LED_StreifenFlurDecke bri 254; set LED_StreifenFlurDecke hue 44444 : sat 90" if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" and $hour < 20 );
        fhem "set LED_StreifenFlurDecke bri 100; set LED_StreifenFlurDecke hue 47104 : sat 254" if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" and $hour > 19 );
        fhem "set room=Weihnacht:FILTER=state=off on" if( $adv or Value("dummyLichtWinter") eq "active" );     ## Abfrage Adventszeit aus 99_myUtils_Helper
        CommandSet(undef,"LichtDimmerStevenDeckenLampe_Sw:FILTER=pct=0 pct 50") if( Value("rr_Steven") eq "home" and $lux < 200 and Value('autoLichtsteuerungSteven') eq 'on' );
    }

    elsif( $hour > 20 and ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) < 40 and $lux < 200 and (Value("dummyLgTV") eq "on" or
     ReadingsVal("Eltern","state","absent") eq "home") ) {
    if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" ) {
            if( $adv and Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) {     ## Abfrage Adventszeit aus 99_myUtils_Helper
                fhem "set lightScenenLicht_Media scene Twilight_10_WohnzimmerFlurWeihnacht; set structureCandleFlur:FILTER=state=off on";
                fhem "set room=Weihnacht:FILTER=state=off on";
            } else {
                fhem "set lightScenenLicht_Media scene Twilight_10_WohnzimmerFlur; set structureCandleFlur:FILTER=state=off on";
                fhem "set room=Weihnacht:FILTER=state=off on" if( Value("dummyLichtWinter") eq "active" );
            }
    } else {
            if( $adv and Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) {     ## Abfrage Adventszeit aus 99_myUtils_Helper
                fhem "set lightScenenLicht_Media scene Twilight_10_WohnzimmerWeihnacht";
                fhem "set room=Weihnacht:FILTER=state=off on";
            } else {
                fhem "set lightScenenLicht_Media scene Twilight_10_Wohnzimmer";
                fhem "set room=Weihnacht:FILTER=state=off on" if( Value("dummyLichtWinter") eq "active" );
            }
    }
    }

    elsif( $hour > 19 and ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) < 60 and $lux < 200 and (Value("dummyLgTV") eq "on" or
     ReadingsVal("Eltern","state","absent") eq "home") ) {
    if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" ) {
            if( $adv and Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) {     ## Abfrage Adventszeit aus 99_myUtils_Helper
                fhem "set lightScenenLicht_Media scene Twilight_8_WohnzimmerFlurWeihnacht";
                fhem "set room=Weihnacht:FILTER=state=off on";
            } else {
                fhem "set lightScenenLicht_Media scene Twilight_8_WohnzimmerFlur";
                fhem "set room=Weihnacht:FILTER=state=off on" if( Value("dummyLichtWinter") eq "active" );
            }
    } else {
            if( $adv and Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) {     ## Abfrage Adventszeit aus 99_myUtils_Helper
                fhem "set lightScenenLicht_Media scene Twilight_8_WohnzimmerWeihnacht";
                fhem "set room=Weihnacht:FILTER=state=off on";
            } else {
                fhem "set lightScenenLicht_Media scene Twilight_8_Wohnzimmer";
                fhem "set room=Weihnacht:FILTER=state=off on" if( Value("dummyLichtWinter") eq "active" );
            }
    }
    }


########################
## Abends Licht aus

    elsif( ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) < 66 and ReadingsVal( "twilightStahnsdorf", "state", "100" ) > 5
     and Value("dummyLgTV") eq "off" and Value('structureLichtIsabelsZimmer') eq 'on' and ReadingsVal("Eltern","state","home") ne "home" ) {
    fhem "set structureLichtWohnzimmer [FILTER=STATE!=off] off" if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" );
    }


########################
## Morgens Licht aus

    elsif( ReadingsVal( "twilightStahnsdorf", "state", "100" ) == 4 and ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) > 55 and $lux > 200 and $lux < 500 ) {
    fhem "set (structureLichtWohnzimmer|NetzschalterKinZimIsabelHintenLinks):FILTER=STATE=on off; set group=Licht.Weihnachten:FILTER=state=on off";
        fhem "set group=Licht.Weihnachtsbaum:FILTER=state=on off" if( Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) ;
    }

    elsif( (ReadingsVal( "twilightStahnsdorf", "state", "100" ) == 5 and ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) > 54 and $lux > 200 and $lux < 300) or ($lux > 300 and $lux < 500) ) {
    fhem "set (structureLichtWohnzimmer|NetzschalterKinZimIsabelHintenLinks):FILTER=STATE=on off; set group=Licht.Weihnachten:FILTER=state=on off";
        fhem "set group=Licht.Weihnachtsbaum:FILTER=state=on off" if( Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) ;
       
        CommandSet(undef,"set LED_StreifenFlurDecke:FILTER=onoff=1 off") if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" and $lux > 500);
        CommandSet(undef,"LichtDimmerStevenDeckenLampe_Sw:FILTER=pct!=0 off") if( Value("rr_Steven") eq "home" and $lux > 250 and Value('autoLichtsteuerungSteven') eq 'on' );
    }

    elsif( (ReadingsVal( "twilightStahnsdorf", "state", "100" ) == 6 and ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) > 65 and $lux > 300 and $lux < 400) or ($lux > 300 and $lux < 700) ) {
        fhem "set (structureLichtWohnzimmer|structureLichtBadezimmer|NetzschalterKinZimIsabelHintenLinks):FILTER=STATE=on off; set group=Licht.Weihnachten:FILTER=state=on off";
        fhem "set group=Licht.Weihnachtsbaum:FILTER=state=on off" if( Value("dummyWeihnachtsbaumAutoOFF") eq "active" );
       
        if( (ReadingsVal( "twilightStahnsdorf", "elevation", "15" ) < 15 and ReadingsVal( "twilightStahnsdorf", "twilight_weather", "100" ) > 80 and $lux > 300 and $lux < 400) or ($lux > 400 and $lux < 700) ) {
            fhem "set LED_StreifenFlurDecke:FILTER=onoff=1 off" if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" );
        }
       
        elsif ( (ReadingsVal( "twilightStahnsdorf", "elevation", "15" ) > 15 and $lux > 300 and $lux < 400) or ($lux > 400 and $lux < 700) ) {
            fhem "set LED_StreifenFlurDecke:FILTER=onoff=1 off" if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" );
        }
       
        CommandSet(undef,"set LED_StreifenFlurDecke:FILTER=onoff=1 off") if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" and $lux > 500);
        CommandSet(undef,"LichtDimmerStevenDeckenLampe_Sw:FILTER=pct!=0 off") if( Value("rr_Steven") eq "home" and $lux > 250 and Value('autoLichtsteuerungSteven') eq 'on' );
    }
}



################################
##### Kaminfeuer ###############
sub startFireEffect(@) {

  my @bulbs=@_;
  foreach (@bulbs) {
    my $bulb=$_;
    my $hue = int((rand()*3460)+5460);
    my $sat = int(rand(64)+170);
    my $bri = int(rand(60)+16);
    my $delay = (rand()+0.1);
    my $transitiontime = int($delay * 10);
    fhem("set $bulb hue $hue: sat $sat : bri $bri : transitiontime $transitiontime : noUpdate");
    InternalTimer(gettimeofday()+$delay, 'startFireEffect', $bulb, 0);
   
  }
}
 
sub stopFireEffect(@) {

  my @bulbs=@_;
  foreach (@bulbs) {
    my $bulb=$_;
    RemoveInternalTimer($bulb);
    fhem("set $bulb off");
   
  }
}
1;
9
KNX/EIB / Antw:listenonly, readonly, ...
« Letzter Beitrag von NehCoy am Heute um 05:58:52 »
Hi!

Sicher?
Also hnach den Beispielen hier müsste es funktionieren:
https://wiki.fhem.de/wiki/If-condition
https://wiki.fhem.de/wiki/Trick_der_Woche#Struktur_von_.22else_if.22_Verzweigungen

Aber ja! - So geht es besser!

Und warum nur !;! am Ende eine Zeiler und nicht zwei ";;" ?

Danke & Grüße
NehCoy

P.S.:
Danke mi dem Tipp mit "set-on-for-timer". - Schaue ich mir mal an.
10
Betateilchen hat recht. Nach einem erneuten lesen ist defaultattr dazu besser geeignet.
Die Werte für Funktion und Info gibst du ja wahrscheinlich selbst vor.
Seiten: [1] 2 3 ... 10