WER HAT PUSH,ANDROID,FRITZBOX AM LAUFEN ?

Begonnen von Trebor5, 27 März 2013, 06:14:31

Vorheriges Thema - Nächstes Thema

Trebor5

Hallo alle zusammen,

meine Frage an die Gemeinde.

Wer hat irgendeinen Push Dienst, in Fhem, auf einer Fritzbox, funitionsfähig am laufen ?

Bitte um Codeschnipsel.


###########################    JUHU ES FUNZT AUF 4 HANDYS    ####################################


Eigentlich habe ich jetzt des Rätsels Lösung.

Um genau zu sagen bei mir Funktioniert es jetzt.

Zu meiner Konfig.
Fhem läuft in der Version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 2866 2013-03-07 15:10:37Z rudolfkoenig $, pid 2300) ( von der Fhem seite gedownloadet )
Fhem ist auf einer Fritzbox 7390 Instaliert die wiederrum autark für sich hinter einer Fritz 6360 läuft.
Als erste mus der Pushservice in der Fritzbox eingeschaltet werden, auf der Fhem läuft, mit einer Funktionierenden E-Mail Adresse .
Als nächstet habe ich Notify My Android auf 4 Handy Instaliert. Achtung wenn nicht gekauft, ist pro Tag bei 5 Nachrichten Schluss. 3€ ist doch einfach ein geiler Preis für so viele Geräte wie Ihr wollt. Daran sollten sich mal andere Hersteller ( Microsoft etc. ) eine Beispiel nehmen.
Dann habe ich in die 99_Utils das hier eingetragen wobei ich nicht glaube das alles da rein muss.
Was aber auf jedenfall da rein muss ist:

#################### WICHTIG ##############
use FritzBoxUtils;
#################### WICHTIG ENDE ##################


##########################################################
# 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 = 'Hier muss dein API NR. von Notify My Android rein';

  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,
    ]);

}


