[gelöst] alle Dummys mit status "On" listen? dann per yowsup weitergeben

Begonnen von MKeY, 01 April 2017, 18:50:21

Vorheriges Thema - Nächstes Thema

MKeY

Hallo, ich werkel schon ein wenig an meiner FHEM Konfiguration.
Mein Ziel ist es, dass mir yowsup eine Meldung mit allen dummys schickt, die den status "On" haben, wenn ich das haus verlassen hat.
notify/doif bekomme ich hin, die frage ist nur, gibt es eine Abfrage, die mir das erleichtert, ohne dass ich alle dummy in perl reinschreibe und dort eine if abfrage mache?

so ähnlich wie der befehl List, jedoch auf den status bezogen?
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC

CoolTux

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

MKeY

#2
ok, so einfach. oh man. :o (sorry, sehe gerade, dass es so im wiki beschrieben ist...schande über mein haupt, danke!

kann man diese Liste dann auch in ein dummy schreiben, oder irgendwie in die yowsup nachricht abspeichern?
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC

CoolTux

Du könntest es in ein Notify anwenden oder in einer myUtils. Aber dann solltest Du die devspec2array Funktion auf Perlebene dafür nehmen. Ist eine FHEM Perlfunktion.
Schau mal in der Commandref nach devspec2array. Wenn noch Fragen sind einfach fragen, aber bitte erstmal selber schauen.
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

MKeY

danke für deine Hilfe! hab es derzeit noch im DOIF, denke aber ich werde es in myUtils auslagern, damit ich mir auch die alias anzeigen lassen kann und nicht nur die device Namen. coole Sache!

([DEVICE:presence] eq "absent")
{fhem ("set DEVICE send Status der Geraete: +++".(join("+++",devspec2array('TYPE=dummy:FILTER=state=on'))))}


DEVICE dementsprechend euer Handy
+++ im yowsup eingetragen als Zeilenumbruch https://forum.fhem.de/index.php?topic=53665.0

Update:
jetzt mit Alias Abfrage durch myUtils

NOTIFY:
([DEVICE:presence] eq "absent")
{fhem ("set DEVICE send Folgende Geraete sind noch an: +++".getStatusAlias())}


myUtils:
sub getStatusAlias() {
my $ret = '';
my @array = '';

@array = devspec2array("TYPE=dummy:FILTER=state=on");
foreach (@array)
{
if ($_ ne $array[$#array]) {
$ret = $ret.AttrVal($_, 'alias', 'ERROR')."+++";
}
if ($_ eq $array[$#array]) {
$ret = $ret.AttrVal($_, 'alias', 'ERROR');
}
}
if ($ret eq '') {
$ret = "Alles ist aus!";}

return $ret;
}
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC