Ankündigung

Einklappen
Keine Ankündigung bisher.

HTTP Binding und Number...

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

    HTTP Binding und Number...

    Hallo,

    ich möchte über ein HTTP Binding eine Temperatur darstellen, wenn ich also im Browser http://192.168.1.52/or.asp?get=.aRaumtemperatur[0].iRaumtemperaturIst eingeben bekomme ich 225 (was 22.5 ° entsprechen) zurück.

    Wie kann ich das nun In OH2 darstellen?

    /*
    Number RaumtempKueche "Temperatur Ist [%d °C]" <temperature> (gFKW) {http="<[http://192.168.1.52/or.asp?get=.aRaumtemperatur[0].iRaumtemperaturIst:3000:JS(getValue.js)]" }
    */

    die JS Transformation schaut so aus
    JSON.parse(input);

    es wird nur ein - °C dargestellt

    Vielen Dank für eure Hilfe

    Gruß
    Markus



    #2
    Wenn die Ausgabe des Aufrufs z.B. 225 ist, dann ist das kein JSON. Versuche mal REGEX((.*)), um zu sehen, ob der Zahlenwert so da steht. Wenn das funktioniert, kannst Du ein java script nutzen, um den Wert durch 100 zu teilen.
    Code:
    Number RaumtempKueche "Temperatur Ist [%d °C]" <temperature> (gFKW) {http="<[http://192.168.1.52/or.asp?get=.aRaumtemperatur[0].iRaumtemperaturIst:3000:JS(getValue.js)]" }
    getValue.js:
    Code:
    (function(i){
    return i*0.01;
    })(input)

    Kommentar


      #3
      Hallo,
      habs nun dank deiner Hilfe lösen können, Problem war auch noch das die Eckigen Klammern nicht erkannt wurden (musste ich mit %%5B für "[" und %%5D "]" ersetzen.

      Hab nun noch ein anderes Problem:
      Rollershutter ShutterKuecheSchiebetuere "Schiebetüre [%d %%]" (gFKW, Shutters) {http="<[http://192.168.1.52/or.asp?get=.aRaf...llung:3000:REG EX(.*?State*)]" }

      das Bild vom der Jalousie ändert sich aber ich habe in der LogDatei den Eintrag

      2017-09-01 15:58:15.046 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type REG EX
      2017-09-01 15:58:15.046 [WARN ] [ab.binding.http.internal.HttpBinding] - Couldn't transform response because transformationService of type 'REG EX' is unavailable


      was kann das sein?

      Danke
      Gruß
      Markus

      Kommentar


        #4
        Du hast da entweder ein Leerzeichen (das kann aber auch daher rühren, dass Du hier Code postest, den aber nicht als Code kennzeichnest, das mag die Forensoftware überhaupt nicht) oder Du hast schlicht den transformationService
        Code:
        REGEX
        nicht installiert.

        Kommentar


          #5
          stimmt hier ist ein Leerzeichen vorhanden, ohne das Leerzeichen bekomme ich zwar keine Fehlermeldung mehr im Log, aber auch keine Daten mehr
          mit dem Leerzeichen bekomme ich die Daten (Stellung) aber eben diese Fehlermeldung im Log

          ich lese die Schalter so ein

          Code:
           Switch Light_GF_Speis_Decke                        "Licht Speis"                                (gGFS, LightsUG, Lights) {http="<[http://192.168.1.52/or.asp?get=.stLichtSpeis.Zustand:10000:REGEX((.*))]"}
          hier bekomme ich keine Fehlermeldung..., also ist der REGEX installiert.

          Kommentar


            #6
            Setze doch mal bitte statt Switch String ein und schau in UI oder events.log, was das Item so einliest:
            Code:
            String Light_GF_Speis_Decke "Licht Speis [%s]" (gGFS, LightsUG, Lights) {http="<[http://192.168.1.52/or.asp?get=.stLichtSpeis.Zustand:10000:REGEX((.*))]"}

            Kommentar


              #7
              2017-09-02 19:11:30.591 [ItemStateChangedEvent ] - Light_GF_Speis_Decke changed from NULL to OFF
              diese Variable ist aber auch ein String....

              so wenn es ein Switch ist
              2017-09-02 19:13:10.149 [ItemCommandEvent ] - Item 'Light_GF_KuecheWohnen_WandSwitch' received command ON
              2017-09-02 19:13:10.149 [ItemStateChangedEvent ] - Light_GF_KuecheWohnen_WandSwitch changed from OFF to ON
              2017-09-02 19:13:10.150 [GroupItemStateChangedEvent] - LightsUG changed from OFF to ON through Light_GF_KuecheWohnen_WandSwitch
              2017-09-02 19:13:10.150 [GroupItemStateChangedEvent] - Lights changed from OFF to ON through Light_GF_KuecheWohnen_WandSwitch

              Kommentar


                #8
                Und was ist jetzt das Problem?

                Kommentar


                  #9
                  ich habs jetzt nochmal probiert

                  Code:
                  Rollershutter ShutterKuecheSchiebetuere "Schiebetüre [%d %%]" (gFKW, Shutters) {http="<[[URL="http://192.168.1.52/or.asp?get=.aRaffstore%%5B0%%5D.istellung:3000:REG"]http://192.168.1.52/or.asp?get=.aRaf...llung:3000:REG[/URL] EX(.*?State*)]" }
                  kommt die Fehlermeldung im LOG werte werden aber trotzdem aktualisiert
                  2017-09-01 15:58:15.046 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type REG EX
                  2017-09-01 15:58:15.046 [WARN ] [ab.binding.http.internal.HttpBinding] - Couldn't transform response because transformationService of type 'REG EX' is unavailable

                  mit
                  Code:
                  Rollershutter ShutterKuecheSchiebetuere "Schiebetüre [%d %%]" (gFKW, Shutters) {http="<[http://192.168.1.52/or.aspget=.aRaffstore%%5B0%%5D.istellung:3000:REGEX((.*))]"}
                  kommt keine Fehlermeldung und Werte werden auch aktualisiert, also funktioniert!
                  Vielen Dank für deine Hilfe

                  Kommentar

                  Lädt...
                  X