FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Prof. Dr. Peter Henning am 26 Oktober 2016, 22:17:35

Titel: Modul PostMe
Beitrag von: Prof. Dr. Peter Henning 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
Titel: Antw:Modul PostMe
Beitrag von: Markus Bloch 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
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning 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
Titel: Antw:Modul PostMe
Beitrag von: laberlaib 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,Oluuf
dann ein
set pi_PostIts Apeman remove asdfff
ergibt
postme01Cont         Olub,OluuOluuf
set pi_PostIts Apeman remove hohoho
2016.10.27 21:24:42 3: [Postme] Removed item hohoho from PostMe named Apeman
postme01Cont           Olub,OluuOluuOluuOluuf
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 28 Oktober 2016, 06:43:56
Welche Version ?

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: laberlaib 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";
Titel: Antw:Modul PostMe
Beitrag von: visionsurfer 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
Titel: Antw:Modul PostMe
Beitrag von: marvin78 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.
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning 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
Titel: Antw:Modul PostMe
Beitrag von: igami am 29 Oktober 2016, 12:41:26
Hallo pah,

kannst du noch kurz Beschreiben wie das mit der Telegram integration funktioniert?
Titel: Antw:Modul PostMe
Beitrag von: ext23 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
Titel: Antw:Modul PostMe
Beitrag von: TomLee 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. 
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Oktober 2016, 18:49:44
Einen Update-Mechanismus habe ich in Planung.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: ext23 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 ;-)
Titel: Antw:Modul PostMe
Beitrag von: igami am 29 Oktober 2016, 19:47:31
Zitat von: igami am 29 Oktober 2016, 12:41:26
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 :)
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Oktober 2016, 20:00:58
rename für eine Liste ?

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: igami am 29 Oktober 2016, 20:28:22
Zitat von: Prof. Dr. Peter Henning am 29 Oktober 2016, 20:00:58
rename für eine Liste ?
Ja, falls man sich mal vertippt hat oder eine Liste umbenennen will (z.B. aus Einkaufsliste Einkaufsliste Edeka machen oder so)
Titel: Antw:Modul PostMe
Beitrag von: ext23 am 29 Oktober 2016, 20:59:34
Oder aus Wunschzettel eine Einkaufsliste ;-)))))
Titel: Antw:Modul PostMe
Beitrag von: yrwyddfa am 01 November 2016, 20:56:57
Mal einen kurzen unqualifizierten Beitrag zu dem Modul:

Die Idee ist brilliant! Meine Frau köpft mich, wenn ich ein Tablet in die Küche hänge, aber das ist großartig!
Titel: Antw:Modul PostMe
Beitrag von: igami am 02 November 2016, 06:13:01
Weiterhin bei der Einkaufsliste bleibend:
ich fände es gut, wenn man die Menge mit angeben könnte, z.B. getrennt über ein | (Äpfel|1 kg) und diesen Eintrag dann trotzdem mit "remove Einkaufsliste Äpfel" entfernen könnte.
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 02 November 2016, 07:28:13
Das kann man doch schon - Separator der einzelnen "Items" ist ein Komma. Man kann also Einträge der Form "1 Kilo Birnen,Äpfel [1kg],2 Flaschen Schweinefilet" machen (und sogar auf einer Zeile, wird alles nur in einem Reading gespeichert).

Problem ist nur die Form der Wiedergabe, das muss ggf noch anders formatiert werden.

Mein Vorschlag dazu: Wir machen das als mixed XML Data. Jedes Item kann (muss nicht) ein Tag der Form <data menge="..." wasauchimmer="..."/> bekommen.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: igami am 02 November 2016, 09:41:49
Aber dann müsste ich doch "remove Einkaufsliste Äpfel [1kg]" machen, anstatt "remove Einkaufsliste Äpfel"
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 02 November 2016, 10:04:36
Derzeit ja. Das ist aber relativ einfach zu ändern, indem man aus dem Matching-Algorithmus die Metadaten herausnimmt. Ca. 10 Zeilen Perl-Code

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: igami am 02 November 2016, 17:31:17
Zitat von: Prof. Dr. Peter Henning am 02 November 2016, 10:04:36
Derzeit ja. Das ist aber relativ einfach zu ändern
Deswegen wünsche ich es mir ja. Man müsste sich nur auf ein Trennzeichen festlegen. Mein Vorschlag wäre das Pipe-Zeichen | da man dies ja nicht so häufig verwendet.
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 03 November 2016, 18:00:25
Ich habe gerade eine neue Version 0.4 im ersten Post dieses Threads angehängt.

Zunächst einmal habe ich mich über die dämlichen Popups geärgert und so lange mit JavaScript und jQuery experimentiert, bis das jetzt alles ohne neue Fenster geht. War etwas mühsam, aber inzwischen kommt mit der Auswahl von jQuery ein Postit ohne neues Fenster hoch, das ist alsoi auch für Tablets geeignet.

Erste Schritte zur Integration von Metadaten habe ich vorgenommen. Und zwar sollen alle Metadaten in [..] eingeschlossen werden - der | als Separator bereitet an anderer Stelle (mein Alarmanlagen-Modul) manchmal etwas Schwierigkeiten.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 05 November 2016, 17:57:28
Neue Version 0.5 am ersten Post angehängt.

Kommt jetzt mit Metadaten zurecht, beispielsweise erzeugt die Eingabe

set PostIt modify Baumarktliste Estrichbeton Menge 1 Sack

(Estrichbeton muss natürlich vorher auf der Liste sein) den Listeneintrag

Estrichbeton [Menge="1Sack"]

Die Metadaten können mit einem neuen Kommando modify beliebig modifiziert werden.

Derzeit werden sie bei der Ausgabe (z.B. als Popup-Fenster) unterdrückt, beim Versand aber mitgeliefert.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: alec_osborne am 06 November 2016, 21:31:17
Danke für das Modul...Das hilft mir sehr.

Im letzten Metadaten Beispiel fügt er allerdings für das erste MetaTag [Estrichbeton Menge="1 Sack"] hinzu. Der zweite MetaTag ist dann korrekter Weise [Farbe="Grün"].

Ich würde die Trennung der Tags auch mit Komma separieren. Siehst du da ein Problem?

Gruß A.
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 06 November 2016, 21:49:16
1. Muss ich überprüfen - eventuell noch ein Fehler drin.

2. Ja, da sehe ich ein Problem. Soll so bleiben.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 07 November 2016, 14:19:24
OK, neue Version 0.6, sollte jetzt auch mit den Metadaten problemlos funktionieren.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Franz Tenbrock am 07 November 2016, 15:55:08
Hallo
gestern auf die schnelle installiert und es funktioniert schon mal  ;)
Hab mal so was hier aufgeschnappt wo das update auf eine neue Version ganz einfach ging.

update force https://raw.githubusercontent.com/tiroso/RBsmart/master/controls_rbsmart.txt

Das Modul ist eigentlich genau das was ich gesucht habe um schnell Infos zu verwalten.
Habe zwar schon vor 10 Jahren mit Spracheingabe experimentiert, aber weder zuhause noch in der Praxis hat sich das bisher bewährt. Wenn man alleine zuhause ist kein Problem. wenn die anderen aber mit im Raum sind und ich spreche mit dem PC kommt das nicht gut an.

