[vz-users] Push-Server sendet keine Null-Werte

applicationMGR applicationMGR at ecoCuyo.de
Mo Apr 17 11:20:50 CEST 2023


Hallo,

seit der Umsrtellung auf vzlogger v0.8.1 based on heads/direction_from_status-0-g408df91556 from Sun, 15 Jan 2023 02:00:27 +0100 laufen in der vzlogger.log massenhaft Fehler auf und der Server stürzt regelmäßig ab.


$ tail -f /var/log/vzlogger/vzlogger.log 
[Apr 17 10:16:15][chn1] CURL: Timeout was reached
[Apr 17 10:16:45][chn2] CURL: Timeout was reached
[Apr 17 10:17:16][chn3] CURL: Timeout was reached
[Apr 17 10:17:31][chn0] CURL Error from middleware: unexpected character
[Apr 17 10:18:02][chn2] CURL: Timeout was reached
[Apr 17 10:18:04][push] CURL: http://127.0.0.1:5582 Timeout was reached
[Apr 17 10:18:33][chn3] CURL: Timeout was reached
[Apr 17 10:18:57][push] CURL: http://127.0.0.1:5582 Timeout was reached
[Apr 17 10:19:03][chn0] CURL: Timeout was reached
[Apr 17 10:19:18][push] CURL: http://127.0.0.1:5582 Failure when receiving data from the peer

Die Konfiguration sieht so aus:

{
    "verbosity": 1,
    "log": "/var/log/vzlogger/vzlogger.log",
    "retry": 30,

    "local": {
        "enabled": true,   
        "port": 8081,      
        "index": true,
        "timeout": 30,
        "buffer": -2 
    },

    "push": [
        {
            "url": "http://127.0.0.1:5582"
        }
    ],

    "mqtt": {
        "enabled": false,  // enable mqtt client. needs host and port as well
        "host": "test.mosquitto.org", // mqtt server addr
        "port": 1883, // 1883 for unencrypted, 8883 enc, 8884 enc cert needed,
        "cafile": "", // optional file with server CA
        "capath": "", // optional path for server CAs. see mosquitto.conf. Specify only cafile or capath
        "certfile": "", // optional file for your client certificate (e.g. client.crt)
        "keyfile": "", // optional path for your client certficate private key (e.g. client.key)
        "keypass": "", // optional password for your private key
        "keepalive": 30, // optional keepalive in seconds.
        "topic": "vzlogger/data", // optional topic dont use $ at start and no / at end
        "id": "", // optional static id, if not set "vzlogger_<pid>" will be used
        "user": "", // optional user name for the mqtt server
        "pass": "", // optional password for the mqtt server
        "retain": false, // optional use retain message flag
        "rawAndAgg": false, // optional publish raw values even if agg mode is used
        "qos": 0, // optional quality of service, default is 0
        "timestamp": false // optional whether to include a timestamp in the payload
    },

    "meters": [
	{
        "enabled" : true,
        "protocol" : "sml",
        "device" : "/dev/usb-ir-lesekopf0",
        "aggtime" : 60,
        "aggfixedinterval" : true,
        "channels": [{
                "uuid" : „8c4d02b0-xxxx-xxxx-xxxxxxxxxxxx",
                "middleware" : "http://localhost/middleware.php",
                "identifier" : "1-0:2.8.0",	/* PV-2.8.0-Erzeugung */
		"duplicates": 3600,
                "aggmode" : "AVG"
                }, {
                "uuid" : "6c9c10a0--xxxx-xxxx-xxxxxxxxxxxx",
                "middleware" : "http://localhost/middleware.php",
                "identifier" : "1-0:15.7.0",	/* PV-15.7.0-Wirkleistung */
		"aggmode" : "AVG"
                }]
        }, {
        "enabled" : true,
	"protocol" : "sml",
        "device" : "/dev/usb-ir-lesekopf1",
	"direction_from_status": true,
        "aggtime" : 60,
        "aggfixedinterval" : true,
        "channels" :[{
                "uuid" : "b9693e00-xxxx-xxxx-xxxxxxxxxxxx",
                "middleware" : "http://localhost/middleware.php",
                "identifier" : "1-0:1.8.0",     /* Haus-1.8.0-Bezug */
		"duplicates": 3600,
                "aggmode" : "AVG"
                }, {
                "uuid" : "ec7c7360-xxxx-xxxx-xxxxxxxxxxxx",
                "middleware" : "http://localhost/middleware.php",
                "identifier" : "1-0:2.8.0",     /* Haus-2.8.0-Lieferung */
		"duplicates": 3600,
                "aggmode" : "AVG"
                }, {
                "uuid" : "61d5d350-xxxx-xxxx-xxxxxxxxxxxx",
                "middleware" : "http://localhost/middleware.php",
                "identifier" : "1-0:15.7.0",    /* Haus-15.7.0-Wirkleistung */
		"duplicates": 3600,
                "aggmode" : "AVG"
                }]
	}
    ]
}

