-2
2台のソーラーインバータの値をrrdに保存します。 modbus上の値は絶対値として得られます(カウンターを増やす)。予期しない(間違った)値
rrdtool create -s 60 /data/solar.rrd --no-overwrite \
DS:WR1:COUNTER:300:0:U \
DS:WR2:COUNTER:300:0:U \
RRA:AVERAGE:0.5:1:43200 \
RRA:AVERAGE:0.5:5:25920 \
RRA:AVERAGE:0.5:60:8784 \
RRA:AVERAGE:0.5:1440:18993 \
RRA:MAX:0.5:1440:18993
のPythonのビットを使用して、私は(デバッグ出力で)と、このRRDに値を挿入します:
rrdtool.update("/data/solar.rrd","-t","WR1:WR2","N:%i:%i" % (d1.inverter.WH,d2.inverter.WH))
info = rrdtool.info("/data/solar.rrd")
print "%i %i %i" % (info['last_update'],d1.inverter.WH,d2.inverter.WH)
は、ループでそれを実行している:私はこのような私のRRDを作成
[email protected]:~# while(true); do sleep 60; ./get_data4rrd.py; done
1504028308 3521906 1870096
1504028369 3521911 1870097
1504028430 3521916 1870097
1504028491 3521921 1870098
1504028552 3521925 1870098
DS WR1の場合、この値は4〜6の間になると思います。それは乱暴に違うのフェッチを行う際しかし:
[email protected]:/data# rrdtool fetch solar.rrd AVERAGE -r 1m -s -15m
WR1 WR2
1504028400: 8.1857862607e-02 8.0323781910e-03
1504028460: 8.1857458806e-02 8.0440194250e-03
1504028520: 7.4102207109e-02 8.6226472416e-03
1504028580: 6.5478084175e-02 0.0000000000e+00
を私はrrdtoolのステップ幅に合うように、私の入力を揃えることを知っているが、私はまだDS WR1の出力は周りに4-6とない0.08何かであることを期待します。
ここで何が間違っていますか?私は私のエラーを理解することはできません。