Dann habe ich in die Adresszeile zum testen mal { FB_mail('DEINE API NR VON NOTIFY MY ANDROID@nmamail.net' (ANDROID@nmamail.net'),'ALARM ALARM','ACHTUNG ALARM WURDE AUSGELOEST')  } }

eingegeben und siehe da es funzt.

Achtung wenn ihr diesen Eintrag in eure Fhem.cfg übernehmen wollt dann müsst ihr ein zusätzliches @ mit eintragen.
Also so :

{ FB_mail('DEINE API NR VON NOTIFY MY ANDROID@@nmamail.net' (@@nmamail.net'),'ALARM ALARM','ACHTUNG ALARM WURDE AUSGELOEST')  } }

Jetzt habe ich endlich meine Alarmanlage die ich mit einen Fingerprint einschalte am laufen.

Nächstes ziel ist ein IP Cam Bild das auch über Fhem aufrufbar ist mitzuschicken.

Wer hier einen Ansatz hat bitte um Codeschnippsel.

Viel Spass.
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Trebor5

Jetzt muss nur noch die Schaltung eine Nachricht senden aber leider ist mein code so gestrickt das ich jedesmal eine NAchricht bekomme wenn die Tür auf geht und der Zustand wird nicht berücksichtigt.

Kann mir jemand Hilfestellung geben da alle umbauten des Codes nicht zum erfolg geführt haben.

Hier meine Zeilen.

define act_on_Haustuer notify Haustuer:open { if ("$value{ANLAGE_STATUS}" eq #"scharf" ) { fhem("set ALARM_STATUS ALARM ;; set Rollo_Kueche on ")} { FB_mail('DEINE API KEY NR. VON NMA@@nmamail.net' (@@nmamail.net'),'ALARM #ALARM','ACHTUNG ALARM WURDE AUSGELOEST')  } }

Danke in voraus.
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Markus

probiere es mal so
define act_on_Haustuer notify Haustuer:open {\
if ( Value("ANLAGE_STATUS") ne "unscharf") \
{ fhem "set ALARM_STATUS ALARM ;; set Rollo_Kueche on"} ;;\
{ FB_mail('DEINE API KEY NR. VON NMA@@nmamail.net','ALARM #ALARM','ACHTUNG ALARM WURDE AUSGELOEST') }\
}


Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Trebor5

Hallo Markus,

danke für deine Info.

Der code löst folgenden Fehler aus:
act_on_Haustuer return value: syntax error at (eval 1501) line 1, near "\ if"
syntax error at (eval 1501) line 1, at EOF

Habe auch noch einen andere Frage du schreibst Value ohne $ .
Ich habe gelesen das die neuen Versionen diese schreibweise mit $ nicht mehr unterstüzten werden . Sollte ich alle $Value in Value ändern ?
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Markus

Ich bearbeite die .cfg immer direkt und hab ihn da raus kopiert und nur ein bisschen angepasst :-)
wie erstellst du ihn? bei Eingabe über dev must du eventuell die \ löschen aber eigentlich klappt es bei mir :-(

Ich verwende schon die neue Schreibweise wen $value nicht mehr unterstützt wird Funktioniert ja nichts mehr;-D

probiere mal das alleine
define act_on_Haustuer notify Haustuer:open {\
if ( Value("ANLAGE_STATUS") ne "unscharf") \
{ fhem "set ALARM_STATUS ALARM ;; set Rollo_Kueche on"} ;;\
}

Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Trebor5

Hey Markus,

leider der gleiche Fehler .
act_on_Haustuer return value: syntax error at (eval 1522) line 1, near "\ if"
syntax error at (eval 1522) line 1, at EOF

ich bearbeite auch alles direkt in der fhem.cfg
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Markus

probiere das sonst weiß ich auch nicht mehr weiter bei mir funktioniert es...
define act_on_Haustuer notify Haustuer:open { if ( Value("ANLAGE_STATUS") eq "scharf") { fhem("set ALARM_STATUS ALARM ;; set Rollo_Kueche on ")} { FB_mail('DEINE API KEY NR. VON NMA@@nmamail.net','ALARM #ALARM','ACHTUNG ALARM WURDE AUSGELOEST') } }E AUSGELOEST') } }

du kannst auch bei deinem original code die # raus nehmen ich glaub die gehört da nicht rein

Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Trebor5

) } }E AUSGELOEST') } }

SCHREIBFEHLER ????????

Dein Code funktioniert soweit, nur beachtet er nicht ob die Anlage scharf ist oder nicht sondern sendet bei jedem Tür öffnen eine Mail.
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Markus

ja das war wohl ein copy& past Fehler :-D

Ich kann dir jetzt leider nicht mehr weiterhelfen :-(
bei mir Funktioniert es und ich hab keine Ahnung warum es bei dir nicht klappt.
hast du das schon gesehen?

Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Paddy

Hallo zusammen,

Ich hatte das gleiche Problem, und habe jetzt eine Lösung gebaut die bei mir auf der Fritzbox mit "Notify My Android" sehr gut funktioniert.

Als erstes habe ich den Beitrag Link als Vorlage genommen und an meine Anforderungen angepasst.

Dabei habe ich die Parameter erweitert um "$application" und "$priority" auch für jeden Notify Push Alert wählen zu können.

Hier ist mein Code für die 99_myUtils.pm oder für die 99_Utils.pm.

##########################################################
# NotifyMyAndroid
# Nachricht mittles NMA auf ein Android-Smartphone

sub NotifyMyAndroid($$$$) {

  my ($priority, $application, $event, $description) = @_;

  use LWP::UserAgent;
  my $browser = LWP::UserAgent->new();

  # APIKey individuell eintragen
  my $apikey = 'API KEY HIER';

  my $url = 'http://www.notifymyandroid.com/publicapi/notify';
  # Muss "http" sein auf Fritzbox nicht "https"
    my $seite = $browser->post($url,
    [ apikey => $apikey,
      application => $application,
      event => $event,
      description => $description,
      priority => $priority,
    ]);

}


zum aufrufen,

fhem (NotifyMyAndroid('priority','application','event','description'))


Hier ist ein Notify Beispiel aus meiner fhem.cfg

#########################################################
## Fenster Offen Alarm

define Fenster_offen_Meldung notify .*._Fenster:.* {\
 if ("%" eq "Offen") {\
  fhem (FB_mail('abc@@xyz.net','FHEM-Alarm --@--','-- ACHTUNG!!! -- @ ist offen !!!'));;\
  fhem (NotifyMyAndroid('1','FHEM-Warnung','FHEM-Alarm --@--','-- ACHTUNG!!! -- @ ist offen !!!'));;\
  }\
}
attr Fenster_offen_Meldung room Programme


Da ich MAX! Fensterkontakt nutze, hab ich das "attribute = event-on-change-reading" für "state" und "battery" je MAX! Fensterkontakt gesetzt um NUR einen Alert bzw. Email zubekommen.

Beste Grüsse

Paddy



docb

Hallo Leute,
mein FHEM auf der Fritzbox meldet mir:
Can't locate LWP/UserAgent.pm in @INC (@INC contains: /var/InternerSpeicher/General-USBFlashDisk-01/fhem/lib/perl /var/InternerSpeicher/General-USBFlashDisk-01/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/99_myUtils.pm line 53.
BEGIN failed--compilation aborted at ./FHEM/99_myUtils.pm line 53.

Wo bekomme ich denn dieses LWP her?
Viele Grüße
Doc
I love FHEM!