Bitte um Hilfe bei neuen HTTP-Eingang

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • tomily
    Smart Home'r
    • 02.09.2021
    • 48

    #1

    Bitte um Hilfe bei neuen HTTP-Eingang

    Hallo zusammen,

    ich bitte hiermit um eine kleine Hilf bzw. Gedankenanstoß beim Thema "neuer HTTP Eingang".

    Ich möchte meine HomematicCCU in die Loxone bekommen und später darüber auch steuern können. Auf der Homematic-CCU läuft auch bereits erfolgreich die XML-API.
    Trotz Anleitung im loxWiki komme ich leider nicht ans Ziel.

    Ich bin Neueinsteiger in diesem Bereich. Kann mir jemand einfach erklären, wo ich welche Werte eintragen muss? Ich möchte im Allgemeinen lernen, wie ich mit den HTTP In und Outputs umgehen muss.

    Was ich versucht habe:

    1 - Neuer HTTP Eingang angelegt. Habe Dort diese URL zur CCU eingetragen: http://IP-der-CCU/addons/xmlapi/stat...point_id=20848

    - Bild 1 -


    2 - Darunter habe ich den Lichtwert angelegt mit folgendem Wert: ise_id='2233' value='\v

    - Bild 2 -


    Im Allgemeinen möchte ich quasie den Wert der id=20848 auslesen und im Besten Fall auch schreiben können. Bei nem Sensor macht das schreiben jetzt wenig Sinn, aber später bei Rollladenaktoren schon :-)

    Freue mich über euer Feedback

  • Labmaster
    Lox Guru
    • 20.01.2017
    • 2591

    #2
    Das erste was mir auffällt sind die einfachen Anführungsstriche ' die sind ja so nicht im HTML enthalten, dort sind es doppelte Anführungsstriche "

    Kommentar

    • tomily
      Smart Home'r
      • 02.09.2021
      • 48

      #3
      Danke für diesen Hinweis. Das habe ich direkt angepasst. Leider hat es aber noch keinen Erfolg gebracht. Es müssen also noch mehr Fehler drin sein :-(

      Für mich zum Grundverständnis:

      Am HTTP-Eingang selbst habe ich die komplette URL bis zur ID eingegeben. Ist das richtig? Oder kann ich blöd gesagt alle Geräte später über einen HTTP-Input steuern und für jedes Gerät nur einen HTTP Befehl anlegen?

      Ist mein Ansatz überhaupt richtig?

      Kommentar

      • tomily
        Smart Home'r
        • 02.09.2021
        • 48

        #4
        Die StartURL habe ich mir aus dem Internet geklaut. Dort steht z.B. "datapoint_id=". Dies kommt so aber nicht 1:1 in der XML vor. Genau so die ID. Diese heisst nicht "dataPointID", sondern "ise_id"

        Kann es daran liegen?

        Kommentar

        • Labmaster
          Lox Guru
          • 20.01.2017
          • 2591

          #5
          Was genau kommt denn zurück wenn man
          sendet, das aus Bild 3 ???

          Ich würde da eher auf http://192.168.x.x/addons/xmlapi/statelist.cgi tippen ?

          Wenn der Output aus Bild3 kommt, dann würde ich es mal mit der Erkennung
          \iise_id="20848"\i value="\v"
          versuchen.

          Ich kenne dein Interface nicht, würde es aber eben mal mit
          ( IP noch anpassen)
          und als Befehlserkennung
          \iise_id="20848"\i value="\v"
          probieren

          Was ein Problem sein könnte, ist die Werte Zahl selbst.
          Was /v aus einer Zahl mit 6 Nachkommastellen macht kann ich nicht beurteilen.



          Im übrigen hab ich das gerade gefunden: https://www.homematic-inside.de/software/xml-api

          Wenn man demnach einen einzelnen Wert in der html Ausgabeseite haben wollte, dann wäre das der Parameter ?ise_id="xxxxx" und nicht "?datapoint_id="xxxxx"

          Wenn du jedoch eh vorhast mehrere Werte dort auszulesen, dann ist es eventuell schon sinnvoll die ganze Seite als ein Stück zu holen und dann nur mir anlegen der "Virtuellen Eingangbefehle" die Werte dort rauszupicken, das spart u.U. einiges an Trafic und Rechenleistung. Die Abwägung ist schwierig und von der Anzahl der Werte und Größe des HTML Outputs abhängig.

          Eventuell kann man mit ?ise_id="xxxxx"&ise_id="xxxxx"&ise_id="xxxxx"&ise _id="xxxxx" auch ganz spezifisch mehrere Werte in die HTMl Ausgabe bekommen. Da kannst du ja auch mal ausprobieren. (eventuell auch nur mit Komma getrennt ? )

          Das ganze bisher beschriebene ist ja nur der Loxone lesende Zugriff.
          Wie du Werte in die CCU bekommst ist ein anderes Thema und wird wohl über statechange.cgi passieren.
          Aber eins nach dem anderen
          Zuletzt geändert von Labmaster; 27.09.2021, 12:25.

          Kommentar

          • romildo
            Lebende Foren Legende
            • 25.08.2015
            • 5161

            #6
            ...ich würde es mal mit folgender Befehlserkennung versuchen:
            Code:
            20848\ivalue\i\i.\v
            Vielleicht schaust du dir auch mal RedMatic an
            lg Romildo

            Kommentar

            • tomily
              Smart Home'r
              • 02.09.2021
              • 48

              #7
              Hey,

              wow ich danke euch für die detaillierten Antworten. Echt spitze. Genau, derzeit bin ich noch ausschließlich am auslesen. Später dann natürlich auch zurück schreiben. Wollte mich selbst aber nicht direkt überfordern :-)

              Habe es jetzt folgendermaßen geschafft den Helligkeitswert auszulesen. Und zwar mit :

              HTTP Input URL: http://192.168.x.x/addons/xmlapi/sta...point_id=20848
              HTTP Sensor: \ivalue='\i\v

              Der aktuelle Wert landet dann sauber in meiner Vis.

              Wo ich aktuell noch hänge ist das Auslesen von Zuständen wie "true" & "false". Am Beispiel meines Türkontakts (true = offen, false = zu).
              Müsste ich in diesem Fall trotzdem den Wert, also Value auslesen? Wie gehe ich hier am besten vor?

              Kommentar

              • Labmaster
                Lox Guru
                • 20.01.2017
                • 2591

                #8
                wegen true und false.
                Da könnte man z.B. über den ASCII Wert des jeweils ersten Zeichens also 'f' oder 't' eine Auswertung machen. (false 'f' / true 't')
                Den Wert kann man einfach als Byte einlesen also mit \1 (statt \v )
                wenn dort dann false steht kommt 102 zurück, bei true 116 (siehe ASCII Tabelle z.B. hier https://www.torsten-horn.de/techdocs/ascii.htm )

                Mit einer Korrektur im https Eingang Befehlt könnte man dann 102 zu 0 bis 116 zu 1 konvertieren. ( Eingangswert 1: 102 Zielwert 1: 0 Eingangswert 2: 116 Zielwert 2: 1 )
                Bei false kommt dann am loxone Verbinder 0 und bei true kommt 1 zurück.

                Würde ich mal einfach ausprobieren.

                Kommentar


                • Thomas M.
                  Thomas M. kommentierte
                  Kommentar bearbeiten
                  So habe ich das auch mit der husqvarna api abfrage via fhem gelöst.
                  Da bekomme ich auch nur zurück "lädt", "mäht", ... Da musste ich ebenso den ersten Buchstaben via ascii tabelle abfragen.

                  Hinten nach habe ich dann einfach ein "gleich" Baustein genommen.
                  Oder statusbaustein ähnlich der Abfrage Windirchtung von ° umwandeln in N,NNO, NO, ...
              • tomily
                Smart Home'r
                • 02.09.2021
                • 48

                #9
                Ohne Witz...was für ein geiles Forum. Selten so ausführliche und kompetente Antworten bekommen. Besten Dank für die tolle Erklärung. Nun habe ich das mit der Konvertierung und den Zielwerten auch verstanden :-)

                An für sich scheint "etwas" zu funktionieren. Leider kommt auch eine "1" zurück, obwohl der Wert auf false steht.

                Kannst du noch einmal drüber schauen, ob ich deine Angaben korrekt umgesetzt habe. Hier ein Screenshot:

                Kommentar

                • Labmaster
                  Lox Guru
                  • 20.01.2017
                  • 2591

                  #10
                  du hast ja 1 und 2 und nicht 0 und 1 bei den Zielwerten eingetragen, somit müsste 1 bei false und 2 bei true zurückkommen, oder ?

                  und falls da "true" und "false" zurückkommt, dann musst du bei deiner Auswertung das Hochkomma noch mit rein nehmen, denn sonst kommt da immer nur der ASCII Wert von " zurück
                  Leider ist im dem Screenshot von dir das schwer zu erkennen was da genau steht.
                  Zuletzt geändert von Labmaster; 27.09.2021, 13:50.

                  Kommentar

                  • tomily
                    Smart Home'r
                    • 02.09.2021
                    • 48

                    #11
                    Ich würde mal sagen....vor lauter Bäumen den Wald nicht gesehen. Du hast natürlich recht. Ich hatte es trotz genialer Vorlage falsch abgetippt.
                    Nun kommen die Zustände (1 oder 0) korrekt an. Nur in der Visu wird es noch falsch angezeigt.

                    Werde ne kleine Pause einlegen, es nochmals testen und mich wieder zurück melden :-)

                    Herzlichen Dank bis hier hier mal

                    Kommentar

                    • tomily
                      Smart Home'r
                      • 02.09.2021
                      • 48

                      #12
                      OK eine Grundsatzfrage habe ich heute aber doch noch :-)

                      Ich habe es ja geschafft den Wert meines Lichtsensors (Oben) anzeigen zu lassen. D.h. der Zahlenwert wird korrekt in der Visu dargestellt.
                      Nun möchte ich mich den Level meiner Jalousie auch anzeigen lassen. Ebenfalls ist das ein Zahlenwert.

                      Ich dachte nun, dass ich den Eingang einfach gleich anlege, aber es funktioniert nicht.
                      Vermutlich liegt es an der Einstellung "Validierung" und/oder "Einheit" und/oder "Schrittweite".

                      Kann mir das von euch einer für doofe Neueinsteiger erklären, was die Werte bedeuten? Ich vermute, dass meine "Probleme" alle in etwa davon kommen.

                      Im Screenshot grün ist der Wert des Lichtsensors. Der geht.
                      Das rot markierte ist der Wert der Jalousie. Diese steht derzeit auf 99%.

                      Den einzigen Unterschied den ich sehe ist die Formatierung und Größe der Werte, oder?



                      Kommentar


                      • romildo
                        romildo kommentierte
                        Kommentar bearbeiten
                        0 = 0%
                        1 = 100%
                        0.99 = 99%
                    • tomily
                      Smart Home'r
                      • 02.09.2021
                      • 48

                      #13
                      Habe das mal so eingetragen und nun scheint der korrekte Wert zu kommen. Die 98 sind die % die der Aktor zuder Zeit tatsächlich hatte, als ich den Screenshot ertellt habe.

                      Bin nun also am Ziel, weiß nur nicht so 100%ig wieso :-D Kann mir das einer in Kürze erklären oder kann ich das irgendwo nachlesen?
                      Wenn ich das Prinzip mit der Wertkorrektur 1x verstanden habe, wird mir das in Zukunft sicherlich sehr helfen :-)

                      Besten Dank und Grüße

                      Kommentar

                      • Thomas M.
                        Lebende Foren Legende
                        • 25.08.2015
                        • 3264

                        #14
                        Nun ja hier wandelst quasi ein 0-1 "Signal" auf ein 0-100 um.

                        Eingang 0=0, 0,1=10, 0,5 = 50 ... 1=100



                        Angenommen du hast einen Eingang (z.B. Standmessung Regenwasserzisterne) die Liefert bei leer = 0 und bei voll 3 (Spannung in V oder irgendwas)
                        Dann wandelst das 0-3V "Signal" auf die Anzeige 0-100% auch so um

                        Eingang1=0, Zielwert1=0
                        Eingang2=3, Zielwert 2=100


                        siehe auch doku von loxone:
                        Erfahren Sie in unserer Online-Dokumentation detaillierte Informationen zum Thema Korrektur von analogen Ein- und Ausgängen. Jetzt informieren!


                        easy cheasy
                        Zuletzt geändert von Thomas M.; 28.09.2021, 07:48.

                        Kommentar

                        • tomily
                          Smart Home'r
                          • 02.09.2021
                          • 48

                          #15
                          Ich raste aus...DANKE! So einfach, wenn man das aber nicht weiß bringt es einen an den Rand der Verzweiflung! Ich bedanke mich für euren Support und die Erklärung.
                          Klicke und lese mich mal durch die Doku :-)

                          Gleiches gilt dann auch für die Outputs, oder? Das würde ich nämlich jetzt angehen, um nicht nur den Status auslesen zu können, sondern auch schalten zu können

                          Kommentar

                          Lädt...