Ankündigung

Einklappen
Keine Ankündigung bisher.

Webabfrage auf die HS debug Seite

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

    Webabfrage auf die HS debug Seite

    Hallo Forum,
    kann mir bitte ein Forum Mitglied bei der Webabfrage auf die HS debug Seite helfen?
    Möchte mir Daten der externen Schaltliste rauslesen und im QC anzeigen lassen.
    Mit ein paar Hardcopies der Masken würde ich in die Gänge kommen.
    Besten Dank für eure Hilfe
    Grüße
    Ekkehard

    #2
    Ist eigentlich easy.
    Im http-Abruf steht: /hslist?lst=debug&user=admin&pw=123456
    You do not have permission to view this gallery.
    This gallery has 1 photos.
    Gruß Matthias
    EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
    - PN nur für PERSÖNLICHES!

    Kommentar


      #3
      Hallo Matthias,
      danke für Dine Hilfe. Die Webabfrage ist noch etwas Neuland. Mit diesen drei Zeilen (mein Hardcopy) erhalte ich die IP-Adresse aus der debug-Seite erhalten?
      Für eine Zeile in der debug Liste erfasse ich drei Zeilen in der Maske. Mit "<B>Tcp/IP-Adresse</td> z.B. wird die Zeile ausgewählt, und dann mit der nächsten Zeile in ein internes Komm.-Objekt geschrieben. Mit "</td>" wird die Zeile abgeschlossen (HTML).
      Sorry so aber verstehe ich das als Webabfragen Neuling.
      Danke.
      Gruß
      Ekkehard
      You do not have permission to view this gallery.
      This gallery has 1 photos.

      Kommentar


        #4
        Hallo Ekkehard!

        Ja, gebau so funktioniert das - auf dem Register "Empfang" immer einen eindeutigen Text suchen (1.Zeile), der im Quelltext vor dem gesuchten Wert steht, dann den Wert in ein iKO (2.Zeile), dann den Text, der nach dem gesucht Wert steht (3.Zeile). Und zwischen solchen 3er-Blöcken i.d.R. immer ein "Beliebige Daten". Für Fortgeschrittene kommen dann (nicht bei der debug-Seite, aber bspw. bei der Wetterabfrage) Vergleichslisten etc. hinzu. Aber wenn das Grundprinzip schon mal verstanden ist, ist der Rest nur noch Fleiß und ein bisschen Übung!

        Viel Spaß :-)
        Möchte den Komfort meiner Installation nicht mehr missen!

        Kommentar


          #5
          Hallo Hightech,
          danke für Deine Erklärung. Hat geklappt und konnte mir den relevanten Teil der Externen Schaltliste ermitteln und im QC anzeigen.
          Gruß
          Ekkehard

          Kommentar


            #6
            Hallo Hightech,
            die Webabfrage habe ich erweitert und greife auf eigene mit php erstelle Abfragen zu. Wenn ich z.B. in der Suchabfrage drei Suchfelder habe und diese in der Webabfrage vorkommen dann erhalte ich korrekt Werte in meinem iKo's. Wenn aber ein Abfragefeld nicht gefunden wurde, dann liefert mir die gesamte Webabfrage in den iKo's keine Werte. Konnte dies mit der eigene php-Abfrage beliebig nachstellen. Wenn die drei Werte gefunden wurde, dann iKo's gefüllt, ansonsten kein Inhalt.
            Müsste ich dann ggf. drei Web-Abfragen daraus machen? Danke für Deine Erfahrungen hierüber.
            Gruß
            Ekkehard

            Kommentar


              #7
              So ist es.

              Ich mache das oft als Dekade: ist die erste Abfrage erfolgreich, löst diese die nächste aus usw.
              Gruß Matthias
              EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
              - PN nur für PERSÖNLICHES!

              Kommentar


                #8
                Hallo Ekkehard!

                Ich bin mir nicht ganz sicher, ob ich das richtig verstanden habe, deshalb gebe ich mal wider, wie ich Dich verstanden habe an dem angehängten Beispiel:
                • Du suchst in Zeile 4 den Wert value=', der wird gefunden
                • Du schreibst das, was danach kommt in das Objekt media.denon.zone2.bass.status (Zeile 5)
                • und zwar alles bis zum ' onchange (Zeile 6)
                • Das zweite value=' in Zeile 10 wird nicht gefunden

                Meinst Du das?

                Ja, bei den Webabfragen ist es in der Tat so, dass wenn die Abfrage bei obigem Beispiel den Wert in Zeile 10 nicht findet und abbricht, die zuvor gefüllten KO's (hier also der Bass Status) auch wieder verworfen werden. Du erhältst aus einer Abfrage also immer alle Werte oder keinen, ein "alle Werte bis zum Fehler" gibt es nicht.

                Ob eine Abfrage durchgelaufen ist, siehst Du auf der debug-Seite des HS im Bereich "Event BiDir" - da muss dann am Ende sowas stehen wie "(Gesamt 20 OK 20)" wobei 20 halt die Anzahl der Zeilen in der Webabfrage ist.

                Vermutlicher Hintergrund an einem Beispiel: wenn Du die Wetterwerte Temperatur, Regenmenge, Regenwahrscheinlichkeit mit einer Abfrage ermitteln möchtest und die Abfrage nach der Regenmenge abbricht, hättest Du sonst Temperatur und Regenmenge neu, für die Regenwahrescheinlichkeit aber noch den alten Wert - das wäre inkonsistent.

                Wenn der Text, der exakt vor dem Wert, den Du auslesen willst, abhängig vom Wert selbst nicht immer vorhanden ist, geht es entweder wie Matthias schreibt mit einzelnen Abfragen oder mit einer Auswahlliste, auch hier wieder ein (theoretisches) Beispiel: Nehmen wir an, Du willst auf einer Seite einen Alarmstatus auslesen - OK oder NOTOK. Das dumme ist, dass bei NOTOK der Text in Fettschrift dargestellt wird, für OK nicht - im Quelltext könnte das dann so aussehen:

                für OK:
                <span style="color:#888888;">OK</span></a>
                für NOTOK:
                <span style="color:#888888; font-weight:bold;">NOTOK</span></a>

                Du kannst also nicht wirklich direkt auf den gesuchten Wert abfragen (nur das "> vorher zu suchen, ist problematisch, weil es im gesamten Quelltext zu oft auftaucht)
                Wenn Du jetzt als Suchtext (weil der Status bei Erstellung der Abfrage gerade NOTOK war) "color:#888888; font-weight:bold;"> verwendest, läuft die Abfrage ins Leere d.h. bricht ab, weil das halt nicht gefunden wird. Wenn Du alles nach der 888888 in Dein KO schreibst, hast ne Menge Müll davorstehen! Also:

                Suchtext vorher: <span style="color:#888888;
                Danach statt Wert als Klartext die Auswahlliste nehmen und folgende Zeilen eintragen:
                ">OK=OK
                font-weight:bold;">NOTOK=NOTOK
                Danch natürlich den begrenzenden Text also </span

                => jetzt steht der saubere Wert im KO!

                Hoffe, das war jetzt verständlich rübergebracht!

                (die Wetterabfrage auf www.wetter.com macht übrigens in der Tat solche Zicken, wo ganze Blöcke im Quelltext fehlen: Ist die Regenwahrscheinlichkeit 0%, fehlt der ganze Block für die Regenmenge, früher war er da und es stand dort halt "0mm")

                web.jpg
                Angehängte Dateien
                Zuletzt geändert von Hightech; 09.06.2016, 10:27. Grund: EDIT: Wenn man auf eine Bild referenziert, sollte man das auch anhängen :-)
                Möchte den Komfort meiner Installation nicht mehr missen!

                Kommentar

                Lädt...
                X