Hat jemand eine Ahnung, was ich da ändern könnte, um wieder Stabilität ins System zu bringen?

Viele Grüße
Armin




> Am 02.04.2023 um 17:43 schrieb Emilio ecoCuyo <Emilio at ecoCuyo.de>:
> 
> Hallo zusammen,
> 
> versuche aktuell per vzlogger push eine Installation von evcc zu versorgen, um eine Wallbox PV-geführt zu betreiben.
> Dabei entsteht ein Problem mit dem verwendeten EMH Zweirichtungszähler, der den Wert der aktuellen Wirkleistung nur vorzeichenlos ausgibt, wodurch anhand dieses Werts nicht klar wird, ob Bezug oder Lieferung stattfindet.
> 
> Beim Debuggen mit verbosity 15 konnte ich nachvollziehen, dass zwar die Energiewerte aller angelegten Kanäle ge-pushed werden(mtr1 ist der Zeirichtungszähler). Im Log sieht man an den OBIS Codes, dass sämtliche Zählerwerte als Energiewerte in Wh sowie die aktuelle Leistung in W ausgegeben werden, auf wenn kein Verbrauch auf der UUID für "Bezug" stattfand.
> 
> [Mar 27 16:20:10][mtr1] Reading: id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=17886641.20 ts=1679926810623
> [Mar 27 16:20:10][mtr1] Reading: id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=62185513.20 ts=1679926810623
> [Mar 27 16:20:10][mtr1] Reading: id=1-0:1.8.1*255/ObisIdentifier:1-0:1.8.1*255 value=17886641.20 ts=1679926810623
> [Mar 27 16:20:10][mtr1] Reading: id=1-0:2.8.1*255/ObisIdentifier:1-0:2.8.1*255 value=62185513.30 ts=1679926810623
> [Mar 27 16:20:10][mtr1] Reading: id=1-0:1.8.2*255/ObisIdentifier:1-0:1.8.2*255 value=0.00 ts=1679926810623
> [Mar 27 16:20:10][mtr1] Reading: id=1-0:15.7.0*255/ObisIdentifier:1-0:15.7.0*255 value=3448.40 ts=1679926810623
> [Mar 27 16:20:10][chn1] Adding reading to queue (value=17886641.20 ts=1679926810623)
> [Mar 27 16:20:10][push] added to uuid xxxxxxxxxxxxxxxxxxxxxxxxxxx
> [Mar 27 16:20:10][chn2] Adding reading to queue (value=62185513.20 ts=1679926810623)
> [Mar 27 16:20:10][push] added to uuid yyyyyyyyyyyyyyyyyyyyyyy
> [Mar 27 16:20:10][chn3] Adding reading to queue (value=3448.40 ts=1679926810623)
> [Mar 27 16:20:10][push] added to uuid zzzzzzzzzzzzzzzzzzzzzzzzzzz
> [Mar 27 16:20:10][push] push: { "data": [ { "uuid": "zzzzzzzzzzzzzzzzzzzzzzzzzzz", "tuples": [ [ 1679926810623, 3448.4000000000001 ] ] }, { "uuid": "yyyyyyyyyyyyyyyyyyyyyyy", "tuples": [ [ 1679926810623, 62185513.200000003 ] ] }, { "uuid": "xxxxxxxxxxxxxxxxxxxxxxxxxxx", "tuples": [ [ 1679926810623, 17886641.199999999 ] ] } ] }
> 
> Leider wird wie mir scheint dann beim push für einen unveränderten Energiezähler kein Wert Null für die Leistung ausgegeben, die aus dem Differential der letzten beiden tuples berechnet wird. Ist ja eigentlich auch nicht nötig… doch manchmal eben doch.
> 
> Das Thema habe ich auch in https://github.com/evcc-io/evcc/discussions/6021 <https://github.com/evcc-io/evcc/discussions/6021> adressiert, weil das Problem eigentlich das Plugin "calc" von evcc ist. Doch bislang hatte da noch niemand eine zündende Idee.
> 
> Vielleicht weiß jemand weiter? So etwas wie send_zero wie beim S0-Protokoll gibt’s wohl nicht?
> 
> Viele Grüße
> Armin

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20230417/c214f0c8/attachment-0001.html>


Mehr Informationen über die Mailingliste volkszaehler-users