Kurzum eine schlanke Eingabe wäre hilfreich, ebenso ein schnelles löschen per Klick wenn es abgearbeitet ist.
Eventuell hab ich es ja auch noch nicht ganz richtig bedient.
Aber die ersten Schritte waren super einfach
Titel: Antw:Modul PostMe
Beitrag von: jmike am 07 November 2016, 18:26:41
Hallo pah.

Weit hinten auf meiner Projektliste hatte ich bereits eine digitale Einkaufsliste, da kommt mir PostMe gerade recht. Danke!

Das einbinden in die FHEM UI macht mir etwas Schwierigkeiten. Unter Safari und Chrome geht sowohl der jQuery als auch HTML Content einer Liste nur 3-4x.
Danach gibt es keinen jQuery Content mehr oder das HTML Popup bleibt leer.
Andere FHEM Popups wie z.b. das rote ? gehen dann ebenfalls nicht mehr.

Bin noch nicht zur Ursache durchgestiegen, eventuell hat jemand anders auch das Problem bzw. ist schneller.

Glaube zwar nicht dass es daran liegt, aber im Code bin ich auf ein paar Zeilen (z.b. 847, 851, 939, 943) auf hardcoded device Namen gestossen:
  ... '$("#'.$sel.'").mouseover(function(){dlg1.load("/fhem/PostMe_widget?postit=PostIt&name='.$name.'",';

müsste '.$devname.' heissen oder?

lg
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 07 November 2016, 20:14:50
In der Tat, da ist aus den Experimenten ein hartcodiertes "PostIt" dringewesen, habe ich in der neusten Version 0.7 behoben. Danke fürs Testen.

Das Problem mit dem Blockieren des UI kann ich bisher nicht nachvollziehen - habe aus beruflichen Gründen auch in den nächsten Tagen nicht die Zeit, weiter am jQuery zu arbeiten.

In der aktuellen Version ist noch eine Ausgabe als JSON dazugekommen - man wird sehen, ob sich das bewährt. Außerdem habe ich alle gefundenen Fehler im Handling der Metadaten behoben.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Franz Tenbrock am 07 November 2016, 22:18:11
Hallo
soweit ich gelesen habe kann man ja Standardlisten generieren.
postmeStd Einkaufsliste, Termine, sonstiges
kann man in der
set PostIt   "Dropdownfeld add, create,etc"  Dropdownfeld Einkaufsliste, Termine, sonstiges"
also ein weiteres Dropdownfeld in dem ich mit der Maus auswählen kann wo ich was speichern will ev noch ein weiteres Dropdown das man mit Standardflosklen füllen kann.

Also mit klick klick alles ausfüllen ohne Schreibfehler etc und damit ist dann auch löschen einfacher

ev hab ich es ja einfach noch nicht verstanden
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 08 November 2016, 04:57:46
Ich wünschte, das ginge. Ist aber im FHEMWEB Frontend nicht vorgesehen, müsste also durch ziemlich viele JavaScript-Tricks realisiert werden. Dafür fehlt mir im Moment die Zeit.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: alec_osborne am 11 November 2016, 21:59:52
Hi pha,


sind Einträge mit mehreren Worten unterstützt?
Bei mir führt:
set Postit add Baumarktliste Farben Set
set Postit modify Baumarktliste Farben Set Dose blau


erst zu:
Farben Set

dann zu:
Farben [Set="Dose blau"]

Gibt es einen Möglichkeit das modify für Einträge mit mehreren Wörtern aufzurufen?
z.B.
set Postit modify Baumarktliste 'Farben Set' Dose blau


Gruß S.


Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 12 November 2016, 05:47:47
Es ist nicht eindeutig lösbar, in einem Befehl

set Listenname Wort1 Wort2 Wort3 Wort4 Wort5

den Eintrag von den Metadaten zu trennen - es sei denn, man führt noch einen zusätzlichen Separator ein.

Ich werde mal darüber nachdenken. Für den Moment bitte statt "Farben Set" entweder "Farbenset", oder "Farben-Set" oder "Farben_Set" verwenden.

Allerdings ist "Set" eine Angabe über die Verpackungseinheit, semantisch korrekt wäre also sogar noch etwas Anderes:

Farbe [Menge="Set" Dose="blau"]

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 07:48:14
Hallo,

ist die "Sub" zwingend erforderlich beim senden über Telegram?
Wenn ja, ist es möglich mir ein Beispiel zu senden?
Mein Telegram Device heißt "Telegram"  :D  ;D

So ein Modul habe ich immer schon gesucht - einfach genial  ;)
Ich bin in der Nähe vom "Real" und zack, bekomme ich meine Einkaufsliste - super  :D

LG, Michael
Titel: Antw:Modul PostMe
Beitrag von: igami am 10 Dezember 2016, 08:01:56


Zitat von: Mickey am 10 Dezember 2016, 07:48:14
ist die "Sub" zwingend erforderlich beim senden über Telegram?
Wenn ja, ist es möglich mir ein Beispiel zu senden?
Ich habe schon mal ein Beispiel gepostet.
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 08:52:41
Oh sorry, hab ich übersehen...  8) (Signatur)

Vielleicht zu "groß" gezoomt - Danke....

