Ankündigung

Einklappen
Keine Ankündigung bisher.

Robonect JSON und XML mit HS auswerten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS Robonect JSON und XML mit HS auswerten

    Hallo,

    Legospieler hat zwar einen LBS für das Husquvarna Automower Robonect Modul entwickelt. Dieser LBS reißt bei fehlender WLAN Verbindung zum Rasenroboter den HS leider in den Abgrund.
    Daher bastel ich gerade daran, die Daten mit der Web/IP Seiten Auswertung zu steuern und abzufragen.

    Die Steuerung des Roboter funktioniert problemlos.
    z.B. mit 192.168.1.66/xml?cmd=modus&modus=auto ,damit starte ich z.B. den Timer Modus.

    Probleme hab ich aber mit der Auswertung.
    Sende ich z.B.: 192.168.1.66/xml?cmd=status&status , dann schickt mir die Webseite folgende Daten retour:

    This XML file does not appear to have any style information associated with it. The document tree is shown below.

    <robonect>
    <name>Rasenroboter</name>
    <id>8BBF1B</id>
    <status>
    <status>1</status>
    <distance>0</distance>
    <stopped>true</stopped>
    <duration>665</duration>
    <mode>2</mode>
    <battery>97</battery>
    <hours>3509</hours>
    </status>
    <timer>
    <status>2</status>
    </timer>
    <wlan>
    <signal>-79</signal>
    </wlan>
    <health>
    <temperature>28</temperature>
    <humidity>35</humidity>
    </health>
    <clock>
    <date>2021-08-21</date>
    <time>08:52:41</time>
    <unix>1629535961</unix>
    </clock>
    <successful>true</successful>
    </robonect>

    Davon interessiert mich vor allem der Batteriestatus und die Statusnummer (beide fett hervor gehoben)

    Jetzt hab ich folgendes gemacht.
    Die Webseitenauswertung schreibt mir den Klartext in eine 14Byte (Text) Gruppenadresse.
    Webseitenabruf.jpg
    Webseitenabruf in Text speichern.jpg , dann möchte ich den Text mit dem JSON Parser auswerten:

    JSON Parser.jpg
    JSON Parser schreiben in GA.jpg
    Nur kommt dort immer nur eine "0", statt einem Wert zwischen 1 und 100

    Wenn ich in der Logikeditor Überwachung nachsehe, scheint er die Seite nicht richtig auszuwerten (Siehe JSON String)
    JSON String.jpg

    Wenn ich unter http://HS-IP/hslist und EventBiDir nachsehe, steht hier folgendes:
    (Gesamt: 1) (Work: 1) (Typ: Liste) (OK: 1)
    21.08.2021 10:06:14 (IP: 192.168.1.66) (Port: 80)
    (Send: 121) 0x47 0x45 0x54 0x20 0x2f 0x78 0x6d 0x6c 0x3f 0x63 0x6d 0x64 0x3d 0x73 0x74 0x61 0x74 0x75 0x73 0x26 0x73 0x74 0x61 0x74 0x75 0x73 0x20 0x48 0x54 0x54 0x50 0x2f 0x31 0x2e 0x30 0xd 0xa 0x41 0x75 0x74 0x68 0x6f 0x72 0x69 0x7a 0x61 0x74 0x69 0x6f 0x6e 0x3a 0x20 0x42 0x61 0x73 0x69 0x63 0x20 0x59 0x57 0x52 0x74 0x61 0x57 0x34 0x36 0x51 0x57 0x74 0x49 0x62 0x31 0x4e 0x30 0x63 0x6a 0x55 0x35 0xd 0xa 0x48 0x6f 0x73 0x74 0x3a 0x20 0x31 0x39 0x32 0x2e 0x31 0x36 0x38 0x2e 0x31 0x2e 0x32 0x33 0xd 0xa 0x43 0x6f 0x6e 0x6e 0x65 0x63 0x74 0x69 0x6f 0x6e 0x3a 0x20 0x43 0x6c 0x6f 0x73 0x65 0xd 0xa 0xd 0xa
    GET /xml?cmd=status&status HTTP/1.0
    Authorization: Basic YWRtaW46QWtIb1N0cjU5
    Host: 192.168.1.23
    Connection: Close


    (Recv: 704) 0x48 0x54 0x54 0x50 0x2f 0x31 0x2e 0x31 0x20 0x32 0x30 0x30 0x20 0x4f 0x4b 0xd 0xa 0x43 0x6f 0x6e 0x74 0x65 0x6e 0x74 0x2d 0x54 0x79 0x70 0x65 0x3a 0x20 0x74 0x65 0x78 0x74 0x2f 0x78 0x6d 0x6c 0xd 0xa 0x53 0x65 0x72 0x76 0x65 0x72 0x3a 0x20 0x46 0x48 0x44 0x52 0xd 0xa 0x43 0x6f 0x6e 0x6e 0x65 0x63 0x74 0x69 0x6f 0x6e 0x3a 0x20 0x63 0x6c 0x6f 0x73 0x65 0xd 0xa 0x43 0x61 0x63 0x68 0x65 0x2d 0x43 0x6f 0x6e 0x74 0x72 0x6f 0x6c 0x3a 0x20 0x6e 0x6f 0x2d 0x63 0x61 0x63 0x68 0x65 0xd 0xa 0x43 0x6f 0x6e 0x6e 0x65 0x63 0x74 0x69 0x6f 0x6e 0x3a 0x20 0x43 0x6c 0x6f 0x73 0x65 0xd 0xa 0xd 0xa 0x3c 0x3f 0x78 0x6d 0x6c 0x20 0x76 0x65 0x72 0x73 0x69 0x6f 0x6e 0x3d 0x22 0x31 0x2e 0x30 0x22 0x20 0x65 0x6e 0x63 0x6f 0x64 0x69 0x6e 0x67 0x3d 0x22 0x55 0x54 0x46 0x2d 0x38 0x22 0x20 0x3f 0x3e 0x3c 0x72 0x6f 0x62 0x6f 0x6e 0x65 0x63 0x74 0x3e 0x3c 0x6e 0x61 0x6d 0x65 0x3e 0x52 0x61 0x73 0x65 0x6e 0x72 0x6f 0x62 0x6f 0x74 0x65 0x72 0x3c 0x2f 0x6e 0x61 0x6d 0x65 0x3e 0x3c 0x69 0x64 0x3e 0x38 0x42
    HTTP/1.1 200 OK
    Content-Type: text/xml
    Server: FHDR
    Connection: close
    Cache-Control: no-cache
    Connection: Close

    Mir fehlt offenbar das Verständnis für den JSON Parser, oder den Datenabruf.

    Kann mir jemand helfen?

    Danke,
    Martin
    Angehängte Dateien
    Zuletzt geändert von Knochen; 21.08.2021, 09:13.

    #2
    Wäre es nicht einfacher den bestehenden Baustein zu fixen?
    Was sagt der Entwickler?

    Kommentar


      #3
      Ich bin jetzt ein klein wenig weiter und versuche den String mit Integer2XML auszuwerten.
      Bekomme aber immer noch keine Daten aus dem String :-(
      XML Get.jpg

      Wie kann ich das jetzt zerlegen, dass ich zu meinen Daten komme?

      lg

      Kommentar


        #4
        Zitat von derPaul Beitrag anzeigen
        Wäre es nicht einfacher den bestehenden Baustein zu fixen?
        Was sagt der Entwickler?
        Der Entwickler "Legospieler" meldet sich leider nicht mehr und das Vertrauen in den Baustein schwindet wenn dadurch der komplette Homeserver zum Erliegen kommt.

        Kommentar


          #5
          Ohne alles genau gelesen zu haben. Du nutzt einen Json Parser, fütterst diesen aber mit einer xml.

          192.168.1.66/xml?cmd=status&status

          änder dies mal ab auf:

          192.168.1.66/json?cmd=status&status

          gruß

          Kommentar


            #6
            Zitat von Knochen Beitrag anzeigen

            Der Entwickler "Legospieler" meldet sich leider nicht mehr und das Vertrauen in den Baustein schwindet wenn dadurch der komplette Homeserver zum Erliegen kommt.
            ohne den baustein zu kennen hätte ich ne ahnung woran das liegt … vielleicht stellt er den source zur verfügung wenn er ihn nicht weiter entwickeln möchte.

            ich könnt den dahingehend mir dann mal ansehen

            Kommentar


              #7
              Diese Abfrage bringt mich noch ins Grab.
              Irgendwie fühl ich mich wie auf Entzug wenn ich dieses Problem nicht gelöst bekomme.

              Neuer Ansatz mit XML:

              This XML file does not appear to have any style information associated with it. The document tree is shown below.

              <robonect>
              <name>Rasenroboter</name>
              <id>8BBF1B</id>
              <status>
              <status>17</status>
              <distance>0</distance>
              <stopped>false</stopped>
              <duration>9282</duration>
              <mode>2</mode>
              <battery>97</battery>
              <hours>3509</hours>
              </status>
              <timer>
              <status>0</status>
              </timer>
              <wlan>
              <signal>-80</signal>
              </wlan>
              <health>
              <temperature>37</temperature>
              <humidity>37</humidity>
              </health>
              <clock>
              <date>2021-08-21</date>
              <time>17:06:12</time>
              <unix>1629565572</unix>
              </clock>
              <successful>true</successful>
              </robonect>

              Wieder mit Webseiten/IP-Abfrage:
              Web IP.jpg
              Web IP Empfang.jpg
              Web IP Empfang 2.jpg
              InkedScreenshot 2021-08-21 171239_LI.jpg
              Logikeditor.jpg

              HS List sagt:
              21.08.2021 17:04:04 (IP: 192.168.1.23) (Port: 80)
              (Send: 114) 0x47 0x45 0x54 0x20 0x2f 0x78 0x6d 0x6c 0x3f 0x63 0x6d 0x64 0x3d 0x73 0x74 0x61 0x74 0x75 0x73 0x20 0x48 0x54 0x54 0x50 0x2f 0x31 0x2e 0x30 0xd 0xa 0x41 0x75 0x74 0x68 0x6f 0x72 0x69 0x7a 0x61 0x74 0x69 0x6f 0x6e 0x3a 0x20 0x42 0x61 0x73 0x69 0x63 0x20 0x59 0x57 0x52 0x74 0x61 0x57 0x34 0x36 0x51 0x57 0x74 0x49 0x62 0x31 0x4e 0x30 0x63 0x6a 0x55 0x35 0xd 0xa 0x48 0x6f 0x73 0x74 0x3a 0x20 0x31 0x39 0x32 0x2e 0x31 0x36 0x38 0x2e 0x31 0x2e 0x32 0x33 0xd 0xa 0x43 0x6f 0x6e 0x6e 0x65 0x63 0x74 0x69 0x6f 0x6e 0x3a 0x20 0x43 0x6c 0x6f 0x73 0x65 0xd 0xa 0xd 0xa
              GET /xml?cmd=status HTTP/1.0
              Authorization: Basic YWRtaW46QWtIb1N0cjU5
              Host: 192.168.1.23
              Connection: Close


              (Recv: 627) 0x48 0x54 0x54 0x50 0x2f 0x31 0x2e 0x31 0x20 0x32 0x30 0x30 0x20 0x4f 0x4b 0xd 0xa 0x43 0x6f 0x6e 0x74 0x65 0x6e 0x74 0x2d 0x54 0x79 0x70 0x65 0x3a 0x20 0x74 0x65 0x78 0x74 0x2f 0x78 0x6d 0x6c 0xd 0xa 0x53 0x65 0x72 0x76 0x65 0x72 0x3a 0x20 0x46 0x48 0x44 0x52 0xd 0xa 0x43 0x6f 0x6e 0x6e 0x65 0x63 0x74 0x69 0x6f 0x6e 0x3a 0x20 0x63 0x6c 0x6f 0x73 0x65 0xd 0xa 0x43 0x61 0x63 0x68 0x65 0x2d 0x43 0x6f 0x6e 0x74 0x72 0x6f 0x6c 0x3a 0x20 0x6e 0x6f 0x2d 0x63 0x61 0x63 0x68 0x65 0xd 0xa 0x43 0x6f 0x6e 0x6e 0x65 0x63 0x74 0x69 0x6f 0x6e 0x3a 0x20 0x43 0x6c 0x6f 0x73 0x65 0xd 0xa 0xd 0xa 0x3c 0x3f 0x78 0x6d 0x6c 0x20 0x76 0x65 0x72 0x73 0x69 0x6f 0x6e 0x3d 0x22 0x31 0x2e 0x30 0x22 0x20 0x65 0x6e 0x63 0x6f 0x64 0x69 0x6e 0x67 0x3d 0x22 0x55 0x54 0x46 0x2d 0x38 0x22 0x20 0x3f 0x3e 0x3c 0x72 0x6f 0x62 0x6f 0x6e 0x65 0x63 0x74 0x3e 0x3c 0x6e 0x61 0x6d 0x65 0x3e 0x52 0x61 0x73 0x65 0x6e 0x72 0x6f 0x62 0x6f 0x74 0x65 0x72 0x3c 0x2f 0x6e 0x61 0x6d 0x65 0x3e 0x3c 0x69 0x64 0x3e 0x38 0x42
              HTTP/1.1 200 OK
              Content-Type: text/xml
              Server: FHDR
              Connection: close
              Cache-Control: no-cache
              Connection: Close

              <?xml version="1.0" encoding="UTF-8" ?><robonect><name>Rasenroboter</name><id>8B
              (Gesamt: 26) (Work: 18) (Typ: Liste) (OK: 0)

              Trotzdem kommt nichts an. Normalerweise sollte Status=17 ankommen.
              Ich verstehs nicht!
              Zuletzt geändert von Knochen; 21.08.2021, 16:28.

              Kommentar


                #8
                So, Benutzername und Passwort im Robonect Modul und in der Abfrage entfernt. Jetzt gehts

                Aber ob das gescheit ist?

                Kommentar


                  #9
                  zumindest kennt man jetzt den benutzer und das passwort 😋

                  der basic auth string is nur base64 encoded ☺ ;-)

                  Kommentar


                    #10
                    "Legospieler" hat mir eine Nachricht zukommen lassen.
                    Die aktuellste Version 1.0 RC2 ist unter diesem Link zu finden.
                    https://seafile.e-hofmann.de/f/3d9935451f/?dl=1

                    Thread unter:
                    Gira Homeserver - Logikmodul RC2 - Seite 7 - Robonect.de

                    Diese ist jetzt HSL2.0 gekapselt. So kann auch nicht mehr der ganze Homeserver abschmieren.

                    Läuft jetzt stabil.

                    Kommentar


                      #11
                      Na guck ... 😊

                      Kommentar

                      Lädt...
                      X