Android App Notify

Begonnen von fhem86, 18 Januar 2013, 19:40:26

Vorheriges Thema - Nächstes Thema

fhem86

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 :)

fhem86

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)

hoert

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

fhem86

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.

hoert

Hallo fhem86,
Danke, das ging aber superschnell!
Jetzt kann ich auch als Österreicher ;-) die APP beim GoogleStore finden und laden.
Wunderbar...
LG
Leo

Tobias

Gibts soetwas in der Art auch fürs iphone/IPad?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Hi,
es wäre auch ganz schön, wenn die möglichen "set" Befehle als übliche DropDownList in der DeviceDetailansicht verfügbar ist.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

fhem86

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?

fhem86

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 :)

henryk

Moin,

Zitat von: fhem86 schrieb am Mo, 03 Juni 2013 17:58
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?

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

henryk

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, wenn ich das richtig sehe.

--
Henryk Plötz
Grüße aus Berlin

fhem86

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



henryk

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

PeterS

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');


fhem86

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