Also ist es zwingend erforderlich, weil "ohne" hängt sich Fhem
beim senden komplett auf  :(

Danke für die Hilfe, lg, Michael
Titel: Antw:Modul PostMe
Beitrag von: igami am 10 Dezember 2016, 09:02:16
Zitat von: Mickey am 10 Dezember 2016, 08:52:41
Also ist es zwingend erforderlich, weil "ohne" hängt sich Fhem
beim senden komplett auf  :(
notwendig nur, wenn du das senden über das PostMe Modul auslösen willst
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 09:21:51
Ja, genau - Das wäre mein Ziel über`s Modul senden. Wäre ideal  :)
Ich habe es jetzt gefunden - einfach nur in die 99_myUtils.pm "rein" kopieren?

Zitatset TelegramBot

Den Namen TelegramBot so belassen, oder?

sub Telegram($$$) {
  my ($recipient, $subject, $text) = @_;
  my @items = split(",", $text);
  @items = sort(@items);
 
  fhem("set TelegramBot message \@".$recipient." $subject:\n - ".join("\n - ", @items));
  return;
}


Sorry, für meine Fragen, ich versuche es nur "richtig" zu machen.

LG, Michael und danke für die Hilfe  ;)
Titel: Antw:Modul PostMe
Beitrag von: igami am 10 Dezember 2016, 09:31:02
Zitat von: Mickey am 10 Dezember 2016, 09:21:51
Den Namen TelegramBot so belassen, oder?
Nur, wenn dein TelegramBot TelegramBot heißt, aber bei dir heißt er Telegram ;)
also statt "set TelegramBot..." "set Telegram..."
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 09:38:20
Ja genau ...

Nur verstehe ich dann

Zitatsub PostMeTelegram($$$)

nicht.

PostMeTelegram hat nichts mit Telegram zu tun, nur mit dem attr postmeMsgFun PostMeTelegram?

Wenn`s so ist, hab ich`s dann  :) :) :)

Danke, Michael
Titel: Antw:Modul PostMe
Beitrag von: igami am 10 Dezember 2016, 09:40:55
Der Name der Funktion ist egal, muss nur mit dem was im PostMe Attribut gesetzt ist übereinstimmen.
Titel: Antw:Modul PostMe
Beitrag von: Markus Bloch am 10 Dezember 2016, 10:08:06
Hallo pah,

Zitat von: Prof. Dr. Peter Henning am 12 November 2016, 05:47:47
Es ist nicht eindeutig lösbar, in einem Befehl

set Listenname Wort1 Wort2 Wort3 Wort4 Wort5

den Eintrag von den Metadaten zu trennen - es sei denn, man führt noch einen zusätzlichen Separator ein.

Ich werde mal darüber nachdenken.

hier kann Dir die Funktion parseParams() weiterhelfen: http://www.fhemwiki.de/wiki/DevelopmentModuleAPI#parseParams

Diese Funktion ist genau dafür gedacht komplexere Argumente für Set/Get/Define-Befehle zu parsen. Damit könnte man diese Abtrennung einfach erreichen.

Viele Grüße

Markus
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 10 Dezember 2016, 11:21:06
Hallo Markus,

kenne ich doch. Das Problem ist nicht das Parsen - sondern die möglichst einfache Syntax, die auch aus der Sprachsteuerung und per Telegtram verwendet werden kann.

LG

pah
Titel: PostMe per Telegram befüllen.
Beitrag von: Prof. Dr. Peter Henning am 10 Dezember 2016, 11:40:28
Ich habe gerade im Wiki noch ein Beispiel hinzugefügt, wie man über Telegram die Listen auch befüllen kann.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 16:06:50
Hallo, ich habe folgendes bei dem Modul beobachtet,

wenn ich eine Liste mit set PostIt clear Real lösche, in meinen Fall mit einen DOIF

([PostIt:state] eq "Real sent by messenger") (set PostIt clear Real)

kann ich mit

set PostIt add Real irgendwas

nichts mehr auf der Liste hinzufügen. Erst nach einem Neustart von Fhem.

Kann das wer verifizieren oder mache ich da was falsch?

LG, Michael
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 10 Dezember 2016, 16:34:16
Das geht aber eigentlich problemlos. Was sagt denn das Logfile dazu ?

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 16:43:36
Das habe ich im log gefunden

Zitat2016.12.10 13:39:26 1: [PostMe_Get] with key=message
2016.12.10 13:39:26 3: [PostMe] Cleared PostMe named Real
2016.12.10 13:39:27 3: [PostMe] Real sent by messenger

Zitat2016.12.10 15:46:05 3: [PostMe] Cleared PostMe named Real
2016.12.10 15:46:05 3: [Postme] Added item Schokolade to PostMe named Real
2016.12.10 15:46:33 0: Server shutdown

Schokolade wurde nicht hinzugefügt, erst nach dem Neustart.

Zitat2016.12.10 15:47:41 3: [Postme] Added item Schokolade to PostMe named Real


Grüße, Michael
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 10 Dezember 2016, 16:50:43
Kann nicht sein, das Log sagt das Gegenteil, und zwar vor dem Shutdown.

LG

pah

Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 16:58:58
Ich schwöre - es stand nichts drin  ;)

Echt, wirklich - Erst nach dem Shutdown konnte ich was eintragen.

LG, Michael
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 17:04:23
siehe Anhang

Zitat2016.12.10 17:01:58 1: [PostMe_Get] with key=message
2016.12.10 17:01:59 3: [PostMe] Cleared PostMe named Real
2016.12.10 17:01:59 3: [PostMe] Real sent by messenger
2016.12.10 17:02:21 3: [PostMe] Cleared PostMe named Real
2016.12.10 17:02:21 3: [Postme] Added item Banane to PostMe named Real

LG, Michael
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 17:08:05
uuuuupssssss....

kann am DOIF liegen ....

Oh no ..... ich teste das mal

EDIT:
SORRY, es lag am DOIF - Tut mir leid, war meine Schuld  :(


LG, Michael
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 10 Dezember 2016, 17:17:59
Kein Problem. Im Gegensatz zu dem, was manche gerne behaupten, fresse ich keine Anfänger.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 10 Dezember 2016, 17:22:17
neeeee, tust du nicht  ;)

Hast mir schon mal geholfen, war einwandfrei -  :)

DANKE und LG, Michael

Und und und , sorry wegen dem DOIF -  :D
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 11 Dezember 2016, 12:09:32
Ich habe gerade eine neue Version eingecheckt (1.3), bei der durch ein paar Umbiegungen die Detailansicht weniger fehleranfällig ist - man muss den Listennamen nicht händisch eintragen.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Laffer72 am 12 Dezember 2016, 14:26:10
Hallo ,

hab grad die neueste Version eingespielt (1.3). Bei mir läßt sich jetzt in der Deteilansicht nicht mehr auf die Attribute klicken. Normalerweise wenn ich auf ein Attribut klicke füllt er das Eingabefeld mit dem Inhalt des Attributes oder zeigt ein Auswahlmenü (z.B.bei postmestyle) an.
Das funktioniert bei mir weder am Android-Tablet noch am Computer mit Edge. Bei anderen Devices funktioniert es ohne Probleme

Vielleicht kannst Du ja es da wieder ein klein wenig "zurückbiegen".

Danke.

Viele Grüße

Reinhard
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 12 Dezember 2016, 14:56:45
Hallo,

bei mir (Safari) geht das klicken auf die Attribute auch nicht mehr ...

by the way - das modul ist mega genial  ;) und wird immer besser  :D

LG, Michael
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 12 Dezember 2016, 17:38:32
Das Problem mit den nicht mehr anklickbaren Attributen wurde durch eine nicht ganz saubere Implementierung im FHEMWEB verursacht. Ich habe das jetzt umgangen, indem diese Routinen (zur automatischen Erzeugung der Dropdown-Listen) gar nicht mehr verwende. Ist eingecheckt als Version 1.4

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Masterfunk am 17 Dezember 2016, 12:00:01
Wo bekomme ich den das Widget und die Icons her?

Gruß Detlef
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 18 Dezember 2016, 07:07:21
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
Titel: Antw:Modul PostMe
Beitrag von: Masterfunk am 18 Dezember 2016, 18:27:00
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
Titel: Antw:Modul PostMe
Beitrag von: Maista am 18 Dezember 2016, 20:09:53
Hallo PAH,

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

Im Wiki https://wiki.fhem.de/wiki/Modul_PostMe (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
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 18 Dezember 2016, 21:06:59
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
Titel: Antw:Modul PostMe
Beitrag von: Maista am 18 Dezember 2016, 21:30:46
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
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 22 Dezember 2016, 04:19:51
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;
}
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 24 Dezember 2016, 06:51:21
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
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 25 Dezember 2016, 13:41:54
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

Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 02 Januar 2017, 22:04:11
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
Titel: Antw:Modul PostMe
Beitrag von: budda85 am 12 Januar 2017, 11:22:13
Hallo zusammen,
eine kleine Frage. Wofür genau ist der Teil
$dp  = "<hier Adressaten>";
in dem Code für Telegram?
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 12 Januar 2017, 15:11:00
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
Titel: Antw:Modul PostMe
Beitrag von: budda85 am 13 Januar 2017, 06:31:01
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.
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 13 Januar 2017, 08:03:23
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

Titel: Antw:Modul PostMe
Beitrag von: ThomasMagnum am 26 Januar 2017, 18:25:46
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
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 28 Januar 2017, 01:30:00
Na, ein Fehler nicht direkt - das Modul interpretiert den leeren String korrekterweise als Bestandteil aller Einträge.

Ich denk mal drüber nach, ob ich das abfange.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Fixel2012 am 31 Januar 2017, 20:43:52
Hey,
das Modul hört sich echt super an!

Leider habe ich es bisher weder geschafft ein PostMe via Telegram zu verschicken, noch das PostMe verschönert anzuzeigen(siehe bild im Wiki).

Ich denke das PostMe grafisch anzuzeigen geht über folgenden Code: <embed src="/fhem/PostMe_widget?type=pins&postit=<postit>"/>
Aber wo füge ich den Code ein, bzw was stelle ich mit ihm an? ::) ;D

Wie hier schon in den Kommentaren beschrieben wurde, habe ich in der 99_MyUtils.pm den Code eingefügt und entsprechend für mich abgeändert (nameder Sub und Telegram sende Befehl).

Leider Erfolgs los... Was mache ich falsch?

Hier noch ein List des device:

Internals:
   CFGFN
   NAME       PostIt
   NR         168
   STATE      Initialized
   TYPE       PostMe
   mayBeVisible 1
   Readings:
     2017-01-31 20:37:49   postme01Cont    Sauerkraut
     2017-01-28 13:44:34   postme01Name    Einkaufsliste
     2017-01-28 13:49:50   postme02Cont
     2017-01-28 13:49:50   postme02Name    TEST
     2017-01-28 13:49:50   postmeCnt       2
     2017-01-31 12:00:36   state           Initialized
Attributes:
   postmeClick 0
   postmeIcon images/default/pin_red_32.png
   postmeMsgFun PostMeTelegram
   postmeStyle jQuery
   room       Zentral


Der Code in meiner 99_MyUtils.pm:

sub PostMeTelegram($$$) {
  my ($recipient, $subject, $text) = @_;
  my @items = split(",", $text);
  @items = sort(@items);
 
  fhem ("set teleBot message \@".$recipient." $subject:\n - ".join("\n - ", @items));
  return;
}



Kann mir dort jemand helfen?
Danke und Gruß Fixel
Titel: Antw:Modul PostMe
Beitrag von: ThomasMagnum am 01 Februar 2017, 07:37:21
Hallo pah,

habe per Update gesehen das du eine Prüfung eines leeren Listeneintrag eingebaut hast.
Vielen Dank dafür!

Hintergrund war nicht die Bedienung per Webview, sondern per Jabber, da kann es schon mal vorkommen das kein Listeneintrag mit übergeben wird.

Gruß, Thomas
Titel: Antw:Modul PostMe
Beitrag von: igami am 16 Februar 2017, 10:48:06
Ich würde mir noch wünschen, dass man bei get eine eigenen Funktion angeben kann.
Z.B. "get PostMe userfuc all" und dann bekommt man eben den Rückgabewert seiner Funktion angezeigt.

Und ich würde gerne die Meldung "Error, item $item is already present in PostMe $listname" unterdrücken können. z.B. als Attribut noWarning
Titel: Antw:Modul PostMe
Beitrag von: budda85 am 28 Februar 2017, 07:58:15
Guten Morgen,
ich verstehe das mit dem FHEM2FHEM nicht ganz, so wie es im Wiki beschrieben ist.

Ich mache mir also ein zweites FHEM auf einem zweiten Raspberry. Hier richte ich mir dann den TelegramBot ein plus das notify.
Alles andere, wie PostMe und die Sachen für die myUtils richte ich dann an meinem "Haupt-FHEM" ein und richte ein FHEM2FHEM per Log ein.
Ist das richtig? Oder muss ich auf dem zweiten FHEM auch wieder FHEM2FHEM einrichten damit ich die Ergebnisse von der Sub bekomme?

Bin über jeden Tipp dankbar  :)
Gruß
Jan
Titel: Antw:Modul PostMe
Beitrag von: Loredo am 27 März 2017, 17:47:22
Zitat von: igami am 16 Februar 2017, 10:48:06
Und ich würde gerne die Meldung "Error, item $item is already present in PostMe $listname" unterdrücken können. z.B. als Attribut noWarning


Ist mir auch aufgefallen, als ich den Support für den msg-Befehl (https://forum.fhem.de/index.php/topic,69683.msg612220.html#msg612220) hinzugefügt habe.
Eine geringerer Schwellenwert fürs Logging wäre u.U. eher wünschenswert. IMHO sind das keine Priorität 1 Nachrichten, eher 4 oder maximal 3.

Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 27 März 2017, 20:59:48
ZitatEine geringerer Schwellenwert fürs Logging wäre u.U. eher wünschenswert. IMHO sind das keine Priorität 1 Nachrichten, eher 4 oder maximal 3.

Sehe ich anders - denn das ist wirklich ein Bedienungsfehler, weil items nicht doppelt vorkommen dürfen. Speziell für die Items, die aus dem msg-Modul kommen: Die sollten m.E. einen (abgekürzten ?) Zeitstempel bekommen, dann tritt das Problem gar nicht auf.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Loredo am 27 März 2017, 23:26:53
Zitat von: Prof. Dr. Peter Henning am 27 März 2017, 20:59:48Speziell für die Items, die aus dem msg-Modul kommen: Die sollten m.E. einen (abgekürzten ?) Zeitstempel bekommen, dann tritt das Problem gar nicht auf.


Leider kann man keine Leerzeichen für den Namen der Listen verwenden, weshalb hier aktuell nur blieb die Nachrichtendetails als Attribute und somit mehrere Nachrichten auf dem selben PostIt abzulegen. Die Attribute kann man sich in der FHEMWEB UI natürlich aktuell nicht über jQuery o.ä. anzeigen lassen.


Mit "modify" lassen sich auch keine Attribute hinzufügen, sofern im Item ein Leerzeichen enthalten ist. Daher ist Item aktuell auch nicht ganz als Träger für eine längere Nachricht geeignet, ohne auf die Nutzung von Attributen zu verzichten.


---


TL;DR


Ich habe jetzt nochmal etwas herumgespielt. Schade ist, dass die Notizzettelnamen keine Leerzeichen beinhalten können und keine Leerzeichen im Text (bzw. bei dessen Anzeige) berücksichtigt werden. Wenn dann noch die Attribute funktionieren würden, dann wäre es ziemlich genial.
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 28 März 2017, 03:51:22
Dass keine Leerzeichen in Namen vorkommen dürfen, soll eigentlich so bleiben. Ist aber keine Einschränkung - ich verwende z.B. in Peters_Liste einen Unterstrich.
Warum also nicht für eine Systemnachricht verwenden

set PostMe create 2017-03-28_Systemnachricht

Items dürfen beliebig viele Leerzeichen haben. Und selbstverständlich kann man auch solchen Items Attribute geben.
Beispiel:

set PostMe add Peters_Liste Düse Gartenschlauch => fügt das Item Düse Gartenschlauch hinzu
set PostMe modify Peters_Liste Düse Farbe hellblau => macht daraus Düse Gartenschlauch [Farbe="hellblau"]
set PostMe modify Peters_Liste Düse Marke nicht Gardena => macht daraus Düse Gartenschlauch [Farbe="hellblau" Marke="nicht Gardena"]


Der Trick besteht also darin, zur Erkennung nicht das gesamte Item zu verwenden, sondern lediglich den führenden Begriff.

Derzeit hat man also das Problem, dass zwei verschiedene Items "Düse Staubsauger" und "Düse Gartenschlauch" zwar möglich sind - aber dann für den zweiten Item keine Attribute gesetzt werden können. Möglicherweise kann ich das bei Gelegenheit noch escapen - also dafür sorgen, dass man beim Setzen vpn Attributen das Leerzeichen im Item als \s o.ä. angeben kann.  Ich habe aber derzeit extrem viel andere Dinge um die Ohren, das kommt also nicht sehr schnell...
Denn eine Einschränkung ist das ja auch nicht - man könnte z.B. problemlos "Gartenschlauchdüse" und "Staubsaugerdüse" verwenden - das ist ja der Vorteil der deutschen Sprache ...

Im Übrigen schlage ich vor, konkrete Wünsche an das Modul auch so zu benennen - und nicht so hintenrum als "schade, dass das und das nicht geht" zu formulieren.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Loredo am 02 April 2017, 22:30:30

Hallo pah,

Mir ist noch aufgefallen, dass im Logfile ein paar Fehler auftauchen:


2017.04.02 22:07:18.350 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1019, <$fh> line 366.
2017.04.02 22:07:18.351 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1085, <$fh> line 366.
2017.04.02 22:07:20.358 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/95_PostMe.pm line 148.
2017.04.02 22:29:58.680 1: PERL WARNING: Use of uninitialized value $res in string ne at ./FHEM/95_PostMe.pm line 192.


Ich wünsche mir konkret, dass diese bei Gelegenheit korrigiert werden. (besser so?)



Gruß
Julian
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 03 April 2017, 07:36:11
Besser. Verschafft mir aber immer noch nicht mehr Zeit  ;)

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: yrwyddfa am 15 April 2017, 11:53:41
Ist es angedacht / möglich / gewünscht, wunderlist mit einzubinden? Also beispielsweise, dass eine fertige List an Wunderlist geschickt wird, um die dortigen Einträge zu ergänzen?
Bei uns ist Wunderlist wegen der Amazon-Push-Buttons am Laufen (und, weil meine Frau sich dafür erwärmen ließ - sie auf ein neues System zu bringen dürfte sich als komplex erweisen).
Titel: Antw:Modul PostMe
Beitrag von: yrwyddfa am 07 Mai 2017, 18:40:30
Zur Wunderlist: nachdem der Dienst wohl demnächst eingestellt wird, hat sich das nun wohl von selbst erledigt ;)

Ich habe derzeit allerdings das Problem, dass, sobald ich irgendetwas mit dem Modul anstellen möchte, mir das mit einem Whitescreen quitiert wird. Das betrifft sowohl Das Hantieren mit Listen (add, create, ...) als auch ein list laufen in eine weiße Seite.

Die Logfile sagt folgendes:


2017.05.07 18:25:42 3: FHEMWEB WEB CSRF error:  ne csrf_XXXXXXXXXXXXXXXXX. For detals see the csrfToken FHEMWEB attribute
2017.05.07 18:31:11 3: FHEMWEB WEB CSRF error: csrf_YYYYYYYYYYYYYYYYYYYYYYY ne csrf_ZZZZZZZZZZZZZZZZZZZZZ. For detals see the csrfToken FHEMWEB attribute
2017.05.07 18:31:12 3: FHEMWEB WEB CSRF error: csrf_AAAAAAAAAAAAAAAAAAAAA ne csrf_BBBBBBBBBBBBBBBBBBB. For detals see the csrfToken FHEMWEB attribute


Sonst habe ich nirgendwo Schwiergkeiten. Wenn ich probehalber

attr WEB csrfToken none


setze, funktioniert sowohl ein list als auch das Arbeiten mit den Listen problemlos. Muss hier noch irgendetwas gesetzt werden, damit das mit dem csrtToken richtig funktioniert?
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 07 Mai 2017, 19:42:49
Irgendwann werde ich das in das Modul einbauen. Dauert aber.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: yrwyddfa am 08 Mai 2017, 19:03:28
Ah ok. Dsnke für die Info. Bin von einem PEBCAK ausgegangen ^^
Da ich eh den Zugriff von außen komplett untersagt habe ist das auch erst mal kein Problem für mich es so zu lassen.

Manchmal könnt so ein Tag auch wirklich mal 24 Stunden mehr haben ;)
Titel: Antw:Modul PostMe
Beitrag von: joomba am 17 Juli 2017, 23:15:35
N'Abend,

ich habe gerade in meinem LOG folgende Einträge gefunden:

2017.07.17 23:04:57 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1019, <$fh> line 366.
2017.07.17 23:04:57 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1085, <$fh> line 366.
2017.07.17 23:04:59 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/95_PostMe.pm line 148.


Sieht das bei euch auch so aus, oder ist das nur bei mir so?

Edit: Den Beitrag von Loredo hatte ich übersehen. Somit bin ich nicht alleine ;D
Zitat von: Loredo am 02 April 2017, 22:30:30
Hallo pah,

Mir ist noch aufgefallen, dass im Logfile ein paar Fehler auftauchen:


2017.04.02 22:07:18.350 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1019, <$fh> line 366.
2017.04.02 22:07:18.351 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1085, <$fh> line 366.
2017.04.02 22:07:20.358 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/95_PostMe.pm line 148.
2017.04.02 22:29:58.680 1: PERL WARNING: Use of uninitialized value $res in string ne at ./FHEM/95_PostMe.pm line 192.


Ich wünsche mir konkret, dass diese bei Gelegenheit korrigiert werden. (besser so?)



Gruß
Julian

Gruss
joomba
Titel: Antw:Modul PostMe
Beitrag von: ToM_ToM am 28 Juli 2017, 17:52:02
Hey, interessantes Modul.

Ich habe nur ein Problem mit der Steuerung über die Oberfläche.

Das als Code funktioniert perfekt:
set PostIt add Einkaufsliste Margarine

Aber wenn ich das über die FHEM-Oberfläche mache (im Dropdown "add" auswähle und daneben im Dropdown "Einkaufsliste" und dann in das Feld daneben "Margarine" schreibe und dann vorne auf "set" clicke, dann bekomme ich nur eine weiße Seite. Es wurde auch nichts auf die Liste übernommen.

VG, Thomas
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 28 Juli 2017, 19:32:03
ZitatHey
Wer soll denn damit gemeint sein ?

Ich tippe auf einen Fehler bei der Installation.

pah
Titel: Antw:Modul PostMe
Beitrag von: ToM_ToM am 29 Juli 2017, 11:17:44
ZitatWer soll denn damit gemeint sein ?
Bei keiner expliziten Ansprache einer bestimmten Person, sind damit alle gemeint. Also ein ganz normaler Gruß in die Runde. ;)

ZitatIch tippe auf einen Fehler bei der Installation.
Ich habe das Modul ja nicht selbst installiert. Heißt das, ich muss jetzt FHEM neu installieren?

EDIT: Okay, habe das Problem gefunden. Es funktioniert hier in der Web-Oberfläche nicht wenn man FHEM per https:// aufruft. Per http:// funtkioniert es.

VG, Thomas
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Juli 2017, 13:12:34
Zitatganz normaler Gruß
Ansichtssache.

Bitte mal die Dokumentation zu HTTPS lesen.

pah
Titel: Antw:Modul PostMe
Beitrag von: ToM_ToM am 29 Juli 2017, 13:30:50
ZitatBitte mal die Dokumentation zu HTTPS lesen.

Welche speziell? Link...?
Dann werde ich das gerne mal tun.

Mit allen anderen Modulen funktioniert das mit dem SET über die Weboberfläche (auch mit HTTPS) wunderbar. Wenn ich weiß dass es mit dem Modul nicht geht, ist auch okay. Dachte nur, vielleicht wäre das noch niemanden aufgefallen.

VG, Thomas
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 11 August 2017, 01:06:30
Hallo --> Prof. Dr. Peter Henning  :o

Man sagt ihm nach, er würde "Anfänger" essen - dem ist bei mir nicht so gewesen.

Info:
Ich nutze das Modul täglich, es schickt mir meine Einkaufsliste`n per Telegram in Abhängigkeit
des Standorts (geofancy) automatisch zu.

Frage:
Kann ich das irgendwie ändern? Beziehungsweise wonach soll ich suchen?
Oder so lassen?

Zitat
2017.08.01 22:29:12 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/95_PostMe.pm line 148.

lg/ Michael
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 11 August 2017, 04:38:25
Sieh mal einer an, das ist tatsächlich ein Fehler im Modul - irgendwie bin ich davon ausgegangen, dass eine oder mehrere "Standard"-Listen definiert sind.
Wird (möglichst umgehend) gefixt, Schneller Workaround: Bitte immer mindestens eine Standard-Liste definieren, oder die Warnungsmeldung ignorieren.

LG

pah

P.S.: Ich glaube an die positive Wirkung der evolutionären Auslese und fresse deshalb Anfänger, die a.) unwillig sind oder b.) allzu forsch auftreten.

