Hallo,
ich möchte auf's Handy eine Nachricht bekommen wenn der Strom ausgefallen ist. FHEM-Raspi und Fritzbox werden über eine USV mit Strom versorgt, NUT überwacht in FHEM den Status der USV.
Wie kann man am schnellsten und sichersten einen Nachricht verschicken wenn der state auf Batteriebetrieb wechselt?
msmtp läuft auf dem Raspi und über einen ECHO Befehl kann ich problemlos eine e-mail versenden. Telegram und Signal in FHEM sehen komplizierter aus.
Was wäre optimal?
Besten Dank für Tips.
MSGMail
Signal, Telegram, Pushover, PushNotifier, Pushsafer - hab alle am Start.
Viele Grüße Gisbert
Pushover und Pushsafer kosten einen schmalen Rubel, die anderen sind kostenfrei nutzbar.
Welche von den Möglichkeiten die einfachste und zuverlässigste ist, ist schwer zu sagen. Am wenigsten Probleme im Einsatz machen Telegram und Signal, wobei letztere immer mal wieder Zuwendung bei Updates benötigt. Nachrichten von PushNotifier kommen mitunter verzögert an.
Ich würde zur Sicherheit mindestens 2 Dienste nutzen.
Viele Grüße Gisbert
Hallo,
schau mal hier, geht einfach und ist zuverlässig.
https://wiki.fhem.de/wiki/E-Mail_senden (https://wiki.fhem.de/wiki/E-Mail_senden)
Gruß,
Matthias
@tplus
Ich nutze (Debian) sendmail und habe das in FHEM in der Datei 99_myUtils.pm wie unten gezeigt gelöst. Emailadresse und Provider (SMTP Server) bitte anpassen und beachten, dass die \ Zeichen in der Email-Adresse ($sender & $konto) zum Escapen des @ Zeichens nötig sind (zumindest funktioniert es bei mir nur so). Dasselbe gilt, falls im Passwort z.B. ein $ Zeichen vorkommt. Außerdem den Hinweis im Kommentar unten beachten ("Einmal in der FHEM-Kommandozeile Benutzer und Passwort anpassen"). Ich hoffe, das hilft (auch) weiter.
Achtung, Email Benutzername und Passwort werden unverschlüsselt in FHEM gespeichert: ./FHEM/FhemUtils/uniqueID
PS: Das 1; am Ende gehört so und muss dort als Abschluss stehen bleiben!
##############################################
# $Id: myUtilsTemplate.pm 21509 2020-03-25 11:20:51Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter your functions below _this_ line.
##### DebianMail - Mail auf dem Raspberry Pi versenden
#
# $provider für SMTP Server anpassen.
# Einmal in der FHEM-Kommandozeile Benutzer und Passwort anpassen:
# {setKeyValue("myEmailKonto",'meine\@email.de');;setKeyValue("myEmailPasswrd",'meinpasswort')}
sub DebianMail {
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "meine\@email.de";
my $konto = "meine\@email.de";
my $passwrd = "meinpasswort";
my $from = $konto; # or use different KeyValue if `konto` is not the `from` email address
my $provider = "smtp.provider.de:587";
Log 1, "sendemail RCP: $rcpt";
Log 1, "sendemail Subject: $subject";
Log 1, "sendemail Text: $text";
Log 1, "sendemail Anhang: $attach";
# FOR DEBUGGING PURPOSES ONLY:
# Log 1, "sendemail Sender: $sender";
# Log 1, "sendemail Konto: $konto";
# Log 1, "sendemail Passwort: $passwrd";
# Log 1, "sendemail Provider: $provider";
if (not defined($attach)){$attach=''}
$ret .= qx(sendemail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a $attach -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "sendemail returned: $ret";
}
##### End of DebianMail
1;
hallo,
mit DebianMail habe ich sehr gute Erfahrungen gemacht, funktioniert zuverlässig.
Zum Senden einer Nachricht bei Stromausfall empfehle ich allerdings aus Sicherheitsgründen eine SMS Nachricht gesendet über einen UMTS-Stick oder ein altes Mobiltelefon. Damit bist du unabhängig von der Fritzbox, falls diese oder das WLAN auch ausfallen.
Funktioniert bei mir mit einer Prepaid SIM Karte mit automatischer Aufladung (kommt nur selten vor) einwandfrei.
Schau mal hier nach
https://www.datenreise.de/raspberry-pi-sms-per-kommandozeile-versenden/
Da der Serverbetrieb viele Ressoucen kostet schalte ich den beim Start vom fhem aus.
define n_global_INITIALIZED notify global:INITIALIZED {fhem(' "sudo /etc/init.d/gammu-smsd stop" ')}
attr n_global_INITIALIZED comment Den Server für SMS Senden und Empfangen (gammu-smsd) beim Start von fhem stoppen, benötigt unötig viel Ressoucen.\
SMS senden mit gammu geht auch ohne den Server.
attr n_global_INITIALIZED room sip
Die Anweisung in einem notify sieht dann z.B. so aus:
{fhem(' "sudo gammu sendsms TEXT +491517xxxxxxx -text ""Stromausfall-zu-Hause"" " ');;}
Viele Grüße
Werner
Mein RPi und weitere relevante Geräte hängen an 2 USVen. Wenn's zu einem Stromausfall kommt, erhalte ich eine Mitteilung über die Synology App und die Diskstations fahren - wenn nur noch wenig Reserve ist - sauber runter. Das Runterfahren bei geringer USV-Reserve müsste ich noch für den RPi implementieren. Andererseits habe ich eh vor, FHEM vom RPi in eine VM auf einer der Diskstations zu migrieren. Viele Wege führen nach Rom. 😉
ZitatTelegram und Signal in FHEM sehen komplizierter aus.
Das täuscht aber sehr. Die Anleitungen sind gut.
LG
pah
Ich nutze seit ein paar Tagen ntfy.sh
Hauptvorteile für mich:
- FHEM Integration ohne weitere Installation
- Clients für iOS und Android, unter iOS wird der Batterieverbrauch m.E. nach als marginal ermittelt.
- Gratis (OK, kleine 1-mal Spende habe ich gemacht)
- Die Message wird unmittelbar zugestellt. Bei mir bislang per Mail empfangene Alarme hatten Verzögerungen bis zu 10 Minuten (unter iOS, Android war OK)
- Installation eines eigenen Servers möglich (muss im Internet erreichbar sein)
Nachteil:
- Neue App auf dem Smartphone
Hallo tplus,
Und du bist dir sicher, dass deine Internetverbindung noch funktioniert, wenn ein Stromausfall ist?
Ich nutze für solche Nachrichten WhatsApp (weils eh auf dem Handy drauf ist).
Nachricht wird über callmebot.com via HTTPMOD gesendet.
Kostet 4 EUR im Jahr, aber ich finds gut.
LG,
Stephan.
Zitat von: loescher am 12 März 2024, 21:24:09Hallo tplus,
Und du bist dir sicher, dass deine Internetverbindung noch funktioniert, wenn ein Stromausfall ist?
Habe mich schon gewundert, ob das nie zur Sprache kommt!
Evt. nutzt er einen LTE-Stick ?
Hallo loescher, wie sieht den die definition von HTTMOD genau aus (Interval und so).
Zitat von: loescher am 12 März 2024, 21:24:09Hallo tplus,
Und du bist dir sicher, dass deine Internetverbindung noch funktioniert, wenn ein Stromausfall ist?
Ich nutze für solche Nachrichten WhatsApp (weils eh auf dem Handy drauf ist).
Nachricht wird über callmebot.com via HTTPMOD gesendet.
Kostet 4 EUR im Jahr, aber ich finds gut.
LG,
Stephan.
Hi!
Zuerst forderst du für deine Handy-Nummer einen API Key an (wie auf callmebot.com beschrieben), den man dann verwenden kann:
https://api.callmebot.com/whatsapp.php?phone=[phone_number]&text=[message]&apikey=[your_apikey]
Die DEF für das HTTPMOD sieht dann so aus:
defmod BenachrichtigungWhatsAppStephan HTTPMOD none 0
attr BenachrichtigungWhatsAppStephan set01Name message
attr BenachrichtigungWhatsAppStephan set01TextArg 1
attr BenachrichtigungWhatsAppStephan set01URL https://api.callmebot.com/whatsapp.php?phone=+49xxxxxxxxxx&apikey=xxxxxx&text=$val
attr BenachrichtigungWhatsAppStephan set01IExpr uri_escape(uri_unescape($val))
attr BenachrichtigungWhatsAppStephan room Benachrichtigungen
attr BenachrichtigungWhatsAppStephan comment Sendet eine Nachricht per Callmebot über WhatsApp an Stephans Handy
Das uri_escape(uri_unescape(...)) hat den Zweck, dass %xx Codierung im Eingabe-String zuerst zurückgewandelt wird und danach alle Sonderzeichen wieder in Prozent-Codierung gewandelt werden.
Der Eingabe Text kann also beliebige Zeichen enthalten (auch das Prozentzeichen!) und eben auch mit Prozent codierte Zeichen, z.B.:
Achtung%E2%9D%97Windalarm!
Und so wird dann eine Nachricht gesendet:
set BenachrichtigungWhatsAppStephan message Nur ein erster Test!
LG,
Stephan.
Danke Stephan, läuft wunderbar...
Wo kommen die 4€ her, ist doch kostenlos oder nicht.
Natürlich kann man callmebot anfangs kostlos nutzen. Aber was ist schon wirklich kostenlos? Der Entwickler hat sich da eine Menge Arbeit gemacht
und er muß seine Server im Internet bezahlen.
Es ist irgendwann über den Bot eine höfliche Bitte nach 4 EUR pro Jahr Unterstützung gekommen und das sollte einem das API schon wert sein, finde ich.
LG,
Stephan.
Zitat von: loescher am 15 November 2024, 18:49:13Es ist irgendwann über den Bot eine höfliche Bitte nach 4 EUR pro Jahr Unterstützung gekommen und das sollte einem das API schon wert sein, finde ich.
Da widerspreche ich energisch. Entweder wir machen quelloffene Software, die jeder weiterentwickeln kann. Oder wir sind kommerziell unterwegs.
LG
pah
Es geht hier nicht um quelloffene Software, sondern darum, dass der Betreiber von callmebot einen Service (API) anbietet und dabei Kosten entstehen. Warum soll man das nicht finanziell unterstützen?
Aber das kann ja jeder selbst entscheiden, ob er das nutzen will und ob er was zahlen will.
LG,
Stephan.
Im Eingangspost schreibst du, dass dein Internet mit einer USV versorgt ist. Es kann bei einem größerem Stromausfall allerdings auch die Gegenstelle betroffen sein, dann würde nur Mobilfunk oder LoraWAN helfen.
Guck dir bitte einfach mal NTFY genau an. Wenn du den Server vom Entwickler nutzt, musst du nur ein Device in FHEM anlegen. Wie, habe ich unter diesem Post (https://forum.fhem.de/index.php?topic=137036.msg1323892#msg1323892) zusammengefasst.
Aus FHEM sendest du dann an dein Wunschtopic mit:
set NTFY0 publish @DeinWunsctopicDasNurDuKennstUndInDerAppAuchEingibst Achtueng! Stroemaussfall
Ist in 5 Minuten erledigt, wirklich.
Dazu würde ich, wenn es denn eine sauwichtige Info ist, die anderen Optionen (E-Mail etc.) zusätzlich nutzen.