Autor Thema: Modul PostMe  (Gelesen 12151 mal)

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4914
Modul PostMe
« am: 26 Oktober 2016, 22:17:35 »
Hallo Leute,

ich habe ein kleines Hilfsmodul geschrieben, mit dem man beliebig viele "Sticky Notes" generieren kann - ähnlich wie die gelben Post-Its von 3M.

Zu jedem dieser PostMes (sagen wir mal, eines heißt "Einkaufsliste" ...) kann man beliebig viele Stichworte (oder Strings) hinzufügen oder wieder wegnehmen.
Auf Knopfdruck wird ein solches PostMe per eMail oder Instant Messenger (z.B. Telegram) an vordefinierte Personen versandt, oder auf einem TTS-Device ausgegeben.

Mein Use-Case dazu: Per Spracherkennung auf einem wandhängenden Tablet wird die Einkaufsliste im Laufe der Woche gefüllt. Bei Wocheneinkauf kann man noch vom Supermarkt aus eine Telegram Message an unseren häuslichen Bot senden und bekommt die aktuelle Einkaufsliste zurück.
Außerdem kann man einen TelegramBot so aufsetzen, dass die Liste auch von außen per Telegram gefüllt werden kann.

Im Ergebnis ein sehr hoher WAF.

Das Modul wird inzwischen per regulärem Update verteilt.

Zur Dokumentation bitte ins Wiki schauen, http://www.fhemwiki.de/wiki/Modul_PostMe

LG

pah
« Letzte Änderung: 12 Dezember 2016, 17:08:20 von Prof. Dr. Peter Henning »

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3243
Antw:Modul PostMe
« Antwort #1 am: 26 Oktober 2016, 23:14:07 »
Hallo pah,

der Workaround in der Define-Funktion wegen $init_done ist nicht notwendig, da InternalTimer() nur blockiert, sofern der 4. Parameter auf 1 gesetzt ist. Siehe dazu: http://www.fhemwiki.de/wiki/DevelopmentModuleAPI#InternalTimer

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4914
Antw:Modul PostMe
« Antwort #2 am: 27 Oktober 2016, 05:22:26 »
Ah, ok. Das ist einfach eine Karteileiche, per Copy and Paste aus einem meiner anderen Module übernommen.

Danke, fliegt raus.

LG

pah

Offline laberlaib

  • New Member
  • *
  • Beiträge: 19
Antw:Modul PostMe
« Antwort #3 am: 27 Oktober 2016, 21:26:00 »
Sowas in der Art hatte ich gesucht und wollte mir auch mal anschauen, wie so eine Modulprogrammierung funktioniert (Fernziel: Anbindung an todo.txt, was ja eigentlich ähnlich ist wie hier, nur halt nicht Reading sondern Dateibasiert).

Wenn ich hier per remove etwas von der Liste nehmen will, was es nicht gibt, dann wird das ganze Reading geändert:
postme01Cont         Olub,Oluufdann ein
set pi_PostIts Apeman remove asdfffergibt
postme01Cont         Olub,OluuOluufset pi_PostIts Apeman remove hohoho2016.10.27 21:24:42 3: [Postme] Removed item hohoho from PostMe named Apemanpostme01Cont           Olub,OluuOluuOluuOluuf
--
RPi - AddOn-Board inkl. IR, HM, Bluetoothdongle, miniCUL433

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4914
Antw:Modul PostMe
« Antwort #4 am: 28 Oktober 2016, 06:43:56 »
Welche Version ?

LG

pah

Offline laberlaib

  • New Member
  • *
  • Beiträge: 19
Antw:Modul PostMe
« Antwort #5 am: 28 Oktober 2016, 13:11:17 »
Gestern hab ichs hier aus dem Forum runtergeladen.
Ich guck in die Datei wenn ich wieder daheim bin.

Edit:
my $postmeversion    = "0.31";
« Letzte Änderung: 28 Oktober 2016, 20:33:38 von laberlaib »
--
RPi - AddOn-Board inkl. IR, HM, Bluetoothdongle, miniCUL433

Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 901
Antw:Modul PostMe
« Antwort #6 am: 28 Oktober 2016, 17:08:21 »
Hallo,

nur für mich zum Verständnis. Ist sowas in der Art nicht schon mit dem Wunderlist Modul möglich ?
Ansonsten coole Idee.

Grüße,
Visionsurfer

Offline marvin78

  • Hero Member
  • *****
  • Beiträge: 4680
Antw:Modul PostMe
« Antwort #7 am: 28 Oktober 2016, 17:17:18 »
Es sind zwei verschiedene Ansätze. PostMe ist deshalb angenehm, weil es direkt auf FHEM basiert. Nichts liegt in der Cloud und man ist Herr seiner Daten. Das finde ich sehr gut.