Titel: Antw:Modul PostMe
Beitrag von: Mickey am 11 August 2017, 10:29:41
Super Danke, dann warte ich lieber auf den fix.

Das verstehe ich:

Zitat

Ich glaube an die positive Wirkung der evolutionären Auslese und fresse deshalb Anfänger, die a.) unwillig sind oder b.) allzu forsch auftreten.


lg/ Michael
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 11 August 2017, 20:04:50
Da ich am Modul derzeit größere Änderungen vornehme, kann das nächste Einchecken noch eine Weile dauern.

Einfach in der Zeile
   my @std  = split(',',AttrVal("$devname","postmeStd",undef));

das undef durch ein "" ersetzen.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 14 August 2017, 22:25:20
Pah,

vielen, vielen dank



my @std  = split(',',AttrVal("$devname","postmeStd",undef));



LG, Michael
Titel: Antw:Modul PostMe
Beitrag von: Mickey am 15 August 2017, 01:23:07
Hallo Pah, guten Morgen Pah,

wenn ich dich gerade an der "Strippe" habe:

ist es möglich und/oder macht es sinn die "Sub" für Telegram mit ins Modul zu nehmen?



sub PostMeTelegram($$$) {
  my ($recipient, $subject, $text) = @_;
  my @items = split(",", $text);
  @items = sort(@items);
 
  fhem("set Telegram message \@".$recipient." $subject:\n - ".join("\n - ", @items));
  return;
}



