Webhooks über QNAP

Guten Morgen,
da jetzt ja endlich meine Würfel da sind möchte ich mich dem Thema widmen meine Brennenstuhl Funksteckdosen über Webhooks an meine QNAP und dann über PHP Scripte die Steckdosen zu schalten! Habe alle Themen gerade von JayJay dazu gelesen, weiß aber nicht wirklich wie ich anfangen soll!
Der Webserver auf der QNAP läuft! Könnt ihr mir vielleicht schritt für schritt erklären was zu tun ist?
Danke !

LG

Hey,

prima, dann fangen wir mal Schritt für Schritt an. :slight_smile:

Kannst Du denn deine Brennenstuhlzentrale bereits über das QNAP ansteuern?

Viele Grüße
JayJay

Uiii was meinst du genau :slight_smile: was muss ich testen? ich sehe in der FritzBox mal das Brennstuhl Gateway! :slight_smile:

Hehe, also machst Du das noch nicht.

Hast Du denn einen WEBserver mit php auf deinem QNAP laufen?
Wenn nicht müsstest Du den zu aller erst einmal einrichten, denn das wird nachher die Schnittstelle zwischen Homee und der Brematic sein…

1 „Gefällt mir“

Webserver habe ich aktiviert und einen virtuellen Host angelegt! Muss ich auch noch phpmyadmin installieren oder ins webverzeichnis kopieren! glaub ich brauche hier schon Hilfe :frowning:

Ich will Dir da nicht falsches erzählen. warten wir mal auf die, die ein QNAP haben.
Kannst Du irgendwo eine Serverübersicht aufrufen?

Kannst Du Deinen Server schon über den Browser erreichen?

Als Test kannst Du mal das kleine Skript probieren:

<?php echo "PHP Test"; ?>

Den Text oben in den Texteditor einfügen und als test.php abspeichern und dann in dein Rootverzeichnis des Webservers kopieren.

Dann rufst Du Deinen Server im Browser auf:

http://ipadressedesservers:port/test.php

Da sollte jetzt “PHP Test” stehen

Ich bin einer von denen die Homee und QNAP haben. Bevor die Jubel losgehen - ich klinke mich hier nur ein, weil ich es selbst noch nicht geschafft habe, den QNAP irgendwie für diesen Anwendungsfall zu konfigurieren. Bei mir läuft noch nicht einmal der Webserver… (@Snewi: Vielleicht kannst du mir, weil OT, kurz per PN schreiben, was du dazu genau installiert hast).

PHPmyadmin brauchst du, um damit Datenbanken zu schalten. Die reinen Webhooksgeschichte sollten ohne funktionieren.

Dann Klinke ich mich mal als Syno Benutzer mit ein…bei mir laufen ja jetzt, Dank Jayjay, meine Logo via Webhook drauf…wenn mehr geht…nehme ich gerne auf…die Syno steht fast ur als Datenkabel Rum. .irgendwann muss sie mal ihr Geld verdienen…:joy:

Hi JayJay, sorry das ich erst jetzt antworte! So mein QNAP Webserver läuft! Was ist als nächstes zu tun?

LG

Hi Snewi,

dann kannst Du schon mal folgendes Script bei Dir auf den Server laden und die IP Adresse der Brematic anpassen.
Aufgerufen wird das ganze dann mit:

http://QNAPIP:PORT/bre.php?m=MASTER&s=SLAVE&p=0

m=Mastercode
s=Slavecode
p= 0 für aus oder 1 für an

<?php

