Ankündigung

Einklappen
Keine Ankündigung bisher.

JSON Dateien in ein Item schreiben

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

    #16
    Kann wieder nicht war sein dass ich schon wieder nicht verstehe was an der url fehlt das steht im LOG

    Code:
     
        
    2018-02-04 16:13:43.974 [ERROR] [b.core.service.AbstractActiveService] - Error while executing background thread HTTP Refresh Service
    
    java.lang.IllegalArgumentException: Invalid uri 'http="<[http://192.168.178.74/?json': incorrect scheme
    
    at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222) [220:org.apache.servicemix.bundles.commons-httpclient:3.1.0.7]
    
    at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89) [220:org.apache.servicemix.bundles.commons-httpclient:3.1.0.7]
    
    at org.openhab.io.net.http.HttpUtil.createHttpMethod(HttpUtil.java:314) [222:org.openhab.core.compat1x:2.2.0]
    
    at org.openhab.io.net.http.HttpUtil.executeUrl(HttpUtil.java:167) [222:org.openhab.core.compat1x:2.2.0]
    
    at org.openhab.io.net.http.HttpUtil.executeUrl(HttpUtil.java:130) [222:org.openhab.core.compat1x:2.2.0]
    
    at org.openhab.binding.http.internal.HttpBinding.getCacheData(HttpBinding.java:423) [246:org.openhab.binding.http:1.11.0]
    
    at org.openhab.binding.http.internal.HttpBinding.execute(HttpBinding.java:169) [246:org.openhab.binding.http:1.11.0]
    
    at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:144) [222:org.openhab.core.compat1x:2.2.0]
    
    at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:166) [222:org.openhab.core.compat1x:2.2.0]

    Kommentar


      #17
      Habe es soweit hinbekommen das er mir Werte Anzeigt nur im LOG finde ich immer wieder Fehler
      Code:
       
          
      [WARN ] [ab.binding.http.internal.HttpBinding] - Transformation 'JSONPATH($.vars[20].value)' threw an exception. [response=
      
      {"modultyp":"wiffi-wz","vars":[{"name":"0","homematic_name":"wz_ip","desc":"ip des wiffi-wz","type":"string","unit":"","value":"192.168.178.74"},{"name":"1","homematic_name":"wz_co2","desc":"Luftqualitaet","type":"number","unit":"%","value":91},{"name":"2","homematic_name":"wz_temp","desc":"Temperatur","type":"number","unit":"gradC","value":23.8},{"name":"3","homematic_name":"wz_feuchte","desc":"Luftfeuchte","type":"number","unit":"%","value":42.4},{"name":"19","homematic_name":"wz_taupunkt","desc":"Taupunkt","type":"number","unit":"gradC","value":10.2},{"name":"18","homematic_name":"wz_feuchte_abs","desc":"Absolutfeuchte","type":"number","unit":"g/m3","value":9.1},{"name":"9","homematic_name":"wz_baro","desc":"Luftdruck","type":"number","unit":"mB","value":1021.60},{"name":"5","homematic_name":"wz_luftdrucktrend","desc":"Luftdrucktrend","type":"string","unit":"","value":"stabil"},{"name":"8","homematic_name":"wz_lux","desc":"Helligkeit","type":"number","unit":"lux","value":0.57},{"name":"6","homematic_name":"wz_motion_left","desc":"Bewegung links","type":"boolean","unit":"","value":false},{"name":"7","homematic_name":"wz_motion_right","desc":"Bewegung rechts","type":"boolean","unit":"","value":false},{"name":"20","homematic_name":"wz_motion","desc":"Bewegung","type":"boolean","unit":"","value":false},{"name":"4","homematic_name":"wz_noise","desc":"Geraeusch","type":"boolean","unit":"","value":true},
      
      {"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-28.6},{"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":278.5},{"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false},{"name":"21","homematic_name":"wz_relais","desc":"Relais","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"81:7b:f8:34:fe:18","ip_Homematic_CCU":"192.168.178.32","WLAN_ssid":"T-Virus","WLAN_Signal_dBm":-56,"millis_seit_reset":91464474,"wiffizeit":" 1 20:25","firmware":"wiffi_wz_86"}}
      
      ]
      
      org.openhab.core.transform.TransformationException: Invalid path '$.vars[20].value' in '
      
      {"modultyp":"wiffi-wz","vars":[{"name":"0","homematic_name":"wz_ip","desc":"ip des wiffi-wz","type":"string","unit":"","value":"192.168.178.74"},{"name":"1","homematic_name":"wz_co2","desc":"Luftqualitaet","type":"number","unit":"%","value":91},{"name":"2","homematic_name":"wz_temp","desc":"Temperatur","type":"number","unit":"gradC","value":23.8},{"name":"3","homematic_name":"wz_feuchte","desc":"Luftfeuchte","type":"number","unit":"%","value":42.4},{"name":"19","homematic_name":"wz_taupunkt","desc":"Taupunkt","type":"number","unit":"gradC","value":10.2},{"name":"18","homematic_name":"wz_feuchte_abs","desc":"Absolutfeuchte","type":"number","unit":"g/m3","value":9.1},{"name":"9","homematic_name":"wz_baro","desc":"Luftdruck","type":"number","unit":"mB","value":1021.60},{"name":"5","homematic_name":"wz_luftdrucktrend","desc":"Luftdrucktrend","type":"string","unit":"","value":"stabil"},{"name":"8","homematic_name":"wz_lux","desc":"Helligkeit","type":"number","unit":"lux","value":0.57},{"name":"6","homematic_name":"wz_motion_left","desc":"Bewegung links","type":"boolean","unit":"","value":false},{"name":"7","homematic_name":"wz_motion_right","desc":"Bewegung rechts","type":"boolean","unit":"","value":false},{"name":"20","homematic_name":"wz_motion","desc":"Bewegung","type":"boolean","unit":"","value":false},{"name":"4","homematic_name":"wz_noise","desc":"Geraeusch","type":"boolean","unit":"","value":true},
      
      {"name":"10","homematic_name":"wz_elevation","desc":"Sonne-Elevation","type":"number","unit":"grad","value":-28.6},{"name":"11","homematic_name":"wz_azimut","desc":"Sonne-Azimut","type":"number","unit":"grad","value":278.5},{"name":"12","homematic_name":"wz_buzzer","desc":"Buzzer","type":"boolean","unit":"","value":false},{"name":"21","homematic_name":"wz_relais","desc":"Relais","type":"boolean","unit":"","value":false}],"Systeminfo":{"MAC-Adresse":"81:7b:f8:34:fe:18","ip_Homematic_CCU":"192.168.178.32","WLAN_ssid":"T-Virus","WLAN_Signal_dBm":-56,"millis_seit_reset":91464474,"wiffizeit":" 1 20:25","firmware":"wiffi_wz_86"}}
      
      '

      Kommentar


        #18
        Hallo Riffhai,

        in der Angabe für die Adresse im http.cfg fehlen die " am Ende..
        Und dein JSON-Path sagt, dass Du den 20. Eintrag deines vars-Arrays lesen willst, den gibt es allerdings nicht...
        Die Variable mit "name" = "20" wäre also JSONPATH($.vars[11].value)

        Ich habe allerdings nur rudimentäre Erfahrung mit JSONPATH. Vielleicht kann man ja in Abhängigkeit eines Eintrages (hier also "name") den Wert auslesen...

        Andreas

        Kommentar


          #19
          Zitat von Riffhai Beitrag anzeigen
          Ich habe die Firmware geändert jetzt klappt es mit JSOn nur wenn ich es in die http.cfg Eintrage kommen fehler im Log kann es sein das noch was fehlt
          Code:
          wohnzimmersensor.url= http="<[http://192.168.178.74/?json
          Ja, sorry. Am Anfang muss das "<[ weg.
          Zuletzt geändert von udo1toni; 05.02.2018, 17:18.

          Kommentar


            #20
            Das habe ich schon Probiert dann kommt aber ein Fehler wenn ich das Item Einfüge

            Number Wz_temp1 "Temperatur [%.1f °C]" {http="<[wohnzimmersensor:60000:JSONPATH($.vars[2].value)]"}

            dann kommt dieser Fehler

            Code:
            2018-02-05 17:20:45.847 [ERROR] [b.core.service.AbstractActiveService] - Error while executing background thread HTTP Refresh Service
            
            java.lang.IllegalArgumentException: Invalid uri 'http="<[http://192.168.178.74/?json"': incorrect scheme
            
            at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222) [220:org.apache.servicemix.bundles.commons-httpclient:3.1.0.7]
            
            at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89) [220:org.apache.servicemix.bundles.commons-httpclient:3.1.0.7]
            
            at org.openhab.io.net.http.HttpUtil.createHttpMethod(HttpUtil.java:314) [222:org.openhab.core.compat1x:2.2.0]
            
            at org.openhab.io.net.http.HttpUtil.executeUrl(HttpUtil.java:167) [222:org.openhab.core.compat1x:2.2.0]
            
            at org.openhab.io.net.http.HttpUtil.executeUrl(HttpUtil.java:130) [222:org.openhab.core.compat1x:2.2.0]
            
            at org.openhab.binding.http.internal.HttpBinding.getCacheData(HttpBinding.java:423) [246:org.openhab.binding.http:1.11.0]
            
            at org.openhab.binding.http.internal.HttpBinding.execute(HttpBinding.java:169) [246:org.openhab.binding.http:1.11.0]
            
            at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:144) [222:org.openhab.core.compat1x:2.2.0]
            
            at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:166) [222:org.openhab.core.compat1x:2.2.0]

            Kommentar


              #21
              Der Fehler Invalid uri 'http="<[http://192.168.178.74/?json"': incorrect scheme weißt ja darauf hin, was nicht stimmt - eventuell hast Du mein Posting gelesen, bevor ich es korrigiert hatte

              Kommentar


                #22
                Das habe ich auch schon getestet es kommt aber immer wieder

                Code:
                 
                    
                2018-02-05 17:39:22.070 [ERROR] [b.core.service.AbstractActiveService] - Error while executing background thread HTTP Refresh Service
                
                java.lang.IllegalArgumentException: Invalid uri 'http=http://192.168.178.74/?json': incorrect scheme
                
                at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222) [220:org.apache.servicemix.bundles.commons-httpclient:3.1.0.7]
                
                at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89) [220:org.apache.servicemix.bundles.commons-httpclient:3.1.0.7]
                
                at org.openhab.io.net.http.HttpUtil.createHttpMethod(HttpUtil.java:314) [222:org.openhab.core.compat1x:2.2.0]
                
                at org.openhab.io.net.http.HttpUtil.executeUrl(HttpUtil.java:167) [222:org.openhab.core.compat1x:2.2.0]
                
                at org.openhab.io.net.http.HttpUtil.executeUrl(HttpUtil.java:130) [222:org.openhab.core.compat1x:2.2.0]
                
                at org.openhab.binding.http.internal.HttpBinding.getCacheData(HttpBinding.java:423) [246:org.openhab.binding.http:1.11.0]
                
                at org.openhab.binding.http.internal.HttpBinding.execute(HttpBinding.java:169) [246:org.openhab.binding.http:1.11.0]
                
                at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:144) [222:org.openhab.core.compat1x:2.2.0]
                
                at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:166) [222:org.openhab.core.compat1x:2.2.0]

                Kommentar


                  #23
                  Argh! Ich hätte doch nochmal etwas genauer hinschauen sollen... Keine Ahnung, wie das beim Kopieren rein geraten ist... Exakt so muss der Eintrag der http.cfg aussehen:
                  Code:
                  wohnzimmersensor.url=http://192.168.178.74/?json
                  wohnzimmersensor.updateInterval=60000
                  Sorry...

                  Kommentar


                    #24
                    Das hat schon geklappt durch mein Versuch aber was ich jetzt nicht verstehe ist dass in dem JSON der richtige Status steht aber Openhab es falsch oder nicht richtig anzeigt.

                    Die JSON stimmt

                    Code:
                    "modultyp": "wiffi-wz",
                        "vars": [{
                            "name": "0",
                            "homematic_name": "wz_ip",
                            "desc": "ip des wiffi-wz",
                            "type": "string",
                            "unit": "",
                            "value": "192.168.178.74"
                        },
                        {
                            "name": "1",
                            "homematic_name": "wz_co2",
                            "desc": "Luftqualitaet",
                            "type": "number",
                            "unit": "%",
                            "value": 97
                        },
                        {
                            "name": "2",
                            "homematic_name": "wz_temp",
                            "desc": "Temperatur",
                            "type": "number",
                            "unit": "gradC",
                            "value": 23.4
                        },
                        {
                            "name": "3",
                            "homematic_name": "wz_feuchte",
                            "desc": "Luftfeuchte",
                            "type": "number",
                            "unit": "%",
                            "value": 38.0
                        },
                        {
                            "name": "19",
                            "homematic_name": "wz_taupunkt",
                            "desc": "Taupunkt",
                            "type": "number",
                            "unit": "gradC",
                            "value": 8.2
                        },
                        {
                            "name": "18",
                            "homematic_name": "wz_feuchte_abs",
                            "desc": "Absolutfeuchte",
                            "type": "number",
                            "unit": "g/m3",
                            "value": 8.0
                        },
                        {
                            "name": "9",
                            "homematic_name": "wz_baro",
                            "desc": "Luftdruck",
                            "type": "number",
                            "unit": "mB",
                            "value": 1012.05
                        },
                        {
                            "name": "5",
                            "homematic_name": "wz_luftdrucktrend",
                            "desc": "Luftdrucktrend",
                            "type": "string",
                            "unit": "",
                            "value": "stabil"
                        },
                        {
                            "name": "8",
                            "homematic_name": "wz_lux",
                            "desc": "Helligkeit",
                            "type": "number",
                            "unit": "lux",
                            "value": 0.57
                        },
                        {
                            "name": "6",
                            "homematic_name": "wz_motion_left",
                            "desc": "Bewegung links",
                            "type": "boolean",
                            "unit": "",
                            "value": false
                        },
                        {
                            "name": "7",
                            "homematic_name": "wz_motion_right",
                            "desc": "Bewegung rechts",
                            "type": "boolean",
                            "unit": "",
                            "value": false
                        },
                        {
                            "name": "20",
                            "homematic_name": "wz_motion",
                            "desc": "Bewegung",
                            "type": "boolean",
                            "unit": "",
                            "value": false
                        },
                        {
                            "name": "4",
                            "homematic_name": "wz_noise",
                            "desc": "Geraeusch",
                            "type": "boolean",
                            "unit": "",
                            "value": true
                        },
                        {
                            "name": "10",
                            "homematic_name": "wz_elevation",
                            "desc": "Sonne-Elevation",
                            "type": "number",
                            "unit": "grad",
                            "value": -13.0
                        },
                        {
                            "name": "11",
                            "homematic_name": "wz_azimut",
                            "desc": "Sonne-Azimut",
                            "type": "number",
                            "unit": "grad",
                            "value": 260.2
                        },
                        {
                            "name": "12",
                            "homematic_name": "wz_buzzer",
                            "desc": "Buzzer",
                            "type": "boolean",
                            "unit": "",
                            "value": false
                        },
                        {
                            "name": "21",
                            "homematic_name": "wz_relais",
                            "desc": "Relais",
                            "type": "boolean",
                            "unit": "",
                            "value": false
                        }],
                        "Systeminfo": {
                            "MAC-Adresse": "81:7b:f8:34:fe:18",
                            "ip_Homematic_CCU": "192.168.178.32",
                            "WLAN_ssid": "T-Virus",
                            "WLAN_Signal_dBm": -40,
                            "millis_seit_reset": 258509851,
                            "wiffizeit": " 3 18:49",
                            "firmware": "wiffi_wz_86"
                        }
                    }
                    aber die Bewegungsmelder und Geräuschsensor reagieren überhaupt nicht auf Änderung und der Luftdrucktrennd zeigt mir nur Zahlen an und nicht wie ich es im JSON angezeigt bekomme. Blick jetzt hier nicht mehr durch warum!

                    Kommentar


                      #25
                      Hallo Riffhai,

                      also, wenn Deine JSON-Daten jetzt richtig sind (also auch die Werte so sind, wie Du sie erwartest), dann wäre der nächste Schritt die Aufteilung der Werte in die openHab-Items sich anzuschauen. Vielleicht postest Du einfach den aktuellen Stand der Items, die noch Probleme machen....

                      Der Luftdrucktrend steht in "($.vars[7].value)" und ist vom Typ String. Falls Du beim Luftdrucktrend auf "($.vars[5].value)" gehst, dann hast Du in diesem Item nicht "stabil" stehen, sondern die Absolutfeuchte, weil die der 6. Eintrag (von 0 an gezählt eben mit Index 5) in deinem Vars-Array ist....

                      Du darfst Dich nicht von den Nummern unter "Name" in deinen Variablen durcheinanderbringen lassen.

                      Zur Fehlersuche und um das Verständnis zu erleichtern, könnte es hilfreich sein, mehrere Hilfs-Items anzulegen, damit Du siehst was wohin kommt. Also z.B. so:

                      String Test_JSON_name "Name [%s]" {http="<[wohnzimmersensor:60000:JSONPATH($.vars[1].name)]"}
                      String Test_JSON_hmname "Homematic Name [%s]" {http="<[wohnzimmersensor:60000:JSONPATH($.vars[1].homematic_name)]"}
                      String Test_JSON_desc "Description [%s]" {http="<[wohnzimmersensor:60000:JSONPATH($.vars[1].desc)]"}
                      Number Test_JSON_value "Value [%.1f]" {http="<[wohnzimmersensor:60000:JSONPATH($.vars[1].value)]"}

                      Wenn Du Dir diese Items auf der Sitemap anzeigen lasst, siehst Du ja sofort, welcher Wert Du aus Deinem Array rausgreifst.
                      Bei den Werten, wo der value ein String ist, musst Du das letzte Item auch auf String umstellen und für die Anzeige [%s] wählen...
                      Jetzt kannst Du probehalber die Nummerierung im JSONPATH verändern (bei allen Items immer gleich), dann siehst Du welcher Wert welchem Index entspricht.


                      Wenn Du den Tip mit Notepad++ und der JSON-Erweiterung beachtet hast, dann kannst Du auch im Notepad++ den Zusammenhang sehen: wenn Du die "Objekte" in dem Array vars durchzählst, beginnend mit 0, dann siehst Du das Index 3 zufälligerweise dem Objekt mit dem Namen "3" entspricht. Alleridngs siehst Du dann auch, dass das Objekt mit dem Index 7 eben den Namen "5" hat (s.unten).

                      Andreas


                      JSON.jpg
                      Zuletzt geändert von imhofa; 07.02.2018, 07:26.

                      Kommentar


                        #26
                        Hallo imhofa und udo1toni,

                        Danke für die Hilfe jetzt funktioniert alles so wie es soll. Ich habe 4 Abende im Internet geschaut nach einer Lösung gesucht die Doku gelesen aber nichts gefunden. ich Frage mich so oft wie man das alles Lernen soll ohne Forum geht das nicht.

                        Gruss Michael

                        Kommentar

                        Lädt...
                        X