Alle at zu einem Device finden

Begonnen von Jojo11, 03 Dezember 2016, 21:39:46

Vorheriges Thema - Nächstes Thema

Jojo11

Hallo,

angenommen, es gibt mehrere at zu einem Device. Gibt es eine smarte Möglichkeit, herauszufinden, wann das nächste at definiert ist? So richtig fällt mir da nichts ein  :-\

Schöne Grüße
Jo

marvin78

Wie wäre es mit "Probably associated with" unten in der Datailansicht?

Benni

In FHEMWEB gibt es in der Detailübersicht zu jedem Gerät einen Abschnitt "Probably associated with" Dort sind alle wahrscheinlich mit diesem Gerät verbundenen andere Geräte, u.a. auch at oder notify aufgelistet (s. Screenshot)


Jojo11

Danke. Diese Liste kenne ich natürlich. Ich würde das nächste at allerdings gerne in fhem verarbeiten. Bzw die dazu gehörige Zeit. Wie greife ich denn darauf zu bzw ist das möglich?

Schöne Grüße
Jo

marvin78

Am besten ist es immer, wenn man genau beschreibt, was man machen könnte, sonst verläuft ein Thread so, wie dieser hier.

devspec2array könnte hilfreich sein. Dann ein wenig Perl um die Sachen zu sortieren. Über $defs{$name} bekommt man den Hash des Devices und da steht dann alles drin. Ein kleiner Blick in die Developer Wiki Seiten hilft sicher auch.

Jojo11

Super, danke. Das werde ich mir mal anschauen.

Schöne Grüße
Jo

Puschel74

Zitat von: Jojo11 am 03 Dezember 2016, 21:39:46
Hallo,

angenommen, es gibt mehrere at zu einem Device. Gibt es eine smarte Möglichkeit, herauszufinden, wann das nächste at definiert ist? So richtig fällt mir da nichts ein  :-\

Schöne Grüße
Jo

Wann das nächte at definiert ist sollte man doch im Device sehen können  ???
Siehe Screenshot - ein Device EG_Rollo_Terrasse_Tuer wird in einem at um 03:20:00 geprüft/gesetzt - das sehe ich direkt im Device.
Oder ich hab was falsch verstanden und bin auf dem Holzweg.
Aber wie marvin schon geschrieben hat
Zitat von: marvin78 am 03 Dezember 2016, 22:04:16
Am besten ist es immer, wenn man genau beschreibt, was man machen könnte, sonst verläuft ein Thread so, wie dieser hier.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

CoolTux


sub atStartTime($) {

my ($atName) = @_;
my $d = Value( "$atName" );

if ( $d ) {
my @e = split( "[ \t]", $d );
my @atStartTime = split( ":", $e[1] );
my $startTime = $atStartTime[0] . ":" . $atStartTime[1];
return $startTime;
}
}


Bisschen umständlich aber es liefert Dir den nächsten Auslösezeitpunkt eines at.
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

Jojo11

Vielen Dank für Eure Hilfe! Hintergrund ist dass ich für z.B. eine Lampe mehrere regelmäßige ats definiert habe. Die kann man alle am Device sehen, aber ich würde mit das nächste Schaltevent gerne ausgeben lassen.

Schöne Grüße
Jo

CoolTux

Und wofür genau? Nur damit Du es mal eben siehst oder zum Anzeigen in einer anderen Übersicht oder zum weiterverarbeiten in einer Variablen.
Du bist ein wenig zu ungenau um Dir wirklich helfen zu können.
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

Benni

Für die Programmtechnische Umsetzung, ggf. für eine eigene sub, kannst du dir ja mal in 01_FHEMWEB.pm anschauen, wo das array für "Probably associated with" zusammengestellt wird.
Im Prinzip werden da einfach nur alle devices abgeklappert und geprüft ob der Name des gesuchten device im jeweiligen DEF enthalten ist. (und umgekehrt, was aber für deinen Anwendungsfall nicht relevant ist).

Jojo11

Ich möchte den Zeitpunkt des nächsten "Events" einfach nur anzeigen lassen. Wenn es nur ein at ist, ist das ja überschaubar. Bei mehreren wird es unübersichtlich und da dachte ich, evtl werden die irgendwo schon in sortierter Form verwaltet  ::)

Schöne Grüße
Jo

marvin78

Die Frage nach dem genauen Grund dafür ist dann also berechtigt. Warum du damit und mit mehr Details nicht raus rückst (z.B. lists der ats)...naja.

Warum mehrere ats für ein Device? Was ist mit weekdaytimer? Da man nicht ganau weiß, was du machen möchtest, kann es sein, dass das für den Fall viel besser geeignet ist, als mehrere ats. Da kannst du dann auch leicht den nächsten Zeitpunkt herausfinden.

Jojo11

Hallo,

vielleicht habe ich die Frage ja im falschen Teil des Forums gestellt. Mir ist vollkommen klar, dass man Zeitsteuerungen auf unterschiedlichste Weise realisieren kann (at, weekdaytimer, doifs, ...). Das ist hier aber nicht Gegenstand der Fargestellung. Ich bin hier konkret nicht ins Detail gegangen, da ich am Anfang meiner Überlegungen stehe (daher auch das "angenommen" im OP). Soviel dazu, dass ich hier mit irgendwelchen Informationen "nicht rausrücken" möchte. Ich weiß nur, dass ich hunderte Devices habe und zahlreiche mit mehreren ats versehen sind. Gründe dafür gibt es viele. Z.B. werden auch viele ats zur Laufzeit generiert. Meine Annahme war daher, dass man evtl. mit einfachen Mitteln alle zur Zeit definierten ats für ein bestimmtes Device herausfiltern kann, so dass man die Uhrzeit des nächsten Events bestimmen kann (sei es zur Anzeige oder zum Speichern in einem Dummy).
Vielen Dank für die konkreten Hinweise - damit kann ich definitiv schon mal weiter arbeiten.

schöne Grüße
Jo