Modul PostMe

Begonnen von Prof. Dr. Peter Henning, 26 Oktober 2016, 22:17:35

Vorheriges Thema - Nächstes Thema

Masterfunk

Wo bekomme ich den das Widget und die Icons her?

Gruß Detlef

Prof. Dr. Peter Henning

Wie bereits im Wiki beschrieben: Das Widget wird automatisch erzeugt. Die Bilder der Pins habe ich von irgendwoher - das muss man schon selbst machen.

Ich habe inzwischen eine echt komfortable Steuerung über Telegram mit Inline-Keyboards realisiert. Bilder dazu gibt es hier: https://wiki.fhem.de/wiki/Modul_PostMe#Noch_komfortabler_verwalten_mit_Inline-Keyboards

Ich sage mal: Sehr hoher WAF.

LG

pah

Masterfunk

Soweit hinbekommen.

Noch eine Frage zu TTS.

Ich würde es gerne via AMAD Modul ausgeben.

Da heißt dder Befehl aber ttsMsg und nicht ttsSay.

Auch eine Ausgabe auf ein Sonos Device wäre schön.

Da heist es wiederum Speak <Volume> <Language>

Es wäre toll, wenn man das in einem Attribut auswählen könnte.

Gruß Detlef

Maista

#63
Hallo PAH,

ich bin dabei zu verstehen was Du mit deinem myUtil genau machst.

Im Wiki https://wiki.fhem.de/wiki/Modul_PostMe schreibst Du
Zitatattr Telegram favorites /start={telegramRecognition("menuData: Hauptmenü")};

Müsste es nicht
Zitatattr Telegram favorites /[start]={telegramRecognition("menuData: Hauptmenü")};
heißen ('start' in eckigen Klammern)?

Ich habe bei mir die fest angegeben Werte wie "Telegram", "<Name des Kontaktes>" und "Postit" durch Variablen ersetzt.
Somit muss ich nicht für meine beiden RPis alle relevanten Einträge im Modul ändern.

Danke Dir für die Arbeit!

Gruss Gerd

Prof. Dr. Peter Henning

Zitatheißen ('start' in eckigen Klammern)?

Nö - funktioniert so, wie ich es angegeben habe. Solche Fragen gehören übrigens zum TelegramBot-Modul, besser dort stellen

ZitatttsMsg

Hm - das ist ein valider Punkt. Ein Workaround lässt sich hiermit konstruieren: https://wiki.fhem.de/wiki/Cmdalias#Aufruf_in_Fhem

Das werde ich im Modul heute abend zwar nicht mehr ändern, aber sicher gegen Ende der Woche. Denn da muss ich etwas mehr machen, weil "enthält" und Pausen-Markup derzeit im Modul noch hart codiert sind.

LG

pah

Maista

ZitatNö - funktioniert so, wie ich es angegeben habe. Solche Fragen gehören übrigens zum TelegramBot-Modul, besser dort stellen

Na dann.
War keine Frage wie man Favoriten eingibt, sondern ob es ein Schreibfehler im Wiki ist.
Ohne Klammern sieht es bei mir im Menü nun mal anders aus.
Thema beendet für mich.

Gruss Gerd

Prof. Dr. Peter Henning

Ich habe eine neue Version des PostMe-Moduls eingecheckt. Dabei habe ich ein wesentliches Attribut geändert - nämlich ist nicht mehr das postmeTTSDev = Device für TTS-Ausgabe zu setzen, sondern (wie bei Mail und Messenger) eine externe Funktion ins Attribut postmeTTSFun einzutragen. Auf diese Weise kann man die TTS-Ausgabe mit verschiedenen TTS-Devices nutzen.

Wer - wie bisher - komfortable Pausen etc. einbauen möchte, muss jetzt also in seiner externen Funktion selbst die Zeichen ":" und "," durch entsprechendes Markup ersetzen, also z.B. als Funktion definieren:
sub sendTTS
{
my $text = shift;
$text =~ s/\:/ enthält \<break time="1s"\/\> /;
$text =~ s/,/\<break time="1s"\/\> /;
fhem("set GalaxyTab ttsSay ".$text);
return undef;
}

Prof. Dr. Peter Henning

Hier in diesem Post

https://forum.fhem.de/index.php/topic,38328.msg545806.html#msg545806

gibt es eine neue Beta-Version des PostMe-Moduls, mit verbesserter Unterstützung des Telegram Messengers. Sonst keine Neuheiten.

LG

pah

Prof. Dr. Peter Henning

#68
Neue Beta-Version 2.0beta4

Wenn man einem Listeneintrag (Item) per modify Befehl ein attribut "at" gibt, werden automatische Erinnerungstimer gesetzt

Beispiel: Die Liste "Todoliste" soll einen Item "Freigabe Artikel" beinhalten. Mit dem Kommando

