[vz-users] Anleitung: VZLogger als MQTT-Subscriber

Bernd Kisters bernd.kisters at schmithof.de
Sa Dez 16 19:17:17 CET 2023


Ü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.schoettler at 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
>>



Mehr Informationen über die Mailingliste volkszaehler-users