Hallo,
ich benutze Homemode und richte es immer mehr ein. Jetzt habe ich folgendes Problem:
Basierend auf dem Wiki-Beispiel zur Begrüßung, wenn HomeCMDcontactDoormainClosed ausgelöst wird, wollte ich das weitgehend übernehmen. Da ich (noch) keine Audioausgabegerät habe, wollt ich der/dem Ankommenenden eine push-Nachricht schicken:
{
# Wenn es Ankommende gibt
if ("%ARRIVERS%")
{
# Zusammenstellen der Begrüßung
my $msg = "Gute";
# "n" anhängen wenn Tageszeit nicht Nacht ist
$msg .= "n" if ("%DAYTIME%" ne "Nacht");
# Leerzeichen einfügen
$msg .= " ";
# den Feiertag der Tageszeit voranstellen wenn ein Feiertag im Kalender NRW ist
$msg .= "%NRW%-" if ("%NRW%");
# Tageszeit einfügen
$msg .= "%DAYTIME% ";
# bei ROOMMATE "zu Hause" in Begrüßung einfügen
$msg .= "zu Hause " if ("%RESIDENT%" =~ /^rr_/);
# Ankommende einfügen
$msg .= "%ARRIVERS%";
# Begrüßung per Pushnachricht bei Abwesenheit über 50 min
fhem "msg push \@lastActivityByResident $msg" if (%DURABSENCELAST% > 50);
}
}
Aber das funktioniert so leider nicht. Weiß jemand, woran es hakt und kann mir helfen?
Viele Grüße
Stephan
Ich würde denken dass "@lastActivityByResident" kein gültiger Empfänger ist.
Gruß
Dan
Hallo,
ich möchte gerne die Meldung an den nach Hause Kommenden schicken. Ich hatte mir gedacht, dass das dann der lastActivityByResident aus dem Resident-Modul wäre, da bei diesem ja sich zuletzt was geändert hat. Kann mir jemand helfen und einen besseren Ansatz nennen?
Wenn ich %ARRIVERS% richtig verstanden habe, sind dort bei Ankunft die Aliasnamen der Residents enthalten. Und wenn mehrere gleichzeitig ankommen, dann sind dort auch mehrere Namen drin, oder? Wenn dort nur einer ist, könnte ich doch aus dem Namen per Stringaddition (?) dann das "rr_" voranstellen. Damit könnte ich vielleicht einen gültigen Empfänger bekommenr? Aber wenn dann wieder mehrere kommen, funktioniert das auch wieder nicht.
Mal eine Anfängerfrage: Kann ich mir den Inhalt der Variablen (z. B.%ARRIVERS%) irgendwie ansehen?
Viele Grüße
Stephan
Hallo,
ich versuche es jetzt mit %RESIDENT%. Das hatte ich bis jetzt übersehen.
Gruß
Stephan
In "HomeCMDpresence-present-resident" kannst Du jedem einzeln mittels %RESIDENT% eine Nachricht schicken sofern in "fhemMsgPushGw" der Kontakt hinterlegt ist.
Gruß
Dan
P.S. Siehe Wiki dazu.
Hallo Dan,
ich habe den Begrüßungsbefehl jetzt für jeden einzelnen Resident angelegt mit dem Homemode-Attribut, z. B. für "HomeCMDpresence-present-rr_Stephan". Für die einzelnen Residents, z. B. rr_Stephan habe ich das dortige Attribut "msgContactPush" entsprechend eingerichtet. Das beobachte ich jetzt weiter.
Danke für den Hinweis,
Stephan