Follow along with the video below to see how to install our site as a web app on your home screen.
Huomio: This feature may not be available in some browsers.
.mutta diodin avulla en saa laskuria kasvatettua. Käsin yhdistämällä dual counterin +5v: ja A:n, counterin arvo kasvaa


#!/bin/sh
OWPATH=/mnt/1wire
SENSOR=1D.96B50D000000
case $1 in
config)
cat <<'EOM'
graph_title Power usage
graph_vlabel watts
graph_args --base 1000 --lower-limit 0
graph_scale no
watts.label watts
watts.draw AREA
watts.type DERIVE
watts.min 0
watts.cdef watts,300,*,12,*
EOM
exit 0;;
esac
echo -n "watts.value "
cat $OWPATH/$SENSOR/counters.A | sed -e 's/^[ \t]*//'
JmJ sanoi:Itse kysymys: Toimiiko seuraavat tai onko vastaavia kaupallisia kuin esim. OWL +USB tai Efergy e2 joilla voisi toteuttaa useamman eri laitteen mittaamisen ja piirtää jokaisesta laitteesta oman käyrän / oman csv tiedoston?
Esäätäjä sanoi:Tuossa linkissä tuosta owl intuition lc:
http://lampopumput.info/foorumi/index.php?topic=18124.msg228400#msg228400
Omia csv tiedostoja ei saa, mutta saahan ne exelissä tai openoffisessa laitettua kuinka haluaa. 3-vaihe efergy laskee vaiheet yhteen jo lähettimessä, samoin monet muut vastaavat.

require 'nokogiri'
POWER_RRD = "/var/lib/munin/localdomain/localhost.localdomain-power_usage-watts-d.rrd"
TEMP_RRD = "/var/lib/munin/localdomain/localhost.localdomain-temperature-temperature-g.rrd"
TEMP_XML = "tmp.xml"
DATAFILE = "tmp.data"
def build_hash_from_rrds source
data_hash = {}
source.map do |rrd_file|
system("rrdtool dump #{rrd_file} > #{TEMP_XML}")
@doc = Nokogiri::XML(File.open("#{TEMP_XML}"))
timestamp_array = []
value_array = []
hash = {}
@doc.css("rrd rra").each do |rra|
if rra.css("cf").text == "AVERAGE" and rra.css("pdp_per_row").text == "1"
rra.css("database").xpath('comment()').map do |timestamp|
timestamp_array << timestamp.text.match(/\d{9,}/).to_s.to_i
end
rra.css("database row").each do |row|
value_array << row.css("v").text
end
end
end
# zip is a evil hack to match timestamps and values
Hash[timestamp_array.zip(value_array)].map do |k,v|
if data_hash[k]
data_hash[k] << v.to_f
else
data_hash[k] = [v.to_f*12*300]
end
end
end
data_hash
end
def write_hash_to_file hash, file
File.open(file, "w") do |f|
hash.each do |k,v|
f << k.to_s + " " + v.join(" ") + "\n"
end
end if file
end
def gnuplot(commands)
IO.popen("gnuplot", "w") { |io| io.puts commands }
end
commands = %Q(
set terminal png
set output "watts_per_degree.png"
set title "Electricity Usage per Outside Temperature"
set xlabel "Dergee Celcius"
set ylabel "Watts (W)"
plot \"#{DATAFILE}\" using 3:2
)
hash = build_hash_from_rrds [POWER_RRD, TEMP_RRD]
write_hash_to_file hash, DATAFILE
gnuplot(commands)