Zeigt her euer FHEM.....

Begonnen von Butzel, 06 März 2018, 17:03:11

Vorheriges Thema - Nächstes Thema

Butzel

Als Anfänger ist es sehr interessant, wie andere Konfigurationen aussehen. So ein FHEM wächst und gedeiht ja auch mit der Zeit.
Um mal einen grösseren Ein- und Überblick zu bekommen, würde ich gerne wissen, wieviele defined entities ihr so habt.
Bei mir sind es zur Zeit 79 (Server started with 79 defined entities). Wie sieht es bei euch aus ??

cpet

Bei mir sind es jetzt 558 defined entities
RPI 3 mit 1x SCC 868MHz für FS20; 1x SCC 433MHz SlowRF; 1x SCC 868MHz Homematic;
Rollladen-/Markisensteuerung, Fußboden-Heizungssteuerung 
diverse Licht-/Schaltungssteuerungen
ALEXA-Integration;
Statusmeldungen über  Fernseher

Beta-User

Was sagt das genau aus?
Ein notify kann auf genau ein Event reagieren oder auf mehrere unterschiedliche Events von vielen Devices... so ist es mit vielem (ein weekdaytimer ersetzt uU. 20 at uws.).

Ansonsten: https://fhem.de/stats/statistics.html ist bekannt?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Amenophis86

Denke nicht, dass das in den Bereich Anfänger passt, sondern eher bei Sonstiges. Daher bitte ich darum den Thread zu verschieben. Danke
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

gbomacfly

Mal ganz von der Anzahl abgesehen würden mich einige Beispielkonfigurationen der erfahreneren User interessieren.
Da gibts sicher einige tolle Readingsgroups und andere Dinge, auf die man selber nicht kommt :)
FHEM auf Debian Server, LogDB, MAX!-HT, Yeelight, Sonoff-Tasmota, IT, Signalduino434, nanoCUL868
FHEM-Keller auf RPI Zero mit OBIS (FHEM2FHEM)
FHEM-WZ auf RPI Zero - BT auf Alexa
Diverse Eigenbausensoren mit Arduino/MQTT

Butzel

Danke, dass zumindest die frischen Mitglieder Antworten geben, mit denen man etwas anfangen kann.

Nein, ich kannte die Statistik nicht, kann aber auch keine direkten Zahlen erkennen, die meiner Fragestellung nahe kommt.
Daneben finde ich diese Frage hier genau richtig (sonst hätte ich sie auch direkt woanders gepostet). Alteingesessene "User" antworten ja auch hier nicht zielführend.

Daher noch mal meine ausdrücklichen Dank an cpet.

Christoph Morrison

Zitat von: Butzel am 06 März 2018, 17:03:11
Als Anfänger ist es sehr interessant, wie andere Konfigurationen aussehen. So ein FHEM wächst und gedeiht ja auch mit der Zeit.

Statistik Mai 2015:

  • 3 FHEM-Instanzen auf RPI3 mit Hot-Standby, abgesichert über Linux-HA
  • 2 weitere RPI3 als Cold-Standby
  • 9155 Zeilen Definitionen
  • 512 Zeilen Perl-Code in der 99_myUtils
  • 1236 Zeilen Code für die Verwaltung der FHEM-Instanzen inkl. Cluster/FailOver
  • 1056 Commits der Config in mein Sourcecode-Repository
  • 70 DOIF
  • 16 Dummies
  • 125 HM-Devices
  • 16 IT-Devices
  • 5 Echo Dot
  • 618 definied entities
  • Viel Kleinkram

cpet

#7
Gute Beispiele sind unter anderem auch hier schon dokumentiert:  https://wiki.fhem.de/wiki/Kategorie:Code_Snippets
oder auch auf der Wiki Hauptseite im allgemeinen mal schauen: https://wiki.fhem.de/wiki/Hauptseite
RPI 3 mit 1x SCC 868MHz für FS20; 1x SCC 433MHz SlowRF; 1x SCC 868MHz Homematic;
Rollladen-/Markisensteuerung, Fußboden-Heizungssteuerung 
diverse Licht-/Schaltungssteuerungen
ALEXA-Integration;
Statusmeldungen über  Fernseher

