Rademacher RolloTron DECT vom Raspberry über das HTTP Interface der Fritzbox steuern

  • Ich habe ein kleines Problem und könnte Unterstützung gebrauchen.

    Da es etwas spezielles ist, habe ich eine Frage, ob es hier einen USER gibt, der diesen Rollormotor über das HTTP Interface von AVM schon mal eingerichtet hat. Information zum HTTP Interface. Oder sich darin etwas auskennt.

    Das Script für die Steckdose sieht so aus:

    Code
    $ahaurl = 'http://fritz.box/webservices/homeautoswitch.lua';
    $sid = wird in anderen Script erstellt
    $ain = Identifikationsnummer zb: 14276765533929
    $cmd = setswitchtoggle
      $url=$ahaurl."?sid=$sid"."&ain=".rawurlencode($ain).'&switchcmd='.$cmd;
      file_get_contents($url);
      echo $url;

    Hierrüber schalte ich die Steckdosen von AVM ein und aus.

    Nach den Unterlagen von AVM müßte eigentlich das Script für den Rollormotor so aussehen:

    Code
    $ahaurl = 'http://fritz.box/webservices/homeautoswitch.lua';
    $sid = wird in anderen Script erstellt
    $ain = Identifikationsnummer zb: 14276765533929
    $cmd = setblind
      $url=$ahaurl."?sid=$sid"."&ain=".rawurlencode($ain).'&switchcmd='.$cmd.'&target=open';
      file_get_contents($url);
      echo $url;

    wobei target den Wert "open,close oder stop" sein kann.  failed to open stream: HTTP request failed! HTTP/1.0 500 Internal Server Error .

    Kann mir einer eventuell sagen, was ich falsch gemacht haben könnte?

  • Rademacher RolloTron DECT vom Raspberry über das HTTP Interface der Fritzbox steuern? Schau mal ob du hier fündig wirst!

  • Meiner Ansicht nach liegt das Problem nicht bei dem hier gezeigten Code, der sollte so stimmen. Natürlich von dem fehlenden ; nach $cmd = setblind mal und dem pseudo $sid und $ain abgesehen.

    Hast Du auch das Leerzeichen in der AIN weggelassen oder ggf. durch %20 ersetzt?

    Kommentiere die Zeile file_get_contents($url); doch mal raus und lass Dir die URL anzeigen. Da darf kein Leerzeichen drinnen sein!

  • Das läuft in einen PHP-Skript?

    Ich rufe den Link über wget auf und bau in so zusammen:

    Code
    wget -O - "http://$avmfbip/webservices/homeautoswitch.lua?ain=0123456789&switchcmd=setswitchon&sid=$avmsid" 2>/dev/null

    Also ohne die von dir geschriebenen Punkten, ist aber auch shell.

    Die AIN ist eine reine zahl, die nicht umkodiert werden müsste, und es muss natürlich die vom Rollo sein ;)

    Was spukt dein PHP als URL aus?

    Computer ..... grrrrrr

  • Danke für eure Infos.

    hyle

    Ich wollte hier keinen Roman schreiben, deswegen habe ich die Variablen so angegeben.

    Der Code von Zeile 5 funktioniert, da ich Steckdosen und Heizkörperregler von AVM benutze.

    Und mir war auch klar, dass die Leerzeichen in der AIN nicht mit eingegeben werden darf.

    Habe es jetzt ans laufen bekommen.

    Hatte mich auch an AVM gewand und die hatten sich nicht gemeldet.

    Heute morgen habe ich von denen eine Mail bekommen. Die Abteilung hatte nur sehr viel zu tun und hatten bis gestern Urlaub.

    AVM schrieb:

    Zitat

    Beim RolloTron handelt es sich um ein Device vom Typ HAN-FAN.

    Wie in der AHA-API beschrieben muss für HAN-FAN Devices die AIN der HANFUN-Unit angegeben werden, die wahrscheinlich auf "-1" endet.
    In Ihrem Fall also wahrscheinlich "142760533929-1". 

    HAN-FAN war mir bis jetzt nicht geläufig.

    Nachdem ich die AIN um   -1  erweitert habe funktioniert das ganze jetzt.

  • Zitat

    die AIN der HANFUN-Unit angegeben werden,

    wäre ja sicher auch ein kleines bisschen zu viel gewesen, wenn diese AIN auf der Oberfläche der F!B mit angegeben würde.

    Oder woher soll man diese bekommen?

    (Eine kleine Frage an AVM ;)

    Computer ..... grrrrrr

  • Rasp-Berlin

    Beim Rollormotor liegt eine Beschreibung bei, wie man ihn mit der Fritzbox einbinden muss.
    Man bindet ihn wie bei W-LAN ein, nur es wird statt die W-LAN Taste die  DECT Taste betätigt.

    Anschließend findet man den Rollormotor unter  SmartHome --> Geräte und Gruppen .

    Wie die anderen Smart Home Geräte auch.

    Dort kann man die AIN Nummer unter Allgemein auslesen.

    Das Leerzeichen muss entfernt werden und am Ende  -1  hinzugefügt werden.

    PS:

    Habe es mal etwas genauer beschrieben, für die, die nicht so viel Erfahrungen mit der Fritzbox haben

    Einmal editiert, zuletzt von Robby (7. Januar 2023 um 11:11)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!