Ankündigung

Einklappen
Keine Ankündigung bisher.

12739_JSON-Convert

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

    #16
    Update auf 0.5
    * Eingang Config
    sbc=1 und clearempty=1 hinzugefügt
    sbc sendet nur bei Änderung an die Ausgänge
    clearempty löscht die Strings und setzt die numerischen Ausgänge auf -1 wenn kein Wert im JSON vorhanden ist
    Nils

    aktuelle Bausteine:
    BusAufsicht - ServiceCheck - Pushover - HS-Insight

    Kommentar


      #17
      Hallo!

      Ich bekomme diese Exception (siehe Anhang). Habe einen HS2 mit FW 4.5. Kann das die Ursache sein, oder woran könnte es liegen?
      Danke und Grüße

      json.png

      Kommentar


        #18
        NilsS

        Leiter der Baustein auf A1 das JSON so durch, wie er es reinbekommt? Also gedacht, um mehrere Bausteine zu kaskadieren? Macht das aus Performance-Sicht einen Unterschied zu mehreren Einzelbausteinen, wo ich das gleich JSON an E1 reinschicke?
        Möchte den Komfort meiner Installation nicht mehr missen!

        Kommentar


          #19
          Zitat von NilsS Beitrag anzeigen
          * Listen (leider müßig) { "mylist" : [ 1,2,3,4 ] } EN[2] = mylist EN[4] = mylist EN[6] = mylist EN[8] = mylist gibt auf AN[2] 1 AN[3] 2 AN[4] 3 AN[5] 4 aus
          Hhm, wie komme ich denn an Werte aus Listen dran, die weiter hinten liegen als 5 - wie komme ich also bei dieser Liste an den 11. Wert? Der Baustein hat ja nur 5 Eingänge, wo ich mylist eintragen kann?

          { "mylist" : [1,2,3,4,5,6,7,8,9,10,11] }
          Möchte den Komfort meiner Installation nicht mehr missen!

          Kommentar


            #20
            Hallo zusammen,

            ich möchte gerne meinen Delios Wechselrichter mit dem Baustein auslesen. Die Daten sind auch per JSON vorhanden. Mir ist aber

            1. nicht klar wie ich an die JSON Datei kommen - was muss dann bei dem E1 in den LBS eingetragen werden? Über Fiddler wird mir die URL http://192.168.178.20/api/v1/dashboard angegeben - und auch der JSON wie folgt angezeigt. Das RAW dazu sieht dann wie folgt aus

            HTTP/1.1 200 OK
            Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0
            Cache-Control: no-cache, no-store, must-revalidate
            X-Powered-By: PHP/5.6.15
            Pragma: no-cache
            Expires: 0
            Access-Control-Allow-Origin: *
            Content-Type: application/json
            Transfer-Encoding: chunked
            Date: Sat, 16 Jan 2021 19:29:09 GMT
            Server: lighttpd/1.4.31

            02d9
            {"variables":[{"ctrl_name":"PowerPV","value":"0.0"},{"ctrl_na me" :"VS1","value":"0"},{"ctrl_name":"IS1","value": "0. 0"},{"ctrl_name":"VS2","value":"0"},{"ctrl_name ":" IS2","value":"0.0"},{"ctrl_name":"PercentBattery" , "value":"0"},{"ctrl_name":"PowerBatt","value": "0.0 "},{"ctrl_name":"VBatt","value":"48.9"},{"ctrl _nam e":"IBatt","value":"0.0"},{"ctrl_name":"PowerGr id" ,"value":"10.8"},{"ctrl_name":"VL1","value":"23 3.1 "},{"ctrl_name":"IL1","value":"46.5"},{"ctrl_n ame" :"InvAlarm","value":"0"},{"ctrl_name":"PVAlarm" ,"v alue":"0"},{"ctrl_name":"BattAlarm","value":"0"},{ "ctrl_name":"PercentGreen","value":"0"},{"ctrl _nam e":"PercentViolet","value":"100"},{"ctrl_name": "Po werHouse","value":"10.8"},{"ctrl_name":"InvFlag"," value":"558"}]}
            0


            2. Der Zugriff klappt aber nur, nachdem ich mich einmal angemeldet habe - Wechselrichterseitig lässt sich die Anmeldung nicht deaktivieren. Wie kann man auf die Informationen mit Benutzername und Passwort zugreifen?

            Bin für jede Hilfe extrem dankbar.

            Kommentar


              #21
              Hallo zusammen,

              ich versuche gerad emeinen Heizstab mit JSON abzufragen.
              Wenn ich die vom Hersteller angegeben URL eingebe, bekomme ich eine JSON Antwort.

              Wie muss ich diese im Homeserver abfragen und an den LBS weitergeben.

              Kann mir jemand hierzu Hilfestellung geben?


              Grüße Micha

              Kommentar


                #22
                Hallo Zusammen,

                kann mir niemand weiterhelfen. Ich schaffe es einfach nicht die Webabfrage an den Baustein zu übergeben.

                Würde mich freuen wenn sich jemand meiner erbarmt.

                Grüße Micha

                Kommentar


                  #23
                  gubbele

                  Am besten Du nutzt den Baustein ServiceCheck 12749. Dort gibst Du bei E2 die URL ein, die das JSON liefern soll und ggf. noch Logindaten oder so und Du bekommst an A3 die Response, sprich das JSON. Das knüpperst Du an den JSON_convert usw.

                  Kommentar


                    #24
                    Hi! I just discovered your logic node, and it works very well in combination with the MQTT node from derPaul.

                    But I have one problem, if an input is 0 it seems to be ignored by JSON_convert. I'm aware of the "E22 Config"; "clearempty=0" - but first of all it's set to 0 as default, and secondly I have also tried 1 - but neither seem to create a json with value as 0.

                    Is it a bug, or is it me?

                    Kommentar


                      #25
                      I'm not very confident with Python, but after looking at the code it was obvious that 0 was treated as "False" and thus failing (or actually succeeding) the test in the for loop for "if not _val:" in the tojson() function.

                      I changed that to "if not _val is not None:" and it seems to work fine for my use case, at least. But as I stated initially, I'm not very fluent with Python, and I have not tested much else than my use case

                      Kommentar


                        #26
                        Moin Zusammen,

                        jemand eine Idee wie ich folgenden JSON mit dem Baustein auf MQTT geschickt bekomme?
                        Es scheitert an dem Key "params", wenn ich einen weiteren Baustein davor hänge erhalte ich dazwischen immer noch /.
                        Es handelt sich um ein Shelly RGBW PM, denn ich gerne als 4Kanal einzeln nutze möchte.

                        {
                        "id": 0,
                        "src": "shellyplusrgbwpm-ecc9ff4d02a8"
                        "method": "Light.Set"
                        "params": { "id": 0, "on": false}
                        }

                        LG Marcel

                        Kommentar


                          #27
                          NilsS

                          Danke für den Baustein. So kann ich alle Daten von meiner Panasonic Klimaanlage verarbeiten und das obwohl ich noch nie mit JSON gearbeitet habe.

                          Jetzt wäre die Frage, ob es auch eine Möglichkeit gibt Werte an die Klimaanlage zu senden?
                          Es müsste auch wieder JSON Format sein. Jemand eine Idee?

                          Dies ist die Ausgabe für JSON

                          "{"_guid":"CS-Z35XKEW+0123456789","_name":"","_operate":1,"_oper ationMode":3,"_temperatureSet":23,"_fanSpeed":4,"_ fanAutoMode":2,"_airSwingLR":1,"_airSwingUD":2,"_e coMode":0,"_actualNanoe":0,"_ecoNavi":0,"_nanoe":2 ,"_iAuto":0,"_airDirection":0,"_ecoFunctionData ":0 ,"_insideTemperature":22,"_outTemperature":8,"i nsi deCleaning":0,"fireplace":0,"lastSettingMode":0,"a irQuality":0}"
                          Um Werte zu senden erwartet der Nodered Baustein dieses Format:
                          {
                          "deviceId": "CS-XXXXXXX+1234567890",
                          "operate": "On",
                          "operationMode": "Heat",
                          "ecoMode": "Auto",
                          "temperatureSet": 22,
                          "airSwingUD": "Mid",
                          "airSwingLR": "Mid",
                          "fanAutoMode": "AirSwingAuto",
                          "fanSpeed": "Auto"
                          }​

                          Kommentar


                            #28
                            NilsS

                            Kann es sein, dass der Baustein keine Eingänge mit dem Wert 0 weiterleitet?​
                            Wenn bei mir z.B. Operate auf 0 per JSON reinkommt, gibt er die 0 nicht weiter auf den Ausgang?

                            Kommentar


                              #29
                              Hat jemand zufällig ein Anwendungsbeispiel wie die Abfrage bis zur Auswertung aussehen kann?

                              Ich wollte wie von skynet74 erwähnt den LBS 12749 zur Abfrage nutzen, leider kann ich den Header "authorization", welcher für den GET erforderlich ist, nicht setzen (schaffe es zumindest nicht). Entsprechend plage ich mich mit einer Homeserver Webabfrage herum.

                              Wie fragt löst ihr GET-Abfragen mit spezifischen Headern?


                              In der Auswertung hänge ich leider ebenfalls..

                              Die Response gemäss Postman sieht wie folgt aus:
                              Code:
                              {
                                  "currently": {
                                      "powerGenerationInW": 1.0E-5,
                                      "powerConsumptionInW": 0.0,
                                      "gridFeedInInW": 3609.0087890625,
                                      "gridDrawInW": 1.0E-5,
                                      "batteryChargeInW": 1.0E-5,
                                      "batteryDischargeInW": 1.0E-5,
                                      "batteryLevelInPercent": 1.0E-5,
                                      "selfSufficiencyInPercent": 100.0,
                                      "wallboxInW": 1.0E-5
                                  },
                                  "today": {
                                      "powerGenerationInWh": 0.0,
                                      "powerConsumptionInWh": 3291.52,
                                      "gridFeedInInWh": 3627.777099609375,
                                      "gridDrawInWh": 3396.6941833496094,
                                      "batteryChargeInWh": 0.0,
                                      "batteryDischargeInWh": 0.0,
                                      "batteryLevelInPercent": 1.0E-5,
                                      "selfSufficiencyInPercent": 0.0,
                                      "wallboxInWh": 0.0
                                  },
                                  "timestamp": "2025-06-30T09:08:19Z",
                                  "electricVehicleConnected": false
                              }​
                              Mit einer gekürzten JSON-Response schaffe ich trotz Anwendung der "*-Logik" in den Keys es nicht die Werte auszulesen:

                              image.png
                              Besten Dank und viele Grüsse!

                              Kommentar

                              Lädt...
                              X