Neueste Beiträge

#1
FHEM Code changes / Revision 28863: 49_SSCam(STRM)...
Letzter Beitrag von System - 11 Mai 2024, 10:40:56
Revision 28863: 49_SSCam(STRM): optimize memory consumption

49_SSCam(STRM): optimize memory consumption

Source: Revision 28863: 49_SSCam(STRM): optimize memory consumption
#2
Anfängerfragen / Aw: Frage zu Residents
Letzter Beitrag von binford6000 - 11 Mai 2024, 10:32:43
Alternativ (falls du die ROOMMATES nicht schlafen legst) kann man ja voraussetzten, dass die Roommates schon länger zu Hause sind
wenn sie übernachtet haben. Also so etwas wie durTimerPresence > 3600 oder so.

VG Sebastian
#3
Anfängerfragen / Aw: Frage zu Residents
Letzter Beitrag von binford6000 - 11 Mai 2024, 10:30:18
Wie wärs mit residentsAwoken > 0?
Setzt voraus dass die Roommates auf awoken gehen.

VG Sebastian
#4
Sonstiges / Aw: aWATTar in Deutschland ver...
Letzter Beitrag von satprofi - 11 Mai 2024, 10:21:25
hallo.
kann mir wer diesen abschnitt erklären?

Abschätzung von Wirtschaftlichkeit beim Speicher Laden, falls Tibber zu teuer wird
  if ( ReadingsVal("$NAME","compensation_grid",0) != 0 ) {
    my $price_level_battery = round( ($fc_avg - ReadingsVal("$NAME","compensation_grid",0)) *0.85 , 1) ;
    if ( $price_level > $price_level_battery ) {
      $price_level = $price_level_battery;
    }
  }
  $price_level;



wenn jemand den code für smartenergy in AUT benötigt, im Anhang.
Preise incl. Gebühr von smartenergy, excl. Netzgebühr.
Danke an den Codeersteller.

einfach per telnet übertragen, oder in fhem.cfg einfügen.
#5
Verbrauchsmessung / Aw: Intelligentes Messystem mi...
Letzter Beitrag von Prof. Dr. Peter Henning - 11 Mai 2024, 10:19:02
Die fetten Zweirichtungszähler bei mir im Schrank kommen aus osteuropäischen Ländern (Apator aus Polen, Iskra aus Slowenien)- deutsche Firmen können so etwas offenbar nicht mehr wirtschaftlich fertigen. Laut den vorliegenden Datenblättern haben sie beide außer der optischen Schnittstelle nach DIN 62056-21 eine RS485-Schnittstelle.

Bei dem Iskra-Zähler steht dazu, es sei eine "LMN"-Schnittstelle gemäß FNN LH (Anführungszeichen Original), und er sei über diese Schnittstelle zum Smartmeter erweiterbar. Wär ja schön, wenn die einfach ein Gateway davorsetzen würden.

Der Zählerschrank ist allerdings aus solidem Metall, und der Handy-Empfang bei uns im Keller suboptimal. Und damit stellt sich die Frage, wie die Kommunikation mit Netze-BW erfolgen soll. Laut VDE muss der APZ dann außerhalb, rechts unterhalb des Zählerschrankes liegen und ist vom Hauseigentümer zu stellen (mindestens 30 cm hoch). Und wenn es per GSM nicht geht, muss eben ne Leitung zum Hausanschluss der Telekom. In eigenem Leerrohr.

LG

pah

P.S.: Die Ablesung per HomeMatic IP Sensoren (natürlich beide mit PIN!) funktioniert übrigens hervorragend. Nachdem ich mit Hilfe eines anderen Users herausgefunden habe, dass ein Teil der Daten als "Metadaten" in HMIP-Gateway abgelegt werden, sehe ich bei mir keinen Bedarf mehr, auch noch die RS485-Schnittstelle abzugreifen.

P.P.S.: FNN LH ist einfach das, was sich der VDE dabei gedacht hat: https://www.vde.com/resource/blob/950874/e5e6719bc5aa56d206dc0aa187984d71/fnn-flyer-info-kundenschnittstelle-zaehler-2015-07-data.pdf

P.P.P.S.:
ZitatKeine Ahnung seit wann die RfZ/APZ gefordert werden
Offenbar in der Pipeline seit 2015 (siehe VDE oben), effektiv für neue Zählerschränke seit 2017.

#6
Automatisierung / Aw: Userreading Teil vom Read...
Letzter Beitrag von betateilchen - 11 Mai 2024, 09:21:43
Das geht nicht.

