Hallo Bernd,

benutzte bitte  "format": "" dann sollte es mit deinem Wert funktionieren!

LG
Maik

Am 16.12.23 um 20:37 schrieb Bernd Kisters:
Hallo Maik,

ohne Format kommt es zu:
[Dec 16 20:35:04][exec] MeterExec::read: Calling '/home/pi/mosquitto_sub.sh'
[Dec 16 20:35:04][exec] MeterExec::read: Reading line: '2.52'
[Dec 16 20:35:04][exec] MeterExec::read: string: <null>, value: 2.520000, timestamp: -1.000000 [Dec 16 20:35:04][exec] MeterExec::read: Closing process '/home/pi/mosquitto_sub.sh'
[Dec 16 20:35:04][mtr2] Got 1 new readings from meter:
[Dec 16 20:35:04][mtr2] Reading: id=<null>/StringIdentifier: value=2.52 ts=1702755304797
[Dec 16 20:35:04][mtr2] waiting 30 seconds before next reading

Aber Werte werde mir noch immer nicht im volkszaehler angezeigt.

Grüße Bernd

On 16.12.2023 20:14, Maik Weidemann wrote:
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





Antwort per Email an