Bei mir läuft das so:
Alexa Einkaufsliste --> Wunderlist --> PostMe --> Geofancy --> Telegram = 1A*** !

LG, Michael
Titel: Antw:Modul PostMe
Beitrag von: igami am 29 September 2017, 12:53:00
Habe da was entdeckt

2017.09.29 12:50:57 1: [PostMe_Add] Error, item r is already present in PostMe Einkaufsliste

Dabei steht auf der Liste nur "Druckerpapier,Spülmittel,Ä,Ü" aber kein einzelnes kleines r ;)
Titel: Antw:Modul PostMe
Beitrag von: fretti am 26 Oktober 2017, 18:00:07
Hallo zusammen,

habe heute versucht eine Einkaufliste einzurichten...

defmod PostIt PostMe
attr PostIt room Allgemein,Kueche
attr PostIt verbose 5

setstate PostIt 2017-10-26 17:33:04 postme01Cont
setstate PostIt 2017-10-26 17:33:04 postme01Name Einkaufsliste
setstate PostIt 2017-10-26 17:33:04 postmeCnt 1
setstate PostIt 2017-10-26 17:32:56 state Initialized


wenn ich dann ein
set PostIt add Einkaufliste Mehl
mache, bekomme ich eine leere Browserseite und kann nur noch mit der Back-Taste zurück zu fhem und das Mehl ist nicht auf der Liste

