Loxone REST Webservice - Aktives SPS-Programm abrufen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11250

    #1

    Loxone REST Webservice - Aktives SPS-Programm abrufen

    Hi,
    weiß jemand, wie ich mit dem REST Webservice (/dev/sps/io/... usw. - also nicht WebSocket) die aktuell laufende Config herunterladen kann?
    In der Websocket-Doku steht nur Befehl "LoxAPP.xml", aber egal wie, ich bekomme das XML nicht. Mit /data/LoxAPP2.xml bekomme ich ein XML, aber nur das visualisierte Zeug.

    Ich habe früher das aktuelle File per FTP heruntergeladen, aber das finde ich in V7 auch nicht mehr. An dem früheren Ablageort liegt jetzt das SPS-Programm proprietär komprimiert.

    Wenn jemand den Call kennt, bitte um Rat!

    Danke,
    Christian
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine
  • eisenkarl
    Lox Guru
    • 28.08.2015
    • 1350

    #2
    Interessiert mich auch, eigentlich hätte ich sogar gerne kompletten Zugriff auf den Ordner /dev


    Gesendet von iPhone mit Tapatalk

    Kommentar

    • Gast

      #3

      For Javascript, the command /jdev/sps/getloxapp must be used to load the structural file as text. Images must be requested via the normal browser URL requests outside of the WebSocket connection.
      Learn more in our documentation about the communication logic: HTTP requests and WebSocket communication.

      Kommentar

      • Robert L.
        MS Profi
        • 26.08.2015
        • 922

        #4
        das funktioniert nicht (mehr) ??

        Kommentar

        • Christian Fenzl
          Lebende Foren Legende
          • 31.08.2015
          • 11250

          #5
          Nein, das funktioniert nicht:
          Code:
          curl http://admin:admin@lxl0043/jdev/sps/getloxapp
          <html><head><title>error</title></head><body>404 Not Found</body></html>
          
          curl http://admin:admin@lxl0043/dev/sps/LoxAPP.xml
          <html><head><title>error</title></head><body>404 Not Found</body></html>
          lg, Christian
          Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

          Kommentar

          • Gast

            #6
            Code:
            /data/loxapp3.json
            or

            Code:
            /jdev/sps/getloxappforbin
            via WebSocket communication

            Kommentar

            • Christian Fenzl
              Lebende Foren Legende
              • 31.08.2015
              • 11250

              #7
              Das JSON liefert leider wieder nur die visualisierten Elemente.
              Das zweite geht auch nicht mit REST.

              Ich brauche eigentlich nur das XML, so wie das früher auch gegangen ist. Das verwendet meine Statistik, und eine WebSocket-Verbindung dafür ist mit Kanonen auf Spatzen geschossen, nur zum einmalig Auswählen, welche Daten aufgezeichnet werden sollen.

              Ich mach mal ein Ticket auf, wie das jetzt geht.

              lg, Christian
              Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

              Kommentar

              • svethi
                Lebende Foren Legende
                • 25.08.2015
                • 6346

                #8
                Hallo Christian,

                Die erste Version der LoxAPP.xml wird schon lange nicht mehr verwendet und wurde daher jetzt wohl gestrichen. LoxAPP2.xml wird von der alten App und wohl den ersten Versionen der neuen App benutzt. Die Version 3, jetzt wohl in JSON, vermute ich mal, gibt es jetzt ganz neu. Am Vorhandensein der Version 3, wird die App wohl erkennen, ob der MiniServer Push beherrscht. Hast Du nicht die aktuelle Firmeware auf dem MiniServer, werden Dir nämlich die Steuerungen zum Push ( zumindest bei iOS ) gar nicht erst angezeigt.
                Soweit wird Dir das sicher auch klar sein. Nach meinem Wissensstand, sind doch in allen LoxAPP Versionen nur Informationen zu den visualisierten Objekten enthalten. Mit der SPS kann und braucht doch die App gar nichts anfangen. Und wenn Deine Statistiken visualisiert sind, dann müssen die doch da drin stehen.
                Ich könnte mir vorstellen, dass Dein Programm konvertiert und dabei die ID's der Objekte vielleicht geändert wurden und Dein Script nun nicht mehr passt.

                Gruß Sven


                Mal eben von unterwegs ...
                Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                Kommentar

                • Christian Fenzl
                  Lebende Foren Legende
                  • 31.08.2015
                  • 11250

                  #9
                  Hi Svethi,
                  man kann mit den REST Webservices auch Dinge schalten, die nicht visualisiert sind. Meine Visualisierung hat mit der App-Visu nix zu tun.

                  Ich zeichne Dinge mit meiner externen Visu aufzeichnen, die nicht visualisiert sind (z.B. was bringt die ITS-Heizlast in der Visu? Gar nichts. Erst in einer Statistik macht das Sinn.)
                  Das ist auch alles kein Problem, nur hat mein Programm halt erst mal das SPS-Programm vom MS heruntergeladen, damit es überhaupt anzeigen konnte, wofür ich neue Statistiken aufzeichnen möchte. Das geht jetzt nicht mehr (bzw. halt manuell - das LoxPlan File muss ich jetzt selbst auf den Raspberry draufkopieren).

                  Die Loxone Config kann das gesamte SPS-Programm herunterladen, aber wahrscheinlich macht es das auch mit Websocket.
                  Ich hab in einem Ticket gefragt - wenn mir Loxone das beantworten kann, is es gut, sonst muss ich halt Wireshark bemühen, um das selbst rauszukriegen.

                  lg, Christian
                  Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                  Kommentar

                  • svethi
                    Lebende Foren Legende
                    • 25.08.2015
                    • 6346

                    #10
                    Okay, das kann ich nachvollziehen. Ich habe in der Zwischenzeit auch mal etwas probiert und auf dem MiniServer gesucht, doch das Programm scheint da nirgends im Klartext zu liegen und das Laden, dass lt. Doku auch über REST gehen soll, funktioniert wohl nur noch über über Websocket. Bin mal gespannt was da für eine Antwort kommt. Soll ich mal raten? Ist per Design so und die Doku ist wohl noch nicht angepasst 😃

                    Gruß Sven
                    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                    Kommentar

                    • Gast

                      #11
                      Christian Fenzl sorry for not proper understanding your request due my poor German. can you provide more details on what are your trying to achieve ?

                      I am also trying to make a different web service for the home automation with more features for my needs than what Loxone provides (Siri integration, native iOS UI with better graphics/usability, ...) and looking into how to get all the events as the control works ok (via /jdev/sps/io/<ID> commands)

                      Kommentar

                      • Christian Fenzl
                        Lebende Foren Legende
                        • 31.08.2015
                        • 11250

                        #12
                        Gast I use Cacti (an RRDTool frontend) to collect statistic data from the Miniserver. My Cacti integration script uses the UUID from Loxone to retrieve the data by simple REST calls. That works fine.
                        But, to add new counters, I have to fetch the LoxPLAN XML from the Miniserver to parse it for UUIDs. This part is not working anymore.
                        My php fetched the XML, parsed usable UUIDs and presented the names of the objects. Then the selected objects were saved to a config file of my Cacti integration.

                        This was one single call, therefore I didn't want to waste time trying Websocket communication.

                        Inside Cacti I still have to do manual work (add datasources, create graphs), but with my config file I can use the human readable names instead of the UUIDs.

                        Unfortunately Cacti is made for network/server statistics, therefore it doesn't support you well to collect customizable values. Cacti uses templates to collect configurable, but further static counters (CPU time, Disk usage...) for a large number of hosts, but not completely flexible counters for one host. That's tricky.

                        But if you have spent nights to configure the datasources and assemble graphs, it works very stable (on a Raspberry).

                        Christian
                        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                        Kommentar

                        • Torro
                          Extension Master
                          • 28.08.2015
                          • 198

                          #13
                          Hallo Christian,

                          gab es hier eigentlich mal eine Antwort seitens Loxone?

                          Gruss Uwe

                          Loxone für Wärmepumpe, Grundofen und Thermieanlage (Wasserbetrieb): 1 x Miniserver, 1 x 1-Wire
                          Loxone für Haus: 1 x Miniserver, 4 x Extension, 1 x 1-Wire, 1 x Dimmer, 1 x Enocean, 6 x Smart Socket Air, 2 x IrTrans
                          KNX: 4 x MDT 12fach Strommessaktor, 3 x MDT Taster, 2 x 3phasige Stromzähler, 7 x Wärmemengenzähler, 1 x Wasserzähler
                          PV-Anlage 11,78 mit EV, 6,3 Volleinspeisung, Batterie 10,7 kWh nutzbare Kapazität, SMA-EnergyMeter mit PI-UDP

                          Kommentar

                          • Christian Fenzl
                            Lebende Foren Legende
                            • 31.08.2015
                            • 11250

                            #14
                            Hi Torro,
                            Ja und Nein.

                            Ja damit du das aktuelle Programm runterladen kannst, musst du das Dokument mit dem neuesten Zeitstempel holen. Früher waren die ZIP Files anders benannt. Jetzt rennt das gleich ab wie bei den LoxCC Dateien beim Client Gateway.
                            Einen konstanten namen wo das aktuelle Dokument abgespeichert ist gibt es nicht.


                            Das LoxCC-File ist allerdings kein ZIP und auch kein XML, sondern irgendwas anderes. Daher war die Antwort noch nicht hilfreich.
                            Ich hab das Ticket wieder eröffnet.

                            lg, Christian

                            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                            Kommentar

                            • sarnau
                              Smart Home'r
                              • 24.02.2018
                              • 46

                              #15
                              Wenn man das LoxCC File mit dem Default.Loxone vergleicht, dann sieht man, daß "LoxCC" wahrscheinlich für "Compressed" steht mit 0xEECCBBAA als Fileheader. Der Text des XML ist klar erkenntlich, aber wann immer Teile vorher schon benutzt wurden (z.B. 'ersion="' am Anfang der Datei), dann wird nur eine Referenz auf den Text davor eingetragen. Erinnert mich an Kompressionen aus der C64 Zeit…

                              Kommentar

                              Lädt...