PellMon, pelletlogger med öppen källkod

Skriv svar
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av Honda »

Fick du det att fungera Bosse123? Om PellMon inte fungerar för dina behov så berätta gärna vad som fattas, eller om du behöver hjälp med installation/konfiguration.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av bosse123 »

ok, är installerad och klar,
justerat:
# The OWFS plugin connects to a running owfs server on localhost:4304 to read onewire devices
p05 = OWFS

log:
2014-01-12 22:08:51,468 - INFO - activated plugin SiloLevel
2014-01-12 22:08:51,466 - INFO - activated plugin OWFS

la in en av givarna här:

[plugin_OWFS]
# Data item name = owfs_path
# This two reads the value and type from the fake sensor available in the default owfs configuration
owfstemp1 = /mnt/1-wire/28.DAC22F040000/temperature
owfstemp1_type = /mnt/1-wire/28.DAC22F040000/type

i pellmon:
PellMon

Owfstemp1 error
Owfstemp1_Type error

vad har jag missat? ska jag lägga in givarna någon annanstans, eller hämtar den från owserver automatiskt?
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av Honda »

Ta bort /mnt/1-wire/
Pellmon kommunicerar direkt med owserver, så platsen där du har monterat data i filsystemet har ingen betydelse. Man kan låta bli att montera helt och hållet också, så slipper man konfigurera fuse.
Starta sedan om pellmonsrv med

Kod: Markera allt

sudo service pellmonsrv restart
så borde det funka...
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av bosse123 »

Ska prova detta, inser också att jag enbart har "mountat" owfs och inte själva owserver.
Owserver är igång men den visar inga givare i gränssnittet på port 4303.
Jag kan inte mounta owserver istället för då tappar jag info till mysql och en graf som ritas av rrdtool.
Är inte säker på hur jag ser till så att både owfs och owserver rullar parallellt. Det ska gå att få owfs att fråga owserver istället för usb-hårdvaran, jag får leta efter en "howto".
Eller behövs det inte?
Vad är din erfarenhet av detta?
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av Honda »

Jag tog det bara den enkla vägen: apt-get install owfs

Det visade sig att debian paketet installerade och startade owserver och owhttpd, vartefter 'fake' adaptern direkt syntes i webbläsaren på port 2121. Owfs, fick man starta själv, och för att det skulle fungera så skulle fuse konfigureras, eftersom fuse standardkonfiguration inte duger som den är. Så för att göra det enklare (det var iallafall avsikten) så gjorde jag pellmon att prata direkt med owservern istället för att läsa av givarna från filsystemet, så slipper man hela fuse-bekymret och att fixa så owfs startas vid boot.

Men kanske finns det andra sätt att konfigurera owfs än vad debian-paketet gör, jag fick intrycket att owfs när det är konfigurerat och klart för att mha fuse mounta givarna i filsystemet så förutsätter det att owservern redan är igång, dvs att det alltid är owservern som hanterar onewire bussen. Hur har du installerat owfs och vilken version?

så här ser min owfs.conf som jag testade med, dvs bara fake adaptern används:

Kod: Markera allt

# Sample configuration file for the OWFS suite for Debian GNU/Linux.
#
#
# This is the main OWFS configuration file. You should read the
# owfs.conf(5) manual page in order to understand the options listed
# here.

######################## SOURCES ########################
#
# With this setup, any client (but owserver) uses owserver on the
# local machine...
! server: server = localhost:4304
#
# ...and owserver uses the real hardware, by default fake devices
# This part must be changed on real installation
server: FAKE = DS18S20,DS2405
#
# USB device: DS9490
#server: usb = all
#
# Serial port: DS9097
#server: device = /dev/ttyS1
#
# owserver tcp address
#server: server = 192.168.10.1:3131
#
# random simulated device
#server: FAKE = DS18S20,DS2405
#
######################### OWFS ##########################
#
#mountpoint = /mnt/1wire
#allow_other
#
####################### OWHTTPD #########################

