Hallo Zusammen,
Ich habe eine Android App erstellt, womit ihr euch in RealTime Notifications auf euer Handy senden könnt.
Dies funktioniert über den Google Dienst GCM (http://developer.android.com/google/gcm/index.html (//developer.android.com/google/gcm/index.html)).
Ihr seid nur von Google und eurer Internetverbindung abhängig.
Und es gibt kein Tages Limit, wie in der kostenlosen Version von Notify My Android.
Anleitung:Google Api Konto:http://developer.android.com/google/gcm/gs.html (//developer.android.com/google/gcm/gs.html) aufrufen
Achtung: Ein neues Google Konto anlegen. Von "Creating a Google API project" Bis "Obtaining an API Key" Alles durchführen. Anstatt "Create new Server key" -> " Create new Brower key" auswählen.[/list]
Notify Android App
- Notify.apk auf dem Android Gerät installieren.
- App starten
- Die Project ID von Google eintragen.
- Solange "OK" klicken, bis das Feld RegistrationId einen String enthält.
- In der PHP Datei diesen String in die Zeile $registrationId = 'String' einfügen
- In der gleichen PHP Datei in der Zeile $apiKey = "apiKey"; den Browser apiKey einfügen.
PHP Voraussetzung:
- PHP5 mit curl support.
- Webserver oder console. Beides funktioniert.
- Unter Linix mit "apt-get install php5 php5-curl" oder sonstigen Paket Managern installieren.
Beispiel Console:
- php5 /var/www/gcm/notify.php?message=msg&tickerText=ticker&contentTitle=Titel&contentText=Text
Diesen Link müsst ihr nur in fhem einbauen :)
Wenn jemand ein Perl Modul für fhem bauen will, kann er/sie dies machen.
Der PHP Code sollte einfach übertragbar sein.
mfg
Hi,
genialer Weg.
GCM kommt mir gerade recht, löst gleich mehrere Probleme auf einmal... ;)
Danke fürs sharen.
Habs nicht getestet, aber ich würde den SSL Verify in der php aktivieren.
Voraussetzung für die notify.apk ist Android >2.2 wegen GCM.
Die apk sieht soweit auch gut aus, tool.notify ist sauber.
Notify.apk md5: dee5b7b5fc33af7a24d9e333ec5a541e
Danke
Grüße
Ich habe es auch noch hinbekommen eine Perl Funktion für FHEM zu basteln:
sub sendNotify($$$$) {
my ($message, $tickerText, $contentTitle, $contentText) = @_;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my $client = LWP::UserAgent->new();
my $apikey = '';
my $registration_ids = '';
my $url = '';
my $data = {
registration_ids => [ $registration_ids ],
data => {
message => $message,
tickerText => $tickerText,
contentTitle => $contentTitle,
contentText => $contentText
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
my $r = $client->request($req);
}
In der fhem.cfg:
"{sendNotify ('message','ticker','Title','Content')}
Danke für den Perl Code aber was muss ich dort anpassen.
habe es in die 99_Utils.pm gepackt.
my $apikey = 'AMYAPIKEYug'; << Ist klar
my $registration_ids = ''; << Wo finde ich die
my $url = ''; << Wozu URL ?
?? Und welcher Service genau muss man Aktivieren ??
In der App wird auch "RegistrationID abgefragt ?? Ist da smeine gmail Adresse ?
Und ProjektID lässt nur Zahlen zu. Meine ProjektID Heißt aber push387523932
AHHHH Die App Generiert die Ids die ich dann unter der API einfüge.
Es Klappt bekomme eine Push. Jedoch kein Sound usw. Wäre mir gar nicht aufgefallen :P
So 4 dinge sind mir aufgefallen.
-Eine Nachricht per FHEM wird immer DOPPELT VERSCHICKT
fhem (sendNotify ('Das Gerät Einer ist ONLINE gegangen','Chris ON','Chris ON','Handy Christian ist Zuhause Online'));
-Es ist nicht möglich Gerätenamen und Status einzubauen @ oder %
- Fehlermeldungen im Log:
2013.01.20 15:01:11 3: HTTP::Response=HASH(0x4ad7a80) : Unknown command http::response=hash(0x4ad7a80), try help
- Android App keine Einstellungen Vibration / Sound ( Irgendwann mal "StilleZeit" über Nacht z.b 20-8 Uhr" und Prioritäten die trotz StillerZeit Benachrichtigen )
Und nochmal DANKE für diese Alternative
Die Meldung bekomme ich auch, aber in meinem An/Abwesenheits script wird die Nachricht nur einmal pro Statusänderung verschickt:
define Anwesenheit_Daniel dummy
attr Anwesenheit_Daniel room Anwesenheit
attr Anwesenheit_Daniel setList on off
define Job_AnwesendDaniel at +*00:01:00 { \
use Net::Ping;; \
my $ip = "192.168.1.100";; \
my $p = Net::Ping->new("icmp", 9, 64);; \
my $pingtest = $p->ping($ip);; \
if ($pingtest && ($value{Anwesenheit_Daniel} eq "off")) { \
fhem("set Anwesenheit_Daniel on");; \
fhem(sendNotify('ON','ON','ON','ON'));; \
} \
elsif (!($pingtest) && $value{Anwesenheit_Daniel} eq "on") { \
fhem("set Anwesenheit_Daniel off");; \
fhem(sendNotify('OFF','OFF','OFF','OFF'));; \
} \
}
Die Fehlermeldung ist übrigens keine :)
Für Sound und Vibration, werden die Systemeinstellungen genommen. Das kann aber auch noch geändert werden.
Die App ist ziemlich Basic, daher auch sparsam beim Stromverbrauch. Der Google Service nimmt die Nachrichten an.
Ich teste es nochmal in meinem anderen Code vielleicht ist da nur ein Fehler drin.
Strom sparen ist super :) Aber sollte ja kaum was ausmachen die mini änderungen ;)
Lässt sich sowas später auch mal als Popup anzeigen also wie bei IOS ?
Systemeinstellungen wo kann ich die dafür einstellen ? habe 90% Vibrations Profil SMS usw. Vibrieren alle aber die Push nicht :P Zu mindest die Vibration Funktion wäre spitze :P
Mit dem Log Einträgen kann ich auch leben :P
Zitat von: Chris schrieb am So, 20 Januar 2013 16:34Ich teste es nochmal in meinem anderen Code vielleicht ist da nur ein Fehler drin.
Strom sparen ist super :) Aber sollte ja kaum was ausmachen die mini änderungen ;)
Lässt sich sowas später auch mal als Popup anzeigen also wie bei IOS ?
Systemeinstellungen wo kann ich die dafür einstellen ? habe 90% Vibrations Profil SMS usw. Vibrieren alle aber die Push nicht :P Zu mindest die Vibration Funktion wäre spitze :P
Mit dem Log Einträgen kann ich auch leben :P
Die Fehlermeldung hat was mit dem Perl script zutun.
ToDo:- Fehlermeldung im Log beheben.
- @ und % für Geräte zulassen (habs noch nicht probiert -> gibt es da ein Beispiel script?).
- Setup für Sound, Vibration anpassen.
- Eventuell Verschiedene Icons (Achtung, Status usw)
Wo ist eigentlich der Edit Button hier im Forum?
Ich denke ein Popup wäre auch möglich.
z.B. für eine ganz wichtige Nachricht.
Jetzt wäre ein Edit button wieder gut :)
Hallo,
Edit Button wurde deaktiviert weil man von jedem die alten googleGroups anpassen konnte. Wird wohl noch was dauern.
Hier ein script wo das mit @ und % gehen sollte.
##########################################################
# NotifyMyAndroid
# Nachricht mittles NMA auf ein Android-Smartphone
sub NotifyMyAndroid($$) {
my ($event, $description) = @_;
use LWP::UserAgent;
my $browser = LWP::UserAgent->new();
# APIKey individuell eintragen
my $apikey = 'fc6af6439dxxxxxxxxxxxxxxxxxxxxx98';
my $url = 'https://www.notifymyandroid.com/publicapi/notify';
my $application = 'FHEM';
my $priority = '0';
my $seite = $browser->post($url,
[ apikey => $apikey,
application => $application,
event => $event,
description => $description,
priority => $priority,
]);
}
Was sollte bei meiner Funktion für @ und % den erscheinen?
define Job_AnwesendDaniel at +*00:01:00 { \
use Net::Ping;; \
my $ip = "192.168.1.100";; \
my $p = Net::Ping->new("icmp", 9, 64);; \
my $pingtest = $p->ping($ip);; \
if ($pingtest && ($value{Anwesenheit_Daniel} eq "off")) { \
fhem("set Anwesenheit_Daniel on");; \
fhem(sendNotify('Daniel ist Anwesend % @','Geraete Status geaendert','Geraete Status geaendert','Daniel ist Anwesend'));; \
} \
elsif (!($pingtest) && $value{Anwesenheit_Daniel} eq "on") { \
fhem("set Anwesenheit_Daniel off");; \
fhem(sendNotify('Daniel ist Abwesend % @','Geraete Status geaendert','Geraete Status geaendert','Daniel ist Abwesend'));; \
} \
}
@ der Gerätename
% Der Status des Gerätes. On / Off oder was geändert wird. Das ist was internes von Fhem. In der Mail Funktion ist dies auch vorhanden.
Hi Chris,
Benachrichtigungen auf den Lockscreen: http://www.chip.de/news/Android-Widget-bringt-Lockscreen-Notifications_59914343.html (//www.chip.de/news/Android-Widget-bringt-Lockscreen-Notifications_59914343.html)
Grüße
Das Widget ist für Android-4.2-Handys optimiert und funktioniert bei älteren Android-Versionen nur in Kombination mit der Android-App WidgetLocker.
Das zieht auch wieder übelst Akku ;)
Whatsapp kann ja auch ein Popup anzeigen lassen. Lookscreen brauch ich auch nicht :D
Geht nur darum die Meldung nicht zu übersehen :P
ich habe mal einen Test Dummy für @ und % gebaut
define notify_test dummy
attr notify_test setList on off
define notify_test_n notify notify_test {fhem(sendNotify("@ %","@ %","@ %","@ %"))}
funktioniert wunderbar
@ und % funktioniert scheinbar nicht in komplexen Funktionen
Das Problem mit dem Fehler ist gelöst ein "Log" hilft :)
sub sendNotify($$$$) {
my ($message, $tickerText, $contentTitle, $contentText) = @_;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my $client = LWP::UserAgent->new();
my $apikey = '';
my $registration_ids = '';
my $data = {
registration_ids => [ $registration_ids ],
data => {
message => $message,
tickerText => $tickerText,
contentTitle => $contentTitle,
contentText => $contentText
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req,$back);
Log 3, "Notify gesendet";
}
Super Log ist Sauber !
und wenn ich den code auch mit " " einbaue geht @ und % Wunderbar.
Was mir gerade aufgefallen ist das es ab und zu wohl etwas Hängt. Weiss nicht ob die App vielleicht von Android gekillt wird ??
Also nach längeren Tests... die App wird von Android wohl gekillt... manchmal kommen keine Push Nachrichten. Muss erst die APP Starten und dann nach nem erneuten Push kommen alle :(
Zitat von: Chris schrieb am So, 20 Januar 2013 20:17Super Log ist Sauber !
und wenn ich den code auch mit " " einbaue geht @ und % Wunderbar.
Was mir gerade aufgefallen ist das es ab und zu wohl etwas Hängt. Weiss nicht ob die App vielleicht von Android gekillt wird ??
Teste mal die angehängte Version. Dort habe ich Sicherheitsabfragen der Variablen eingebaut
Vibration an/aus geht auch ("start bis ende" noch nicht)
und ein neuer Parameter icon 0-2
fhem(sendNotify(message, tickerText, contentTitle, contentText, icon))
sub sendNotify($$$$$) {
my ($message, $tickerText, $contentTitle, $contentText, $icon) = @_;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my $client = LWP::UserAgent->new();
my $apikey = '';
my $registration_ids = '';
my $data = {
registration_ids => [ $registration_ids ],
data => {
message => $message,
tickerText => $tickerText,
contentTitle => $contentTitle,
contentText => $contentText,
icon => $icon
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req,$back);
Log 3, "Notify gesendet";
}
ProjectID musst du aber nochmal eingeben. Es hat sich etwas an der Konfigspeichermethode geändert.
cooool ;) Vibration + Icon Läuft.
Würd es vll nicht Icon Nennen sondern Prio Dann kann man davon später popups abhänig machen ohne wieder ein Wert hinzuzufügen dann schaut es später ,0,1,4,3,2 aus :D
Wird ja immer besser ;) Geil wäre es doch wenn du dich mit andFHEM zusammentust ;)
hmm also :
2013.01.21 09:04:40 3: Notify gesendet
9:07 ist es erst angekommen ;(
Davor war eins was gar nicht angekommen ist ;/ Komisch
Es gibt eine neue öffentliche Version.
Ein großes Danke an den Beta Tester Chris :)
Funktionen:- 6 Verschiede Icons für Alarme/Infos usw
- Vibration an/aus und auf einen Zeitraum von bis festlegbar
- Notify Typen einzeln de-/aktivierbar innerhalb der App (Falls man von z.B. Infos zugespammt wird :D)
- Es wird die gesendet Zeit angezeigt
(siehe Anhang / see attachement)
(siehe Anhang / see attachement)
(siehe Anhang / see attachement)
(siehe Anhang / see attachement)
FHEM Funktion:
sub sendNotify($$$$$) {
my ($message, $tickerText, $contentTitle, $contentText, $icon) = @_;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my $client = LWP::UserAgent->new();
my $apikey = '';
my $registration_ids = '';
my $unix_timestamp = time*1000;
my $data = {
registration_ids => [ $registration_ids ],
data => {
message => $message,
tickerText => $tickerText,
contentTitle => $contentTitle,
contentText => $contentText,
timestamp => $unix_timestamp,
icon => $icon
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req,$back);
Log 3, "Notify gesendet";
}
Nutzung:
fhem(sendNotify("home","ticker","home","Content",0))
fhem(sendNotify("alarm","ticker","alarm","Content",1))
fhem(sendNotify("warnung","ticker","warnung","Content",2))
fhem(sendNotify("wecker","ticker","wecker","Content",3))
fhem(sendNotify("info","ticker","info","Content",4))
fhem(sendNotify("wetter","ticker","wetter","Content",5))
Wenn jemand kein eigenes google Projekt anlegen will.
Ich habe ein Projekt für das FHEM Forum angelegt:
API-Key:AIzaSyBofcqSTa0wWBusTJyvEeOsygowATW3Vok
ProjectID:526869440043
Ich empfehle trotzdem ein eigenes Projekt. Siehe erster Beitrag.
hmm 4 downloads ein feedback wäre nicht schlecht
Mein Feedback hast du ja schon super App :)
Aber schon lustig wie oft die Icons geladen wurden fast 80x und die app nur 4 mal :P
hmm ich glaube seit dem Update heute bekomme ich die Push Nachrichten alle 2x gesendet .. hat sich soweit aber nirgends etwas verändert.. muss an der 99_Utils.pm liegen ..
Notifikationen:
(siehe Anhang / see attachement)
Notifikation Body/Message (mit eigener HTML Formatierung):
(siehe Anhang / see attachement)
Icon Auswahl für Einstellungen:
(siehe Anhang / see attachement)
Einstellung eines Icons:
(siehe Anhang / see attachement)
Features:
- Vibration für jedes Icon einstellbar inklusive von bis Uhrzeit
- Topmeldungen (vor dem Lockscreen)
- Meldungen werden durch einen Slider geschlossen (von links nach rechts sliden) (zurück button ist disabled)
- HTML Code in der Message z.B. "messagehtml" in rot zentriert und groß
define notify_test dummy
attr notify_test room notify_test
attr notify_test setList on off
define notify_test_n notify notify_test {fhem(sendNotify("<br><br><br><br><h1 align=center style=color:FF0000>messagehtml</h1>","test","test","test",1))}
Jedes Icon kann bei bedarf einzeln pro Smartphone abgeschaltet werden. Jedes Icon kann mit einem Sound bestückt werden
Abspieldauer kann eingestellt werden
0ms bedeutet kein Sound[/list]
FHEM Modul:
sub sendNotify($$$$$) {
my ($message, $tickerText, $contentTitle, $contentText, $icon) = @_;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my $client = LWP::UserAgent->new();
my $apikey = 'DER_API_KEY';
my $registration_id1 = 'DIE_REG_ID_DES_SMARTPHONES';
my $unix_timestamp = time*1000;
my $data = {
registration_ids => [ "$registration_id1" ],
data => {
message => $message,
tickerText => $tickerText,
contentTitle => $contentTitle,
contentText => $contentText,
timestamp => $unix_timestamp,
icon => $icon
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req,$back);
Log 3, "Notify gesendet";
}
FHEM Nutzung Code:
define notify_test dummy
attr notify_test room notify_test
attr notify_test setList on off
define notify_test_n notify notify_test {fhem(sendNotify("<br><br><br><br><h1 align=center style=color:FF0000>messagebody</h1>","tickerText","contentTitle","contentText",iconid))}
iconid=Icon 0-5
Hallo!
Ich finde dieses Thema sehr interessant und würde das sehr gerne umsetzen, doch komme ich an einigen Stellen nicht weiter.
Hoffe ein wenig oder mehr;-) Hilfe durch euch?!
Also da wäre zum einem:
-Google Konto hatte ich schon
-Creating Google Api project habe ich auch angelegt, doch da komme ich nicht weiter mit dem Punkt: Von "Creating a Google API project" Bis "Obtaining an API Key" was muss ich da genau machen?
Welche Service muss ich im Dashboard Aktivieren?
Wie bekomme ich die Project ID Regestriert, denn wenn ich einen Nummer eingeben möchte sag er mir "Not a valid identifier"
-Die App habe ich schon auf Handy installiert
-Das Paket php auf Debian installiert
bei Aufruf: php5 /var/www/gcm/notify.php?message=msg&tickerText=ticker&contentTitle=Titel&contentText=Text
[1] 28504
[2] 28505
[3] 28506
root@NASC87667:~# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysql.so' - /usr/lib/php5/20090626+lfs/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysqli.so' - /usr/lib/php5/20090626+lfs/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/pdo_mysql.so' - /usr/lib/php5/20090626+lfs/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
Could not open input file: /var/www/gcm/notify.php?message=msg
[1] Exit 1 php5 /var/www/gcm/notify.php?message=msg
[2]- Fertig tickerText=ticker
[3]+ Fertig contentTitle=Titel
Naja ich glaube das reicht erstmal an Fragen;-)
Mfg Steffen
Diesen Dienst aktivieren:
(siehe Anhang / see attachement)
Vergiss das php Script und benutze das FHEM Modul aus meinem letzten Beitrag
sub sendNotify($$$$$) {
usw...
Die php Datei ist nicht mehr aktuell. Ich kann leider nicht den ersten Beitrag editieren.
Das FHEM Modul ist einfacher perl Code
Wenn du den Service aktiviert hast, trägst die ProjectID bei "ProjectID" in der App ein und drückst solange "OK" bis unter "RegistrationID" die Reg ID erscheint. Die Reg ID trägst du im FHEM Modul bei "DIE_REG_ID_DES_SMARTPHONES" ein und den API Key von deinem Projekt bei "DER_API_KEY". Schon sollte es funktionieren.
Wenn es trotzdem nicht geht, bitte genau beschreiben was noch nicht geht :)
Hallo!
Also soweit alles erledigt mit Api und App, aber in welches "Fhem-Modul" trage ich es denn ein?
Ich hatte es bei 99_Utils.pm versucht ist das Richtig oder erstelle ich ein neues?
Danke schon mal für deine Hilfe!
Mfg Steffen
Bei
99_Utils.pm
oder eine
neue
99_irgendwas.pm
sollte beides gehen.
Mit dem HTML Code als Nachricht kann man übrigens tolle spielereien machen.
z.B. Hintergrund schwarz, rot usw und Bilder anzeigen. Tabellen usw. Oder direkt Links zu FHEM, falls du zuhause bist.
Zitat von: fhem86 schrieb am Mi, 03 April 2013 19:08Bei
99_Utils.pm
oder eine
neue
99_irgendwas.pm
sollte beides gehen.
Mit dem HTML Code als Nachricht kann man übrigens tolle spielereien machen.
z.B. Hintergrund schwarz, rot usw und Bilder anzeigen. Tabellen usw. Oder direkt Links zu FHEM, falls du zuhause bist.
Habe beides versucht, bekomme aber diese Fehlermeldung:
2013.04.03 19:14:02 1: reload: Error:Modul 99_ApiAndroid deactivated:
Can't locate
JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/99_ApiAndroid.pm line 5, <$fh> line 3.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/99_ApiAndroid.pm line 5, <$fh> line 3.
da stimmt wohl bei mir irgendwas nicht;-), hast du eine idee??
Mfg Steffen
dir fehlt scheinbar das JSON Perl modul
Probier mal als root
cpan install json
Zitat von: fhem86 schrieb am Mi, 03 April 2013 19:25dir fehlt scheinbar das JSON Perl modul
Probier mal als root
cpan install json
das ist die Anwort:
root@NASC87667:~# sudo cpan install json
It looks like you specified 'install' as an argument to cpan(1). This
script is not the
CPAN.pm prompt and doesn't understand the same commands.
In fact, doesn't require the extra typing. You probably just want to
list the modules you want to install:
cpan json
See the documentation for more details on using this script.
JSON darf scheinbar nicht klein geschrieben werden.
probier mal das -> cpan install JSON
das kommt bei mir (logisch habs ja schon installiert :)):
root@raspberrypi:/opt/fhem/FHEM# cpan install JSON
Reading '/root/.cpan/Metadata'
Database was generated on Tue, 02 Apr 2013 23:53:02 GMT
JSON is up to date (2.53).
Zitat von: fhem86 schrieb am Mi, 03 April 2013 19:49JSON darf scheinbar nicht klein geschrieben werden.
probier mal das -> cpan install JSON
das kommt bei mir (logisch habs ja schon installiert :)):
root@raspberrypi:/opt/fhem/FHEM# cpan install JSON
Reading '/root/.cpan/Metadata'
Database was generated on Tue, 02 Apr 2013 23:53:02 GMT
JSON is up to date (2.53).
Ok habe jetzt über ein anderes Perl modul die Json geladen und fhem sendet auch das Notify laut log aber am Handy kommt nichts an:-(,
wenn die App die RegId und ProId hat und ich ok drücke geht sie dann weg oder muss ich close drücken???
Habe gerade noch gesehen wenn ich unter 99_Utils.pm speichern möchte kommt:
Global symbol "$back" requires explicit package name at /usr/share/fhem/FHEM/99_Utils.pm line 185.
mit close schließt du das Einstellungs Fenster. Der GCM Dienst läuft im Hintergrund.
mach mal aus:
https://android.googleapis.com/gcm/send (//android.googleapis.com/gcm/send) -> http://android.googleapis.com/gcm/send (//android.googleapis.com/gcm/send)
und teste nochmal.
wenn es funktioniert:
wieder https://android.googleapis.com/gcm/send (//android.googleapis.com/gcm/send) eintragen und
das -> cpan install IO::Socket::SSL
ausführen
und nochmal testen
Zitat von: fhem86 schrieb am Mi, 03 April 2013 20:22mit close schließt du das Einstellungs Fenster. Der GCM Dienst läuft im Hintergrund.
mach mal aus:
https://android.googleapis.com/gcm/send -> http://android.googleapis.com/gcm/send
und teste nochmal.
wenn es funktioniert:
wieder https://android.googleapis.com/gcm/send eintragen und
das -> cpan install IO::Socket::SSL
ausführen
und nochmal testen
leider auch nicht...
hier mal die fhem.log:
2013.04.03 20:32:36 1: reload: Error:Modul 99_ApiAndroid deactivated:
2013.04.03 20:32:48 3: Notify gesendet
Habe gerade noch gesehen wenn ich unter 99_Utils.pm speichern möchte kommt:
Global symbol "$back" requires explicit package name at /usr/share/fhem/FHEM/99_Utils.pm line 185.
so langsam kommen wir immer näher, danke für deine Geduld...
meine heißt 99_myUtils.pm
mach am besten eine neue Datei. vielleicht gibt es da irgendwo Konflikte
Oh man jetzt reicht es aber also 99_Utils.pm zeigt keine Fehler mehr an und Notify sendet, aber es kommt nichts an also ist noch irgendwas Faul,
hier mal mein Api:
Dashboard
Project Summary
Name API Project
Project Number 61866910752
Project ID Register...
Google+ Page
Request connection
die Project Number habe ich in der App und in Fhem eingetragen ist das Richtig?
Muss bei Project Id "Register..." stehen?
ist das auch so Richtig:
Key for browser apps (with referers)
API key: AIzaSyAu72ZtxzTk5yAKVxBvGLueSvxkbS-7Vrs
Referers: Any referer allowed
Activated on: Apr 3, 2013 11:42 AM
der Api key stimmt aber nicht mit dem aus der app überein der beginnt mit AP...an, auch Richtig?
Mfg Steffen
Zitat von: Steffen schrieb am Mi, 03 April 2013 20:54Oh man jetzt reicht es aber also 99_Utils.pm zeigt keine Fehler mehr an und Notify sendet, aber es kommt nichts an also ist noch irgendwas Faul,
hier mal mein Api:
Dashboard
Project Summary
Name API Project
Project Number 61866910752
Project ID Register...
Google+ Page
Request connection
die Project Number habe ich in der App und in Fhem eingetragen ist das Richtig?
Muss bei Project Id "Register..." stehen?
ist das auch so Richtig:
Key for browser apps (with referers)
API key: AIzaSyAu72ZtxzTk5yAKVxBvGLueSvxkbS-7Vrs
Referers: Any referer allowed
Activated on: Apr 3, 2013 11:42 AM
der Api key stimmt aber nicht mit dem aus der app überein der beginnt mit AP...an, auch Richtig?
Mfg Steffen
Ok Danke Danke für deine Geduld....Jetzt habe ich es...sorry selten blöd von mir,
habe die Api-Key falsch eingetragen...
nochmals danke für die wirklich tolle Hilfe
Mfg Steffen
Wenn es jetzt läuft ist ja super.
Über Erfahrungsberichte sowie Verbesserungsvorschläge wäre ich dankbar.
Soo dann teste ich mal schaut gut aus bis jetzt
Hallo!
Erstmal muss ich sagen jetzt wo es endlich läuft;-) ist dein Tool wirklich Super, genau sowas hatte ich noch gesucht!
Jetzt hätte noch eine frage, könnte man es auf andere Geräte(Android) mit dem gleichen Notify bekommen oder vielleicht auch an mehrere gleichzeitig???
Mfg Steffen
Hallo hab da was für 2 Geräte :
Musst halt in der APP des Gerätes bestimmen was für Meldungen benachrichtigt werden. Es wird überall 1:1 das selbe hingeschickt.
sub sendNotify($$$$$) {
my ($message, $tickerText, $contentTitle, $contentText, $icon) = @_;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my $client = LWP::UserAgent->new();
my $apikey = 'MEINAPIKEY';
my $registration_id1 = 'GERÄTE REGISTRATIONID1';
my $registration_id2 = 'GERÄTE REGISTRATIONID2';
my $unix_timestamp = time*1000;
my $data = {
registration_ids => [ "$registration_id1", "$registration_id2" ],
data => {
message => $message,
tickerText => $tickerText,
contentTitle => $contentTitle,
contentText => $contentText,
timestamp => $unix_timestamp,
icon => $icon
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req,$back);
Log 3, "Notify gesendet";
}
Neue Features:
- Bis zu 24 verschiedene Icons/Meldungen gleichzeitig
- Es gibt eine große Anzahl an auswählbaren Icons (Wenn jemand eine Icon vermisst, bitte an mich melden)
(siehe Anhang / see attachement)
(siehe Anhang / see attachement)
(siehe Anhang / see attachement)
Hi,
vielen Dank für die App. Läuft mittlerweile super und die Notifications kommen prompt.
Habe die App in Kombination mit FHEM auf der Fritzbox 7360 laufen. Dazu mußte ich die Perl-Module für JSON (aus CPAN) händisch in das Perl-Verzeichnis kopieren. Außerdem mußte ich beim Absetzen des Requests den back-Parameter rausnehmen, da immer ein Kompilierungsfehler kam ("Global symbol "$back" requires explicit package name at ./FHEM/99_myUtils.pm"). Auf der Telnet-Konsole kommt jetzt zwar eine Meldung ("Use of uninitialized value $cmd in pattern match (m//) at fhem.pl line 630"), aber die Notifications gehen wie gesagt trotzdem raus.
Zwei weitere Punkte muss man scheinbar auf der Fritzbox noch beachten:
- FHEM muß unter root laufen, mit dem boxusr99 lief es gar nicht
- die Google-URL muß mit HTTP anstatt HTTPS angegeben werden
Was ich mir noch wünschen würde, wäre eine Option zum Aufwecken des Android-Geräts aus dem Sleep-Modus. So etwas scheint zu gehen. Unter "http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/ (//www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/)" ist das beschrieben (unter "Waking up device"). Ich bin leider nicht der Android-Entwickler und weiß nicht, ob das in dieser Konstellation hier funktioniert.
Gruß
Daniel
Neu:
- Vibrationsdauer kann angegeben werden
@dkrause
Für https fehlt dir wahrscheinlich das passende perl ssl Modul.
Die "Waking up device" Funktion ist schon ewig eingebaut. ChrisW hatte das Problem auch mit seinem Android 2.3.
Das war aber schon durch meine Änderung behoben.
Was für ein Gerät + Android Version hast du den?
Im Normalfall, müsste dein Display bei einer Notifikation kurz aufblinken oder bei einer Topmeldung angehen.
So läuft noch immer rund bei mir.
Paar Vorschläge
Import/Export der Einstellungen ( Da ich mehrer Geräte habe das würde schon Zeit Sparen )
Kopieren der RegID bzw direktes Verschicken ? Ist schon recht fummelig bei mir :D Oder man muss alles Abtippen.
Neu:
- RegID in Zwischenablage kopieren Funktion
Hi zusammen,
danke für das tolle Modul und die App, werde es demnächst testen!
Völlig ungetestet hier eine Idee (weil nachgefragt) um eine Nachricht flexibel an mehrere (oder nuer ein) Geräte zu senden.
Die Idee dabei: Die Register ID des Gerätes wird direkt beim Aufruf angegeben und mehrere durch | getrennt, wenn gewünscht.
Falls jemand Lust hat einfach mal testen ob es so geht, sonst verwerfen. ;-)
lG
Martin
#sendNotify Modul für FHEM
# Einstellungen:
#API-Key:AIzaSyBofcqSTa0wWBusTJyvEeOsygowATW3Vok
#ProjectID:526869440043
#
#Aufruf:
#{sendNotify ("message", "tickerText", "contentTitle", "contentText", "icon", "register|id|s");}
sub sendNotify($$$$$$) {
my ($message, $tickerText, $contentTitle, $contentText, $icon, $regIds) = @_;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my $client = LWP::UserAgent->new();
my $apikey = 'AIzaSyBofcqSTa0wWBusTJyvEeOsygowATW3Vok';
my @registration_ids = split($regIds, "|");
my $unix_timestamp = time*1000;
my $data = {
registration_ids => @registration_ids,
data => {
message => $message,
tickerText => $tickerText,
contentTitle => $contentTitle,
contentText => $contentText,
timestamp => $unix_timestamp,
icon => $icon
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req,$back);
Log 3, "Notify gesendet";
}
Funktioniert nicht, weil perl und json arrays nicht so einfach zu verbinden sind :)
Meine Lösung:
Fhem Modul:
sub sendNotify($$$$$$$) {
my ($message, $tickerText, $contentTitle, $contentText, $icon, $apikey, $regIds) = @_;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my $client = LWP::UserAgent->new();
my @registration_ids = split(/ /,$regIds);
my $unix_timestamp = time*1000;
my $data = {
registration_ids => [ "$registration_ids[0]", "$registration_ids[1]", "$registration_ids[2]", "$registration_ids[3]", "$registration_ids[4]", "$registration_ids[5]", "$registration_ids[6]", "$registration_ids[7]", "$registration_ids[8]", "$registration_ids[9]" ],
data => {
message => $message,
tickerText => $tickerText,
contentTitle => $contentTitle,
contentText => $contentText,
timestamp => $unix_timestamp,
icon => $icon
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req);
Log 3, "Notify gesendet";
}
Fhem Config Beispiel:
define apikey dummy
set apikey derlangeapikey
define regID1 dummy
set regID1 dersuperlangeregkey1
define regID2 dummy
set regID2 dersuperlangeregkey2
define test_notify_test dummy
attr test_notify_test room notify_test
attr test_notify_test setList on off
define test_notify_test_n notify test_notify_test {fhem(sendNotify("test","test","test","test",1,Value("apikey"),Value("regID1")." ".Value("regID2")))}
RegIDs werden durch ein Leerzeichen getrennt. Das "|" Zeichen funktioniert scheinbar nicht mit split.
Diese Lösung hat den Vorteil, dass die RegIDs und der apikey in der FHEM Konfig definiert werden können :)
Danke für deine Idee
@fhem86: bei mir läuft das jetzt mit Notifications. Ich habe nochmal die letzte Version der App installiert und da gesehen, daß defaultmäßig Topmeldungen deaktiviert sind. Ich meine, das war anfangs immer aktiviert. Aber egal, funktioniert. Ich habe übrigens mehrere Android-Geräte (4.0, 4.1, 4.2). Auf dem 4.0er (Archos 101 G9 Tablet) und dem 4.1er (Samsung Galaxy S2) geht der Screen bei Topmeldungen an, das 4.2er habe ich noch nicht getestet. Allerdings dauert es manchmal bis zu 5 Minuten, bis die Notifications eintreffen. Ich habe da trotz intensivem Testen noch keine Systematik feststellen können.
Gruß
Daniel
Hi zusammen!
@fhem86 danke, ja musste ich auch feststellen. Hab bisher auch keine bessere Lösung gefunden als deine :-(
Das Benachrichtigen funktioniert super! Mein S2 mit Android 4.2 macht den Bildschirm auch ohne Topmeldung kurz an und wieder aus - warum auch immer, aber ich denke das hat Einstellungsgründe vom System her und hängt nicht von der app ab.
Könntest du noch eine Spielerei einbauen, die Dirk in seiner Fullscreen app eingebaut hat: Die Systemstimme den übergebenen Text oder Titel per tts vorlesen lassen? Das wäre super.
Und ... könnte man auch die geodaten aus fhem heraus für die geräte abfragen?
Danke für die tolle App!
Martin
@dkrause
Topmeldung default "an" war ein Anzeigefehler im Konfigdialog. "aus" war schon immer default.
Bei mir kommen die Notifys im WLAN < 1 Sekunde an (sofort) und im E-Plus(Handynetz) ca. 1-2 Sekunden
Mein Smartphone -> Galaxy S2 Jelly Bean 4.1.2
@Martin Thomas Schrott
TTS hört sich gut an -> steht auf der ToDo Liste :)
Das mit den Geodaten verstehe ich nur noch nicht. Kannst du das mal genauer erklären?
Super App, gerade installiert und ausprobiert. Genau das was ich brauche. :)
Notification kommen im WLAN, gefühlt, sofort an :)
Ich finde nur den Slider etwas klein und ist mir am Anfang gar nicht aufgefallen. Nur als der Back Button nicht funktionierte, dachte ich wieder and das "Feature" :)
Benutze die App mit Samsung Galaxy Tab 2 10.1
Viele Grüße.
Neu:
- Schließen der Notify durch Swipe/Touch links -> rechts oder rechts -> links (Vorteil: Auch auf Tablets einfach :))
- Music wird durch das schließen der Notify abgebrochen
Hi,
sorry hab ganz vergessen zurückzuschreiben.
@geodaten
Ich stelle mir soetwas vor wie: fhem sendet geo request an das gerät und das gerät gibt den aktuellen Standort zurück berechnet aus gps wenn verfügbar oder sonst eine andere Methode die gerade verfügbar ist: umts/gsm/wlan etc.
Würde soetwas gehen?
lG
Martin
Zitat von: Martin Thomas Schrott schrieb am Fr, 12 April 2013 12:38Hi,
sorry hab ganz vergessen zurückzuschreiben.
@geodaten
Ich stelle mir soetwas vor wie: fhem sendet geo request an das gerät und das gerät gibt den aktuellen Standort zurück berechnet aus gps wenn verfügbar oder sonst eine andere Methode die gerade verfügbar ist: umts/gsm/wlan etc.
Würde soetwas gehen?
lG
Martin
Die App empfängt nur über den GCM Service von Google
Wenn so eine Funktion von mehr als einem gewünscht wird, kann ich eine eigene kleine APP dafür bauen.
Es gibt nur ein Problem:
Wie sollen die Daten an FHEM übermittelt werden, wenn du nicht in deinem WLAN bist. Dafür müsste es z.B. einen webserver geben der über das Internet erreichbar ist. Wenn du so etwas hast ist es kein Problem.
Vielleicht hast du ja eine andere Umsetzungs Idee für die Kommunikation Handy -> FHEM
Zitat von: fhem86 schrieb am Do, 11 April 2013 20:26Neu:
- Schließen der Notify durch Swipe/Touch links -> rechts oder rechts -> links (Vorteil: Auch auf Tablets einfach :))
- Music wird durch das schließen der Notify abgebrochen
Gefällt mir. Danke für die schnelle Änderung. :)
Gruß,
Matscher
Neu:
edit: kleiner Bugfix bitte nochmal laden :)
hallo
@geo ja fhem ist aus dem netz via fixer ip erreichbar. Du könntest in der app eine optionale rückgabe erlauben wenn eine ip od. Host für fehm hinterlegt ist. Anmeldung vgl. Gndfhem ? Wieso migriert ihr eigentlich nicht? Od. Mit dirk? Eure apps würden sich gut ergänzen.
@tts super danke. Aber wie funktioniert es? Hab noch nicht upgedated. Wie übergibt man den text für tts?
Ah noch was... Kannst du eine optionale übergabe eines wertes für die lautstärke erlauben? Falls ein alarm laut sein soll und dars gerät stumm ist.
Lg m
@TTS du kannst es für jedes Icon auswählen
TTS aus,Parameter 1, 2, 3 oder 4
Für meine Rauchmelder steht jetzt in Parameter 1 (message) "Feueralarm Feueralarm Feueralarm Feueralarm Feueralarm Feueralarm Feueralarm Feueralarm Feueralarm Feueralarm Feueralarm"
Da spare ich mir die Feuer Sound Datei :)
Modul "99_andnotify.pm":
package main;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my @gets = ('dummy');
sub
andnotify_Initialize($)
{
my ($hash) = @_;
$hash->{DefFn} = "andnotify_Define";
$hash->{StateFn} = "andnotify_SetState";
$hash->{SetFn} = "andnotify_Set";
$hash->{AttrList} = "loglevel:0,1,2,3,4,5";
}
sub
andnotify_SetState($$$$)
{
my ($hash, $tim, $vt, $val) = @_;
$val = $1 if($val =~ m/^(.*) \d+$/);
return "Undefined value $val" if(!defined($it_c2b{$val}));
return undef;
}
sub
andnotify_Define($$)
{
my ($hash, $def) = @_;
my @args = split("[ \t]+", $def);
if (int(@args) < 1)
{
return "energy_Define: too much arguments. Usage:\n" .
"define <name> andnotify <apikey>";
}
$hash->{APIKEY} = $args[2];
$hash->{STATE} = 'Initialized';
Log 3, "$hash->{NAME} APIKEY: $hash->{APIKEY}";
return undef;
}
sub andnotify_Set($@)
{
my ($hash, @a) = @_;
my $name = $hash->{NAME};
my $apikey = $hash->{APIKEY};
my $count = @a;
my $arg = lc($a[1]);
my $cont1 = ucfirst($arg);
my $cont2 = "";
my $cont3 = "";
my $cont4 = "";
my $cont5 = "";
my $cont6 = "";
my $cont7 = "";
my $cont8 = "";
my $cont9 = "";
if (defined $a[2]) { $cont2 = $a[2]}
if (defined $a[3]) { $cont3 = $a[3]}
if (defined $a[4]) { $cont4 = $a[4]}
if (defined $a[5]) { $cont5 = $a[5]}
if (defined $a[6]) { $cont6 = $a[6]}
if (defined $a[7]) { $cont7 = $a[7]}
if (defined $a[8]) { $cont8 = $a[8]}
if (defined $a[9]) { $cont9 = $a[9]}
my $fullcmd="$a[2]";
for (my $i=3;$i<$count;$i+=1){ $fullcmd="$fullcmd $a[$i]";}
my @param = split(/\|/, $fullcmd);
if ( $arg eq "regids" )
{
$hash->{REGIDS}=$fullcmd;
Log 3, "AndNotify $hash->{NAME} SET REGIDS: $hash->{REGIDS}";
}
if ( $arg eq "send" )
{
my $client = LWP::UserAgent->new();
my @registration_ids = split(/\|/, $hash->{REGIDS});
my $unix_timestamp = time*1000;
my $data = {
registration_ids => [ "$registration_ids[0]", "$registration_ids[1]", "$registration_ids[2]", "$registration_ids[3]", "$registration_ids[4]", "$registration_ids[5]", "$registration_ids[6]", "$registration_ids[7]", "$registration_ids[8]", "$registration_ids[9]" ],
data => {
message => $param[0],
tickerText => $param[1],
contentTitle => $param[2],
contentText => $param[3],
timestamp => $unix_timestamp,
icon => $param[4]
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req);
Log 3, "Notify gesendet";
}
}
Define in der Config:
define my_andnotify andnotify der_api_key
set my_andnotify regids regID_des_Smartphones
oder
set my_andnotify regids regID_des_Smartphones_1|regID_des_Smartphones_2|usw
Notify senden:
set my_andnotify send message|tickerText|contentTitle|contentText|icon
Beispiel:
set my_andnotify send hallo eins|hallo zwei|hallo drei|hallo vier|1
Vorteil:
- Ein Device pro Smartphone
- Oder ein Device für Smartphone1 und ein Device für Smartphone1 + Smartphone2
Neu:
- Notifys werden im Log gespeichert und können bis zur Löschung immer wieder aufgerufen werden.
Bugfix:
- Nach einiger Zeit (Stunden/am nächsten Tag) keine Notifys mehr (nach einem Reboot gings wieder) <- wahrscheinlich wegen tts (test läuft :))
Neu:
- Audio Lautstärke kann pro icon angepasst werden oder wie bisher die systemlautstärke
Bugfix:
- Aufblinken des Displays entfernt.
- Hat nur kurz vibriert, wenn keine Topmeldung aktiviert war.
Gibt es noch Verbesserungsvorschläge?
Ich hätt da noch was... Notifys nachträglich ändern oder zumindist löschen wenn um z.b. eine Fenster offen warnung nur stehen zu lassen, wenn das fenster immernoch offen ist...
Das das schwierig wird ist mir klar...ist auch nur ne Idee.
Hallo zusammen,
ich denke das nachträgliche löschen wird eher nicht gehen außer der Google Dienst unterstützt das... hm... Obwohl wenn Android das entfernen von Messages via api zulässt könnte man eine removal message durch den Google dienst senden. Bin gespannt was der app-chef meint. :-)
Ich frag mich ob der Google dienst Messages eigentlich auch nachträglich zustellt wenn das Handy ausgeschalten war als fhem benachrichtigt hat. Mir kommt vor die Nachrichten gehen dann verloren. Könnte man das aktivieren oder anpassen oder gibt es da keine Mölichkeit Nachrichten auch zuzustellen wenn das Gerät wieder verfügbar ist?
Aus dem standby wacht es ja ohne Probleme auf, aber wenn es komplett abgeschalten war hatte ich bisher noch keine Benachrichtigungen gefunden auch wenn in der Zwischenzeit sicher etwas kommen hätte müssen.:-(
lG
Martin
@Martin Thomas Schrott
Ich habe mein Handy ausgeschaltet
Zwei Notify gesendet
5min gewartet
Handy angeschaltet
Beide Notify sind angekommen
Kannst du das bitte so mal testen?
Hier steht -> http://developer.android.com/google/gcm/adv.html (//developer.android.com/google/gcm/adv.html) <- "The default timeout is 4 weeks, unless the time_to_live flag is set." Also sollten die Nachrichten bis zu 4 Wochen ankommen.
@m.zielinski
Ich denke ich baue einen optionalen Parameter ein. In diesem kann man eine ID Frei vergeben.
Beispiel:
set mynotify send test|test|test|test|0|123456
set mynotify cancel 123456
damit würde die letzte notify mit der id 123456 gelöscht.
Wie findest du diese Idee?
Hi,
Die Idee finde ich gut.
Gruß,
Michael
Guten Abend Zusammen,
ich versuche mich auch daran, diese Funktion bei mir (Rapsberry) zum Laufen zu bekommen.
JSON habe ich übrigens so installiert:
sudo apt-get install libjson-any-perl
Die o.g. Fehlermeldung erhalte ich auch - ich have versucht, $back wegzulassen, erhalte aber keine Notify Nachrichtungen.
"Global symbol "$back" requires explicit package name at /usr/share/fhem/FHEM/99_Utils.pm"
Viele Grüße
Holger
benutzt du dieses -> Link (http://forum.fhem.de/index.php?topic=10402.msg73353#msg73353) <- Modul ?
Hast du das jeweilige Notify Icon in der App aktiviert?
Hast du die regID 100% richtig eingetragen?
Wenn ja mach mal aus https http -> wenn das geht hast du noch ein ssl problem
Hi,
ist es möglich die Systemeinstellungen nur für die App kurzzeitig zu ändern, wenn ein Ereignis eintrifft? Habe das Problem, das wenn an der Lautstärker "gespielt" wird, meist das Tablet auf komplett stumm gestellt wird. Somit auch kein Vibra etc. ...
Danke und Grüße,
Matscher
Hallo,
ich teste gerade die App und den Service und habe auch das Gefühl alles richtig konfiguiert zu haben.
Das Problem bei mir ist jedoch das die App wenn eine Notification ankommen sollte einfach abstürzt (wurde unerwartet beendet). Die Nachrichten setze ich zur Zeit über das PHP Skript auf meinem Webspace ab. Spielt der Inhalt der Nachrichten eine Rolle?
Ich teste die App auf einem Nexus 4 mit Stock ROM (gerootet), hat jemand auf diesem Gerät schon positive oder negative Erfahrungen gemacht? Kann ich irgendwie beim debuggen helfen?
LG tmak
Zitat von: tmak schrieb am Fr, 26 April 2013 09:51Hallo,
ich teste gerade die App und den Service und habe auch das Gefühl alles richtig konfiguiert zu haben.
Das Problem bei mir ist jedoch das die App wenn eine Notification ankommen sollte einfach abstürzt (wurde unerwartet beendet). Die Nachrichten setze ich zur Zeit über das PHP Skript auf meinem Webspace ab. Spielt der Inhalt der Nachrichten eine Rolle?
Ich teste die App auf einem Nexus 4 mit Stock ROM (gerootet), hat jemand auf diesem Gerät schon positive oder negative Erfahrungen gemacht? Kann ich irgendwie beim debuggen helfen?
LG tmak
das php script ist veraltet.
Wenn du es trotzdem nutzen willst, musst du alle diese Attribute übergeben:
data => {
message => $param[0],
tickerText => $param[1],
contentTitle => $param[2],
contentText => $param[3],
timestamp => $unix_timestamp,
icon => $param[4]
}
Zitat von: fhem86 schrieb am Fr, 26 April 2013 20:13das php script ist veraltet.
Ok jetzt hab ichs, das PHP Skript wollte ich nur für einen ersten kurzen Test verwenden. Mit dem FHEM Plugin funktioniert es nun.
Nur zum Verständnis: Wenn ein Notify am Mobilgerät angekommen ist und ich es öffne, kann ich nicht in die Settings der App zurückspringen. Ich schiesse dann immer die App manuell ab um wieder in die Settings zu kommen. Ist das so gedacht?
Ich würde die App gerne einsetzen um mein Tablet über FHEM aufwachen zu lassen und teste dies gerade. Hierfür wäre eine Integration als Tasker Plugin extrem hilfreich. Man könnte dann über Tasker beliebige Aktionen ablaufen lassen wenn eine Notification eintrifft. Wäre es möglich dies zu integrieren?
Zitat von: tmak schrieb am Sa, 27 April 2013 17:54Nur zum Verständnis: Wenn ein Notify am Mobilgerät angekommen ist und ich es öffne, kann ich nicht in die Settings der App zurückspringen. Ich schiesse dann immer die App manuell ab um wieder in die Settings zu kommen. Ist das so gedacht?
Ich würde die App gerne einsetzen um mein Tablet über FHEM aufwachen zu lassen und teste dies gerade. Hierfür wäre eine Integration als Tasker Plugin extrem hilfreich. Man könnte dann über Tasker beliebige Aktionen ablaufen lassen wenn eine Notification eintrifft. Wäre es möglich dies zu integrieren?
Warum willst du von der Notify in die Settings(Von der Notify App)?
Und warum musst du dafür die App abschiessen?
Im Grunde läuft meine App garnicht im Hintergrund.
Es gibt quasi nur ein add-on für den Google Push Dienst (GCM)
Wenn ein Push von GCM kommt, wird das Android Device geweckt und das hinterlegte Add-on ausgeführt.
Dieses erzeugt Android System Notifys. Wenn du nun eine Notify auswählst, wird eine Activity von meiner App gestartet (Das Notify Fenster :))
Das Notify Fenster ist ein Webbrowser in dem du z.B. auch die FHEM Weboberfläche laden könntest.
Beschreibe dein Problem/Wunsch mal bitte genauer. Bisher habe ich das noch nicht verstanden.
Zitat von: fhem86 schrieb am Sa, 27 April 2013 19:57Warum willst du von der Notify in die Settings(Von der Notify App)?
Und warum musst du dafür die App abschiessen?
Im Grunde läuft meine App garnicht im Hintergrund.
Es gibt quasi nur ein add-on für den Google Push Dienst (GCM)
Wenn ein Push von GCM kommt, wird das Android Device geweckt und das hinterlegte Add-on ausgeführt.
Dieses erzeugt Android System Notifys. Wenn du nun eine Notify auswählst, wird eine Activity von meiner App gestartet (Das Notify Fenster :))
Das Notify Fenster ist ein Webbrowser in dem du z.B. auch die FHEM Weboberfläche laden könntest.
Beschreibe dein Problem/Wunsch mal bitte genauer. Bisher habe ich das noch nicht verstanden.
Im Moment passiert folgendes:
1. Ich schicke eine Notify an das Gerät
2. Notify kommt an (Display geht leider nicht an, dies wäre mein Ziel)
3. Ich öffne die Notify
4. Dann will ich ggf. Änderungen an den Settings machen, ich komme aber wenn ich die Notify Setup App starte nicht mehr an den Screen ran an dem die IDs und die Buttons angezeigt werden. Nicht mit dem Back Button und mit keiner Aktion auf dem Screen.
Was ich erreichen will ist das das Display beim Eintreffen einer Notify angeht. In meinem Anwendungsfall müsste noch nicht einmal eine Nachricht in der Notification Bar des Geräts erscheinen. Idealerweise würde ein Notify eine Aktion in Tasker triggern.
Zur Zeit komme ich mit der App aber wie beschrieben noch nicht so richtig klar ;)
LG tmak
Neu:
- wake Befehl (Display an)
- sleep Befehl (Display aus)
Modul 99_andnotify.pm:
package main;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
my @gets = ('dummy');
sub
andnotify_Initialize($)
{
my ($hash) = @_;
$hash->{DefFn} = "andnotify_Define";
$hash->{StateFn} = "andnotify_SetState";
$hash->{SetFn} = "andnotify_Set";
$hash->{AttrList} = "loglevel:0,1,2,3,4,5";
}
sub
andnotify_SetState($$$$)
{
my ($hash, $tim, $vt, $val) = @_;
$val = $1 if($val =~ m/^(.*) \d+$/);
return "Undefined value $val" if(!defined($it_c2b{$val}));
return undef;
}
sub
andnotify_Define($$)
{
my ($hash, $def) = @_;
my @args = split("[ \t]+", $def);
if (int(@args) < 1)
{
return "energy_Define: too much arguments. Usage:\n" .
"define <name> andnotify <apikey>";
}
$hash->{APIKEY} = $args[2];
$hash->{STATE} = 'Initialized';
Log 3, "$hash->{NAME} APIKEY: $hash->{APIKEY}";
return undef;
}
sub andnotify_Set($@)
{
my ($hash, @a) = @_;
my $name = $hash->{NAME};
my $apikey = $hash->{APIKEY};
my $count = @a;
my $arg = lc($a[1]);
my $cont1 = ucfirst($arg);
my $cont2 = "";
my $cont3 = "";
my $cont4 = "";
my $cont5 = "";
my $cont6 = "";
my $cont7 = "";
my $cont8 = "";
my $cont9 = "";
if (defined $a[2]) { $cont2 = $a[2]}
if (defined $a[3]) { $cont3 = $a[3]}
if (defined $a[4]) { $cont4 = $a[4]}
if (defined $a[5]) { $cont5 = $a[5]}
if (defined $a[6]) { $cont6 = $a[6]}
if (defined $a[7]) { $cont7 = $a[7]}
if (defined $a[8]) { $cont8 = $a[8]}
if (defined $a[9]) { $cont9 = $a[9]}
my $fullcmd="$a[2]";
for (my $i=3;$i<$count;$i+=1){ $fullcmd="$fullcmd $a[$i]";}
my @param = split(/\|/, $fullcmd);
if ( $arg eq "regids" )
{
$hash->{REGIDS}=$fullcmd;
Log 3, "AndNotify $hash->{NAME} SET REGIDS: $hash->{REGIDS}";
}
if ( $arg eq "send" )
{
my $client = LWP::UserAgent->new();
my @registration_ids = split(/\|/, $hash->{REGIDS});
my $unix_timestamp = time*1000;
my $data = {
registration_ids => [ "$registration_ids[0]", "$registration_ids[1]", "$registration_ids[2]", "$registration_ids[3]", "$registration_ids[4]", "$registration_ids[5]", "$registration_ids[6]", "$registration_ids[7]", "$registration_ids[8]", "$registration_ids[9]" ],
data => {
message => $param[0],
tickerText => $param[1],
contentTitle => $param[2],
contentText => $param[3],
timestamp => $unix_timestamp,
icon => $param[4]
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req);
Log 3, "Notify gesendet";
}
if ( $arg eq "wake" )
{
my $client = LWP::UserAgent->new();
my @registration_ids = split(/\|/, $hash->{REGIDS});
my $unix_timestamp = time*1000;
my $data = {
registration_ids => [ "$registration_ids[0]", "$registration_ids[1]", "$registration_ids[2]", "$registration_ids[3]", "$registration_ids[4]", "$registration_ids[5]", "$registration_ids[6]", "$registration_ids[7]", "$registration_ids[8]", "$registration_ids[9]" ],
data => {
wake => 1
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req);
Log 3, "Notify wake gesendet";
}
if ( $arg eq "sleep" )
{
my $client = LWP::UserAgent->new();
my @registration_ids = split(/\|/, $hash->{REGIDS});
my $unix_timestamp = time*1000;
my $data = {
registration_ids => [ "$registration_ids[0]", "$registration_ids[1]", "$registration_ids[2]", "$registration_ids[3]", "$registration_ids[4]", "$registration_ids[5]", "$registration_ids[6]", "$registration_ids[7]", "$registration_ids[8]", "$registration_ids[9]" ],
data => {
sleep => 1
}
};
my $req = HTTP::Request->new(POST => "https://android.googleapis.com/gcm/send");
$req->header(Authorization => 'key='.$apikey);
$req->header('Content-Type' => 'application/json; charset=UTF-8');
$req->content(encode_json $data);
$client->request($req);
Log 3, "Notify sleep gesendet";
}
}
Display an:
set my_andnotify wake
Display aus (Funktioniert nur, wenn keine anderen Apps/oder der Benutzer die Kontrolle übernehmen):
set my_andnotify sleep
Vielen Dank für die schnelle Reaktion und die Erweiterung, funktioniert wunderbar!
Falls noch Erweiterungswünsche erlaubt sind ;) :
- Ausgabe einer (optionalen) Sprachnachricht beim Wake up (TTS)
- Einbindung in Tasker als Plugin
Ich plane derzeit ein Tablet als Wandlösung für die zentrale FHEM Steuerung und Deine App ist bislang der geeignetste Ansatz hierfür. Ich möchte nicht so gerne auf NMA setzen.
Super Arbeit, vielen Dank nochmal!
Zitat von: tmak schrieb am So, 28 April 2013 18:44Vielen Dank für die schnelle Reaktion und die Erweiterung, funktioniert wunderbar!
Falls noch Erweiterungswünsche erlaubt sind ;) :
- Ausgabe einer (optionalen) Sprachnachricht beim Wake up (TTS)
- Einbindung in Tasker als Plugin
Ich plane derzeit ein Tablet als Wandlösung für die zentrale FHEM Steuerung und Deine App ist bislang der geeignetste Ansatz hierfür. Ich möchte nicht so gerne auf NMA setzen.
Super Arbeit, vielen Dank nochmal!
Was soll dieser Tasker sein?
Für TTS kannst du doch einfach eine Notify senden.
Tasker ist ein Makrotool für Android, mit dem man sehr flexibel auf Events reagieren und Makros ablaufen lassen kann. Das Tool kann eben auch Plugins einbinden, die dann entsprechend Makros triggern können. Damit könnte man dann so ziemlich alles anstellen was mit Android geht.
Homepage: Tasker (//tasker.dinglisch.net/)
Zitat von: tmak schrieb am So, 28 April 2013 19:15Tasker ist ein Makrotool für Android, mit dem man sehr flexibel auf Events reagieren und Makros ablaufen lassen kann. Das Tool kann eben auch Plugins einbinden, die dann entsprechend Makros triggern können. Damit könnte man dann so ziemlich alles anstellen was mit Android geht.
Homepage: Tasker
Beschreibe mal ein Beispiel:
Notify FHEM Befehl -> Notify App -> Tasker App Aktion
Zitat von: fhem86 schrieb am So, 28 April 2013 19:32Beschreibe mal ein Beispiel:
Notify FHEM Befehl -> Notify App -> Tasker App Aktion
Ich beschreibe das einmal an einem einfachen Beispiel:
Bewegungsmelder löst aus
-> FHEM schickt ein Notify mit einer Kennung (send, wake, sleep etc.) an das Android Device
-> Die Notify App (als Plugin für Tasker) sendet ein Event an Tasker mit der Kennung
-> in Tasker ist dann eine Makroabfolge definiert die auf dieses Event getriggert wird (beispielsweise: Mache das Display für XX Sekunden an, Wechsel den Hintergrund des Launchers und spiele ein MP3 ab)
Das ist jetzt nur ein einfaches Beispiel, dieses Makro könnte man evtl. als eine Art Türklingel verwenden (dann natürlich mit einem Taster als Trigger für FHEM).
Tasker ist ein extrem mächtiges Tool, man kann so ziemlich alles Skripten was mit dem Telefon möglich ist.
Wenn die Implementierung nicht allzu viel Aufwand ist würden sich hiermit ganz neue Möglichkeiten ergeben, auf ein Notify zu reagieren.
Was mich an Tasker stört ist das bezahlen :) Ich bin mehr für Free Versions
Meiner Meinung nach, übersteigt dein Wunsch die Funktion einer Notify. Das wäre schon was für eine eigene App.
Ich habe keine Lust, ein plugin für eine App zu schreiben die ich mir erst kaufen muss.
Wenn du willst, kannst du ja ein Plugin schreiben was auf Notifys reagiert und dieses hier im forum anbieten :)
http://homegroup.de/index.php/android/notify-app (//homegroup.de/index.php/android/notify-app)
Alle Module/Scripte in FHEM/Perl/PHP und Anleitungen, werde ich dort noch einpflegen.
http://homegroup.de/index.php/android/notify-app/anleitung (//homegroup.de/index.php/android/notify-app/anleitung)
Ich habe nun eine Anleitung hinzugefügt.
PERL und PHP Script folgen noch.
Neu:
- Notifys können an ein Plugin übergeben werden
- Neue Icon Option Plugin an/aus
http://www.homegroup.de/index.php/android/notify-app (//www.homegroup.de/index.php/android/notify-app)
http://www.homegroup.de/index.php/android/notify-app/plugins (//www.homegroup.de/index.php/android/notify-app/plugins)
Jetzt könnt ihr eigene Plugins erstellen.
Funktion:
- Notify wird gesendet
- Eine App/Ein Plugin bekommt die gesendeten Informationen
Damit könnte man z.B. Informationen/Aktionen an die Apps andFHEM, WebViewControl oder Tasker übergeben.
Ein Feedback wäre gut.
ZitatDamit könnte man z.B. Informationen/Aktionen an die Apps andFHEM, WebViewControl oder Tasker übergeben.
Das Klingt interessant.
Ich werde mir das bei Gelegenheit man ansehen. Mal sehen wie ich das in WebViewControl integrieren kann.
Gruß
Dirk
Zitat von: fhem86 schrieb am So, 05 Mai 2013 22:21Neu:
Jetzt könnt ihr eigene Plugins erstellen.
Hallo, danke für die Erweiterung!
Verstehe ich es richtig, das man nun Plugins für Notify schreiben kann, die dann wieder eine andere Aktion (zb Tasker) triggern? Ich muss mich wohl doch mal ein wenig mehr mit Android Entwicklung beschäftigen ;)
Zitat von: tmak schrieb am Mo, 06 Mai 2013 09:42Zitat von: fhem86 schrieb am So, 05 Mai 2013 22:21Neu:
Jetzt könnt ihr eigene Plugins erstellen.
Hallo, danke für die Erweiterung!
Verstehe ich es richtig, das man nun Plugins für Notify schreiben kann, die dann wieder eine andere Aktion (zb Tasker) triggern? Ich muss mich wohl doch mal ein wenig mehr mit Android Entwicklung beschäftigen ;)
Richtig.
In dein Tasker Plugin, muss nur dieser extra code zum empfangen der Notifys ->
http://www.homegroup.de/index.php/android/notify-app/pluginsAnschließend kannst du via Notify alles mögliche an dein Tasker_Plugin übergeben.
Wenn du damit fertig bist, kannst du es ja hier veröffentlichen :)
Ich habe gestern die aktuelle Version installiert - aber auch mit der habe ich das problem, daß ich nach anwählen der Notofication auf dem Android den Notification-Body angezeigt bekomme aber5 den nicht wieder wegbekomme (schliessen o.ä. ?)
Weder menütaste noch Zurück helfen - auch neue Notify's werden scheinbar dann nicht mehr empfangen.
Das Verhalten hatte ich auch schon mit vorigen Versionen.
Mein Handy: Galaxy S3 mit Android 4.1.2 (Standard-Rom gerooted)
Nur "swipen" funktioniert. :)
Zitat von: fhem86 schrieb am Do, 11 April 2013 20:26Neu:
- Schließen der Notify durch Swipe/Touch links -> rechts oder rechts -> links (Vorteil: Auch auf Tablets einfach :))
- Music wird durch das schließen der Notify abgebrochen
Hallo!
Habe doch noch ein Problem mit andnotify und zwar speichert er einfach nicht das aus der Anleitung:
set myDeviceName regids myRegistrationID in meiner cfg dauerhaft ab.
Beim speichern schreibt Fhem es in andnotify und auch in cfg die Ids ein,
aber nach neustart sind diese immer wieder weg oder soll es so sein??
Das "define xxxx andnotify" mit Apikey beleibt aber bestehen,
habe über komandozeile und direkt in cgf versucht aber speichert nicht dauerhaft die Ids.
Mfg Steffen
Hallo Zusammen,
ich konfiguriere diese grossartige App gerade für mehrere verschiedene Status- und Alarm-Meldungen. Meine Idee ist, die App auf mehreren Handys zu nutzen - dafür würde ich gerne die Konfiguration auf die verschiedenen Handys übertragen. Die Konfiguration wird doch sicher nicht in der APK-Datei gespeichert? Könntet ihr mir sagen, ob ich eine Konfigurationsdatei von Handy zu Handy übertragen kann, um alle Einstellungen nicht von Hand vornehmen zu müssen?
Viele Grüße
Hfecht
Zitat von: Steffen schrieb am Mi, 08 Mai 2013 21:57Hallo!
Habe doch noch ein Problem mit andnotify und zwar speichert er einfach nicht das aus der Anleitung:
set myDeviceName regids myRegistrationID in meiner cfg dauerhaft ab.
Beim speichern schreibt Fhem es in andnotify und auch in cfg die Ids ein,
aber nach neustart sind diese immer wieder weg oder soll es so sein??
Das "define xxxx andnotify" mit Apikey beleibt aber bestehen,
habe über komandozeile und direkt in cgf versucht aber speichert nicht dauerhaft die Ids.
Mfg Steffen
Bei mir steht beides in der fhem.cfg:
define my_andnotify andnotify meinapikey
set my_andnotify regids meineregid
Bei einem neustart werden diese dann erneut ausgeführt.
Zitat von: hfecht schrieb am Fr, 10 Mai 2013 18:23Hallo Zusammen,
ich konfiguriere diese grossartige App gerade für mehrere verschiedene Status- und Alarm-Meldungen. Meine Idee ist, die App auf mehreren Handys zu nutzen - dafür würde ich gerne die Konfiguration auf die verschiedenen Handys übertragen. Die Konfiguration wird doch sicher nicht in der APK-Datei gespeichert? Könntet ihr mir sagen, ob ich eine Konfigurationsdatei von Handy zu Handy übertragen kann, um alle Einstellungen nicht von Hand vornehmen zu müssen?
Viele Grüße
Hfecht
Kannst du ganz einfach machen:
- Setup starten
- Backup klicken
- Filepfad auswählen
- Backup wurde erstellt
- Backup auf anderes Handy kopieren
- Setup auf anderem Handy starten
- recover klicken
- File des Backups auswählen
- Backup wurde übertragen
Zitat von: fhem86 schrieb am Fr, 10 Mai 2013 20:01Zitat von: Steffen schrieb am Mi, 08 Mai 2013 21:57Hallo!
Habe doch noch ein Problem mit andnotify und zwar speichert er einfach nicht das aus der Anleitung:
set myDeviceName regids myRegistrationID in meiner cfg dauerhaft ab.
Beim speichern schreibt Fhem es in andnotify und auch in cfg die Ids ein,
aber nach neustart sind diese immer wieder weg oder soll es so sein??
Das "define xxxx andnotify" mit Apikey beleibt aber bestehen,
habe über komandozeile und direkt in cgf versucht aber speichert nicht dauerhaft die Ids.
Mfg Steffen
Bei mir steht beides in der fhem.cfg:
define my_andnotify andnotify meinapikey
set my_andnotify regids meineregid
Bei einem neustart werden diese dann erneut ausgeführt.
Ja und das ist leider bei mir nicht der Fall und bei neustart ist der eintrag dann mit den ids weg aber genau nur dieser und ist ja das komische daran???
Mfg Steffen
Zitat von: m.zielinski schrieb am Di, 07 Mai 2013 07:38Ich habe gestern die aktuelle Version installiert - aber auch mit der habe ich das problem, daß ich nach anwählen der Notofication auf dem Android den Notification-Body angezeigt bekomme aber5 den nicht wieder wegbekomme (schliessen o.ä. ?)
Weder menütaste noch Zurück helfen - auch neue Notify's werden scheinbar dann nicht mehr empfangen.
Das Verhalten hatte ich auch schon mit vorigen Versionen.
Mein Handy: Galaxy S3 mit Android 4.1.2 (Standard-Rom gerooted)
Hast du es mal mit Swipe/Touch links->rechts oder rechts->links probiert? geht das?
Zitat von: Steffen schrieb am Fr, 10 Mai 2013 20:14Zitat von: fhem86 schrieb am Fr, 10 Mai 2013 20:01Zitat von: Steffen schrieb am Mi, 08 Mai 2013 21:57Hallo!
Habe doch noch ein Problem mit andnotify und zwar speichert er einfach nicht das aus der Anleitung:
set myDeviceName regids myRegistrationID in meiner cfg dauerhaft ab.
Beim speichern schreibt Fhem es in andnotify und auch in cfg die Ids ein,
aber nach neustart sind diese immer wieder weg oder soll es so sein??
Das "define xxxx andnotify" mit Apikey beleibt aber bestehen,
habe über komandozeile und direkt in cgf versucht aber speichert nicht dauerhaft die Ids.
Mfg Steffen
Bei mir steht beides in der fhem.cfg:
define my_andnotify andnotify meinapikey
set my_andnotify regids meineregid
Bei einem neustart werden diese dann erneut ausgeführt.
Ja und das ist leider bei mir nicht der Fall und bei neustart ist der eintrag dann mit den ids weg aber genau nur dieser und ist ja das komische daran???
Mfg Steffen
probier mal eine extra fhem_device.cfg
Da sind meine notify defines inklusive set regids drin.
Diese musst du dann mit include in der fhem.cfg einbinden.
Gibt es noch Verbesserungsvorschläge oder Feature Wünsche?
http://homegroup.de/index.php/android/notify-app (//homegroup.de/index.php/android/notify-app)
Ja - mit dem Swipen habe ich die Meldung wegbekommen :-)
Hui hier hat sich ja einiges getan.
Intressant: http://www.googlewatchblog.de/2013/05/cloud-messaging-in-chrome-integriert/?utm_source=feedly (//www.googlewatchblog.de/2013/05/cloud-messaging-in-chrome-integriert/?utm_source=feedly)
http://homegroup.de/index.php/android/notify-app/anleitung (//homegroup.de/index.php/android/notify-app/anleitung)
Änderung:
Definieren:
[*] define myDeviceName andnotify MyApiKey myRegistrationID
[*] define myDeviceName andnotify MyApiKey myRegistrationID1|myRegistrationID2|myRegistrationID3|usw.
RegIDs ändern:
[*] set myDeviceName regids myRegistrationID oder
[*] set myDeviceName regids myRegistrationID1|myRegistrationID2|myRegistrationID3|usw.
Da bei mir auch wieder der set Befehl aus der Konfig verschwunden ist, können RegIDs jetzt direkt mit definiert werden.
http://homegroup.de/index.php/android/notify-app (//homegroup.de/index.php/android/notify-app)
Hallo,
habe die Neue Version installiert. Es kommt leider keine Notify mehr an. Nutze meinen APIKey und habe eine neue RegID, da ich BackUp nicht benutzt habe. Bis jetzt habe ich nur eine NotifyID konfiguriert.
Im Log steht das die Notify gesendet wurde.
Moinsen.
also ich habs dann auch mal versucht (nach viel rumgehaue mit google).
Die APP lässt sich nicht confen (irgendwas steht unten am Displayrand was auch immer wenn ich auf setup klicke).
App Key und Registration ID habe ich bekommen.
Aber nachdem ich die erste nachricht geschickt habe stuerzt die APP ab .. (ich nehme an mangels config).
Achja ich habe android 2.3.6
gruesse aus Wesel
Icebear
http://homegroup.de/index.php/android/notify-app (//homegroup.de/index.php/android/notify-app)
Wichtiger Bugfix:
- Notifys mit NotifyIDs größer 23 haben zum Absturz geführt.
@Icebear
War die NotifyID bzw Icon größer 23 bei dir? Wenn ja sollte das Problem behoben sein.
Nope
id war 1
und das behebt leider dann auch nicht den Fehler das ich im Setup des Progs nix sehe :)
http://homegroup.de/index.php/android/notify-app (//homegroup.de/index.php/android/notify-app)
Neu:
- register Device/unregister Device Button (Bei neuer ProjectID -> Device re-register)
@Matscher
Probier mal die neue Version
unregister Device -> bis regID=leer und da register Device steht -> register Device bis wieder eine regID erscheint
@Icebear
Kannst du bitte einen Screenshot von deinem Setup Fenster machen.
Ich habe meine Einstellungen gerade komplett gelöscht. Und dann eine Notify mit 1 gesendet.
App stürzt nicht ab und es kommt nichts an. Also wie gewollt.
Ich besorge mir gerade den Emulator für android 2.3.6 mal schauen ob ich was finde.
Biddöööö
Perfekt, hat funktioniert.
Vielen dank für deine schnelle Hilfe. :)
Viele grüße
Matscher
@Icebear
Probier mal die angehängte Version
Wurde mit der Neuen SDK kompiliert.
Im Android Emulator 2.3.3 funktioniert alles wunderbar.
Was für eine Auflösung hat dein Smartphone?
Ich habe 240x400 und 480x800 ausprobiert.
Ich warte auf dein Feedback :)
jo nachdem was ich sehe 320x240 aufloesung :)
gruss
und nein der setup screen geht leider immer noch nicht... wie sollte er denn aussehen nach dem erststart ?
ist ein Samsung Galaxy Y Duos (S6102) falls dich das weiterbringt ..
Noch als Anmerkung. der Wake befehl funzt.. (leider auch das einzigste) ein Sleep oder ein Send funzt nicht ...
Also muss das Reggen bei google geklappt haben und die Software offensichtlich auch starten (nur leider laesst die sich nicht confen)
Hoffe das bringt sich weiter..
Zitat von: Icebear schrieb am So, 19 Mai 2013 23:36Noch als Anmerkung. der Wake befehl funzt.. (leider auch das einzigste) ein Sleep oder ein Send funzt nicht ...
Also muss das Reggen bei google geklappt haben und die Software offensichtlich auch starten (nur leider laesst die sich nicht confen)
Hoffe das bringt sich weiter..
Neue Version neues Glück.
Wenn du eine Notify sendest stürzt aber nicht ab oder?
Wenn doch was genau sendest du?
Hi,
so jetz klappts auch mitm nachbarn :))
Notify funzt.
Jetz nach minitest noch eine Anmerkung.
Notify kommt fullscreen und lässt sich durch wischen entfernen .. Fein wäre der Backbutton (evtl. zusätzlich)
So und nu erstmal danke für die schnelle hilfe.
Grüsse aus Wesel
Icebear
Moinsen nochmal,
ein Selbst Überschreibendes notify wär fein :)
z.B. für die Aussentemperatur. Da interessiert (zumindest mich) nicht das vor ne Stunde was anderes war sondern nur der aktuelle wert..
Und das mit den Intends muss ich mal testen. Tasker habe ich auch regestriert. Da lässt sich so einiges basteln denke ich..
Sobald ich mal zeit habe muss ich mal sehen ob ich ne statusanzeige hinbekomme ohne das man aufwaendig live (über ein Portforwarding) abfragen muss..
Neu:
- Funktion: enable back button on Notify
http://homegroup.de/index.php/android/notify-app (//homegroup.de/index.php/android/notify-app)
@Icebear
Deine Wunsch Update Funktion ist integriert
Zitat von: Icebear schrieb am Mo, 20 Mai 2013 13:02Moinsen nochmal,
ein Selbst Überschreibendes notify wär fein :)
z.B. für die Aussentemperatur. Da interessiert (zumindest mich) nicht das vor ne Stunde was anderes war sondern nur der aktuelle wert..
Und das mit den Intends muss ich mal testen. Tasker habe ich auch regestriert. Da lässt sich so einiges basteln denke ich..
Sobald ich mal zeit habe muss ich mal sehen ob ich ne statusanzeige hinbekomme ohne das man aufwaendig live (über ein Portforwarding) abfragen muss..
Hallo!
Wie bekommt man denn die Werte von einer Temp. oder einem Zustand in den Text von andnotify geschrieben, könntest du mir mal bitte von dir ein Beispiel geben?!?
Mfg Steffen
Zitat von: Steffen schrieb am Mo, 20 Mai 2013 18:48Zitat von: Icebear schrieb am Mo, 20 Mai 2013 13:02Moinsen nochmal,
ein Selbst Überschreibendes notify wär fein :)
z.B. für die Aussentemperatur. Da interessiert (zumindest mich) nicht das vor ne Stunde was anderes war sondern nur der aktuelle wert..
Und das mit den Intends muss ich mal testen. Tasker habe ich auch regestriert. Da lässt sich so einiges basteln denke ich..
Sobald ich mal zeit habe muss ich mal sehen ob ich ne statusanzeige hinbekomme ohne das man aufwaendig live (über ein Portforwarding) abfragen muss..
Hallo!
Wie bekommt man denn die Werte von einer Temp. oder einem Zustand in den Text von andnotify geschrieben, könntest du mir mal bitte von dir ein Beispiel geben?!?
Mfg Steffen
So z.B.
define meineDummyTemp dummy
set meineDummyTemp 17.4
define test_notify_temp dummy
attr test_notify_temp room notify_test
attr test_notify_temp setList on off
define test_notify_temp_n notify test_notify_temp { \
fhem "set my_andnotify send <body style='background-color:000000'><br><br><br><p align=center><h1 align=center style='color:FF0000'>$value{meineDummyTemp}°C</h1></p></body>|Neue Temp|Neue Temp|Neue Temp|1|1";; \
}
(siehe Anhang / see attachement)
Gibt es noch Verbesserungsvorschläge bzw. Feature Wünsche?
Zitat von: fhem86 schrieb am Mo, 20 Mai 2013 19:25Zitat von: Steffen schrieb am Mo, 20 Mai 2013 18:48Zitat von: Icebear schrieb am Mo, 20 Mai 2013 13:02Moinsen nochmal,
ein Selbst Überschreibendes notify wär fein :)
z.B. für die Aussentemperatur. Da interessiert (zumindest mich) nicht das vor ne Stunde was anderes war sondern nur der aktuelle wert..
Und das mit den Intends muss ich mal testen. Tasker habe ich auch regestriert. Da lässt sich so einiges basteln denke ich..
Sobald ich mal zeit habe muss ich mal sehen ob ich ne statusanzeige hinbekomme ohne das man aufwaendig live (über ein Portforwarding) abfragen muss..
Hallo!
Wie bekommt man denn die Werte von einer Temp. oder einem Zustand in den Text von andnotify geschrieben, könntest du mir mal bitte von dir ein Beispiel geben?!?
Mfg Steffen
So z.B.
define meineDummyTemp dummy
set meineDummyTemp 17.4
define test_notify_temp dummy
attr test_notify_temp room notify_test
attr test_notify_temp setList on off
define test_notify_temp_n notify test_notify_temp { \
fhem "set my_andnotify send <body style='background-color:000000'><br><br><br><p align=center><h1 align=center style='color:FF0000'>$value{meineDummyTemp}°C</h1></p></body>|Neue Temp|Neue Temp|Neue Temp|1|1";; \
}
(siehe Anhang / see attachement)
Vielen Dank, hat geklappt!
Könnte man da auch ein "ReadingsVal" einsetzten um nur bestimmte Werte auszulesen???
Meine Versuche mit "ReadingsVal" haben nicht Funktioniert.
Mfg Steffen
so z.B. WT450H_1 ist eine Wetterstation von den Nachbarn :) Habe es getestet läuft
define test_notify_temp dummy
attr test_notify_temp room notify_test
attr test_notify_temp setList on off
define test_notify_temp_n notify test_notify_temp { \
my $meinetemp=ReadingsVal("WT450H_1","temperature",-1000);; \
fhem "set my_andnotify send <body style='background-color:000000'><br><br><br><p align=center><h1 align=center style='color:FF0000'>$meinetemp°C</h1></p></body>|Neue Temp|Neue Temp|Neue Temp|1|1";; \
}
Ich bekomme jetzt jede 30min ein Update meiner Temp :)
define Job_sendnotify_Temp at +*00:30:00 { \
my $meinetemp=ReadingsVal("WT450H_1","temperature",-1000);; \
fhem "set my_andnotify send <body style='background-color:000000'><br><br><br><p align=center><h1 align=center style='color:FF0000'>Außentemp: $meinetemp°C</h1></p></body>|Neue Temp|Neue Temp|Neue Temp|49|49";; \
}
Ab sofort ist meine App im Google Play Store erhältlich:
https://play.google.com/store/apps/details?id=de.homegroup.andnotify (//play.google.com/store/apps/details?id=de.homegroup.andnotify)
Zitat von: fhem86 schrieb am Di, 21 Mai 2013 09:47so z.B. WT450H_1 ist eine Wetterstation von den Nachbarn :) Habe es getestet läuft
define test_notify_temp dummy
attr test_notify_temp room notify_test
attr test_notify_temp setList on off
define test_notify_temp_n notify test_notify_temp { \
my $meinetemp=ReadingsVal("WT450H_1","temperature",-1000);; \
fhem "set my_andnotify send <body style='background-color:000000'><br><br><br><p align=center><h1 align=center style='color:FF0000'>$meinetemp°C</h1></p></body>|Neue Temp|Neue Temp|Neue Temp|1|1";; \
}
Ich bekomme jetzt jede 30min ein Update meiner Temp :)
define Job_sendnotify_Temp at +*00:30:00 { \
my $meinetemp=ReadingsVal("WT450H_1","temperature",-1000);; \
fhem "set my_andnotify send <body style='background-color:000000'><br><br><br><p align=center><h1 align=center style='color:FF0000'>Außentemp: $meinetemp°C</h1></p></body>|Neue Temp|Neue Temp|Neue Temp|49|49";; \
}
Super, vielen vielen Dank, klappt alles.
Genau so hatte ich es noch gesucht...
Mfg Steffen
Neu:
- Für den message Parameter, kann jetzt auch ein File mit Platzhaltern genutzt werden.
Beispielfile /opt/beispiel.html
<body bgcolor="#000000">
<br>
<br>
<br>
<h1 align="center" style="color:#00FF00">platzhalter1</h1>
<p>
<h1 align="center" style="color:#FF0000">platzhalter2</h1>
Syntax:
set my_andnotify send file:Filepfad platzhalter1:Wert platzhalter2:Wert usw.|Test|Test|Test|1
Beispiel:
define test_notify_test2 dummy
attr test_notify_test2 room notify_test
attr test_notify_test2 setList on off
define test_notify_test2_n notify test_notify_test2 { \
fhem "set my_andnotify send file:/opt/beispiel.html platzhalter1:$NAME platzhalter2:Abcde|Test|Test|Test|1";; \
}
Ergebnis:
(siehe Anhang / see attachement)
Bin auf das Feedback gespannt :)
html file -> /opt/fhem/notifyhtml/temp.html
<style type="text/css">
table,th, td
{
border: 1px solid red;
}
</style>
<body bgcolor="#000000">
<h1 align="center" style="color:#FF0000;">Wohnung</h1>
<table style="color:#FFFFFF;width:100%;">
<tr>
<td>Temperatur</td><td>p_w_temp°C</td>
</tr>
<tr>
<td>Luftfeuchtigkeit</td><td>p_w_luftfeuchtigkeit%</td>
</tr>
</table>
<p>
<h1 align="center" style="color:#FF0000;">Terrasse</h1>
<table style="color:#FFFFFF;width:100%;">
<tr>
<td>Temperatur</td><td>p_t_temp°C</td>
</tr>
<tr>
<td>Luftfeuchtigkeit</td><td>p_t_luftfeuchtigkeit%</td>
</tr>
</table>
fhem config:
define Job_sendnotify_Temp at +*00:30:00 { \
my $Temp_Wohnung=ReadingsVal("Temp_Wohnung","temperature",-1000);; \
my $Luftfeuchtigkeit_Wohnung=ReadingsVal("Temp_Wohnung","humidity",-1000);; \
my $Temp_Terrasse=ReadingsVal("Temp_Terrasse","temperature",-1000);; \
my $Luftfeuchtigkeit_Terrasse=ReadingsVal("Temp_Terrasse","humidity",-1000);; \
fhem "set my_andnotify send file:/opt/fhem/notifyhtml/temp.html p_w_temp:$Temp_Wohnung p_w_luftfeuchtigkeit:$Luftfeuchtigkeit_Wohnung p_t_temp:$Temp_Terrasse p_t_luftfeuchtigkeit:$Luftfeuchtigkeit_Terrasse|Temp|Temp|Temp|49|49";; \
}
Ergebnis:
(siehe Anhang / see attachement)
Hallo fhem86
Ich finde das Projekt sehr toll und interessant, und bin gerade dabei die Funktionen etwas näher kennenzulernen, um diese entsprechend einzusetzen.
Zum Testen habe ich bisher das APP-File Notify.apk aus dem Forum heruntergeladen und am Handy installiert.
Über GoogleStore kann ich das APP nicht finden (Suchfunktion andNotify). Beim Aufrufen über entsprechende Links heißt es bei GoogleStore:
Dieser Artikel ist in Ihrem Land nicht verfügbar. Ist dies beabsichtigt?
Ich finde es wäre auch toll, wenn dieses Tool (99_andNotify.pm) fixer Bestandteil des FHEM-Systems wäre und somit über die update-Funktion
jeweils auf Letztstand gebracht werden würde.
LG
Leo
Zitat von: hoert schrieb am Di, 28 Mai 2013 22:10Hallo fhem86
Ich finde das Projekt sehr toll und interessant, und bin gerade dabei die Funktionen etwas näher kennenzulernen, um diese entsprechend einzusetzen.
Zum Testen habe ich bisher das APP-File Notify.apk aus dem Forum heruntergeladen und am Handy installiert.
Über GoogleStore kann ich das APP nicht finden (Suchfunktion andNotify). Beim Aufrufen über entsprechende Links heißt es bei GoogleStore:
Dieser Artikel ist in Ihrem Land nicht verfügbar. Ist dies beabsichtigt?
Ich finde es wäre auch toll, wenn dieses Tool (99_andNotify.pm) fixer Bestandteil des FHEM-Systems wäre und somit über die update-Funktion
jeweils auf Letztstand gebracht werden würde.
LG
Leo
Die App war nur für Deutschland freigegeben.
Ich habe diese jetzt für die ganze Welt freigeschaltet.
Probiere es in ein Paar Stunden nochmal.
Hallo fhem86,
Danke, das ging aber superschnell!
Jetzt kann ich auch als Österreicher ;-) die APP beim GoogleStore finden und laden.
Wunderbar...
LG
Leo
Gibts soetwas in der Art auch fürs iphone/IPad?
Hi,
es wäre auch ganz schön, wenn die möglichen "set" Befehle als übliche DropDownList in der DeviceDetailansicht verfügbar ist.
Zitat von: Tobias schrieb am Mo, 03 Juni 2013 15:06Hi,
es wäre auch ganz schön, wenn die möglichen "set" Befehle als übliche DropDownList in der DeviceDetailansicht verfügbar ist.
Wie meinst du das?
Im FHEM web?
Zitat von: Tobias schrieb am Fr, 31 Mai 2013 19:03Gibts soetwas in der Art auch fürs iphone/IPad?
Von mir nicht.
Ich bin nicht so der Apple Fan :)
Moin,
Zitat von: fhem86 schrieb am Mo, 03 Juni 2013 17:58Zitat von: Tobias schrieb am Mo, 03 Juni 2013 15:06Hi,
es wäre auch ganz schön, wenn die möglichen "set" Befehle als übliche DropDownList in der DeviceDetailansicht verfügbar ist.
Wie meinst du das?
Im FHEM web?
Die Magie dieses Teils von FHEMWEB habe ich auch erst kürzlich entdeckt, ist in einem Nebensatz in commandref.html#webCmd beschrieben (samt inhaltlicher Fehler). 99_andnotify.pm muss so geändert werden, dass andnotify_Set auf Argument ? mit einem return "Unknown argument ?, choose one of ..." reagiert:
if ( $arg eq "?" )
{
return "Unknown argument ?, choose one of state:sleep,wake regids send";
}
Der Inhalt wird in FHEMWEB in der Detailansicht als Kommandos angeboten. Die die keinen Doppelpunkt haben, werden als Kommando mit Eingabefeld dahinter angeboten, Dinge mit Doppelpunkt und kommaseparierter Liste führen zu einem zweiten Auswahlfeld (mit der Liste). Der magische Name state führt dazu, dass nur der Wert des Auswahlfeldes gesendet wird.
(Magiestück 2 ist dann, das Attribut webCmd auf eine doppelpunktseparierte Liste zu setzen. Diese Kommanods werden dann in FHEMWEB in der Raumübersicht angeboten. Eher wenig sinnvoll hier, evt. nur für sleep und wake.)
--
Henryk Plötz
Grüße aus Berlin
Moin,
Ok, nachdem ich ein bisschen damit rumgespielt habe: Funktioniert super, vielen lieben Dank! Der Link auf die zugehörige Webseite könnte prominenter sein, damit man nicht erst alles durchgucken muss, aber das ist das inhärente Problem solcher Webforen hier.
Einen Wunsch hätte ich noch, der zum wahren Glück fehlt: Richtige Benachrichtigungen lösen auch eine blinkende LED aus, die erst bei Bestätigung der Nachricht erlischt. So kriege ich auch mit, dass was war, wenn ich nicht im richtigen Moment beim Telefon war, bzw. gar ohne Vibration und Ton. Kannst du das noch einbauen? Die API dafür wäre das hier https://developer.android.com/reference/android/app/Notification.html#FLAG_SHOW_LIGHTS (//developer.android.com/reference/android/app/Notification.html#FLAG_SHOW_LIGHTS), wenn ich das richtig sehe.
--
Henryk Plötz
Grüße aus Berlin
Zitat von: henryk schrieb am Mo, 03 Juni 2013 20:44Moin,
Ok, nachdem ich ein bisschen damit rumgespielt habe: Funktioniert super, vielen lieben Dank! Der Link auf die zugehörige Webseite könnte prominenter sein, damit man nicht erst alles durchgucken muss, aber das ist das inhärente Problem solcher Webforen hier.
Einen Wunsch hätte ich noch, der zum wahren Glück fehlt: Richtige Benachrichtigungen lösen auch eine blinkende LED aus, die erst bei Bestätigung der Nachricht erlischt. So kriege ich auch mit, dass was war, wenn ich nicht im richtigen Moment beim Telefon war, bzw. gar ohne Vibration und Ton. Kannst du das noch einbauen? Die API dafür wäre das hier https://developer.android.com/reference/android/app/Notification.html#FLAG_SHOW_LIGHTS, wenn ich das richtig sehe.
--
Henryk Plötz
Grüße aus Berlin
Kann ich bei Gelegenheit einbauen. Da mein Galaxy S2 keine LED hat, ist dies bisher nicht passiert :)
Das Problem bei diesem Forum: Ich kann den ersten Beitrag nicht editieren -> Schlechte Übersicht -> Alte Daten
Moin,
Für noch mehr Benutzbarbeit über FHEM hinaus hier ein einfaches Bash-Skript, um den Notify-Mechanismus anzusprechen. Benutzt curl, grep, head und cut.
Hat eine interne Liste von registration-ids, so dass man sie nach Definition über einen symbolischen Namen ansprechen kann. Obacht: Die meisten privaten Parameter gehen durch Standard-I/O, bis auf den API-Key der als Parameter für curl auftaucht und so von anderen Benutzern auf der gleichen Maschine gesehen werden kann. Der Rückgabewert des Skriptes ist der Erfolgsstatus. (Kein voller JSON-Parser, nur ein grep auf "success":1.)
Damit kann man die Notification-App auch für andere Dinge im alltäglichen Heimserver-Bedarf verwenden: USV meldet Stromausfall, Monitoring meldet Serverausfall, etc. pp.
--
Henryk Plötz
Grüße aus Berlin
Hallo Zusammen
Auf einer FritzBox 7270v2 bricht beim Reload das Skript 99_andnotify.pm mit folgender Fehlermeldung ab:
Can't locate JSON.pm in @INC (@INC contains: /var/InternerSpeicher/xxx/fhem/lib/perl /var/InternerSpeicher/xxx/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/99_andnotify.pm line 3.
BEGIN failed--compilation aborted at ./FHEM/99_andnotify.pm line 3.
Die uses sind hier nicht vorhanden.
Gibt es eine light-version des Skriptes ?
Gruss Peter
-------------------------------
Auszug 99_andnotify.pm :
package main;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
use utf8;
my @gets = ('dummy');
Zitat von: PeterS schrieb am Sa, 08 Juni 2013 19:04Hallo Zusammen
Auf einer FritzBox 7270v2 bricht beim Reload das Skript 99_andnotify.pm mit folgender Fehlermeldung ab:
Can't locate JSON.pm in @INC (@INC contains: /var/InternerSpeicher/xxx/fhem/lib/perl /var/InternerSpeicher/xxx/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/99_andnotify.pm line 3.
BEGIN failed--compilation aborted at ./FHEM/99_andnotify.pm line 3.
Die uses sind hier nicht vorhanden.
Gibt es eine light-version des Skriptes ?
Gruss Peter
-------------------------------
Auszug 99_andnotify.pm :
package main;
use JSON;
use HTTP::Request;
use LWP::UserAgent;
use IO::Socket::SSL;
use utf8;
my @gets = ('dummy');
Dir fehlt das JSON Perl Modul.
Schau dir mal diesen Link an:
http://forum.fhem.de/index.php?t=tree&th=11020&goto=64946&rid=0
Danke für die Info, die fehlende Dateien habe ich nachinstalliert.
Allerdings hänge ich nun am SSL.pm
Irgendwas passt da mit er SSLeay nicht ?
Wo finde ich die passende SSL.pm und SSLeay.pm für die Fritzbox 7270v2 ?
Attempt to reload IO/Socket/SSL.pm aborted.
Compilation failed in require at ./FHEM/99_andnotify.pm line 6.
BEGIN failed--compilation aborted at ./FHEM/99_andnotify.pm line 6.
Gruss Peter
-------------------------------------
Auszug SSL.PM:
package IO::Socket::SSL;
use IO::Socket;
use Net::SSLeay 1.08;
use Carp;
use strict;
use vars qw(@ISA $VERSION $DEBUG $ERROR $GLOBAL_CONTEXT_ARGS);
Zitat von: PeterS schrieb am So, 09 Juni 2013 11:42Danke für die Info, die fehlende Dateien habe ich nachinstalliert.
Allerdings hänge ich nun am SSL.pm
Irgendwas passt da mit er SSLeay nicht ?
Wo finde ich die passende SSL.pm und SSLeay.pm für die Fritzbox 7270v2 ?
Attempt to reload IO/Socket/SSL.pm aborted.
Compilation failed in require at ./FHEM/99_andnotify.pm line 6.
BEGIN failed--compilation aborted at ./FHEM/99_andnotify.pm line 6.
Gruss Peter
-------------------------------------
Auszug SSL.PM:
package IO::Socket::SSL;
use IO::Socket;
use Net::SSLeay 1.08;
use Carp;
use strict;
use vars qw(@ISA $VERSION $DEBUG $ERROR $GLOBAL_CONTEXT_ARGS);
Ich habe keine Fitzbox kann dir daher nicht mit dem Modul weiterhelfen.
Du kannst ja mal im FHEM Fritzbox Forum ->
http://forum.fhem.de/index.php?t=thread&frm_id=31&rid=391 <- nachfragen.
Als Workaround einfach ohne ssl arbeiten:
99_andnotify.pm mit editor öffnen:
suchen nach "https://" ersetzen durch "http://"
Danach wird kein ssl mehr benötigt.
Nachteil:
Theoretisch könnte jemand deinen Request mitlesen.
Da man über google sendet, kann google auch bei https mitlesen wenn sie wollen :)
Hallo fhem86
Ich habe zur Zeit als workaround deine Routine
sub sendNotify($$$$$) {
......
} ohne SSL am Laufen.
Funktioniert soweit alles top, ausser
- wenn mehrere Meldungen vorliegen, muss man durch alle per back-Funktion durch. Hier wäre eine Home- oder Setup-Button für den direkten Absprung ins Setup toll
- keider kann man nicht eine ID einfach nur loggen, ohne aktive Benachrichtigung (Icon - Titelzeile). Z.B. für Ereignis die man ggf. nur im Log nachvollziehen will.
Vielleicht habe ich auch einfach noch nicht alles entdeckt :-)
Gruss Peter
Hallo fhem86,
was vllt. ganz schön wäre, wenn FHEM spezifische Icons zur Auswahl ständen und/oder eine Möglichkeit eigene Icons einzubinden.
Viele Grüße,
Matscher
Erledit
Hab noch die alte Text Version drauf diese ging seit dem 25.7 nicht mehr.
Nun neuste APP geladen
ProjektID eingetragen
Regid generiert
Rgid in die fhem.cfg
die 99.. datei ins root/Fhem verzeichnis
geladen
fhem neustart
eine Nachricht abgeschickt im Log steht auch Notify gesendet ..
aber es kommt nichts aufem handy an
komisch ......
Hallo zusammen,
nach mehreren Problem habe ich das Modul und die APP ohne Abstürze am laufen,
nur leider kommt keine Meldung am Handy an:-(.
1. Nachdem ich das JSON Modul nach längeren versuchen entlich am laufen hatte
2. die https durch http ersetzt habe
3. und die die MyApiKey und myRegistrationID eingetragen habe
define myAnroidNotify andnotify AIzaSyBofcqSTa0wWBusTJyvEeOsygowATW3Vok APA91bHAUglzwkznA_7X5vyi4IIdCU_zaTy4bKRDXIY8jmYAg_DKehHjF2mAV9_SN-Ekc3npgihzNV_PYXfgdJcfVbXE5N4lvMD95fqWDA2n5t1nNVd- jqH82NWsbUPBh-MQadJe8I8_u6T5mxdgSpbCjnHNB9uVdw
4. shutdown restart ausgeführt habe geht leider immer noch nix
5. In der APP unter setup addNotifyID 0 - 4 erstellt habe mit dummy Texten (zum Testen)
6. set myAnroidNotify send Waschmaschine ist fertig!|Geraete Status geaendert|Geraete Status geaendert|WM fertig|0
ausgeführt habe.
7. Im Log steht Notify gesendet aber nix passiert
Vielleicht hat noch jemand einen Tipp für mich
Gruß Hannes
Zur Info
FHEM 5.4 auf Fritzbox 7390
Update:
[/b]
eine Halbe Stunde später sind jetzt plötzlich die ganzen Meldungen angekommen :-)
aber warum dauert das so lange?
Hello all,
I'm trying to get this working and don't understand what I'm doing wrong. I have successfully sent messages to my android phone using this webpage:
http://homegroup.de/notify/send.php? (//homegroup.de/notify/send.php?)
... so I assume I have the google API setup correctly. In FHEM, I have done the following:
define myDeviceName andnotify AIzaSyCyO2xxxxxxxxxxxxxxxxxxxIY_nbm-L1X0s APA91bEJI7-7r66YWywqC9kYHPBMfVEEpmaillcGrO3HrghyRG1vRPUrDmw36ci3eDdEfcfVqo-g7TPJBbRmYRfc8Ev9j7HCSe0XfxfK2pxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdR7VVl2qRAWLFGaNL87dBtOg
set myDeviceName regids APA91bEJI7-7r66YWywqC9kYHPBMfVEEpmaillcGrO3HrghyRG1vRPUrDmw36ci3eDdEfcfVqo-g7TPJBbRmYRfc8Ev9j7HCSe0XfxfK2pxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdR7VVl2qRAWLFGaNL87dBtOg
#set myDeviceName send message|tickerText|contentTitle|contentText|NotifyID
set myDeviceName send message 'Hello' 1
set myDeviceName send Test|Test|Test|Test|0
set myDeviceName send hallo eins|hallo zwei|hallo drei|hallo vier|1
set myDeviceName send test|test|test|test|0|123456
set myDeviceName send test|test|test|test|1|123456
... but my phone doesn't receive any messages (I have changed the numbers above just to keep my settings secure). Can anyone help?
Thanks
Homer
Moin
Ich steh leider auch vor dem Problem, das auf dem Handy nix ankommt !?
1. JSON Modul nachinstalliert
2. die https durch http ersetzt habe
3. und die die MyApiKey und myRegistrationID definiert
(siehe Anhang / see attachement)
4. shutdown restart ausgeführt
5. In der APP unter setup addNotifyID 0 - 10 erstellt habe mit dummy Texten (zum Testen)
6. set Handy_D send Tür_Klingel|Ding Dong|Ding Dong|DD|1
7. Im Log steht Notify gesendet
aber nix kommt an !? Kann mir jemand helfen ?
MFG
Hallo, probiert mal das:
Zitat von: fhem86 schrieb am So, 19 Mai 2013 17:59http://homegroup.de/index.php/android/notify-app
Neu:
- register Device/unregister Device Button (Bei neuer ProjectID -> Device re-register)
@Matscher
Probier mal die neue Version
unregister Device -> bis regID=leer und da register Device steht -> register Device bis wieder eine regID erscheint
Habe eine neue regID erstellt und eingetragen....... kommt immer noch nix an
über http://homegroup.de/notify/send.php? (//homegroup.de/notify/send.php?) kommt sie an !
habe die fhem.cfg jetzt mal so gemacht :
define Handy_D andnotify AIzaS..............bcXA|AIzaSyDta...............vwYQKHICk
set Handy_D regids APA91bH-zx...............OSEx
Leider auch keine besserung ! log sagt verschickt !?
Noch eine Idee ?
Die project id in der app ist vo dir? Es gibt noch die checkbox use app project id.
Hallo,
habe ein kleines Problem mit der App.
Wenn ich über http://homegroup.de/notify/send.php sende kommt die Nachricht auch an. Wenn ich über FHEM die Nachricht verschicke stürzt die App ab. Also kommt etwas an, was die App nicht verarbeiten kann. Hat einer eine Idee?
Grüße aus dem verschneiten Sauerland,
Thorsten
So,
meine App stürzt jetzt nicht mehr ab.
Ich habe beobachtet das die Variable $unix_timestamp bei mir Nachkommastellen hat.
Ich habe die Zuweisung mal so abgeändert und schon funktioniert es: my $unix_timestamp = sprintf("%.0f", time*1000);
Gruß, Thorsten
Hallo Thorsten
Danke für den Tip mir dem sprintf.
Eine Neuinstallation von Fhem hatte bei mir deshalb ständig die App abgeschlossen! !
Gruss Peter
Guten Morgen!
Bekomme das Backup einfach nicht hin, wollte von s4 auf s5 übertragen doch wenn ich auf Backup gehe fragt er mich nach pfadauswahl doch hier kann ich nichts eingeben weder bestätigen?! Ist das ein fehler oder stelle ich mich zu blöd an:-)...
Hallo FHEM86,
ich schreibe nochmal etwas in diesen uralten Fred, in der Hoffnung, dass Du eine Benachrichtigung erhältst.
Ich habe vor eine Ewigkeit mal andNotify installiert. Die APP und Anbindung laufen sauber.
Selbst auf meinem Nexus 5 mit Android 6.0 läuft das noch super.
Es sieht ja leider so aus, als würde die App nicht weiterentwickelt... das ist schade.
Leider finde ich aber weder die App noch eine Doku (Anleitung) des letzten Standes mehr im Netz.
Kannst Du vielleicht die APP und eine Anleitung als pdf hier anhängen, damit Deine gute Arbeit weiter genutzt werden kann?
Insbesondere fehlt mir die Info und ggf. ein beispiel, was man mit "plug-in Intents" machen.
Danke im Voraus.
Offenbar gibt es auch noch weitere Interessenten:
http://forum.fhem.de/index.php?topic=42725.0
(http://forum.fhem.de/index.php?topic=42725.0)
Hallo Steffen,
ich habe die App in diesem Beitrag angehangen http://forum.fhem.de/index.php/topic,42725.msg370557.html#msg370557. Leider habe ich keine Kopie der Anleitung.
Wäre schön, wenn sich fhem86 meldet.
Gruß,
Matscher
Hallöle,
ein Weg zur Doku zu kommen ist das InternetArchive: https://web.archive.org/web/20141114112121/http://homegroup.de/index.php/android/notify-app (https://web.archive.org/web/20141114112121/http://homegroup.de/index.php/android/notify-app)
Zitat von: michaelj am 01 Februar 2016, 20:53:19
Hallöle,
ein Weg zur Doku zu kommen ist das InternetArchive: https://web.archive.org/web/20141114112121/http://homegroup.de/index.php/android/notify-app (https://web.archive.org/web/20141114112121/http://homegroup.de/index.php/android/notify-app)
Perfekt! Danke :)