Im Log erschein keine Eintrag

Was mache ich verkehrt

Gruß fretti
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 26 Oktober 2017, 20:58:00
Woher stammt denn der Käse mit dem "setstate" ?

Bitte mal die Anfängerdokumentation lesen, und dann die Commandref zu PostMe.

LG

pah

Titel: Antw:Modul PostMe
Beitrag von: fretti am 26 Oktober 2017, 22:25:04
Danke für den Hinweis  >:( Da hab ich wohl was falsches kopiert.

Folgende Befehle habe ich eingegeben:


define PostIt PostMe
attr PostIt icon <embed src="/fhem/PostMe_widget?type=pins&postit=PostIt"/>
attr PostIt postmeClick 0
attr PostIt postmeStd Einkaufsliste
attr PostIt room Allgemein,Kueche
attr PostIt verbose 5

set PostIt create Einkaufsliste


und nach set PostIt create Einkaufsliste
hängt die Web-Oberfläche.

Aktuelle Updates sind eigentlich auch alle drin.

Irgendjemand eine Idee.
Titel: Antw:Modul PostMe
Beitrag von: budda85 am 26 Oktober 2017, 22:28:45
Guten Abend.
Hast du das schon probiert?

https://forum.fhem.de/index.php?topic=59717.msg631779.msg#631779

Gesendet von meinem Wileyfox Swift mit Tapatalk

Titel: Antw:Modul PostMe
Beitrag von: budda85 am 26 Oktober 2017, 22:30:43


Zitat von: yrwyddfa am 07 Mai 2017, 18:40:30
Zur Wunderlist: nachdem der Dienst wohl demnächst eingestellt wird, hat sich das nun wohl von selbst erledigt ;)

Ich habe derzeit allerdings das Problem, dass, sobald ich irgendetwas mit dem Modul anstellen möchte, mir das mit einem Whitescreen quitiert wird. Das betrifft sowohl Das Hantieren mit Listen (add, create, ...) als auch ein list laufen in eine weiße Seite.

Die Logfile sagt folgendes:


2017.05.07 18:25:42 3: FHEMWEB WEB CSRF error:  ne csrf_XXXXXXXXXXXXXXXXX. For detals see the csrfToken FHEMWEB attribute
2017.05.07 18:31:11 3: FHEMWEB WEB CSRF error: csrf_YYYYYYYYYYYYYYYYYYYYYYY ne csrf_ZZZZZZZZZZZZZZZZZZZZZ. For detals see the csrfToken FHEMWEB attribute
2017.05.07 18:31:12 3: FHEMWEB WEB CSRF error: csrf_AAAAAAAAAAAAAAAAAAAAA ne csrf_BBBBBBBBBBBBBBBBBBB. For detals see the csrfToken FHEMWEB attribute


Sonst habe ich nirgendwo Schwiergkeiten. Wenn ich probehalber

attr WEB csrfToken none


setze, funktioniert sowohl ein list als auch das Arbeiten mit den Listen problemlos. Muss hier noch irgendetwas gesetzt werden, damit das mit dem csrtToken richtig funktioniert?

Das meine ich

Gesendet von meinem Wileyfox Swift mit Tapatalk

Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 27 Oktober 2017, 12:28:52
"Gesetzt" ist gut...

Ich muss das erst noch einbauen. Kann dauern


