Difference between revisions of "Divera-script"
(→PHP-Script) |
|||
| Line 18: | Line 18: | ||
== PHP-Script == | == PHP-Script == | ||
<code> | <code> | ||
| − | <?php | + | <?php |
| − | + | ||
| − | // Takes raw data from the request | + | // Takes raw data from the request |
| − | $json = file_get_contents('php://input'); | + | $json = file_get_contents('php://input'); |
| − | + | ||
| − | // Converts it into a PHP object | + | // Converts it into a PHP object |
| − | $data = json_decode($json); | + | $data = json_decode($json); |
| − | + | ||
| − | + | ||
| − | $title = $data->title; | + | $title = $data->title; |
| − | $text = $data->text; | + | $text = $data->text; |
| − | $SR = $data->priority; | + | $SR = $data->priority; |
| − | + | ||
| − | + | ||
| − | if($title != "") | + | if($title != "") |
| − | { | + | { |
| − | + | ||
| − | + | ||
| − | $heute = date("mdy-Gis"); | + | $heute = date("mdy-Gis"); |
| − | $meldung = str_replace(" ", "%20", $title); | + | $meldung = str_replace(" ", "%20", $title); |
| − | $fahrzeuge = str_replace(" ", "%20", $text); | + | $fahrzeuge = str_replace(" ", "%20", $text); |
| − | $sonderrechte = str_replace(" ", "%20", $SR); | + | $sonderrechte = str_replace(" ", "%20", $SR); |
| − | $url1="https://192.168.0.XXX/set/0_userdata.0.Alarm.Fahrzeuge?value=$fahrzeuge"; | + | $url1="https://192.168.0.XXX/set/0_userdata.0.Alarm.Fahrzeuge?value=$fahrzeuge"; |
| − | $url2="https://192.168.0.XXX/set/0_userdata.0.Alarm.Meldung?value=$meldung"; | + | $url2="https://192.168.0.XXX/set/0_userdata.0.Alarm.Meldung?value=$meldung"; |
| − | $url3="https://192.168.0.XXX/set/0_userdata.0.Alarm.Sonderrechte?value=$sonderrechte"; | + | $url3="https://192.168.0.XXX/set/0_userdata.0.Alarm.Sonderrechte?value=$sonderrechte"; |
| − | $url4="https://192.168.0.XXX/set/0_userdata.0.Alarm.Datum?value=$heute"; | + | $url4="https://192.168.0.XXX/set/0_userdata.0.Alarm.Datum?value=$heute"; |
| − | + | ||
| − | $output1 = exec("curl $url1"); | + | $output1 = exec("curl $url1"); |
| − | $output2 = exec("curl $url2"); | + | $output2 = exec("curl $url2"); |
| − | $output3 = exec("curl $url3"); | + | $output3 = exec("curl $url3"); |
| − | $output4 = exec("curl $url4"); | + | $output4 = exec("curl $url4"); |
| − | } | + | } |
| − | ?> | + | ?> |
</code> | </code> | ||
Revision as of 14:02, 8 February 2021
Übersicht
| Divera-Webhook sendet bei Alarm eine JSON Datei an das PHP Script, dieses Verarbeitet die Json und ruft intern IOBroker simple API URLs auf, somit wird der Datenwert gesetzt |
Einstellungen Divera
Verwaltung => Schnittstelle => Datenübergabe => Webhooks
| Bei dievera folgende Einstellungen machen und auf das script verlinken, dass auf dem Webserver liegt |
PHP-Script
<?php
// Takes raw data from the request
$json = file_get_contents('php://input');
// Converts it into a PHP object
$data = json_decode($json);
$title = $data->title;
$text = $data->text;
$SR = $data->priority;
if($title != "")
{
$heute = date("mdy-Gis");
$meldung = str_replace(" ", "%20", $title);
$fahrzeuge = str_replace(" ", "%20", $text);
$sonderrechte = str_replace(" ", "%20", $SR);
$url1="https://192.168.0.XXX/set/0_userdata.0.Alarm.Fahrzeuge?value=$fahrzeuge";
$url2="https://192.168.0.XXX/set/0_userdata.0.Alarm.Meldung?value=$meldung";
$url3="https://192.168.0.XXX/set/0_userdata.0.Alarm.Sonderrechte?value=$sonderrechte";
$url4="https://192.168.0.XXX/set/0_userdata.0.Alarm.Datum?value=$heute";
$output1 = exec("curl $url1");
$output2 = exec("curl $url2");
$output3 = exec("curl $url3");
$output4 = exec("curl $url4");
}
?>