2017-06-09 4 views
0

Guten Tag,IFTTT: Der Versuch, ein PHP-Skript auszuführen Maker webhooks

Ich habe eine IFTTT receipe erstellt, wenn ein „MyFox“ Alarmanlage scharf geschaltet ist, ein PHP-Skript auf meinem NAS ausgeführt (192.165.xx). Das PHP-Skript soll eine gespeicherte Prozedur in meiner MySQL-Datenbank auslösen.

Der folgende PHP-Skript wird von anderen Mitteln getestet und ich bin sicher, dass es funktioniert:

<?php 

/* 
    php_update_mode_armed.php 

    ***************************************************************************************** 
    * This script updates the value of the components in the table tbl_eedomus_current_mode 
    * It calls the stored procedure 'sp_tbl_eedomus_current_mode_armed' 
    ***************************************************************************************** 

    Version 1.00, 09.06.2017, Initial version of the script 
*/ 


mainProcess(); 

function mainProcess() 
{ 
    $ServerIP = "192.165.x.x"; 
    $sqlUser = "domoos"; 
    $sqlDatabase = "domoos"; 
$pw = "myPass"; 

    // Connect 
    $mysqli = new mysqli($ServerIP, $sqlUser, $pw, $sqlDatabase); 
    if(!$mysqli) {[![enter image description here][1]][1] 
    header('Location: error.php?error=DbConnectionFailure'); 
    die(); 
    } 

    // Call stored procedure sp_tbl_eedomus_current_mode_armed 
    if(!$mysqli->query("CALL sp_tbl_eedomus_current_mode_armed()")) 
    { 
     echo "OK"; 
    if($mysqli) $mysqli->close(); // Close DB connection 
    //header('Location: error.php?error=QueryFailure'); 
    die(); 
    } 

    if($mysqli) $mysqli->close(); // Close DB connection  
} 


?> 

Unten auch ein Screenshot von meinem „dann“ -Teil des IFTTT receipe.

Mache ich hier etwas falsch oder ist die Verwendung von IFTTT nicht für den Zweck geeignet, den ich hier erreichen möchte?

Vielen Dank für Ihre Hilfe in dieser Angelegenheit und einen schönen Tag.

enter image description here

Antwort

1

meisten likly IFTTT können Ihre NAS aus dem Internet nicht zugreifen aufgrund Home-Router Firewall etc. Auch die IP-Adresse in IFTTT verwendet keine lokale IP wie 192.168 sein sollte. * Aber Ihre öffentliche IP Adresse. Sie können dies durch googling for "whats my ip herausfinden.

Der beste Weg, um Ihre Einrichtung mit Ihrem Laptop zu testen, ist vom lokalen Wifi-Netzwerk trennen, verbinden Sie Ihr Telefon mit Ihrem Laptop und versuchen Sie die NAS-ip-URL zu sehen, ob es noch funktioniert. Sie können Chrom Postbote app Anfragen POST auszusenden.

Wenn das alles in Ordnung ist, erhalten PHP eingehende Verbindungen anmelden, indem in eine Datei zu schreiben. file_put_contents("log.txt", print_r($_REQUESTS, true));

ich würde vorschlagen, mit einer GET-Anforderung versucht, zuerst mit Standard-Content typ. Viel Glück!

+0

Vielen Dank, Chris, für Ihre Antwort. – Laurent

Verwandte Themen