wunderlist hat den Vorteil, dass man nicht noch sein eigenes Interface etc, bauen muss, um es bequem durch mehrere Personen, auch von Unterwegs, nutzen zu können.

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4914
Antw:Modul PostMe
« Antwort #8 am: 29 Oktober 2016, 04:59:41 »
Ich werde heute noch eine aktuelle Version hochladen - in 0.31 war eigentlich der Fehler beim "remove" schon behoben, wundert mich.

OK, wie geht es weiter, was ist das Ziel:

Erstens ist das Ding wirklich lokal (Wolkenlos, d.h. Cloud-frei), mit persistenter Speicherung der Listen in fhem.save.
Zweitens - das läuft bereits im Test - wird man es auf beliebigen Webseiten (auch außerhalb von FHEM !) mit einem einfachen <embed ...> Tag einbinden können. Der macht an Ort und Stelle wahlweise eine HTML-Mini-Tabelle oder eine SVG-Grafik mit mausaktiven "Pins". Fährt man mit der Maus drüber (oder, wahlweise, auf Klick), poppen die PostMe-Minifenster mit dem Inhalt hoch. Zum Ausprobieren mit der aktuellen Version 0.33 einfach mal als Icon-Attribut setzen:

<embed src="/fhem/PostMe_widget?type=pin&postit=PostIt"/>
(Achtung: statt PostIt muss der eigene Devicename drin stehen)

Drittens hat sich der Versand per Telegram oder eMail extrem gut bewährt, an der SMS und am Telefonanruf wird schon gearbeitet.

LG

pah
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2211
  • RTFM
    • commandref
Antw:Modul PostMe
« Antwort #9 am: 29 Oktober 2016, 12:41:26 »
Hallo pah,

kannst du noch kurz Beschreiben wie das mit der Telegram integration funktioniert?
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2384
    • Homepage
Antw:Modul PostMe
« Antwort #10 am: 29 Oktober 2016, 14:31:55 »
Moin, ich hab mir das Modul auch mal installiert, da ich schon länger nach einem Einkaufs- und Notizzettel suche. Müsste man nur noch TabletUI fähig machen, damit das schick aus sieht. Mit der Spracherkennung klingt auch interessant. Ich werde mir das mal anschauen.

/Daniel
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline TomLee

  • Full Member
  • ***
  • Beiträge: 271
Antw:Modul PostMe
« Antwort #11 am: 29 Oktober 2016, 15:53:32 »
Um die Notizen im FTUI anzuzeigen dachte ich mir versuchs mal mit nem iframe:

<header>Notizen</header>
<div data-type="iframe"
    data-src="http://192.168.188.26:8083/fhem/PostMe_widget?type=SVG&postit=poststick&name=Einkaufsliste" 
></div>

Sieht dann schon Mal so wie auf dem Bild im Anhang aus.😊
Nachteil ist wie bei meinen anderen bisherigen Ansätzen (mit readingsgroup und readingshistory) Notizen im Ftui anzuzeigen, das neue Einträge nur nach einem manuellen aktualisieren der Seite erscheinen.

Die blaue Schrift ist auf dem Bild verschwommen das liegt am abspeichern des bearbeiteten Bildes auf dem Tablet, im Ftui wird die Schrift richtig angezeigt. 

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4914
Antw:Modul PostMe
« Antwort #12 am: 29 Oktober 2016, 18:49:44 »
Einen Update-Mechanismus habe ich in Planung.

LG

pah

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2384
    • Homepage
Antw:Modul PostMe
« Antwort #13 am: 29 Oktober 2016, 19:10:13 »
Also irgendwie will das onmouseover nicht bei mir, es sieht nur aus wie im Anhang aber passiert nichts wenn ich drüber fahre. Oder es liegt am Chrome.

/Daniel

UPDATE: *lool* OK ist der PopUpBlocker, da gehen auf dem PC ja gleich hunderte Popups auf ;-) Ist mehr für Tablets gedacht ja ;-)
« Letzte Änderung: 29 Oktober 2016, 19:12:11 von ext23 »
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2211
  • RTFM
    • commandref
Antw:Modul PostMe
« Antwort #14 am: 29 Oktober 2016, 19:47:31 »
Hallo pah,

kannst du noch kurz Beschreiben wie das mit der Telegram integration funktioniert?
Habs nun selbst verstanden. Ich lege mir eine Sub an die die Nachricht zusammenbaut und gebe noch einen Empfänger für die entsprechende Liste an.
attr <PostMe> postme01MsgRec <TelegramID>
attr postmeMsgFun PostMeTelegram
sub PostMeTelegram($$$) {
  my ($recipient, $subject, $text) = @_;
  my @items = split(",", $text);
  @items = sort(@items);
 
  fhem("set TelegramBot message \@".$recipient." $subject:\n - ".join("\n - ", @items));
  return;
}

Ich würde mir gerne noch eine rename Funktion wünschen :)
« Letzte Änderung: 29 Oktober 2016, 19:50:40 von igami »
Pi3 mit fhem.cfg + DbLog/logProxy
FHEM Module: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, (powerMap)
FHEM Module ToDo: Babel, FluxLED, HABridgeUpdater

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

 

decade-submarginal