CoolTux

#8
Zitat von: gbomacfly am 06 März 2018, 18:16:53
Mal ganz von der Anzahl abgesehen würden mich einige Beispielkonfigurationen der erfahreneren User interessieren.
Da gibts sicher einige tolle Readingsgroups und andere Dinge, auf die man selber nicht kommt :)

Wenn Du meinst das es Dich weiter bringt.
Hier meine myUtils Sub für die Lichtsteuerung

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

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

#### Helligkeitswert vom Pflanzensensor mit abfragen
CommandGet(undef,"PflanzenSensor3 sensorData") if($hour > 04 and $hour < 23);
fhem("sleep 60; get PflanzenSensor2 sensorData") 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
                    CommandSet(undef,'lightScenenLicht_Media scene Twilight_7_WohnzimmerFlurWeihnacht');
                    CommandSet(undef,'room=Weihnacht:FILTER=state=off on');
                } else {
                    CommandSet(undef,'lightScenenLicht_Media scene Twilight_7_WohnzimmerFlur');
                    CommandSet(undef,'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
                    CommandSet(undef,'lightScenenLicht_Media scene Twilight_7_WohnzimmerWeihnacht');
                    CommandSet(undef,'room=Weihnacht:FILTER=state=off on');
                } else {
                    CommandSet(undef,'lightScenenLicht_Media scene Twilight_7_Wohnzimmer');
                    CommandSet(undef,'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 or ($lux < 250) ) {
    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" ) < 75 and ReadingsVal( "twilightStahnsdorf", "state", "100" ) == 6
     and ReadingsVal( "twilightStahnsdorf", "nextEvent", "ss_weather" ) eq "ss_weather" or ($lux < 250) ) {
    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 );
        CommandSet(undef,'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
                CommandSet(undef,'lightScenenLicht_Media scene Twilight_10_WohnzimmerFlurWeihnacht');
                CommandSet(undef,'room=Weihnacht:FILTER=state=off on');
            } else {
                CommandSet(undef,'lightScenenLicht_Media scene Twilight_10_WohnzimmerFlur');
                CommandSet(undef,'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
                CommandSet(undef,'lightScenenLicht_Media scene Twilight_10_WohnzimmerWeihnacht');
                CommandSet(undef,'room=Weihnacht:FILTER=state=off on');
            } else {
                CommandSet(undef,'lightScenenLicht_Media scene Twilight_10_Wohnzimmer');
                CommandSet(undef,'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
                CommandSet(undef,'lightScenenLicht_Media scene Twilight_8_WohnzimmerFlurWeihnacht');
                CommandSet(undef,'room=Weihnacht:FILTER=state=off on');
            } else {
                CommandSet(undef,'lightScenenLicht_Media scene Twilight_8_WohnzimmerFlur');
                CommandSet(undef,'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
                CommandSet(undef,'lightScenenLicht_Media scene Twilight_8_WohnzimmerWeihnacht');
                CommandSet(undef,'room=Weihnacht:FILTER=state=off on');
            } else {
                CommandSet(undef,'lightScenenLicht_Media scene Twilight_8_Wohnzimmer');
                CommandSet(undef,'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" ) {
    CommandSet(undef,'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');
        CommandSet(undef,'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 < 400 ) {
    fhem('set (structureLichtWohnzimmer|NetzschalterKinZimIsabelHintenLinks):FILTER=STATE=on off; set group=Licht.Weihnachten:FILTER=state=on off');
        CommandSet(undef,'group=Licht.Weihnachtsbaum:FILTER=state=on off') if( Value("dummyWeihnachtsbaumAutoOFF") eq "active" ) ;
       
        CommandSet(undef,'LED_StreifenFlurDecke:FILTER=onoff=1 off') if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" and $lux > 300);
        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 or ($lux > 300 and $lux < 700) ) {
        fhem('set (structureLichtWohnzimmer|structureLichtBadezimmer|NetzschalterKinZimIsabelHintenLinks):FILTER=STATE=on off; set group=Licht.Weihnachten:FILTER=state=on off');
        CommandSet(undef,'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 < 700 ) {
            CommandSet(undef,'LED_StreifenFlurDecke:FILTER=onoff=1 off') if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" );
        }
       
        elsif ( ReadingsVal( "twilightStahnsdorf", "elevation", "15" ) > 15 and $lux > 400 and $lux < 800 ) {
            CommandSet(undef,'LED_StreifenFlurDecke:FILTER=onoff=1 off') if( Value( "LED_StreifenSelectTwilightDummy" ) eq "on" );
        }
       
        CommandSet(undef,'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' );
    }
}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Damian

Ich glaube nicht, dass das funktioniert:

CommandSet(undef,"set LED_StreifenFlurDecke:FILTER=onoff=1 off")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

CoolTux

Zitat von: Damian am 06 März 2018, 19:31:43
Ich glaube nicht, dass das funktioniert:

CommandSet(undef,"set LED_StreifenFlurDecke:FILTER=onoff=1 off")

Da gebe ich Dir Recht. Danke  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

gbomacfly

Zitat von: CoolTux am 06 März 2018, 19:20:23
Wenn Du meinst das es Dich weiter bringt.
Hier meine myUtils Sub für die Lichtsteuerung

sub autoLightControl() {
...


Genau sowas meinte ich. Dankeschön dafür.
Man selber denkt ja immer auf eine Art & Weise, schön zu sehen, wie andere Leute dieselben Dinge sehen :)
FHEM auf Debian Server, LogDB, MAX!-HT, Yeelight, Sonoff-Tasmota, IT, Signalduino434, nanoCUL868
FHEM-Keller auf RPI Zero mit OBIS (FHEM2FHEM)
FHEM-WZ auf RPI Zero - BT auf Alexa
Diverse Eigenbausensoren mit Arduino/MQTT

Amenophis86

Zitat von: Butzel am 06 März 2018, 18:53:09
Daneben finde ich diese Frage hier genau richtig (sonst hätte ich sie auch direkt woanders gepostet). Alteingesessene "User" antworten ja auch hier nicht zielführend.
Frage mich was das mit alten und neuen Usern zu tun hat. Und frage mich auch was diese Frage mit einer Anfängerfrage zu tun hat. Du willst wissen wieviel Definitionen jemand hat und das hat in meinen Augen nichts mit einer Anfängerfrage zu tun, weil es einfach sehr wenig aussagt. Daher gehört es für mich in das Board Sonstiges.


Zitat von: gbomacfly am 06 März 2018, 20:04:42
Genau sowas meinte ich. Dankeschön dafür.
Das hat 1. Nichts mit deiner Frage zu tun und 2. Gehört so etwas in ein Codeschnipselboard, dafür ist diese Board nämlich da, dass man schnell solche Sachen finden kann.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Beta-User

Zitat von: Butzel am 06 März 2018, 18:53:09
Danke, dass zumindest die frischen Mitglieder Antworten geben, mit denen man etwas anfangen kann.

Nein, ich kannte die Statistik nicht, kann aber auch keine direkten Zahlen erkennen, die meiner Fragestellung nahe kommt.
Wenn man die meistgelisteten 500 Device-Typen nimmt und davon ausgeht, dass auf jeder Installation mind. ein FHEMWEB-Device installiert ist (die Installationszahl von 5332 also der Zahl der erfaßten Installationen insgesamt entspricht), kommt man auf 159, irgendwas definierter Geräte pro Installation.
Was sagt uns jetzt das? Was fängt man damit an?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Christoph Morrison

Zitat von: Beta-User am 06 März 2018, 20:47:39
Was sagt uns jetzt das? Was fängt man damit an?

Zum Beispiel die Einschätzung in welcher Größenordnung die eigene Installation rangiert: Hat man eine eher kleine Installation oder eine größere? Was haben vergleichbare Leute für ein Setup? Kann ich mir von ihnen irgendwas proaktiv abschauen, was mir später vielleicht auf die Füße fällt wenn man bei einer großen Installation angekommen ist? Welchen Leuten im Forum sollte ich besser zuhören und welchen vielleicht weniger, weil sie selbst noch auf meiner Installationsgröße rumgurken und ich mehr von den fortgeschritteneren Usern lernen möchte?

Sind alles valide Fragen zum Benchmark der eigenen Situation.