Neues Modul Pushalot

Begonnen von Talkabout, 03 Juni 2015, 00:26:23

Vorheriges Thema - Nächstes Thema

CoolTux


define NotifyPushOverload notify HMLAN1:overload { fhem "set PushNotification message 'HMlan overload!' 'FHEM'"; }
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

DecaTec

Zitat von: CoolTux am 06 November 2015, 09:15:41

define NotifyPushOverload notify HMLAN1:overload { fhem "set PushNotification message 'HMlan overload!' 'FHEM'"; }


Ja, das funktioniert (s.o.).

Ich frage mich nur warum man hier auf fhem-Ebene "runter" muss. Dadurch, dass Pushalot ein Modul ist, würde ich erwarten, dass ein direkter Aufruf in einem notify möglich ist.

CoolTux

Hast Du es denn schon mal anders versucht? Ich kenne das Modul nicht.



define NotifyPushOverload notify HMLAN1:overload set PushNotification message 'HMlan overload!' 'FHEM'
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

DecaTec

Ja, mit einfachen Hochfusseln, mit doppelten, mit Klammer, ohne Klammer...
Habe schon alles durchprobiert, bevor ich hier gefragt habe.

Klappen tut das nur mit Durchstieg nach fhem, was mich gewundert hat.

benz_freak

Hallo Talkabout,
ich wollte noch mal nach der Funktion "time to live for message" nachfragen.
Könntest du das Bitte noch einbauen.

Talkabout

Zitat von: benz_freak am 02 Februar 2016, 08:46:25
Hallo Talkabout,
ich wollte noch mal nach der Funktion "time to live for message" nachfragen.
Könntest du das Bitte noch einbauen.
Entschuldige, habe das Thema nicht mehr auf dem Schirm gehabt. Feature kommt morgen mit dem Update.

Gruss

benz_freak

Hallo Talkabout,
ein "set Push message "Waschvorgang abgeschlossen!" "Keller" "" "" "" True False 30"
Funktioniert perfekt
Danke

@DecaTec
mein notify
DEF    WaschmaschineBetrieb:standby set Push message "Waschvorgang abgeschlossen!" "Keller" "" "" "" True False 30

http://www.fhemwiki.de/wiki/Notify
Warum ist die 2. Variante besser? In der 1. Variante wechselt man von Fhem-Ebene des notify mittels {} auf Perl-Ebene, wo man mit dem Schlüsselwort Fhem "" wieder einen Befehl auf Fhem-Ebene ausführt. In der 2. Variante werden diese unnötigen, resourcenverschwendenden Ebenen-Wechsel vermieden. Alles wird auf der Fhem-Ebene ausgeführt.

Gigafix

Hallo

Ich möchte gerne den aktuellen Zeitstempel mit in die Nachricht einfügen. Bei anderen Modulen habe ich das immer mit dem Aufruf von ".strftime('%H:%M', localtime)." für die Zeit ohne Sekunden oder ".strftime('%d.%m.%Y', localtime)." für das Datum gemacht. Das funktioniert hier so einfach wegen der Anführungszeichen aber nicht, da das Modul ja auch Anführungszeichen verwendet. Wie kann man das am besten maskieren - oder gibt es noch eine andere Möglichkeit die aktuelle Uhrzeit oder auch das Datum einzufügen?

Gruß Gigafix
VM Synology DS918 | CubieTruck |2x HMLAN | HMUSB | 3x HMWLAN | CCU2 | MAX-Cube | nanoCUL | ZWDongle |

Talkabout

Zitat von: Gigafix am 20 Februar 2016, 20:14:57
Hallo

Ich möchte gerne den aktuellen Zeitstempel mit in die Nachricht einfügen. Bei anderen Modulen habe ich das immer mit dem Aufruf von ".strftime('%H:%M', localtime)." für die Zeit ohne Sekunden oder ".strftime('%d.%m.%Y', localtime)." für das Datum gemacht. Das funktioniert hier so einfach wegen der Anführungszeichen aber nicht, da das Modul ja auch Anführungszeichen verwendet. Wie kann man das am besten maskieren - oder gibt es noch eine andere Möglichkeit die aktuelle Uhrzeit oder auch das Datum einzufügen?