http: port = 2121

####################### OWFTPD ##########################

ftp: port = 2120

####################### OWSERVER ########################

server: port = localhost:4304
Det är förstås ganska trivialt att lägga till möjlighet att läsa från filsystemet istället för via owserver, om det gör saken enklare.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av bosse123 »

Provade att ta bort /mnt/1-wire,

I loggen,"failed to start owfs plugin"

Jag har följt denna;
http://wiki.temperatur.nu/index.php/OWFS_HowTo

version 2.9p1

Startar owfs med;
/opt/owfs/bin/owfs -u --allow_other /mnt/1-wire/

I den .conf som du har klippt in så har jag brädgård framför fake adapter och ingen brädgård framför server usb=all

Det vore såklart synnerligen trivialt, om inte annat för mig och kanske för fler, om att det går att läsa från
/mnt/1-wire/*/temperature istället.
Nackdelar?
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av Honda »

Aha du har kompilerat owfs från källkod. Betydligt krångligare än 'apt-get install owfs' och då får du dessutom själv fixa uppstartscripten så det startar vid boot. Någon speciell orsak till det? Det kan förstås krävas ibland om du behöver den allra nyaste versionen av någon anledning, men det ger oftast bara onödigt mycket krångel. Debian/ubuntu paketet var ju tex färdigkonfigurerat för att bara fungera direkt efter installationen med automatisk start och allt, som de brukar vara.

Jag har inte kollat på owfs speciellt mycket, men de dokument jag läst är ganska tydliga att owserver sköter kommunikationen med bussen och owfs, owhttpd, owftp och de andra kommunicerar med owserver. Tydligen kan owfs köra ensamt också, men det kräver eventuellt då att man kompilerar det själv istället för att bara installera ubuntu/debian paketet från programbutiken. Jag kan nog lägga det på minnet att peta in åtkomst via filsystemet någon gång, men jag skulle nog rekommendera att du bara använder den paketerade version av owfs om det inte finns något förhinder, så slipper du sätta dig in i hur man konfigurerar owserver/owfs för att fungera ihop. Annars finns det ju hjälp här http://owfs.org/index.php?page=command-line

Använder du verkligen rrd-tool för att rita grafer från en mysql databas? Jag har nog sett att det finns en 'experimentiell' mysql backend till rrdtool, men det verkar betydligt krångligare än att bara använda rrdtools egen databas.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av bosse123 »

knåpade ihop och provade detta precis;
/opt/owfs/bin/owfs -s localhost:4304 --allow_other /mnt/1-wire,

se ut att fungera, ska se över allt, återkommer ...
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av bosse123 »

Det ser stabilt ut,
lade in detta i .conf ;

[plugin_OWFS]
# Data item name = owfs_path
# This two reads the value and type from the fake sensor available in the default owfs configuration
owfstemp1 = 28.84E92F040000/temperature
owfstemp1_type = 28.84E92F040000/type
owfstemp2 = 28.76D52F040000/temperature
owfstemp2_type = 28.76D52F040000/type
owfstemp3 = 28.D2E82F040000/temperature
owfstemp3_type = 28.D2E82F040000/type
owfstemp4 = 28.80E92F040000/temperature
owfstemp4_type = 28.80E92F040000/type
owfstemp5 = 28.86BD2F040000/temperature
owfstemp5_type = 28.86BD2F040000/type
owfstemp6 = 28.41B42F040000/temperature
owfstemp6_type = 28.41B42F040000/type
owfstemp7 = 28.51DB2F040000/temperature
owfstemp7_type = 28.51DB2F040000/type
owfstemp8 = 28.8BC32F040000/temperature
owfstemp8_type = 28.8BC32F040000/type
owfstemp9 = 28.F4AC2F040000/temperature
owfstemp9_type = 28.F4AC2F040000/type
owfstemp10 = 28.FEDE2F040000/temperature
owfstemp10_type = 28.FEDE2F040000/type
owfstemp11 = 28.22CB2F040000/temperature
owfstemp11_type = 28.22CB2F040000/type
owfstemp12 = 28.DAC22F040000/temperature
owfstemp12_type = 28.DAC22F040000/type


nu läser pellmon in värdet kontinuerligt,

återstår att configurera "pollvalues" och att ge givarna vettiga namn samt få till grafgenereringen.

och om jag är med på banan så byter man ut:
d01 = power_kW
mot
owfstemp1 = solfångare
osv.


samt likadant under [rrd_ds_names] ???
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av Honda »

Ja du är med på banan!

Du kan i princip låta sektionen [rrd_ds_names] vara som den är. Vitsen med att ha två olika sektioner [rrd_ds_names] och [pollvalues], som mer eller mindre definierar samma sak, är att kunna separera rrd databasen helt från de 'plugindata' som tillhandahåller datavärden.

Helt kort:
[rrd_ds_names] sektionen definierar namnen på rrd databasens 'kolumner', de syns sedan ingenstans.
[pollvalues] sektionen 'korskopplar' databasens 'kolumner' till namnen på de data som ska läsas för att uppdatera databasen.

Sedan är rrd en väldigt specialiserad databas och har lite speciella krav. Bl.a. så måste man alltid uppdatera alla kolumner varje gång, och det finns inget "enkelt" sätt att lägga till nya kolumner om man vill utöka datainsamlingen. För att slippa problem med eventuell utökning i framtiden så rekommenderar jag att du lägger till några extra rader i [rrd_ds_names], vilka då även måste kopplas till någon datakälla i [pollvalues] sektionen. Sådana extra data kan definieras i pollvalues som t.ex. "dxx = _extra", understrecket i början gör att datapunktens värde alltid är 'odefinierat' då databasen uppdateras, vilket rrd är nöjd med. I framtiden kan då _extra bytas ut till någon datakälla.

"owfstemp1_type = 28.84E92F040000/type"
De här är inte nödvändiga, endast om du vill se sensortypen i parameterlistan, och "owfstemp1" kan med fördel bytas ut till något mer beskrivande.

Och till sist: rrd databasen skapas enligt definitionen i [rrd_ds_names] om den inte redan existerar, dvs om du har ändrat på [rrd_ds_names] så måste du radera (eller flytta) rrd databasen för att den ska skapa på nytt enligt den nya definitionen. Pathen till databasen finns i [conf] sektionen.

Och ännu en sista grej... PellMon är ju en pelletlogger, så pelletförbrukningen loggas. Tills vidare sker det lite bakom ryggen på användaren, dvs koden som ritar stapeldiagram förutsätter att det finns en datapunkt som heter 'feeder_time' och en som heter 'feeder_capacity', vars värden loggas till rrd databasen. Allt ska fungera även om de inte existerar, men stapeldiagrammen saknas då förstås. I framtiden hoppas jag gör om det här till något som kan konfigureras till olika behov. Ett steg på den vägen är att 'silo level' grafen är bunden till ett plugin som kan deaktiveras.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av bosse123 »

två steg fram och ett bakåt,
nu visas alla temperaturerna under fliken "parameters"

har skrivit om lite i .conf (rm rrd.db samt restart) men nu till frågan,
hur får jag datan att "graferas"?
min superfina "graph" visar rätt namn men inga färgglada linjer.
(behöver justera några färgkoder dock)

Delar av .conf filen ser ut såhär:
[plugin_OWFS]
# Data item name = owfs_path
# This two reads the value and type from the fake sensor available in the default owfs configuration
Botten_tekniktank = 28.84E92F040000/temperature
Mitten_tekniktank = 28.76D52F040000/temperature
Toppen_tekniktank = 28.D2E82F040000/temperature
Framledning = 28.80E92F040000/temperature
Utemperatur = 28.86BD2F040000/temperature
Returledning = 28.41B42F040000/temperature
Innetemperatur = 28.51DB2F040000/temperature
Vinkallare = 28.8BC32F040000/temperature
Toppen_slavtank = 28.F4AC2F040000/temperature
Botten_slavtank = 28.FEDE2F040000/temperature
Panna = 28.22CB2F040000/temperature
Solpaneler = 28.DAC22F040000/temperature


############################################################################################

[conf]
# Full path to the rrd database, if it does not exist it is created
# Remove if you do not want data polling
database = /usr/local/var/lib/pellmon/rrd.db

# Full path to the optional persistent rrd database. It is copied
# over the database file at startup, and on shutdown the database
# is copied to the persistent_db file. Useful if the database
# is in a ramdisk
#persistent_db = /usr/local/var/lib/pellmon/nvrrd.db

# If persistent_db is in use the database is copied to
# persistent_db every db_store_interval seconds
db_store_interval = 7200
# Full path to the logfile
logfile = /usr/local/var/log/pellmon/pellmon.log

# logging level = info/debug
loglevel = info

# Port number for the webserver
port = 8081

# rrd database update interval in seconds
pollinterval = 30

[authentication]
# username = password, for webinterface
******* = *********'

[rrd_ds_names]
# These are the datasource names used when creating the rrd database,
# "dxx = datasource name". The left value (dxx) is used to match the
# datasource names to the actual data to write to it, in the
# pollvalues section. The datasource names can be anything, but
# the defaults are the same as the data item names in the pollvalues section
# The rrd database is created with the datasources in the order they appear here.
# Delete or rename the rrd database file after adding/removing ds-names
# or use some other method to add the new ds-name to the existing rrd database
d01 = Botten_tekniktank
d02 = Mitten_tekniktank
d03 = Toppen_tekniktank
d04 = Framledning
d05 = Utemperatur
d06 = Returledning
d07 = Innetemperatur
d08 = Vinkallare
d09 = feeder_time
d10 = feeder_capacity
d11 = _logtick
d12 = Toppen_slavtank
d13 = Botten_slavtank
d14 = Panna
d15 = Solpaneler
d16 = _extra5
d17 = _extra6
d18 = _extra7
d19 = _extra8
d20 = _extra9


[rrd_ds_types]
# Optional rrd data source type definitions for the datasource names in the
# rrd_ds-names section. If no type is defined for a datasource name the
# default type is used, "DS:%s:GAUGE:%u:U:U", where %s is replaced with the
# datasource name and %u is replaced with 4*pollinterval
d09 = DS:%s:COUNTER:%u:U:U
d11 = DS:%s:COUNTER:%u:U:U

[pollvalues]
# Data values to write to the rrd database.
# "dxx = parameter/data name"
# The data names are read from the protocol plugins with the getItem method
# and written to the rrd database ds-name that has a matching "dxx".
# Data names starting with an underscore are handled by special cases in the code,
# eg. _logtick is updated whenever a protocol reports that an "event" has occured.
# In general underscored names are written as undefined, so they can be used to
# write "spare" ds-names in an rrd database, to avoid having to recreate the rrd
# when more sensors are added.
d01 = Botten_tekniktank
d02 = Mitten_tekniktank
d03 = Toppen_tekniktank
d04 = Framledning
d05 = Utemperatur
d06 = Returledning
d07 = Innetemperatur
d08 = Vinkallare
d09 = feeder_time
d10 = feeder_capacity
# Whenever something is written to the log, _logtick is also increased.
# It is used to draw a tickmark in the graph
d11 = _logtick
d12 = Toppen_slavtank
d13 = Botten_slavtank
d14 = Panna
d15 = Solpaneler
d16 = _extra5
d17 = _extra6
d18 = _extra7
d19 = _extra8
d20 = _extra9

[graphcolors]
# To add a ds-name from the rrd-database to the graph, set
# dxx = #hexcolorvalue
d01 = #FF0000
d02 = #00FF00
d03 = #0000FF
d04 = #FFFF00
d05 = #FF05FF
d06 = #0101FF
d07 = #207F20
d08 = #2F2FFF
d12 = #FF0020
d13 = #FF0030
d14 = #FF0040
d15 = #FF0050
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av Honda »

Det enda jag kommer på nu med detsamma är de här två i [pollvalues]:
d09 = feeder_time
d10 = feeder_capacity

Eftersom d09 och d10 också finns med i [rrd_ds_names] så kommer de att inkluderas i loggningen till databasen, och då måste de finnas definierade någonstans. ScotteCom pluginet läser dem direkt från brännarstyrningen, och RaspberryGPIO pluginet beräknar dem från skruvräknaren, så om du inte har ett av dem aktiverat så kan inte dessa data läsas och loggningen till databasen misslyckas. (Jag borde nog förbättra loggningen här så det framgår vad som inte fungerar) Nu rekommenderar jag ju inte att du aktiverar ScotteCom, och raspberry pluginet går inte att köra på annat än en raspberry så du kan lösa det med att lägga till understreck i pollvalues:

d09 = _feeder_time
d10 = _feeder_capacity

Eller förstås ta bort dem helt och hållet.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av bosse123 »

[enabled_plugins]
# List all plugins to enable pxx = PluginName
# Enable the ScotteCom plugin to communicate with a NBE scotty/woody/biocomfort pellet burner
#p01 = ScotteCom

# CustomAlarms lets you define limits and actions for data items
#p02 = CustomAlarms

# RaspberryGPIO works only on a raspberry pi
#p03 = RaspberryGPIO

# The calculate plugin lets you calculate your own data from existing data items
#p04 = Calculate

# The OWFS plugin connects to a running owfs server on localhost:4304 to read onewire devices
p05 = OWFS

# The SiloLevel plugin adds parameters for silo fill up level and silo fill up date.
# When present PellmonWeb displays a graph with calculated silo level from fill up time to present time
#p06 = SiloLevel

# Testplugin is a plugin template that does nothing useful
#p99 = TestPlugin

############################################################################################

[plugin_ScotteCom]
# The settings in this section are passed to the ScotteCom plugin

# Serial port device name, eg. /dev/ttyUSB0
# Remove to run with dummy data for testing
serialport = /dev/ttyUSB0

# Chip version string or 'auto'
chipversion = auto

[plugin_TestPlugin]
# Items in sections named as "plugin_xxx" are passed to a plugin named "xxx"
# This plugin adds the items listed as dummy parameters
plugindata1 = 123


[rrd_ds_names]
d09 = feeder_time
d10 = feeder_capacity

[rrd_ds_types]
d09 = DS:%s:COUNTER:%u:U:U
d11 = DS:%s:COUNTER:%u:U:U

[pollvalues]
d09 = _feeder_time
d10 = _feeder_capacity


ovanstående config får det inte till att rita, har jag missat något?


provade även detta:
[pollvalues]
#d09 = _feeder_time
#d10 = _feeder_capacity

då ville inte pellmonsrv starta alls...

:(

känns som om att den inte hämtar nån info till perl, eller hur ser det ut i scriptfilen?
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av Honda »

Det ser ok ut, jag ska kolla genom det.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: PellMon logger/setup-program för biocomfort/scotte/woody

Inlägg av Honda »

Det verkar som om ConfigParser modulen som jag använder för att läsa konfigurationsfilerna omvandlar värdet till vänster om = till små bokstäver, därför hittar den inte dina data i [pollvalues] sektionen därför att de startar med stor bokstav där, och värdet till höger om = läses precis som det är skrivet... av någon anledning. Testade för säkerhets med din conf rakt av så att det inte är fler problem, bara ändrad att läsa från fake adaptern istället för din adapter, här är min fungerande conf: http://pastebin.com/dLexYQm4.
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
Skriv svar