ReadingsVal() löst (dankenswerterweise) keine regexp auf, weder beim deviceName noch beim readingName.

Außerdem solltest Du Dir für Dein userReading noch einen vernünftigen trigger überlegen.
#7
Automatisierung / Userreading Teil vom Readingn...
Letzter Beitrag von Bartel_12 - 11 Mai 2024, 09:17:24
Hallo,
vermutlich stehe ich einfach nur auf dem Schlauch....

ich versuche ein userreading zu erstellen ---

Regenmenge_Jahr { ReadingsVal ("Regen_Aktuelles_Jahr","*Niederschlag*",0) }
aus dem  Reading

2024-01-01__Niederschlag__state__SUM__2024
ich möchte aber nur den Textteil Niederschlag suchen

Vielen Dank im vorraus
#8
Home Connect / Aw: HomeConnect - HowTo
Letzter Beitrag von GhostSG - 11 Mai 2024, 09:04:15
Na Super,

besten dank für die Info. Dann weiß ich aber ja nun, dass ich nichts weiter tun kann als abwarten...

VG
#9
Anfängerfragen / Frage zu Residents
Letzter Beitrag von Superposchi - 11 Mai 2024, 08:41:59
Hallo, ich habe kein Unterforum zum Residents-Device gefunden, daher einfach verschieben wenn es hier nicht passt.

Ich realisiere meine Rolladensteuerung über Residents, doch leider habe ich beim Öffnen ein Problem.
Es wird nicht unterschieden ob jemand nach Hause kommt oder erwacht. Logischerweise soll das Rollo nur geöffnet werden wenn jemand erwacht. Aktuell wird es aber auch immer geöffnet sobald jemand nach Hause kommt.

Wie würdet ihr das Problem lösen?
Mit OldReadings oder gibt es ein vorhandenes Reading zur Unterscheidung?
#10
Anfängerfragen / Aw: Befehl zum Auflisten aller...
Letzter Beitrag von AnBad - 11 Mai 2024, 08:35:55
Hier eine aktuelle Version meiner kleinen Sub zum Sortieren von Räumen:

sub rooms {

    # call by {rooms("attr")}

    my ($attrErstellen)  = @_;
    my $room_string      = "";
    my %custom_sort_order = (
        "Start"  => 1,
        "Config"  => 2,
        "Aus"    => 3,
        "KG"      => 4,
        "EG"      => 5,
        "OG"      => 6,
        "DG"      => 7,
        "TH"      => 8,
        "Numeric" => 9,    # Add this for numeric room names
    );

    my @rooms;

    foreach my $device ( devspec2array(".*") ) {
        my $room_val = AttrVal( $device, "room", "Unsorted" );
        if ( index( $room_val, ',' ) != -1 ) {    # Check if room_val contains a comma
            foreach my $room ( split( ",", $room_val ) ) {
                unless ( grep { $_ eq $room } @rooms ) {
                    push( @rooms, $room );
                }
            }
        }
        else {                                    # If room_val doesn't contain a comma, treat it as a single room
            unless ( grep { $_ eq $room_val } @rooms ) {
                push( @rooms, $room_val );
            }
        }
    }

    # Print room names
    print "1) Room names after populating: @rooms\n";

    # Sorting logic: Include handling for numeric room names
    @rooms = sort {
        my $a_sort = custom_sort_value( $a, \%custom_sort_order ) || 9999;
        my $b_sort = custom_sort_value( $b, \%custom_sort_order ) || 9999;
        $a_sort <=> $b_sort || $a cmp $b;
    } @rooms;

    if ( defined $attrErstellen && $attrErstellen eq "attr" ) {
        $room_string = join( " ", @rooms );
        fhem("attr WEB sortRooms $room_string");
        print "3.1) Sorted room list: $room_string\n";
    }
    else {
        print "3.2) Sorted room list: $room_string\n";
    }
    my $room_list = join( "\n", @rooms );
    return $room_list;
}

sub custom_sort_value {
    my ( $room, $sort_order ) = @_;

    # Debug printing
    print "2) Room before sorting: $room\n";

    for my $pattern ( keys %$sort_order ) {
        if ( $room =~ /\Q$pattern\E/ ) {
            print "Matched pattern: $pattern\n";
            return $sort_order->{$pattern};
        }
    }

    # Handle numeric room names
    if ( $room =~ /^\d+/ ) {
        return $sort_order->{Numeric};
    }
    return;
}