Gruß Gigafix
Kannst Du mir bitte ein Beispiel geben, wie es in anderen Modulen funktioniert (komplette Befehlszeile)? Ich bin mir gerade unschlüssig, wie man das integrieren kann/soll.

Gruss

CoolTux

Zitat von: Gigafix am 20 Februar 2016, 20:14:57
Hallo

Ich möchte gerne den aktuellen Zeitstempel mit in die Nachricht einfügen. Bei anderen Modulen habe ich das immer mit dem Aufruf von ".strftime('%H:%M', localtime)." für die Zeit ohne Sekunden oder ".strftime('%d.%m.%Y', localtime)." für das Datum gemacht. Das funktioniert hier so einfach wegen der Anführungszeichen aber nicht, da das Modul ja auch Anführungszeichen verwendet. Wie kann man das am besten maskieren - oder gibt es noch eine andere Möglichkeit die aktuelle Uhrzeit oder auch das Datum einzufügen?

Gruß Gigafix

Versuche mal die Anführungszeichen von der Nachricht zu escapen, eventuell hilft das schon.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Gigafix

#25
Hallo

Hier ein Beispielcode bei dem ich mit verschiedenen Benachrichtigungen experimentiere.


Schalter_Klingel:Short.* {fhem ("
set my_Pushbullet message Es hat heute um ".strftime('%H:%M', localtime)." jemand geklingelt | Klingel;
set 491234567890 send Es hat heute um ".strftime('%H:%M', localtime)." jemand geklingelt;
set TelegramRoBot message @#Gruppe Es hat heute um ".strftime('%H:%M', localtime)." jemand geklingelt;
set Pushalot message "Es hat heute jemand geklingelt" "Klingel";
")
if (ReadingsVal('Tuer','sabotageError','on') eq 'off')
}


Das funktioniert soweit, nur das ich bei Pushalot bisher nicht die Zeit mitgeben kann. Mit dem Escapen tue ich mich ein wenig schwer - ich hatte da schon verschiedenes versucht z.B. mit
'".strftime('%H:%M', localtime)."'
oder
'"'.strftime('%H:%M', localtime).'"'
aber das war nur Versuch und Irrtum, ohne zu wissen wie man es richtig macht.

Es ist jetzt auch nicht überwichtig - ich dachte nur das es eine einfache Möglichkeit gibt dies darzustellen. Ich habe ja noch Alternativen - bin noch nicht ganz sicher welches Modul ich letztendlich zur Benachrichtigung einsetze.

Gruß Gigafix

***EDIT***

Habe es jetzt wie folgt gelöst:
{(strftime("%d.%m.%Y um %H:%M",localtime()))}
VM Synology DS918 | CubieTruck |2x HMLAN | HMUSB | 3x HMWLAN | CCU2 | MAX-Cube | nanoCUL | ZWDongle |

Badflex

Zitat von: DecaTec am 06 November 2015, 09:19:39
Ja, das funktioniert (s.o.).

Ich frage mich nur warum man hier auf fhem-Ebene "runter" muss. Dadurch, dass Pushalot ein Modul ist, würde ich erwarten, dass ein direkter Aufruf in einem notify möglich ist.

Bei mir funktioniert das nicht so. Er pusht den Text si wie er ist mit '. Ich wollte das so machen wie es auf der ersten Seite steht also mit großer farbiger Überschrift und Link. Leider schreibt er das in Perl alles hinternander weg.
Was mach ich falsch?
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

CoolTux

Gib mal bitte was du bisher hast.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Badflex

Hab vieles probiert kommt aber nichts richtiges. Der letzte stand ist das:

Bewegungsmelder:motion { if ( Value( "Terrassentuer" ) ne "open"){ fhem ("set Pushalot message Da schleicht einer im Garten rum. _ACHTUNG! _ https://my.netatmo.com/app/camera _ https://my.netatmo.com/app/camera ");}}

Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

CoolTux


set Pushalot message "Da schleicht einer im Garten rum." "ACHTUNG!" "https://my.netatmo.com/app/camera" "Link zum Kamerabild"


Mit diesem set Befehl innerhalb Deiner Routine sollte es dann gehen
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net