@fretti:
ZitatDa hab ich wohl was falsches kopiert
Soso. da würde ich die Quelle doch gerne mal sehen.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: fretti am 27 Oktober 2017, 22:33:05
@pah

die Quelle ist: "Raw Definition".

Btw. es funktioniert jetzt, bitte nicht fragen warum, ich weiß es nicht. Vielleicht wollte fhem mal eine Nacht drüber schlafen  ;)

Danke für die Hinweise
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Oktober 2017, 08:36:09
Oh Ihr Anfänger. "Fhem wollte drüber schlafen" - wenn man selber die Dokumentationen nicht gelesen hat.

Mann-o-mann

pah
Titel: Antw:Modul PostMe
Beitrag von: igami am 24 November 2017, 17:36:14
Ich möchte eine Liste für die Tanzschritte in unserem Tanzkurs anlegen.
Dabei bei ich wie folgt vorgegangen:

define PostIt postme

set PostIt create Tanzschritte
set PostIt add Tanzschritte Disco Fox
set PostIt modify Tanzschritte Disco Fox Figuren Grundschritt|Damendrehung

Jetzt steht im Reading jedoch folgender Inhalt

Disco Fox [Fox="Figuren Grundschritt|Damendrehung"]

Anstelle von Fox sollte ja Figuren dort stehen.
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 24 November 2017, 17:45:53
Liegt an dem Leerzeichen zwischen Disco und Fox. Im Modify-Befehl wird "Disco" als Kurzadressierung von "Disco Fox" verwendet, und das nächet Wort "Fox" als Attributname deklariert.

Müsste ich größer umbauen, um Listennamen mit Leerzeichen zu erlauben.

Bei mir heißen deshalb die Liste z.B. Peters_Liste (ohne Leerzeichen)

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Ranseyer am 14 Januar 2018, 09:39:21
Hallo zusammen,

ich hatte Postme in der Vergangenheit schon mal minimal genutzt. Da es in meiner Umgebung aber (scheinbar) nicht praktikabel war, nun erst nach Migration auf anderen Server und vor allem auch Nutzung per FTUI möchte ich das Thema wieder neu angehenen.

Neue Listen kann ich anlegen:
2018.01.14 09:28:12.836 3: [PostMe] Added a new PostMe named Test


Wenn ich zu den Listen etwas hinzufügen möchte bekomme ich nur einen "HTTP ERROR 400". Listen löschen: das selbe, ...

Wenn wir mal annehmen das ist normal habe ich nichts in der Hand um den Fehler zu suchen:
2018.01.14 09:29:48.563 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1019, <$fh> line 1974.
2018.01.14 09:29:48.564 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1085, <$fh> line 1974.


Verbose ist bereits auf 5.
Würde mich über einen Tipp freuen wie die Diagnose am besten weitergehen könnte...
Titel: Antw:Modul PostMe
Beitrag von: mrbreil am 29 Januar 2018, 11:41:21
Habe das gleiche Problem, aber leider auch keine Lösung.Nicht mal eine Vermutung.

Gruß Christian
Titel: Antw:Modul PostMe
Beitrag von: ToM_ToM am 29 Januar 2018, 12:40:52
ZitatWenn ich zu den Listen etwas hinzufügen möchte bekomme ich nur einen "HTTP ERROR 400". Listen löschen: das selbe, ...
ZitatHabe das gleiche Problem, aber leider auch keine Lösung.Nicht mal eine Vermutung.

Nur mal so grob als Einwurf (ohne Garantie auf Erfolg): Geht ihr per HTTPS drauf oder per HTTP? Bei mir funktionierte das Hinzfügen mit dem Modul per HTTPS leider nicht und ich bekam gar keine Fehlermeldung. Bin erst nach langem Probieren drauf gestoßen. Vielleicht bei euch das gleiche Problem...? ;)

VG, Thomas
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Januar 2018, 14:04:48
Kan ich derzeit nicht nachvollziehen, bei mir taucht ein solcher Fehler nicht auf.

In PostMe selbst gibt es auch keine HTTP calls.

Welchen Wert hat denn das Attribut PostmeStyle ?

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Fixel2012 am 29 Januar 2018, 15:50:17
Habe auch das gleiche Problem.

Zusätzlich habe ich beim start von Fhem ein Paar Log-Einträge.

2018.01.29 15:43:13 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1085, <$fh> line 2002.
2018.01.29 15:43:13 1: stacktrace:
2018.01.29 15:43:13 1:     main::__ANON__                      called by ./FHEM/95_PostMe.pm (1085)
2018.01.29 15:43:13 1:     (eval)                              called by fhem.pl (2441)
2018.01.29 15:43:13 1:     (eval)                              called by fhem.pl (2440)
2018.01.29 15:43:13 1:     main::CommandReload                 called by fhem.pl (1856)
2018.01.29 15:43:13 1:     main::LoadModule                    called by fhem.pl (1913)
2018.01.29 15:43:13 1:     main::CommandDefine                 called by fhem.pl (1172)
2018.01.29 15:43:13 1:     main::AnalyzeCommand                called by fhem.pl (1025)
2018.01.29 15:43:13 1:     main::AnalyzeCommandChain           called by fhem.pl (1308)
2018.01.29 15:43:13 1:     main::CommandInclude                called by fhem.pl (549)


PostmeSyle ist beim mir nicht gesetzt.
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Januar 2018, 16:59:23
Scheint eine ziemlich alte Version zu sein ... (get .. version liefert was ?), denn diesem Fehler mit den @args habe ich schon vor einer gefühlten Ewigkeit behoben. Ich hab emal meine aktuelle 2.06 eingecheckt.

Betreffen den HTTP-Error: So lange ich nicht weiß, WELCHE Seite nicht gefunden wird, kann ich dem nicht nachgehen. Bei mir tritt es jedenfalls nicht auf.

LG

pah

Titel: Antw:Modul PostMe
Beitrag von: Fixel2012 am 29 Januar 2018, 17:03:25
PostMe.version => 2.04
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Januar 2018, 17:13:57
OK, ist ein einfacher csrfToken-Error.

Wollte ich sowieso einbauen, ist hiermit geschehen. Version 2.07 verfügt über volle csrfToken-Unterstützung und wurde soeben eingecheckt.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: ToM_ToM am 04 März 2018, 12:25:52
Hallo Zusammen und einen schönen Sonntag. :)

Ich wollte auch mal die Listen-Zusendfunktion per Telegram nutzen, jedoch funktioniert diese bei mir lediglich mit der Einkaufsliste. Bei den anderen Listen passiert nichts.

Geht:
get PostIt message Einkaufsliste

Geht nicht (liefert keine Telegram-Nachricht):
get PostIt message Wunschliste
get PostIt message Urlaubmitnahmeliste
get PostIt message Urlaubmitnahmeliste_Sommer
get PostIt message Urlaubmitnahmeliste_Winter


attr PostIt postme01MsgRec im folgenden Code ersetzt


defmod PostIt PostMe
attr PostIt DbLogExclude .*
attr PostIt postme01MsgRec 123456789
attr PostIt postmeClick 0
attr PostIt postmeIcon images/default/pin_red_32.png
attr PostIt postmeMsgFun PostMeTelegram
attr PostIt postmeStd Einkaufsliste,Wunschliste,Urlaubmitnahmeliste,Urlaubmitnahmeliste_Sommer,Urlaubmitnahmeliste_Winter
attr PostIt postmeStyle SVG
attr PostIt room Allgemein

