Virtueller HTTP-Eingang - Wert auslesen - Technische Alternative C.M.I Modul

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • koyote17
    Dumb Home'r
    • 22.01.2017
    • 20

    Virtueller HTTP-Eingang - Wert auslesen - Technische Alternative C.M.I Modul

    Liebe Loxone Forum Gemeinde!

    Ich bin seit diesem Wochenende besitzer eines C.M.I Moduls von der technischen Alternative um meine Heizung auch in das Loxone System eizubinden. Ich habe mich jetzt durch einige Beiträge Loxwiki gelesen und auch versucht hier etwas herauszufinden. Hat soweit auch funktioniert, jedoch möchte ich nun die verschiedenen Werte welche aus dem C.M.I Modul auslesbar sind mal in ver Visualisierung darzustellen. Dies soll jetzt mal im ersten Versuch über das Auslesen der JSON-API erfolgen. Jedoch hier zu meinem Problem:

    Ich frage mit dem Befehl: http://Benutzer:Password@192.168.1.X...&jsonparam=I11

    den Eingang 11 ab und erhalte im Browser folgende Antwort:

    { "Header":{ "Version":2, "Device":"80", "Timestamp":1508076666 }, "Data":{ "Inputs":[ { "Number":11, "AD":"A", "Value":{ "Value":22.6, "Unit":"1" } } ]}, "Status":"OK", "Status code":0 }

    Nun möchte ich in der Loxone den Wert Value auslesen, jedoch sind bis jetzt alle versuche fehlgeschlagen. Weder mit "Value":\v noch mit diversen anderen versuchen hat es geklappt?! Liegt womöglich daran das "Value" 2 mal vorkommt.

    Wäre dankbar wenn mir hier jemand eventuell den rettenden hinweis geben könnte.

    DANKE mal im Voraus.
    KNX Installation;1 x Miniserver; 1 x Loxone Air Extension inkl. Socket Air & Rauchmelder Air; Fronius WR; MyPv Heizstäbe; Technische Alternative C.M.I; Daikin Klimaanlage, Raspberry, Alexa
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6275

    #2
    Value\iValue\i“:\v ???
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • koyote17
      Dumb Home'r
      • 22.01.2017
      • 20

      #3
      Hallo Svethi,

      Danke mal für deine Rückmeldung!

      hab mal dienen Ansatz in die Befehlserkennung eingegeben. Leider auch ohne Erfolg!

      Habe heute schon sehr viele Ansätze probiert aber anscheinend noch nicht den richtigen. Denn die "Number": bekommen ich (\i"Number":\i\v) ausgelesen nur den Wert (Value) leider nicht?!

      Bin für jeden weiteren Ansatz dankbar!

      lg



      KNX Installation;1 x Miniserver; 1 x Loxone Air Extension inkl. Socket Air & Rauchmelder Air; Fronius WR; MyPv Heizstäbe; Technische Alternative C.M.I; Daikin Klimaanlage, Raspberry, Alexa

      Kommentar

      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6275

        #4
        Hä??

        von Number hat keiner was geschrieben. Verwendest Du irgendwelche Übersetzer?
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar


        • koyote17
          koyote17 kommentierte
          Kommentar bearbeiten
          Nein, nicht missverstehen. Wie soll ich es am besten schreiben, ich versuche mich an die Lösung heranzutasten, was in diesem Fall bedeutet dass ich den Wert "Number": aus der gesamten Rückmeldung auslesen und verwenden kann, aber den Value nicht.

          Soll jetzt heißen ich kann einen Wert aus der Rückmeldung auslesen, dass er angezeigt wird, aber beim Value scheitere ich da anscheinend, da die Bezeichnung doppel vorkommt. Bin hier mit meinen Versuchen etwas am Ende.

          Deshalb hab ich auch mal das Forumsorakel befragt!
      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6275

        #5
        daher habe ich Dir oben auch die entsprechende Befehlserkennung geschickt
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar

        • koyote17
          Dumb Home'r
          • 22.01.2017
          • 20

          #6
          Ja ich habe diese Befehlserkennung [Value\iValue\i“:\v] verwendet. Leider habe ich keinen Wert erhalten. Siehe Ausschnitt anbei.

          lg

          KNX Installation;1 x Miniserver; 1 x Loxone Air Extension inkl. Socket Air & Rauchmelder Air; Fronius WR; MyPv Heizstäbe; Technische Alternative C.M.I; Daikin Klimaanlage, Raspberry, Alexa

          Kommentar

          • svethi
            Lebende Foren Legende
            • 25.08.2015
            • 6275

            #7
            Hmm, das sollte eigentlich funktionieren. Ist das denn auch der Original Quelltext, den Du oben gepostet hast? Könnte mir sonst nur noch vorstellen, dass Value gar nicht funktioniert, da dies in den Programmiersprachen meist ein reserviertes Wort ist.
            Sonst Versuch doch mal.

            alue"\iValu\ie":\v
            Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

            Kommentar

            • koyote17
              Dumb Home'r
              • 22.01.2017
              • 20

              #8
              Hallo Svethi,

              Ich kanns kaum glauben, aber deine Befehlserkennung die du unter #7 gepostet hast [Value"\iValu\ie":\v] funktioniert. Vielen DANK für die Unterstützung. Ich denke so sollten nun auch alle anderen Werte der verschiedenen Eingänge auslesbar sein.

              Zur INFO: Der Originale Quelltext sieht so aus wie auf dem Foto das ich jetzt noch anhänge!

              lg Thomas

              KNX Installation;1 x Miniserver; 1 x Loxone Air Extension inkl. Socket Air & Rauchmelder Air; Fronius WR; MyPv Heizstäbe; Technische Alternative C.M.I; Daikin Klimaanlage, Raspberry, Alexa

              Kommentar

              • svethi
                Lebende Foren Legende
                • 25.08.2015
                • 6275

                #9
                Das ist ja schön. Da kannst Du mal wieder sehen, dass Du alles richtig machen kannst und dennoch funktioniert es nicht, da es noch einen Bug bei Loxone gibt.

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

                Kommentar

                • koyote17
                  Dumb Home'r
                  • 22.01.2017
                  • 20

                  #10
                  Hallo Sven,

                  ich bin schon wieder beim experimentieren beim Auslesen der Werte. Ich würde gerne aus einer gesamten Liste die verschiedenen Einträge jeweils ein eigener HTTP Eingang Befehl (nach "Number":X) auslesen, jedoch bin ich anscheinend auch hier nicht in der Lage den richtigen Befehl zu formulieren. Ich hätte gerne jeden Wert zur entsprechenden "Number":X ausgelesen. Hier muss ich nach meinem dafürhalten dann auch nach "Number":X" filtern bevor ich nach dem Wert filtern kann. Kannst du mir hier eventuell mit einem Lösungsansatz dienen?
                  Ich gehe davon aus das ich zu diesem Befehl [Value"\iValu\ie":\v] vorher noch etwas dazufügen muss um danach zu filtern?!

                  lg
                  Thomas
                  KNX Installation;1 x Miniserver; 1 x Loxone Air Extension inkl. Socket Air & Rauchmelder Air; Fronius WR; MyPv Heizstäbe; Technische Alternative C.M.I; Daikin Klimaanlage, Raspberry, Alexa

                  Kommentar

                  • svethi
                    Lebende Foren Legende
                    • 25.08.2015
                    • 6275

                    #11
                    So langsam muss Du doch das Prinzip verstanden haben. So schwer ist das ja nun wirklich nicht.

                    Number":1\iValu\i\iValu\ie":\v
                    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                    Kommentar


                    • koyote17
                      koyote17 kommentierte
                      Kommentar bearbeiten
                      Würde ich mir auch denken, aber irgendwie scheint es bei mir bei diesen Befehlen zu scheitern. Grundsätzlich glaube ich dass ich diese Variante auch schon versucht habe, aber vielleicht auch mit einem Schreibfehler. Ich weiß es nicht. Ich hoffe dass mir hier dann doch der "Knopf" aufgeht. Danke nochmals für deinen Input.

                      Lg

                    • svethi
                      svethi kommentierte
                      Kommentar bearbeiten
                      Funktioniert es denn nun?

                    • koyote17
                      koyote17 kommentierte
                      Kommentar bearbeiten
                      Hallo Svethi,

                      Hab erst jetzt gesehen dass du geantwortet hast. :-( Habe das Thema seitdem nicht mehr weiter verfolgt. Habe bis jetzt nur die Temperaturen ausgelesen.
                  • Philipp
                    Azubi
                    • 27.04.2016
                    • 4

                    #12
                    Hallo

                    Also das Werteauslesen von den Eingängen funktioniert ohne Probleme.

                    Jedoch bekomme ich es nicht hin den Status der Ausgänge auszulesen vielleicht hat jemand eine Idee??

                    Muß aber sagen das ich nicht so bewandert bin lese zwar viel und Probier aus aber manchmal verstehe ich es nicht.

                    Bitte um Hilfe

                    lg

                    Philipp

                    {
                    "Header":{
                    "Version":3,
                    "Device":"80",
                    "Timestamp":1520284014
                    },
                    "Data":{
                    "Inputs":[
                    {
                    "Number":1,
                    "AD":"A",
                    "Value":{
                    "Value":40.0,
                    "Unit":"1"
                    }
                    }
                    ,
                    {
                    "Number":2,
                    "AD":"A",
                    "Value":{
                    "Value":44.1,
                    "Unit":"1"
                    }
                    }
                    ,
                    {
                    "Number":3,
                    "AD":"A",
                    "Value":{
                    "Value":17.4,
                    "Unit":"1"

                    }
                    }
                    ],
                    "Outputs":[
                    {
                    "Number":1,
                    "AD":"A",
                    "Value":{
                    "State":1,"Value":30,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":2,
                    "AD":"A",
                    "Value":{
                    "State":0,"Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":3,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":4,
                    "AD":"D",
                    "Value":{
                    "Value":1,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":5,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":6,
                    "AD":"A",
                    "Value":{
                    "State":1,"Value":30,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":7,
                    "AD":"A",
                    "Value":{
                    "State":0,"Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":8,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":9,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":10,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":11,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":12,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"0"
                    }
                    }
                    ,
                    {
                    "Number":13,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"0"
                    }
                    }
                    ]},
                    "Status":"OK",
                    "Status code":0
                    }

                    Kommentar


                    • koyote17
                      koyote17 kommentierte
                      Kommentar bearbeiten
                      Wollte den Status auch auslesen, habe es jedoch auch nicht geschafft, und ist dann eingeschlafen da ich auch versuchen wollte die Infos aus den I/O Modulen auszulesen, da ich viele Statusrückmeldungen in den I/O Modulen habe, jedoch habe ich vom Kundendienst angefügte Rückmeldung erhalten. Deshalb hat mich dann die Motivation verlassen und habs bis jetzt gelassen.


                      Frage:

                      Hallo Herr Anibas,

                      Die Ausgänge der UVR könnte ich laut Ihren Angaben abrufen. Ich gehe davon aus dass bei dem unten angegebenen Ergebnis der Ausgang 7 auf "EIN" (30?)ist. Das wäre nämlich mit einem Pumpenbetrieb schlüssig. Leider kommen aber laut meinen Versuchen hier nur die Ausgänge der UVR und nicht jene welche an den I/O Modulen angeschlossen sind.

                      Befehl: http://admin:admin@192.168.1.XXX:80/...=1&jsonparam=o

                      Ergebnis:{ "Header":{ "Version":2, "Device":"80", "Timestamp":1509996058 }, "Data":{ "Outputs":[ { "Number":1, "AD":"A", "Value":{ "State":0,"Value":0, "Unit":"0" } } , { "Number":2, "AD":"A", "Value":{ "State":0,"Value":0, "Unit":"0" } } , { "Number":3, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } , { "Number":4, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } , { "Number":5, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } , { "Number":6, "AD":"A", "Value":{ "State":0,"Value":0, "Unit":"0" } } , { "Number":7, "AD":"A", "Value":{ "State":1,"Value":30, "Unit":"0" } } , { "Number":8, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } , { "Number":9, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } , { "Number":10, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } , { "Number":11, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } , { "Number":12, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } , { "Number":13, "AD":"D", "Value":{ "Value":0, "Unit":"0" } } ]}, "Status":"OK", "Status code":0 }

                      Da ich aber den Großteil der Pumpen und Komponenten an den I/O Modulen habe würde ich auch gerne hier den Status abfragen können. Ich möchte Sie deshalb nochmals bitten intern bei Ihnen nachzufragen wie ich diese Ausgänge auf den I/O Modulen mittels den API Befehl abfragen kann?!


                      Antwort:

                      ........wenn es mit dem Parameter „O“ nicht funktioniert ist es generell nicht möglich die Ausgänge des CAN I/O Moduls per JSON-API abzufragen.

                      Da es sich hier jedoch um ein Auslaufmodell handelt wird diesbezüglich nichts mehr geändert werden. Ich bitte Sie diesbezüglich um Verständnis.



                      Mit sonnigen Grüßen,

                      Stefan Anibas
                      Abteilung Support


                      Vielleicht wärme ich das Thema auch wieder auf?!

                      lg
                      Zuletzt geändert von koyote17; 09.03.2018, 06:24.
                  • Oli
                    LoxBus Spammer
                    • 25.08.2015
                    • 293

                    #13
                    Hallo zusammen,

                    wie muss ich den Befehl zum suchen von dem Wert in der Zeile im Anhang stricken? Ich habe jetzt einige Varianten probiert und komme so garnicht weiter. Der Hinweis in der Doku nach dem Monitor funktioniert bei mir nicht. Das Fenster bleibt immer leer...

                    Gruß Oli
                    Angehängte Dateien

                    Kommentar

                    • svethi
                      Lebende Foren Legende
                      • 25.08.2015
                      • 6275

                      #14
                      Du musst Dir vor allem und wie immer und immer wieder gesagt wird, den Quelltext ansehen und nichts aufbereitetes im Browser
                      Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                      Kommentar


                      • Oli
                        Oli kommentierte
                        Kommentar bearbeiten
                        Danke Svethi für deinen unermütlichen Einsatz, Armateure so wie mir die Welt der 1en und 0en zu erklären! Zwar ist dein Ton immer sehr direkt und knackig, aber das macht mir nichts.. Ich lese und probiere auch immer alles mögliche, bevor ich irgendwo eine Frage stelle.
                        Aber ich komme trotzdem nicht weiter....im Quelltext steht

                        <div style="position:relative;display:inline-block;">
                        <div id="prop"></div>
                        <div id="values"></div>
                        <div id="schema"></div>
                        <div id="changer">CHANGE</div>

                        Meine Annahme nach ivalues\i"<\v zu suchen klappt nicht. auch nicht <div id="values">\v oder iid=values">\v oder auch ohne >

                      • svethi
                        svethi kommentierte
                        Kommentar bearbeiten
                        In Deinem Quelltext ist nirgends ein Wert, was willst Du denn auslesen?

                      • Oli
                        Oli kommentierte
                        Kommentar bearbeiten
                        Es ist einfach eine Website wo nur ein Wert angezeigt wird und diesen möchte ich auslesen. Die Seite wird vom CMI der Technischen Alternative bereitgestellt, diese kann man in einem Programm erzeugen.

                        das wäre der komplette Quellcode der Seite.
                        <!DOCTYPE html>
                        <html>
                        <head>
                        <meta charset="utf-8" />
                        <meta name="viewport" content="target-densitydpi=low-dpi" />
                        <meta http-equiv="X-UA-Compatible" content="IE=100" >
                        <title>Schema</title>
                        <link rel="stylesheet" type="text/css" href="style/webi/jquery-ui-1.10.0.custom.css" />
                        <link rel="stylesheet" type="text/css" href="style/schema.css" />
                        <script type="text/javascript" src="js/jquery-1.9.0.js" ></script>
                        <script type="text/javascript" src="js/jquery-ui.js" ></script>
                        <script type="text/javascript" src="js/jquery.ui.touch-punch.js" ></script>
                        <script type="text/javascript" src="js/scheme.js" ></script>
                        <script type="text/javascript" src="js/schemabrand.js" ></script>
                        <script type="text/javascript">
                        var os = "";
                        var refreshtime = 0;
                        var aktiv;
                        var titel = "SCHEMA";
                        var image = "";
                        var notFound = "Schema nicht gefunden!";
                        var howtotxt = "Wie erstelle ich ein Schema?";
                        var howto = "";
                        </script>
                        </head>
                        <body>
                        <div style="position:relative;display:inline-block;">
                        <div id="prop"></div>
                        <div id="values"></div>
                        <div id="schema"></div>
                        <div id="changer">CHANGE</div>
                        </div>
                        <span id='s_OK' class='lang'>OK</span>
                        <span id='s_Abbrechen' class='lang'>Abbrechen</span>
                        </body>
                        </html>
                    • svethi
                      Lebende Foren Legende
                      • 25.08.2015
                      • 6275

                      #15
                      Du verstehst es einfach nicht. Wo ist denn in dem Quelltext der Wert den Su auslesen willst? Ich sehe keinen. Ich vermute mal, dass der Wert über JavaScript nachgeladen wird. Dann kannst Du das so vergessen
                      Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                      Kommentar

                      Lädt...