Hallo zusammen,
kurze Frage wie kann ich in einer Pushmessage das Datum als Variable übertragen. Bräuchte das jeweilige Datum in einem Link welchen ich als Pushmessage versende.
Und zwar wenn möglich in diesem Format: 20180209
Danke euch schonmal
gruß
Hi,
zum ausprobieren in der FHEM Kommandozeile
{my $date = strftime '%Y%m%d', localtime;;return $date}
Gruß Otto
Sehr gut geht perfekt aber wie binde ich das nun in meine Message ein ?
{my $date = strftime '%Y%m%d', localtime;;fhem("Aufruf Deiner Pushmessage wie sonst Palaber $date Palaber Palaber")}
Ich habe doch keine Ahnung wie Pushmassage geht ;D
Das ist schade weil ich weil nicht wie ich die Variable in den Text bzw. Dateipfad bekomme wo ich verschicken möchte :-( kann ich die nicht woanderst definieren und dann abgreifen?
Wenn Du sagen würdest was Du machen willst und was nicht geht, könnte man Dir helfen. Aber Deine einzige konkrete Angabe war wie dein Datum aussehen soll. :-X
Was genau ist Dir unklar, was funktioniert nicht?
Wie sieht denn dein Aufruf aus?
Wie sieht der Link denn mit einem festen Datum aus?
Es ist doch simpel so kommt das Datum in den Text daraus wird " Text $date Text" ->" Text 20180209 Text"
Einfach mal probiert?
Also es ist momentan so das meine Überwachungscamera mir die Bilder die Sie macht auf einen FTP Server legt. Nun will ich per PUSHOVER mir den genauen Link auf das Bild zukommen lassen. Das Problem ist das meine Camera jeden Tag einen neuen Ordner anlegt mit dem jeweiligen Datum.
Jetzt wollte ich natürlich das sich das automatisch mit jedem Tag ändert.
Meine Pushmessage sieht momentan so aus. Das Verzeichnis wird auf neue Dateien von einem Out.Bewegung Dummy geprüft
So sieht mein Pusmessage bisher aus:
OUT.Bewegung set Push msg 'Bewegung vor der Türe' 'http://........./Bilder/$date
und genau dieses $date soll mit dem heutigen Datum in dem format wie du es gemacht hast befüllt werden :-)
Danke
FHEM stellt eine interne Variable mit dem aktuellen Tagesdatum bereit. Da kann man zur Not auch noch die Bindestriche weg-regexen...
{$today}
hört sich interessant an aber wie funktioniert das weg - regexen :-)
Gib mal oben in die FHEM Befehlszeile folgendes ein:
{$today =~ s/-//g;; return $today}
und danach gehst Du ins Internet und lernst regexen... :)
Gut ich verstehe immer noch nicht was das ist (ein notify?) aber Du musst den Teil (der komisch aussieht)
set Push msg 'Bewegung vor der Türe' 'http://........./Bilder/$date
so ersetzen.
Zitat{my $date = strftime '%Y%m%d', localtime;;fhem("set Push msg 'Bewegung vor der Türe' 'http://........./Bilder/'.$date")}
Edit geht nicht. Code ist falsch!
Nicht getestet ...
Otto, Du solltest einfach genauer lesen, worum es geht. Ich geh mal Popcorn holen.
Ja genau dies ist ein Notify.
Wenn ich deinen Befehl so einsetze bekomme ich folgende Meldung im LOG
2018.02.09 18:03:12 3: set Push msg 'Bewegung vor der Türe' 'http://192.168.1.1/Bilder/'.20180209 : Usage: Push msg <text> [ option1=<value> option2='<value with space>' ... ]
2018.02.09 18:03:12 3: n_Bewegung return value: Usage: Push msg <text> [ option1=<value> option2='<value with space>' ... ]
Ok versuch es so, ich bin noch nicht so fit im Strings zusammen basteln: :-[
{my $date = strftime '%Y%m%d', localtime;;fhem("set Push msg 'Bewegung vor der Türe' 'http://192.168.1.1/Bilder/$date'")}
Oder nimm betateilchens Lösung.
Ja geil!!! Funtioniert :-)
So und jetzt kommt hinter dem Datum noch immer der Name des Bildes. Also unter welchem Name dies gespeichert wird :-) Das sollte natürlich auch noch in den Pfad das wäre absolut TOP!!
den Namen der jeweiligen Datei habe ich auch schon in Fhem allerdings unter dem DummyOUT.Bewegung
Dort wird er bei den Readings angezeigt wie kann ich den denn noch abgreifen und in den Pfad integrieren?
Hier noch im Anhang ein Screenshot des Dummy daraus hätte ich gerne noch als Variable immer der Name es current File mit drin.. ganz am Ende des Pfades so könnte ich immer direkt auf das jeweilige Bild hopfen :-) .. in diesem Fall wäre es ja das txti
Zitat von: wuschelino22 am 09 Februar 2018, 18:31:51
Hier noch im Anhang ein Screenshot des Dummy
Screenshot eines Dummy? Ich bin hier raus.
Ok, bevor du regexen lernst, lernst du vielleicht mal commandrefen. Um betateilchen gnädig zu stimmen liest du unter ,,list" nach (oder vielleicht erstmal hier https://forum.fhem.de/index.php/topic,71806.0.html) und dan commandrefst du ReadingsVal
Kurz, weil mobil...
Hat geklappt Danke für eure Hilfe
Da sollte sogar set magic (https://fhem.de/commandref_DE.html#set) gehen!? Also [Geraet:Reading].
Falls nicht, musst Du wieder Perl bemühen und eine zweite Variable mit ReadingsVal ("Geraet","Reading","Defaultwert") füllen.
Wie das geht weißt Du ja nun, trau Dich und probiere es geht selten was kaputt.
Gruß Otto