Neuling in Sachen Prowl - wie Einrichten um Meldungen von IPS zu bekommen

Ich steh gerade extrem aufm Schlauch und weis eigentlich nur dass ich ne Prowl API brauche.
Wie bekomm ich jetzt z.B. ein Ereignis an Prowl gesendet?

Habe mein Garagentor mit einem Homematic Fensterkontakt (Magnet) ausgerüstet. Das zeigt mir im WF auch an dass es offen oder geschlossen ist.
Wie so oft, war das Tor auch noch um 23 Uhr offen weil ich es vergessen habe.
Ich könnte mir vorstellen, dass ich z.B. nach Sonnenuntergang eine Nachricht bekomme wenn das Tor offen steht.

Aber es würde erst mal reichen dass ne Meldung kommt - Tor offen. Alles weitere kann dann noch ausgebaut werden.
Kann mir mal jemand auf die Sprünge helfen?

Gruß

Hi,
Du brauchst dazu eigentlich nur Deinen PrivateKey und der Rest ist dann nur noch ein einfacher CURL aufruf


 
function Send_Prowl ($Prowl_ID, $message, $application)
{
                $prowl_message = str_replace(' '.chr(13),chr(13),$message);
                $today = Date('d-m-Y (H:i)');
                IPS_LogMessage ("PROWL","Send message: ".$prowl_message);
                $curlData = array ('apikey'=>$Prowl_ID,
                                                                                                                'priority'=>'2',
                                                                                                                'application'=>$application,
                                                                                                                'event'=>$today,
                                                                                                                'description'=>$prowl_message);
 
                $ch = curl_init('https://api.prowlapp.com/publicapi/add');
                curl_setopt($ch, CURLOPT_HEADER, 0);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $curlData);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                $result = curl_exec($ch);                                                                                                                                                                                                                                                                                                                                                                                                              ## Send new warning via cURL to PROWL API
                curl_close($ch);
 
}

Gruß,
Torsten

Gesendet von meinem iPad mit Tapatalk

meine PHP-Kenntnisse sind gleich Null :frowning:
bei apikey muss mein Code rein von der Prowl Seite oder?

Ich möchte Prüfen ob nach z.B. 20Uhr das Garagentor ID 40659 der Status offen oder Geschlossen ist.
Habe gedacht ich mache ein Ereignis alle 5 Minuten und das ab 20Uhr.
Wenn das Tor offen ist -> Nachricht an Prowl „Tor steht noch offen“

Moin… hilft dir das weiter? Musst die ID von deinem Tor noch anpassen und ein Ereignis erstellen.
Gruß,
Peter



$key = 'dein API-KEY'; // $Prowl_ID
$text = 'Das Tor steht offen'; // $message
$absender = 'IPS'; //$application

$tor_status = GetValue(12345); // ID des TOR-Status

if ($tor_status == true) // also offen
{
Send_Prowl($key,$text,$absender);
}

function Send_Prowl ($Prowl_ID, $message, $application)
{
                $prowl_message = str_replace(' '.chr(13),chr(13),$message);
                $today = Date('d-m-Y (H:i)');
                IPS_LogMessage ("PROWL","Send message: ".$prowl_message);
                $curlData = array ('apikey'=>$Prowl_ID,
                                                                                                                'priority'=>'2',
                                                                                                                'application'=>$application,
                                                                                                                'event'=>$today,
                                                                                                                'description'=>$prowl_message);
 
                $ch = curl_init('https://api.prowlapp.com/publicapi/add');
                curl_setopt($ch, CURLOPT_HEADER, 0);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $curlData);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                $result = curl_exec($ch);                                                                                                                                                                                                                                                                                                                                                                                                              ## Send new warning via cURL to PROWL API
                curl_close($ch);
 
}

habe meinen apikey oben eingefügt und meine Tor Status ID eingefügt.
Ein Ereignis habe ich für alle 5 Sekunden eingerichtet, dass er das Script startet.
Er sagt in der Zeile 8 hat er einen Fehler, wo er prüft mit if … ob das Tor offen ist.


Mach ein Screenshot vom Skript bitte. So das ich die Zeilen sehen kann!
Es stimmt was nicht mit dem Teil:


$tor_status = GetValue(12345); 

Gib mal nur die ID des Tores ein.

hier mal der php code

<?
$key = 'apikey'; // $Prowl_ID
$text = 'Das Tor steht offen'; // $message
$absender = 'IPS'; //$application

$tor_status = GetValue(40659) // dein Tor Status);

if ($tor_status == true) // also offen
{
Send_Prowl($key,$text,$absender);
}

function Send_Prowl ($Prowl_ID, $message, $application)
{
                $prowl_message = str_replace(' '.chr(13),chr(13),$message);
                $today = Date('d-m-Y (H:i)');
                IPS_LogMessage ("PROWL","Send message: ".$prowl_message);
                $curlData = array ('apikey'=>$Prowl_ID,
                     'priority'=>'2',
                     'application'=>$application,
                     'event'=>$today,
                     'description'=>$prowl_message);

                $ch = curl_init('https://api.prowlapp.com/publicapi/add');
                curl_setopt($ch, CURLOPT_HEADER, 0);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $curlData);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                $result = curl_exec($ch);                                                                                                                                                                                                                                                                                                                                                                                                              ## Send new warning via cURL to PROWL API
                curl_close($ch);

}
?>


in Zeile 8 nach dem if tor_Status waren 2x = vorhanden.

Eins raus und noch auf false abgeändert. Weil wenn geschlossen = true :wink:

Jetzt ist aber das Problem, wenn das Tor offen steht, kommt keine Nachricht. Vorher hat er im 5 Sekunden takt ne Nachricht geschickt.
Hat es was damit zu tun, dass es eine Boolean Variable ist?

Das ist richtig mit zwei mal GLEICH-ZEICHEN!!!

Nimm das Skript von Oben noch mal . Hab das Korrigiert und trage nur noch die ID des Tores ein!
Das von dir gepostete Skript ist falsch. Nimm noch mal das von mir!!

Und nimm deine PROWL-API aus dem SKRIPT welches Du gepostet hast!!