FRITZ!DECT 301 Temperatur vom Raspberry übertragen

  • FRITZ!DECT 301 Temperatur vom Raspberry übertragen? Schau mal ob du hier fündig wirst!

  • Du bekommst die Fehlermeldung:

    Anmeldefehler, keine Session-ID erhalten!

    Die Session-ID holt sich das PHP-Skript (Heizkörper.php Zeile 13) von der besagten Bash-Datei:

    /home/pi/Wohnzimmer/skripte/DECT/SIDerzeugen.sh

    Wenn die nicht existiert oder die SID , dann bekommst Du die Fehlermeldung.

  • Trage mal deine Daten ein:

    Bash
    #!/bin/bash
    # Quelle: https://raspberrypiandstuff.wordpress.com/tag/fritzdect/
    FBF="http://fritz.box" #<-- ggf. Anpassen
    USER="" # <--- hier
    PASS="" # < -- Hier
    CHALLENGE=$(curl -s "${FBF}/login_sid.lua" | grep -Po '(?<=<Challenge>).*(?=</Challenge>)')
    MD5=$(echo -n ${CHALLENGE}"-"${PASS} | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}')
    RESPONSE="${CHALLENGE}-${MD5}"
    SID=$(curl -i -s -k -d "response=${RESPONSE}&username=${USER}" "${FBF}" | grep -Po -m 1 '(?<=sid=)[a-f\d]+')
    echo $SID > /tmp/last.SID

    und speichere das Script unter:

    Code
    /home/pi/Wohnzimmer/skripte/DECT/SIDerzeugen.sh

    Das ist zwar alles ein ziemleiches Durcheinander, aber vielleicht geht es fürs Erste.

  • Ich habs nur überflogen und php kennen ich nicht im Detail. Du bekommst keine Session ID weil die

    Code
    /home/pi/Wohnzimmer/skripte/DECT/SIDerzeugen.sh

    fehlt. Bekommst du eigentlich keine Fehlermeldung? Das o.g. Script soll das fehlende Scripot ersetzen und erzeugt eine Session ID, in der Hoffnung, daß es das richtige Format ist. Die Fritzxbox.dat brauchst du dann eigentlich nicht mehr. Zu dem Rest kann ich nichts sagen. Das Ganze ist ein ziemliches Flickwerk. Alles ungetestet und ohne Gewähr. Passe es einfach mal an und starte dein Script wie zuvor.

    Noch besser ist es im ersten Schritt das SIDerzeugen.sh direkt zu starten und danach in die Datei /tmp/last.SID zu schauen.

    Edited once, last by Tastenknecht (February 10, 2021 at 6:33 PM).

  • Index.php

    fritzbox.dat

    PHP
    <?php
    // Achtung alle Einträge müssen innerhalb des php Bereichs sein
    // Kopfdaten dürfen nicht verändert werden !!!
    
    //Login Adresse für die Fritzbox
    $ahaurl = 'http://fritz.box/webservices/homeautoswitch.lua';
    $loginurl = 'http://fritz.box/login_sid.lua';
    $username = 'name';
    $password = 'passwort';
    ?>

    heizkoerper.dat

    SID.sh

    Bash
    #!/bin/bash
    # Quelle: https://raspberrypiandstuff.wordpress.com/tag/fritzdect/
    FBF="http://192.168.2.2" #<-- ggf. Anpassen
    USER="name" # <--- hier
    PASS="passwort" # < -- Hier
    CHALLENGE=$(curl -s "${FBF}/login_sid.lua" | grep -Po '(?<=<Challenge>).*(?=</Challenge>)')
    MD5=$(echo -n ${CHALLENGE}"-"${PASS} | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}')
    RESPONSE="${CHALLENGE}-${MD5}"
    SID=$(curl -i -s -k -d "response=${RESPONSE}&username=${USER}" "${FBF}" | grep -Po -m 1 '(?<=sid=)[a-f\d]+')
    echo $SID > last.SID

    Alle Dateien sind im Ordner fritz auf einem Webserver mit xampp

    Edited once, last by chris47803 (February 10, 2021 at 7:38 PM).

  • Aber PHP führe ich ja auf einem Webserver aus.

    Und der Webserver läuft auf einem RPi?

    Erläre mir doch bitte wie ich auf dem R Pi die SID.sh ausführe um eine Ausgabe zu erhalten.

    Du machst das Skript erst einmalig ausführbar mit

    Code
    cd /Pfad/zum/Skriptverzeichnis
    
    chmod +x SID.sh

    (/Pfad/zum/Skriptverzeichnis musst Du anpassen)

    Dann kannst Du das Skript im Terminal mit /Pfad/zum/Skriptverzeichnis/SID.sh ausführen.

  • Das Ergebnis wird nach ./last.SID geschrieben.
    gib mal ein cat ./last.SID oder zusammen ./SID.sh && cat ./last.SID

    Die Index.php liest die SID aus der Datei last.SID.

    Echt kompliziert.
    Ich hatte mal eine PHP Klasse geschrieben für die Fritzbox Dinger.

    Offizieller Schmier und Schmutzfink des Forum.
    Meine PI:

    Display Spoiler

    #1 : Pi1 - Packet Radio Digi mit TNC-PI
    #2 : Pi2 - ADSB Feeder
    #3 : Pi3 - DHCP/DNS Server für 4 VLAN
    #4 : Pi3 - Wireguard Gateway Umgezogen nach Proxmox
    #5 : Pi3 - FM Funknetz Gateway mit Shari SA818
    #6 : PI Zero W mit DMR Hotspot
    #7 : Pi4 4GB - Kiosk Browser
    #8 : Pi4 4GB - Kiosk Browser
    #9 : Pi4 8GB - Test Pi
    #10 : Pi2 - Auto CD Ripper abcde

    Dazu noch ein paar Zero und Pi1/2 die noch auf einen sinnvollen Einsatz warten.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!