komplette vzlogger.conf:
{
// General settings
"verbosity": 15, // log verbosity (0=log_alert,
1=log_error, 3=log_warning, 5=log_info, 10=log_debug, 15=log_finest)
"log": "/var/log/vzlogger/vzlogger.log", // log file, optional
"retry": 30, // http retry delay in seconds
// Build-in HTTP server
"local": {
"enabled": false, // enable local HTTPd for serving live
readings
"port": 8080, // TCP port for local HTTPd
"index": true, // provide index listing of available
channels if no UUID was requested
"timeout": 30, // timeout for long polling comet requests
in seconds (0 disables comet)
"buffer": -1 // HTTPd buffer configuration for serving
readings, default -1
// >0: number of seconds of readings to
serve
// <0: number of tuples to server per
channel (e.g. -3 will serve 3 tuples)
},
"meters" : [{ /* Strom
Ferraris-Meter */
"enabled" : true,
"protocol" : "s0",
"device" : "/dev/ttyUSB0",
"aggtime" : -1,
"aggfixedinterval" : false,
"channel" : {
"uuid":
"5a50f240-6861-11e6-93a2-ebf973f48426",
"middleware" :
"http://localhost/middleware.php",
"identifier": "Impulse",
"aggmode" : "none"
}
},{ /* Gas Meter */
"enabled" : true,
"protocol" : "s0",
"device" : "/dev/ttyUSB1",
"aggtime" : -1,
"aggfixedinterval" : false,
"channel" : {
"uuid":
"9e966320-888b-11e6-b2b7-fb7e92405315",
"middleware" :
"http://localhost/middleware.php",
"identifier": "Impulse",
"aggmode" : "none"
}
},
{
"enabled": true,
"allowskip": true,
"interval": 30,
"aggtime": -1,
"aggfixedinterval": false,
"channel": [
{
"api": "volkszaehler",
"uuid": "799c25f0-9b2f-11ee-9e4b-15d68bad4b80",
"middleware" : "http://localhost/middleware.php",
"identifier": "Power",
"aggmode": "none",
// "duplicates": 0
}
],
"protocol": "exec",
"command": "mosquitto_sub -h 192.168.5.69 -p 32777 -C 1
-t evcc/warp2/meter/values | jq -r '.power'",
//"command": "/home/pi/mosquitto_sub.sh",
"format": ""
}
]
}
On 17.12.2023 00:09, Maik Weidemann wrote:
Hallo Bernd,
schreibe doch nochmal deine aktuelle Konfiguration.
Normalerweise sollte noch ein [chXX] nach dem [mtr2] Eintrag kommen.
Loglevel 15 hast du sicher schon aktive.
Grüße
Maik
Am 16.12.23 um 23:49 schrieb Bernd Kisters:
Einträge im Log sehen inzwischen gut aus. Werte werden aber nicht
der middleware übergeben. Wie kann ich feststellen warum das nicht
passiert?
[Dec 16 23:37:56][exec] MeterExec::read: Calling 'mosquitto_sub -h
192.168.5.69 -p 32777 -C 1 -t evcc/warp2/meter/values | jq -r
'.power''
[Dec 16 23:37:56][exec] MeterExec::read: Closing process
'mosquitto_sub -h 192.168.5.69 -p 32777 -C 1 -t
evcc/warp2/meter/values | jq -r '.power''
[Dec 16 23:37:56][mtr2] Got 1 new readings from meter:
[Dec 16 23:37:56][mtr2] Reading: id=/StringIdentifier: value=2.34
ts=1702766276817
[Dec 16 23:37:56][mtr2] waiting 30 seconds before next reading
On 16.12.2023 22:29, Tobias Baumann wrote:
Hallo Bernd
es fehlt der identifier , dein sh produziert string: null
gleichzeitig timestamp -1 geht auch nicht , hinweis diesen kann man
auch weglassen dann nimt vzlogger die von sich selber
Am 16.12.2023 um 20:14 schrieb Maik Weidemann:
Hallo Bernd,
[Dec 16 19:14:47][mtr2] Got 1 new readings from meter:
Hier hat er doch einen Wert gelesen, dass ist schon ein
Fortschritt gegenüber deinen Ursprungspost. Der hatte er Null new
readings.
Hast du noch ein Format in deiner Konfig jetzt drin? mach dort
doch jetzt nur einen leeren String "". Du lieferst ja nur eine Zahl.
Viele Grüße
Maik
Am 16.12.23 um 19:17 schrieb Bernd Kisters:
Über script erhalte ich ähnliche Ergebnisse im Log.
[Dec 16 19:14:47][exec] MeterExec::read: Calling
'/home/pi/mosquitto_sub.sh'
[Dec 16 19:14:47][exec] MeterExec::read: Reading line: '2.46'
[Dec 16 19:14:47][exec] MeterExec::read: string: <null>, value:
2.460000, timestamp: -1.000000
[Dec 16 19:14:47][exec] MeterExec::read: Closing process
'/home/pi/mosquitto_sub.sh'
[Dec 16 19:14:47][mtr2] Got 1 new readings from meter:
[Dec 16 19:14:47][mtr2] Reading: id=<null>/StringIdentifier:
value=2.46 ts=1702750487103
[Dec 16 19:14:47][mtr2] waiting 30 seconds before next reading
Wer ist jetzt über Script auf 2 Stellen gerundet. Hat aber keinen
Effekt.
Ich habe keine Ahnung was es noch bedarf, dass die Werte auch in
die DB geschrieben werden.
On 16.12.2023 18:28, Stefan Bauer wrote:
Evtl liegt es auch an dem Hochkomma in dem Kommando…
Ich würde das mqtt Kommando in ein Script speichern und dann im
vzlogger nur das Script aufrufen. Wenn es mehrfach benötigt
wird, dann IP-Adresse und Abrufwert als Parameter übergeben…
Von meinem iPad gesendet
Am 16.12.2023 um 14:24 schrieb Rupert Schöttler
<rupert.schoett...@gmx.de>:
Hi Bernd,
Am 16.12.23 um 13:24 schrieb Bernd Kisters:
die Antwort nach dem Aufruf
mosquitto_sub -h 192.168.5.69 -p 32777 -C 1 -t
evcc/warp2/meter/values | jq -r '.power'
erfolgt unmittelbar. Die Ausgabe ist dann der z.B. Wert 2.4136343
Wie kann ich mit dem "Format = $v" die Nachkommestellen auf 2
reduzieren?`
Ich glaube zwar nicht, dass die Nachkommastellen das Problem
sind, aber
mir fallen spontan diese beiden Möglichkeiten ein:
1. Die Quelle liefert sie gleich "richtig" an den MQTT-Kanal.
2. Du machst einen weiteren Pipe-Befehl | nach bc oder einem
ähnlichen
Programm, das runden kann. Suchmaschinen oder ChatGPT helfen
Dir für die
genaue Syntax.
Vielleicht magst Du aber erst mal testen, ob ein exec-Befehl wie
echo 2.41
erfolgreich eingelesen wird. Vielleicht liegt's ja auch am
Dezimal-Punkt
statt Komma oder was ganz anderem.
Viel Erfolg wünscht
Rupert