Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit dem Plugin jsonread

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

    Problem mit dem Plugin jsonread

    Hallo wieder mal ;-)

    Ich will das Plugin für jsonread benutzen, bekomme aber nach dem Aktivieren folgenden Fehler:

    2021-03-02 15:44:16 ERROR plugins.jsonread Response from 'file:///usr/local/heliotherm/Heliotherm_Messwerte.txt' doesn't look like json 'b'{"Timestamp": "2021-02-28 10'
    So schaut der Dateiinhalt aus, den ich nutzen will:

    {"Timestamp": "2021-02-28 10:20:05", "Temperatur_Aussen": 3.9, "Temperatur_Aussen_Verzoegert": 3.3, "Temperatur_Brauchwasser": 42.8, "Temperatur_Vorlauf": 34.4, "Temperatur_Ruecklauf": 34.5, "Temperatur_EQ_Eintritt": 13.2, "Temperatur_EQ_Austritt": 12.2, "Temperatur_Verdichterfuss": 63.9, "Temperatur_Frischwasser_Istwert": 36.8, "Temperatur_Verdampfung": 13.3, "Temperatur_Kondensation": 32.7, "Temperatur_Unterkuehlung": 30.0, "Temperatur_Heissgas": 35.5, "Druck_Niederdruck": 11.1, "Druck_Hochdruck": 19.3, "Status_Heizkreis_Pumpe": true, "Status_EQ_Pumpe": false, "Status_Warmwasservorrang": false, "Status_Carterheizung": false, "Status_Pumpe_Zirkulation": false, "Status_Verdichter": false, "Status_EQ_Druckwaechter": false, "Status_Vierwegeventil": false, "Status_Hochdruckschalter": true, "Status_EQ_Motorschutz": true, "Status_Hauptschalter": true, "Status_EVU_Sperre": true, "Status_Frischwasser_Stroemungsschalter": false, "Zaehler_Verdichter_Schaltungen": 23521, "Status_AO1_Heizkreispumpe": 40, "Status_AO2_Energiequelle": 0, "Status_Anforderung_Stufe2": 0, "Status_Frischwasserpumpe": 0, "Status_Expansionsventil": 0.0, "Zaehler_Waerme_Heizung": 414449.78, "Zaehler_Strom_Heizung": 97422.18, "Zaehler_Waerme_Brauchwasser": 44920.22, "Zaehler_Strom_Brauchwasser": 13472.11, "Status_Verdichteranforderung": 0, "Temperatur_Sollwert_Heizkreis": 35.9, "Zaehler_Strom_Gesamt:": 110894.3, "Spannung_L1:": 231.7, "Spannung_L2:": 230.8, "Spannung_L3:": 230.9, "Strom_L1:": 0.0, "Strom_L2:": 0.0, "Strom_L3:": 0.0, "Frequenz_Netz:": 50.1, "Zaehler_Waerme_Gesamt:": 459370.0}
    Habt ihr eine Idee? Oder müsste ich das Ganze tatsächlich mit den Zeilenumbrüchen formatieren?

    Viele Grüße
    Andi

    #2
    ich würde auf die Doppelpunkte in den Schlüsseln ab dem Stromzähler tippen. Die können beim Parsen in ein Objekt Probleme machen. Hast Du mal versucht, die wegzulassen?

    Gruß
    Wolfram
    Gruß
    Wolfram

    Kommentar


      #3
      Hallo Wolfram,

      danke für den HInweis. Einerseits war das ein Treffer, weil ohne die Doppelpunkte jetzt mein Ausleseskript funktioniert und für diese Parameter nun auch Werte liefert. Andererseits bleibt aber die Fehlermeldung im SHNG:

      2021-03-02 19:49:06 ERROR plugins.jsonread Response from 'file:///usr/local/heliotherm/Heliotherm_Messwerte.json' doesn't look like json 'b'{"Timestamp": "2021-03-02 19'
      Die Dateiendung habe ich auch gleich geändert - nicht wundern.
      BTW: PHP hat sich übrigens bei der weiteren Verarbeitung der Datei nicht an den Doppelpunkten gestört.

      Viele Grüße
      Andi
      Zuletzt geändert von awknx; 02.03.2021, 20:00.

      Kommentar


        #4
        Den Schuldigen findest du, wenn Du Notepad++ mit dem JSON Plugin nutzt und schrittweise was aus dem Code oben prüfst

        Kommentar


          #5
          Habe es jetzt im ++ mit dem Json Viewer angeschaut, hier die erste Zeile:

          {
          "Timestamp": "2021-03-02 19:40:05",
          "Temperatur_Aussen": 7.1,
          "Temperatur_Aussen_Verzoegert": 7.6,
          "Temperatur_Brauchwasser": 43.2,
          "Temperatur_Vorlauf": 36.2,
          "Temperatur_Ruecklauf": 31.3,
          "Temperatur_EQ_Eintritt": 12.1,
          "Temperatur_EQ_Austritt": 10.7,
          "Temperatur_Verdichterfuss": 62.2,
          "Temperatur_Frischwasser_Istwert": 38.7,
          "Temperatur_Verdampfung": 3.8,
          "Temperatur_Kondensation": 35.9,
          "Temperatur_Unterkuehlung": 29.9,
          "Temperatur_Heissgas": 62.3,
          "Druck_Niederdruck": 8.1,
          "Druck_Hochdruck": 21.0,
          "Status_Heizkreis_Pumpe": true,
          "Status_EQ_Pumpe": true,
          "Status_Warmwasservorrang": false,
          "Status_Carterheizung": false,
          "Status_Pumpe_Zirkulation": false,
          "Status_Verdichter": true,
          "Status_EQ_Druckwaechter": false,
          "Status_Vierwegeventil": false,
          "Status_Hochdruckschalter": true,
          "Status_EQ_Motorschutz": true,
          "Status_Hauptschalter": true,
          "Status_EVU_Sperre": true,
          "Status_Frischwasser_Stroemungsschalter": false,
          "Zaehler_Verdichter_Schaltungen": 23534,
          "Status_AO1_Heizkreispumpe": 100,
          "Status_AO2_Energiequelle": 40,
          "Status_Anforderung_Stufe2": 0,
          "Status_Frischwasserpumpe": 0,
          "Status_Expansionsventil": 73.6,
          "Zaehler_Waerme_Heizung": 414789.78,
          "Zaehler_Strom_Heizung": 97500.88,
          "Zaehler_Waerme_Brauchwasser": 45000.22,
          "Zaehler_Strom_Brauchwasser": 13493.41,
          "Status_Verdichteranforderung": 2,
          "Temperatur_Sollwert_Heizkreis": 32.4,
          "Zaehler_Strom_Gesamt": 110994.3,
          "Spannung_L1": 231.5,
          "Spannung_L2": 230.5,
          "Spannung_L3": 230.9,
          "Strom_L1": 4.3,
          "Strom_L2": 4.3,
          "Strom_L3": 4.3,
          "Frequenz_Netz": 50.0,
          "Zaehler_Waerme_Gesamt": 459790.0
          }
          Das schaut okay aus. Könnte es sein, dass die einzelnen JSON-Strings so wie hier nicht einfach zeilenweise in einer Datei stehen dürfen? Mit PHP lese ich die Datei nämlich zeilen weise aus und schiebe die Daten in die DB - das klappt einwandfrei.

          Kommentar


            #6
            Habe das nun mal mit nur einer Zeile ausprobiert, dann startet SHNG ohne Fehlermeldung. Ich muss also immer nur mit einem Datensatz arbeiten oder über die Timestamps schachteln.

            Danke für eure Hinweise
            Andi

            Kommentar


              #7
              PHP geht anders mit den Zeilenenden um. Nimm doch mal die Zeilenvorschübe raus.

              Gruß
              Wolfram

              Edit: sorry. Zu spät.
              Zuletzt geändert von wvhn; 02.03.2021, 21:06.
              Gruß
              Wolfram

              Kommentar

              Lädt...
              X