function tx433_send($msg)
{
$IP=“192.168.1.5”;//IP-Adresse der Brematic
$PORT=49880;

    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
    $len = strlen($msg);
    if($sock) {
            socket_sendto($sock, $msg, $len, 0, $IP, $PORT);
            socket_close($sock);
    }
    else {
            echo "Socket error IP:PORT=".$IP.":".$PORT."\n";
            exit(0);
    }

}
function tx433_brennstuhl($Master,$Slave,$onoff)
{
$sA=0;
$sG=0;
$sRepeat=15;
$sPause=5600;
$sTune=350;
$sBaud=25;
$sSpeed=16;

    $uSleep=800000;
    $HEAD="TXP:$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,";
    $TAIL=",1,1,$sSpeed,;";
    $AN="1,3,1,3,3";
    $AUS="3,1,1,3,1";
    $bitLow=1;
    $bitHgh=3;
    $seqLow=$bitHgh.",".$bitHgh.",".$bitLow.",".$bitLow.",";
    $seqHgh=$bitHgh.",".$bitLow.",".$bitHgh.",".$bitLow.",";
    $bits=$Master;
    $msg="";
    for($i=0;$i<strlen($bits);$i++) {
            $bit=substr($bits,$i,1);
            if($bit=="0")
                    $msg=$msg.$seqLow;
            else
                    $msg=$msg.$seqHgh;
    }
    $msgM=$msg;
    $bits=$Slave;
    $msg="";
    for($i=0;$i<strlen($bits);$i++) {
            $bit=substr($bits,$i,1);
            if($bit=="0")                   $msg=$msg.$seqLow;
            else
                    $msg=$msg.$seqHgh;
    }
    $msgS=$msg;
$msg_ON=$HEAD.$bitLow.",".$msgM.$msgS.$bitHgh.",".$AN.$TAIL;
    $msg_OFF=$HEAD.$bitLow.",".$msgM.$msgS.$bitHgh.",".$AUS.$TAIL;
    if($onoff==1)
            $msg=$msg_ON;
    else
            $msg=$msg_OFF;
    tx433_send($msg);

}

function checkdigits($int){
if(!ctype_digit($int)){
die(“Only digits no words. Script die.\n”);
}
}

function getallgets($gets){
$datarr = array();
foreach($gets as $key => $value)
{
checkdigits($value);
$datarr[$key] = $value;

    }
    return $datarr;

}

function startcontrol($datarr){

    tx433_brennstuhl($datarr['m'],$datarr['s'],$datarr['p']);

}

if(count($argv)>=4){
$_GET[‘m’] = $argv[1];
$_GET[‘s’] = $argv[2];
$_GET[‘p’] = $argv[3];
if(isset($argv[4])){
$_GET[‘d’] = $argv[4];
}
}else{
echo “To less arguments!\n”;
}

$data = getallgets($_GET);
startcontrol($data);

?>

Viele Grüße
JayJay

Hi sag mal wie ist das mit dem Port der Brematic? Muss ich da einen vergeben und ne Freigabe machen oder wie?

Gruss

So hab es mal über den Browser getestet und siehe da die Steckdose wird geschaltet! Hammer! Danke! Jetzt muss ich nur noch wissen wie es mit homee geht!!

Gute Nacht

Guten Morgen,

nein du brauchst nichts freigeben.

Die Adresse die du in dem Browser eingegeben hast gibst du nun nur noch als Aktion Webhook in deinen Homeegrammen ein und schon kann Homee 433Mhz Baumarktsteckdosen bedienen :smiley:

Viele Grüße
JayJay

Das habe ich versucht! Was wäre denn der Auslöser ? Und wie schalte Inches dann über homee?

Was immer Homee Dir anbietet oder Du willst :wink:

Ich habe Abspielen als Auslöser, da die 433er nur manuell geschaltet werden. Ich habe also ein HG für einschalten und Eines für ausschalten. Diese HG kannst Du dann in anderen HG aufrufen wie Geräte…

Viele Grüße
JayJay

Habe als Auslöser wenn Homeegramm angespielt wird dann Aktion Webhook! Welchen Optionalen Parameter muss ich nehmen? Da wird nämlich irgendwie nix geschaltet!

Gruss

Gar keine, Du musst nur die URL wie Du sie im Browser eingegeben hast übernehmen…

http://QNAPIP:PORT/bre.php?m=MASTER&s=SLAVE&p=0

ja das hab ich gemacht! aber wenn ich es ausführe passiert nichts :frowning:

Geht es denn im Browser?

Ja