set PostIt modify Todoliste Frei at 2017-01-05T10:00:00-24:00P5

sage ich FHEM, dass der Item "Freigabe Artikel"  am 5.Januar 2017 fällig ist, und dass (abgesehen von der finalen Erinnerungsnachricht zu diesem Zeitpunkt) bereits 5x vorher in Abständen von 24 Stunden eine Mail und/oder Message zur Erinnerung geschickt wird.

Beispiel: Die Liste "Todoliste" soll einen Item "Mülltonne rausstellen" beinhalten. Mit dem Kommando

set PostIt modify Todoliste Müll at 20:00-00:15P3

sage ich FHEM, dass der Item "Mülltonne herausstellen"  heute um 20:00 fällig ist, und dass (abgesehen von der finalen Erinnerungsnachricht zu diesem Zeitpunkt) bereits 3x vorher in Abständen von 15 Minuten eine Mail und/oder Message zur Erinnerung geschickt wird.

Bitte die anliegende Datei testen. Achtung: Benötigt das Perl-Modul Time::Local. Ggf. mit
cpan Time::Local
instalieren

LG

pah


Prof. Dr. Peter Henning

#69
Neue Version 2.0 eingecheckt, mit den beschriebenen Fixes und Erweiterungen.
Wiki ist mit dem Quellcode für die Telegram Inline-Keyboards erweitert worden.

LG

pah

budda85

Hallo zusammen,
eine kleine Frage. Wofür genau ist der Teil
$dp  = "<hier Adressaten>";
in dem Code für Telegram?

Prof. Dr. Peter Henning

#71
Legt fest, mit welcher Benachrichtigungsmessage an wen diese Liste geschickt wird. Beispielswiese bekomme ich die Nachricht "Gerne zu Diensten, Meister". Meine Frau bekommt eine andere Nachricht...

LG

pah


Edit: Siehe unten

budda85

So ganz verstanden habe ich es nocht nicht  ;D

Die Benachtichtung wird doch hier drüber geregelt.
   #-- Hier kann man - ggf. für jeden $querypeer anders ! - einstellen, welcher Bestätigungstext vom Bot
       gesendet wird, und ob es eine nicht-klickbare Liste (linke Spalte oben) oder eine klickbare Liste
       (rechte Spalte oben) sein soll
   if( $querypeer eq "Peter_A._Henning"){
      fhem("attr TelegramBot queryAnswerText Gerne zu Diensten, Meister !");
      $click=1;
   }elsif( $querypeer eq "Jacqueline_Henning"){
      fhem("attr TelegramBot queryAnswerText Gerne zu Diensten, Jacqueline !");
      $click=0;
   }else{
      fhem("attr TelegramBot queryAnswerText Gerne zu Diensten!");
      $click=0;
   }


Selbst wenn ich den Code
$dp  = "<hier Adressaten>";
so lasse, bekomme ich immer ein "Gerne zu Diensten, Meister! eingeblendet. Bei jedem Klick den ich im Inlinekeyboard mache.
Den $querypeer habe ich natürlich angepasst.

Prof. Dr. Peter Henning

Das ist ein Code, den ich bei mir so gar nicht mehr verwende und nur für das Wiki angepasst habe. Darum war die obige Antwort nicht ganz korrekt - der Message-Titel wird natürlich vorher schon pro Person gesetzt.

Die Variable $dp (Abkürzung für default_peer !) wird nur weiter unten verwendet, in
fhem(sprintf("attr PostIt postme%02dMsgRec \@$querypeer",$tg));
             fhem(        "get PostIt  message $cb1");
             fhem(sprintf("attr PostIt postme%02dMsgRec %s",$tg,$dp));

Mit der ersten Zeile wird dem PostMe-Modul mitgeteilt, dass die Liste an einen bestimmten Empfänger gesendet werden soll. Damit wird das Attribut postmeXXMsgRec überschrieben. Dann wird der Versand direkt aus PostMe getriggert. Und die dritte Zeile schreibt den default peer für diese Liste wieder in das Attribut.

LG

pah


ThomasMagnum

Hallo pah,

ich bin zur Zeit am Einrichten des Moduls "PostMe" und bin schwer begeistert - Vielen Dank schon mal für dieses tolle Modul!

Bei meinen heutigen Tests ist mir aufgefallen dass beim Nutzen der "remove" Funktion diese in folgendenm Fall die komplette Liste leert.
set Notizen remove Einkauf
In meinem Fall sind "Notizen" und "Einkauf" natürlich meine gewählten Namen und es wurde keine Listeneintrag angegeben. Ist es richtig das bei Weglassen / Vergessen eines Listeneintrages diese vollständig gelöscht wird oder handelt es sioch hierbei um einen Fehler?

Gruß, Thomas