Ankündigung

Einklappen
Keine Ankündigung bisher.

Homeserver Webabfrage XML-API Homematic CCU2

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

    #16
    I did it ... der Homeserver kommt mit einer komplexen Rückmeldung XML nicht zurecht.

    Wenn ich nur einen einzelnen Datenpunkt (Raumtemperatur) abfrage als XML, diesen dann im Baustein zerlege und mittels Textauswahl filtere,
    bekomme ich über mehrere Umwege meine Werte.

    Bilder im Anhang für die Nachwelt, wer es noch braucht...

    Ich mache mich mal an die Arbeit, wer noch Fragen hat ....

    EDIT: Da jeder Datenpunkt und jede Funktion eine eigene ID hat, kann man alles anzeigen lassen und steuern in der Homematic über die XML-API. Nur ist es ein extremer Aufwand, da man pro Datenpunkt eine Webabfrage braucht und eine Logik bzw. mehrere iKO!
    Angehängte Dateien
    Zuletzt geändert von sharkimwasser; 23.01.2021, 14:12.

    Kommentar


      #17
      Zitat von sharkimwasser Beitrag anzeigen
      Nur ist es ein extremer Aufwand, da man pro Datenpunkt eine Webabfrage braucht und eine Logik bzw. mehrere iKO!
      Hallo sharkimwasser,

      ich beschäftige seit einigen Tagen mit der gleichen 'Aufgabe', bin aber auch erst seit gut 2 Wochen im Besitz eines HS4 und deshalb blutiger Laie im Umgang mit dem Teil .... Wie schon gesagt, habe ich unter Anderem versucht, die Daten von drei Heizkörperthermostaten aus der CCU2 zu bekommen und bin auch da erstmal gescheitert .....
      Ich habe die Datenabfrage inzwischen aber über eine einzige 'normale' Webseitenabfrage hinbekommen und kann somit den von dir genannten extremen Aufwand von mehreren Einzelabfragen umgehen. Ich würde demnächst auch mal versuchen, Werte vom HS an die CCU2 zu senden (Solltemperatur). Hast du in dieser Richtung auch schon etwas realisiert?

      Gruß
      Eckard

      Kommentar


        #18
        Hallo,

        Schick mir bitte deine Abfrage und deine Logik als Bild in den Thread,
        wie du mehrere Werte über eine Abfrage bekommen hast? 😮

        Zum Thema Wert senden, mache ich das so:

        Per Webabfrage:

        http://DEINECCU2/config/xmlapi/statechange.cgi?ise_id=DEINEID&new_value=NEUERWERT

        Die ID bekommst du ja über den state.cgi Befehl der ID deines Thermostatkopfes raus.
        Dort hat jeder Wert eine eigene ID, die muss du nehmen.

        So schicke ich auch einen Boost Befehl an alle Thermostatköpfe wenn mein Ofen über 95°C geht (hab noch Holz daheim, Frau heizt )

        LG

        Kommentar


          #19
          In der Logik ist es ja nur der Telegrammgenerator für den zyklischen Aufruf des Webseitenabrufs. Damit werden in einem Aufruf die 6 HomeMatic Geräte (3 x Thermostat und 3 x Fensterkontakt) über deren device_id's abgefragt. Ich hoffe, dass dich die Screenshots weiterbringen. Falls noch was fehlt: Bitte melden!

          Gruß
          Eckard

          Angehängte Dateien

          Kommentar


            #20
            Hallo,

            Ich hatte alles genau gleich, nur die "Feste Anzahl von Daten" zum Schluss nicht, hier hatte ich auch die Beliebigen Daten.

            Hab das dann kleiner abgefragt und anders und immer wieder neu probiert...

            Das ist gar nichts gegangen, erst beim Abfragen der "kleineren" reinen Datenpunkte isses gegangen,
            hier aber nur wenn ich das ganze als XML Stream einlese in Text konvertiere und dann zerlege.
            Ein irrsinniger Aufwand, aber vielleicht sind die Festen Daten der Knackpunkt, das muss ich probieren.

            ​​​​​​​Wie kommst du auf die Festen Daten statt den Beliebigen???
            Damit ich das verstehe...

            Wahnsinn was ich mich geärgert habe...

            Kommentar


              #21
              Zitat von sharkimwasser Beitrag anzeigen
              Wie kommst du auf die Festen Daten statt den Beliebigen???
              Ich habe einfach das letzte Statement aus dem XML als 'Abschluss' genommen, ich glaube aber nicht, dass da ein Unterschied zu 'Beliebiger Text' besteht .....

              Zitat von sharkimwasser Beitrag anzeigen
              Wahnsinn was ich mich geärgert habe...
              Das sollte man vermeiden, ist ungesund!

              Kommentar


                #22
                Zitat von sharkimwasser Beitrag anzeigen
                20.01.2021, 10:14


                Ja ich auch, Abfragen bei Fronius etc. funktionieren alle, die sind aber JSON basierend und nicht XML,
                deswegen bin ich mir unsicher.

                Habe mal eine Abfrage getestet für die Anzeige des Batteriestandes, die aber ohne Erfolg.

                Wo liegt da mein Fehler?

                Vielleicht kann ich dir diese Frage jetzt beantworten ......:

                Hast du eventuell in der Webabfrage die 'Suchmuster' in der XML-Darstellung des Browsers eingetragen? Also z.B. so: ise_id="1234" value="


                Kommentar


                  #23
                  Ja natürlich, alles hatte ich genau wie du, nur die festen Daten nicht.

                  Mache die Abfragen bei Fronius etc. auch so.

                  Aber es geht ja bei mir mittlerweile, halt nur komplizierter. .. Werde das aber mit der kompletten Abfrage nochmals testen mit deinen festen Daten!
                  Zuletzt geändert von sharkimwasser; 25.01.2021, 07:18.

                  Kommentar


                    #24
                    Sorry, ich habe mich wohl falsch ausgedrückt. Meine Frage war, ob du die Suchmuster so in die Webabfrage eingetragen hast, wie sie dir in deinem Webbrowser angezeigt werden: Alle Zeilen untereinander und die Werte mit doppeltem Hochkomma (") begrenzt, aufbereitetes XML halt:

                    HomeMatic_XML.PNG

                    Der Homeserver bekommt die Antwort von der CCU2 aber als Rohdaten und da sind die Werte in einer Zeile ohne CR/LF und mit einfachem Hochkomma (') begrenzt:

                    HomeMatic_raw.PNG
                    Könnte das dein Problem sein?

                    Kommentar


                      #25
                      🤔 ja definitiv... interessant

                      werde ich testen und hier berichten für die Nachwelt!

                      Danke vielmals!

                      Kommentar


                        #26
                        Ich muss noch einmal zum Thema 'Senden' an die CCU2 nachfragen:

                        http://DEINECCU2/config/xmlapi/statechange.cgi?ise_id=DEINEID&new_value=NEUERWERT
                        Die Syntax kann ich nachvollziehen, aber: Wie bekomme ich die Funktion in die Oberfläche (Quadclient / Visu)? Welche Funktion oder welchen 'Button' hast du da eingerichtet? Der Rückweg geht doch bestimmt über IP/KNX-Telegramme senden, oder? Screenshots wären toll ...

                        Kommentar


                          #27
                          Hallo

                          soweit bin ich noch nicht mit der Werteingabe, da ich nur den Fixen Notbefehl BOOST auf den Kopf schicke per Logik.
                          Hier ist keine Eingabe notwendig, da der Wert immer 1 ist.

                          Aber das ist das nächste Projekt, halte dich hier auf dem laufenden.

                          Im Moment kann ich aber nur Wochenende basteln, da ich auswärts arbeite....

                          Kommentar


                            #28
                            Sorry der späten Rückmeldung.

                            War gerade anderweitig beschäftigt.

                            Nun kann ich vielleicht noch einmal helfen.

                            Beim HS kann man Webabfrage variabel gestalten und Werte von KO's mitgeben.

                            Einfach bei der URL die GA mit dem Wert in geschweifte Klammern setzten.

                            Zitat HS Help:
                            Pfad der Web-Seite (z.B. /countries.html). Sie können Platzhalter für K-Objekte in die URL integrieren. So können Sie Angaben variabel gestalten. Setzen Sie anstelle eines Wertes die Gruppenadresse eines K-Objekts, umschlossen von geschweiften Klammern, ein.
                            Beispiel: Um das Land aus dem K-Objekt mit der Gruppenadresse 100/1 auszulesen, anstatt es fest anzugeben, schreiben Sie "/countries?name={100/1}".
                            Ich würde dies dann über eine kleine Logik lösen.

                            Wert des KO in eine Telegrammverzögerung und dann Webseite abfragen.

                            Die Telegrammverzögerung würde ich auf ca. 3-5 Sekunden einstellen. Damit nicht beim hochtippen einer Temperatur über eine + Taste jedes mal der neue Wert gesendet wird.

                            Kommentar


                              #29
                              Top, werde ich am WE gleich testen.... Danke

                              Kommentar


                                #30
                                Zitat von Elektriktrick Beitrag anzeigen
                                Sorry, ich habe mich wohl falsch ausgedrückt. Meine Frage war, ob du die Suchmuster so in die Webabfrage eingetragen hast, wie sie dir in deinem Webbrowser angezeigt werden: Alle Zeilen untereinander und die Werte mit doppeltem Hochkomma (") begrenzt, aufbereitetes XML halt:

                                HomeMatic_XML.PNG

                                Der Homeserver bekommt die Antwort von der CCU2 aber als Rohdaten und da sind die Werte in einer Zeile ohne CR/LF und mit einfachem Hochkomma (') begrenzt:

                                HomeMatic_raw.PNG
                                Könnte das dein Problem sein?
                                DAS WAR DAS PROBLEM

                                Mit Hochkomma statt Anführungszeichen geht´s .....

                                Woher hast du das gesehen, wo kann man das loggen oder anschauen was der bekommt??

                                Kommentar

                                Lädt...
                                X