Beiträge von ChrisChip

    Hallo zusammen,

    seit dem letzten Fritzbox-Update funktionieren die Zugriffe von meinem Raspberry auf die FB nicht mehr. Grund ist eine ungültige Session-ID

    Ich verwende seit längerem ein Bash- Skript dafür, das ich selbst mal kopiert haben. Funktionierte bis jetzt auch immer ohne Probleme.

    Bash
    #!/bin/bash
    FBF="192.168.178.1"
    USER="fritz1682" # oder falls nicht vorhanden, dann leer lassen
    PASS="passwort"
    CHALLENGE=$(curl -s -k "${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}"
    #echo ${RESPONSE}
    SID=$(curl -i -s -k -d "response=${RESPONSE}&username=${USER}" "${FBF}" | grep -Po -m 1 '(?<=sid=)[a-f\d]+')
    echo ${SID} | cut -d" " -f1

    Ich bekomme seit dem letzten Update immer eine leere Ausgabe...

    Leider reichen meine Bash- Kenntnisse (quasi nicht vorhanden) nicht, um den Fehler zu analysieren...

    Wenn ich mir die

    Code
    #echo ${RESPONSE}

    ausgeben lasse, erhalte ich z.B. sowas:

    e89a3d3d-e30d7e59c7e3ce2d824f7b630882bcba

    Scheint daher erstmal zu funktionieren, leider ist das keine gültige Session-ID...

    Hat jemand eine Idee?

    Habs hinbekommen!

    Tell : Vielen Dank für die Hilfe :)

    Vielen Dank für die Hilfe!

    Die Verbindung klappt soweit, schmeißt aber noch einen Fehler:

    Der Port ist per default 502, oder muss ich den noch angeben?

    Code
    Traceback (most recent call last):
      File "write_modbus.py", line 21, in <module>
        assert not rq.isError()
    AssertionError
    Python
    from pymodbus.client.sync import ModbusTcpClient
    
    client = ModbusTcpClient('192.168.178.61')
    rq = client.write_register(37, 500, slave=228)
    assert not rq.isError()
    client.close()

    Hallo zusammen,

    bin leicht am verzweifeln. Bekomme es nicht gebacken, einen Wert auf ein Modbus Register zu schreiben (Modbus TCP).

    Die Daten die ich senden möchte:

    IP: 192.168.178.61

    Slave ID: 228

    Adresse: 37

    Value: 500

    Habe etwas rumgespielt mit pymodbus, komme aber leider zu keinem Ergebnis. Die Dokumentation von pymodbus ist sehr umfangreich, hat mir da auch nicht weitergeholfen. ;(

    Hätte bitte jemand ein einfaches Beispiel, wie ich die Daten mit python senden kann?

    Servus zusammen,

    würde gerne folgendes in PHP machen:

    Code
    curl -d '{ "Permanent": true, "RemoteCurr": 6, "AutoChg": null, "ChgState": null, "Uid": null}' -H "Content-Type: application/json" -X POST http://10.0.1.28:25000/MHCP/1.0/ChargeData?DevKey=XXXXXX 

    Jemand eine Idee wie ich das hinbekomme?

    Zitat

    Das m.M.n. viel zu oft , denn die 301er verbrauchen ja Strom zum Auslesen und Senden der Daten und damit die Batterien. Davon abgesehen ändern sich so schnell keine Temperaturen im Normalbetrieb. Wenn Du Lüften erkennen willst, dann würde imho auch locker alle 15 Minuten ausreichen

    Muss mich hier korrigieren. Alle 15 Minuten wird ausgelesen. Die FB frägt nur alle 15 Minuten den Status der mit DECT verbunden Geräte ab. Es wird auch immer nur der letzte Status abgefragt. "Live" abfragen kann man die HKR leider nicht. Auch ein umstellen der Temperatur kann unter Umständen bis zu 15 Minuten dauern.

    Die Zeile 11 im Skript habe ich jetzt überwunden ;) Leider komm ich immer noch nicht zu einer SessionID.

    Läuft das Skript bei dir?

    Hallo zusammen,

    verzweifle an einem vermeintlich einfachem Problem, hab schon alles versucht aber bekomm es nicht hin :conf:

    Bash
    #!/bin/bash
    STRING1="test"
    STRING2="wort"
    echo ${STRING1}
    echo ${STRING2}
    #Verbinden mit Bindestrich
    KETTE="${STRING1}-${STRING2}"
    echo ${KETTE}

    Normal sollt hier nach meinem Verständnis die Ausgabe folgendermaßen ausschauen:

    test

    wort

    test-wort

    Über die Console ausgeführt wir jeweils immer der erste String ignoriert und folgendes wird ausgegeben:

    test

    wort

    -wort

    Das Skript wird über Putty in der Console ausgeführt...

    Sorry, hab ich gestern überlesen.

    Ist zum steuern und vor allem auslesen von Smarthome Daten aus der FB. Hab da z.B. ein paar Heizkörpertermostate über DECT dran.

    Lese alle Daten 1x pro Minute über einen Crontab aus. Hierfür wird immer die Session-ID benötigt. Hat auch die letzten Jahre super funktioniert bis zum Update der FB.
    Habs zuvor über PHP ausgelesen:

    Bekomm es leider nicht hin, den Code für die neue Anmeldung umzuschreiben. War schon ein paar Stunden dran...

    Das vielversprechendste ist momentan dein Skript. Hier häng ich nur noch an der Kleinigkeit, dass die 2 Strings sich nicht verbinden lassen. Hab hier schon alles mögliche ausprobiert aber in Bash hab ich kaum was gemacht bis jetzt...