setstate PostIt Urlaubmitnahmeliste sent by messenger
setstate PostIt 2018-02-19 17:31:18 postme01Cont Motoröl 5W30 Shell Helix Ultra,Müllbeutel 20l
setstate PostIt 2017-07-28 17:42:11 postme01Name Einkaufsliste
setstate PostIt 2017-07-29 11:52:52 postme02Cont 1TB Samsung SSD
setstate PostIt 2017-07-28 17:42:11 postme02Name Wunschliste
setstate PostIt 2018-03-04 11:09:19 postme03Cont Tempos,ASS+C,Duschgel,Schampoo,Rasierer,Deo
setstate PostIt 2018-03-04 11:02:00 postme03Name Urlaubmitnahmeliste
setstate PostIt 2018-03-04 11:15:34 postme04Cont Badehose
setstate PostIt 2018-03-04 11:13:10 postme04Name Urlaubmitnahmeliste_Sommer
setstate PostIt 2018-03-04 11:17:44 postme05Cont Winterschuhe,Handschuhe,Pudelmütze,Thermounterhose
setstate PostIt 2018-03-04 11:13:24 postme05Name Urlaubmitnahmeliste_Winter
setstate PostIt 2018-03-04 11:13:24 postmeCnt 5
setstate PostIt 2018-03-04 12:11:31 state Urlaubmitnahmeliste sent by messenger


Und hier meine sub:


sub PostMeTelegram($$$) {
  my ($recipient, $subject, $list) = @_;
  my @items = split(",", $list);
  @items = sort(@items);

  fhem("set TelegramBot message \@".$recipient." $subject:\n - ".join("\n - ", @items));
  return;
}


Hat jemand von euch eine Idee wo der Fehler liegen könnte?

VG, Thomas
Titel: Antw:Modul PostMe
Beitrag von: ext23 am 11 Oktober 2018, 13:15:26
Hallo,

mir schwebt da eine kleine Idee vor. Ich hab so ein kleinen Thermo Drucker und ich dachte mir es wäre doch nett wenn man über ein Button die Einkaufsliste ausrucken kann. In den Supermärkten ist selten 3/4G (dank jammer) vorhanden und das Hauseigene WLAN nutze ich aus tracking Gründen nicht.

Kann man das irgendwie hin bekommen wenn der Therme Drucker via CUPS im Netz hängt?

/Daniel
Titel: Antw:Modul PostMe
Beitrag von: Freee84neu am 29 Dezember 2020, 04:27:35
Hallo, ich weiß hier hat schon lange keiner mehr was geschrieben, hoffe aber auf Hilfe  :)

Bin heute auf dieses Device gestoßen.

Hab es jetzt soweit am laufen. Ziel ist es eine Übersicht zu bekommen wer alles zum Einsatz der Freiwilligen Feuerwehr kommt. In einer Telegramm Gruppe kommt eine Abfrage. Mann drückt dem Button ,,Einsatz". Dann erscheint der Name in der Liste ,,Einsatz-Status". Das klappt auch alles. Dann wird nach einer Zeit oder bei Status Abfrage die Liste mit Telegramm versendet. Siehe Bild. Klappt auch wunderbar

Was mich etwas stört ist das die Reihenfolge nicht stimmt (Test2,Test3,Test4,Test1) und im allgemein die Anordnung mit den Strichen. Schön wäre wenn die Namen einfach in Reihenfolge untereinander stehen würden.

Kann mir da wohl jemand auf die Sprünge helfen?

List Postme (PostIt)
Internals:
   FUUID      5fe9c9f6-f33f-8c01-0127-378f789560399dca
   NAME       PostIt
   NR         1205
   STATE      Einsatz-Status sent by messenger
   TYPE       PostMe
   mayBeVisible 1
   .attraggr:
   .attrminint:
   OLDREADINGS:
   READINGS:
     2020-12-29 04:05:29   postme01Cont    Test1,Test2,Test3,Test4
     2020-12-28 20:41:57   postme01Name    Einsatz-Status
     2020-12-28 20:41:57   postmeCnt       1
     2020-12-29 04:05:34   state           Einsatz-Status sent by messenger
Attributes:
   postme01MsgRec 628351245
   postmeClick 1
   postmeMsgFun PostMeTelegram
   postmeStd  Einsatz-Status
   postmeStyle jQuery



99utility
sub PostMeTelegram($$$) {
  my ($recipient, $subject, $text) = @_;
  my @items = split(",", $text);
  @items = sort(@items);
 
  fhem("set Bot silentmsg \@".$recipient." $subject:\n - ".join("\", @items));
  return;
}
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Dezember 2020, 04:43:15
Und was ist bitte die Frage?

1. Die Reihenfolge der Anzeige ist die Reihenfolge im Reading, das wird auch so bleiben. Wer es anders will, soll sich eine separate Sortierroutine schreiben.
2. Die Bindestriche stammen nicht aus dem Modul.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Freee84neu am 29 Dezember 2020, 15:18:07
Hallo

Also für mich sind sie nicht in der Reihenfolge des Readings

postme01Cont    Test1,Test2,Test3,Test4

Telegramm Reinfolge ist ,, Test2,Test3,Test4,Test1

Reihe 1 -
Reihe 2 Test2
Reihe 3 -
Reihe 4 Test3
Reihe 5 -
Reihe 6 Test4
Reihe 7 -Test1

Wäre es nicht so richtig

Reihe 1 Test1
Reihe 2 -
Reihe 3 Test2
Reihe 4 -
Reihe 5 Test3
Reihe 6 -
Reihe 7 Test4

Und weil ich es mir nicht erklären kann ist meine Frage warum ist es diese Reihenfolge.
Und die zweite Frage wenn die Bindestriche nicht aus dem Modul stammen müssen sie ja aus der 99utilitis kommen, und wenn ja ob wir einer helfen kann wo das Passiert.

Gruß Mike
Titel: Antw:Modul PostMe
Beitrag von: Maista am 29 Dezember 2020, 18:53:12
Moin Mike

Zitat$subject:\n - ".join

Vermutlich wird dein Bindestrich hier gesetzt.

Gruß Gerd
Titel: Antw:Modul PostMe
Beitrag von: Prof. Dr. Peter Henning am 29 Dezember 2020, 21:48:31
Nicht vermutlich, sondern auch realiter.

LG

pah
Titel: Antw:Modul PostMe
Beitrag von: Freee84neu am 29 Dezember 2020, 22:08:00
Danke dann war meine Vermutung ja richtig.

Das hab ich aber leider immer noch nicht so drauf. Das verstehe ich immer nur zu 20%. Dann muss ich mal weiter schauen.
Das Device TBot_List ist da zwar etwas zu viel an der Stelle. Aber hat mich auch weiter gebracht.
Ist nur schade das man dort nicht leise zustellen kann 😉.
Aber mal ein wenig testen. Vielleicht bekomm ich den String ja doch noch hin
Titel: Antw:Modul PostMe
Beitrag von: Freee84neu am 29 Dezember 2020, 22:34:24
Moin so die Bindestriche hab ich weg!

sub PostMeTelegram($$$) {
  my ($recipient, $subject, $list) = @_;
  my @items = split(",", $list);
  @items = sort(@items);

  fhem("set MikeFhemBot silentmsg \@".$recipient." $subject:\n ".join("\n ", @items));
  return;
}


Aber leider immer noch das das erste Reading immer am Schluss steht