Die Daten kommen nicht im Frontend an

  • Ich habe das aktuelle vz-Image auf dem RPi installiert.
    HIer ein Ausschnitt aus der /var/log/vzlogger.log


    ------
    [Mar 27 18:44:21][mtr0] Reading: id=1-0:1.8.0*255/ObisItentifier:1-0:1.8.0*255 value=8608311.30 ts=1459097061350
    [Mar 27 18:44:21][mtr0] Reading: id=1-0:1.8.1*255/ObisItentifier:1-0:1.8.1*255 value=8607311.30 ts=1459097061350
    [Mar 27 18:44:21][mtr0] Reading: id=1-0:1.8.2*255/ObisItentifier:1-0:1.8.2*255 value=1000.00 ts=1459097061350
    [Mar 27 18:44:21][mtr0] Reading: id=1-0:2.8.0*255/ObisItentifier:1-0:2.8.0*255 value=6651029.90 ts=1459097061350
    [Mar 27 18:44:21][mtr0] Reading: id=1-0:2.8.1*255/ObisItentifier:1-0:2.8.1*255 value=6650029.90 ts=1459097061350
    [Mar 27 18:44:21][mtr0] Reading: id=1-0:2.8.2*255/ObisItentifier:1-0:2.8.2*255 value=1000.00 ts=1459097061350
    [Mar 27 18:44:21][mtr0] Reading: id=1-0:16.7.0*255/ObisItentifier:1-0:16.7.0*255 value=-162.00 ts=1459097061350
    [Mar 27 18:44:21][chn0] ==> number of tuples: 0
    [Mar 27 18:44:21][chn0] JSON request body is null. Nothing to send now.
    [Mar 27 18:44:21][chn0] Buffer dump (size=0): {}
    [Mar 27 18:44:26][mtr0] Got 7 new readings from meter:
    [Mar 27 18:44:26][mtr0] Reading: id=1-0:1.8.0*255/ObisItentifier:1-0:1.8.0*255 value=8608311.30 ts=1459097066153
    [Mar 27 18:44:26][mtr0] Reading: id=1-0:1.8.1*255/ObisItentifier:1-0:1.8.1*255 value=8607311.30 ts=1459097066153
    [Mar 27 18:44:26][mtr0] Reading: id=1-0:1.8.2*255/ObisItentifier:1-0:1.8.2*255 value=1000.00 ts=1459097066153
    [Mar 27 18:44:26][mtr0] Reading: id=1-0:2.8.0*255/ObisItentifier:1-0:2.8.0*255 value=6651030.00 ts=1459097066153
    [Mar 27 18:44:26][mtr0] Reading: id=1-0:2.8.1*255/ObisItentifier:1-0:2.8.1*255 value=6650030.00 ts=1459097066153
    [Mar 27 18:44:26][mtr0] Reading: id=1-0:2.8.2*255/ObisItentifier:1-0:2.8.2*255 value=1000.00 ts=1459097066153
    [Mar 27 18:44:26][mtr0] Reading: id=1-0:16.7.0*255/ObisItentifier:1-0:16.7.0*255 value=-111.00 ts=1459097066153
    -----


    Weiter komme ich nicht. Entweder mache ich etwas falsch, oder es kommen keine Daten beim Frontend an.
    Weiß da jemand weiter?
    Hier noch meine zvlogger.conf:


    --------------
    {
    "retry": 0,
    "daemon": true,
    "verbosity": 15,
    "log": "/var/log/vzlogger.log",
    "push": [],
    "local": {
    "enabled": true,
    "port": 8080,
    "index": true,
    "timeout": 0,
    "buffer": 0
    },
    "meters": [
    {
    "enabled": true,
    "allowskip": false,
    "interval": -1,
    "aggtime": 10,
    "aggfixedinterval": false,
    "channels": [
    {
    "uuid": "c3c7c990-f2bd-11e5-8f40-d9a4b451ce29",
    "identifier": "power",
    "api": "volkszaehler",
    "middleware": "http://localhost/middleware.php",
    // "secretKey": "",
    "type": "device",
    "scaler": 1,
    // "aggmode": "max",
    "duplicates": 0
    }
    ],
    "protocol": "sml",
    // "host": "",
    "device": "/dev/ttyUSB0",
    // "pullseq": "",
    "baudrate": 9600,
    "parity": "8N1"
    }
    ]
    }
    ----------------

  • Danke für die Tips, jetzt kommt wenigstens ein Wert durch: Die Gesamtleistung.
    Da eine PV vorhanden ist, ist das Ganze nicht so sehr aussagekräftig. Zur Zeit bin ich dran, die anderen Werte zum Frontend zu bekommen. Allerdings hakt es noch an einigen Ecken: MySQL ist abgesemmelt und einige andere Programme hatten noch schluckauf. Nach einem Update des Frontends habe ich die Daten wieder sichtbar.
    Muss ich in der vzlogger.conf mehrere Meter oder mehrere channels eingtragen, um weitere Daten fürs Frontend zur Verfügung zu stellen? Bei meinen Versuchen heute habe ich mir fast das ganze System zersäbelt und mache jetzt erst einmal ein Backup von der Karte im RPi.

  • So in etwa?


    "meters": [
    {
    ...
    "channels": [
    {
    // 1. Wert
    "uuid": "xxxx1",
    ...
    },
    {
    // 2. Wert
    "uuid": "xxxx1",
    ...
    }
    ],
    ...
    }
    ]

  • So, ich denke, ich habs.
    Die Syntax war mein Problem:
    Die vzlogger.conf besteht aus Parameternamen und Parameterinhalten, die durch Komma von den nächsten getrennt sind.
    Die Klammern dienen der Zusammenfassung, man könnte die ganze Konfig auch in eine Zeile schreiben, dann würde es gleich auffallen.
    Ich hatte an einigen Stellen kein Komma gesetzt, das alleine reicht schon, um den Datenfluss zu unterbinden oder den vzlogger mit einer Fehlermeldung abbrechen zu lassen.
    Mann, ich scripte in letzer Zeit zu wenig, da sind es die ; die man nicht vergessen darf.

  • So, jetzt gehts weiter...
    In der Visualisierung des Frontends sehe ich jetzt die Verlaufskurven des Hauszählers 1.8.0 (Gesamt-Bezug), 1.8.1 (Bezug Tarif 1, brauche ich wohl nicht, genau wie 1.8.2)), 16.7.0 (Gesamtleistung), 2.8.0 (Einspeisung aus der Solaranlage ins Netz).


    Was ich jetzt aber noch gerne dargestellt hätte, ist der aktuelle Verbrauch im Haus, unabhängig von der Energiequelle (Solaranlage oder Energienetz), um unnötige Energiefresser zu lokalisieren.
    Das müsste ich wohl berechnen, da wohl dazu keine direkte Datenquelle zur Verfügung steht. Lässt sich das errechnete Ergebnis dann auch im Frontend darstellen? Wenn ja, muss ich mir wohl die Werte dazu aus der MySql-Datenbank herausfischen...
    Hat das schon jemand gemacht und eine Konfiguration dazu, die ich mir dann anpassen könnte oder eine Vorgehensweise dazu?

  • Zitat von currock

    So, jetzt gehts weiter...
    Was ich jetzt aber noch gerne dargestellt hätte, ist der aktuelle Verbrauch im Haus, unabhängig von der Energiequelle (Solaranlage oder Energienetz), um unnötige Energiefresser zu lokalisieren.
    Das müsste ich wohl berechnen, da wohl dazu keine direkte Datenquelle zur Verfügung steht. Lässt sich das errechnete Ergebnis dann auch im Frontend darstellen? Wenn ja, muss ich mir wohl die Werte dazu aus der MySql-Datenbank herausfischen...
    Hat das schon jemand gemacht und eine Konfiguration dazu, die ich mir dann anpassen könnte oder eine Vorgehensweise dazu?


    Ich plane das irgendwann mal als Feature konfigurierbar zu machen, aber das braucht Zeit....


    Aktuell könntest Du einen neuen Kanal anlegen der dann mti Werten gefüllt werden muss. Entweder a) per MySQL addieren und INSERTs machen oder b) das Middleware API benutzen. Dann per cron regelmäßig aufrufen.


    Eine schöne Variante wäre auch c) analog b), nur mit node-red als Runtime statt cron arbeiten.