1wire - panntemp loggning

Användarens profilbild
eriel72
Späd planta
Inlägg: 6
Blev medlem: mån 26 nov, 2012 13:34
Ort: LÅNGSHYTTAN

Re: 1wire - panntemp loggning

Inlägg av eriel72 »

Så som jag har gjort

Installerat OWFS på Raspberryn tar ca 1 timme, installera RRDTool tar kanske en halvtimme

Skriva scripten tar kan ta n stund om man är ovan, men det är ingen omöjlighet, basen i scripten är raden

fram=`cat /mnt/1wire/$TempSensor/temperature | sed -e s/" "//g | awk '{$1=$1 + 0.005;printf"%.1f",$1}'`
(där "fram" är namnet i databasen som man vill spara i (ett namn / databas, går säker att ha fler men jag har inte lyckats, man spar inget på det heller)

cat "hämtar temperaturen ur OWFS för en specifik sensor"

sed -e s/" "//g tuggar i sig det cat har hämtat och plockar bort alla mellanslag

awk '{$1=$1 + 0.005;printf"%.1f,$1}'
första delen $1=$1 +0,005 tvingar talet att bli ett flyttal om det skulle vara typ exakt 20 så blir det 20.005 viket är ett flyttal, linux skulle hantera 20 som en textsträng.
andra delen printf"%.1f,$1 avrundar till en decimal så 20.005 blir 20.0 .

det är lite mycket att förstå men har man lyckats med ett skript så är det inga större problem med de andra.

Så här ser två av mina ut ett bash för OWFS och et perl för att gör en graf i RRDTool

#!/bin/bash

TempSensor="28.92D5AD030000"
sensor="28.6FC32F040000"
sensor_2="28.C6E3AD030000"
RRDDataDirectory="/home/nordviken/rrddata/"
RRDDataFile="fram.rrd"
Rum="v_rum.rrd"
Retur="retur.rrd"
# Get temp form OWFS
fram=`cat /mnt/1wire/$TempSensor/temperature | sed -e s/" "//g | awk '{$1=$1 + 0.005;printf"%.1f",$1}'`
v_rum=`cat /mnt/1wire/$sensor/temperature | sed -e s/" "//g | awk '{$1=$1 + 0.005;printf"%.1f",$1}'`
retur=`cat /mnt/1wire/$sensor_2/temperature | sed -e s/" "//g | awk '{$1=$1 + 0.005;printf"%.1f",$1}'`
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile N:$fram
echo $fram
rrdtool update $RRDDataDirectory$Rum N:$v_rum
echo $v_rum
rrdtool update $RRDDataDirectory$Retur N:$retur
echo $retur

_____________________________________________
#!/usr/bin/perl

use RRDs;

my $cur_time = time() ;
my $start_time = $cur_time - 86400 ;

RRDs::graph"/var/www/html/temp.png",
"--start= $start_time",
"--end= $cur_time",
"--title= Framledning och Retur",
"--height= 600",
"--width= 1000",
"--vertical-label= °C",
"--lower-limit= 10",
"--legend-direction=topdown",
"DEF:rum=/home/nordviken/rrddata/v_rum.rrd:v_rum:AVERAGE",
"DEF:framledning=/home/nordviken/rrddata/fram.rrd:fram:AVERAGE",
"DEF:returledning=/home/nordviken/rrddata/retur.rrd:retur:AVERAGE",
"DEF:toppen=/home/nordviken/rrddata/toppen.rrd:toppen:AVERAGE",
"DEF:bott=/home/nordviken/rrddata/botten.rrd:botten:AVERAGE",
"COMMENT:\t\t\t\t Nu Medel Max Min\\n",
"HRULE:20.5#0000dd",
"LINE2:framledning#ff0000:fram",
"LINE2:returledning#0000ff:Retur",
"LINE2:rum#ff00ff:Rum",
"LINE1:toppen#000000:tank_top",
"LINE1:bott#0099ff:tank_botten",
"GPRINT:rum:LAST:%6.1lf",
"GPRINT:rum:AVERAGE:%6.1lf",
"GPRINT:rum:MAX:%6.1lf",
"GPRINT:rum:MIN:%6.1lf\\n";

my $err=RRDs::error;
if ($err) {print "problem med att skapa grafen: $err\n";}

print "done!\n"
Villa 1½ plan byggår 1938. tilläggsisoleradeväggar. Uppvärmning Strömstadspanna med 1000 l ackumulatortank Iwabo SX1 brännare.
Användarens profilbild
eriel72
Späd planta
Inlägg: 6
Blev medlem: mån 26 nov, 2012 13:34
Ort: LÅNGSHYTTAN

Re: 1wire - panntemp loggning

Inlägg av eriel72 »

Glömde en grej
när man väl fått igång OWFS och anslutit sin 1wire adapter må vara en USB eller en I2C så vill man ju veta vad sina sensorer heter, varje sensor har en förprogrammerad adress

genom ls /mnt/1wire/ får man en listning på 1wire biblioteket
pi@raspberrypi:/home/nordviken/bin$ ls /mnt/1wire/
10.E31DFA010800 28.6FC32F040000 28.87B92F040000 28.93D52F040000 81.DB6730000000 bus.0 simultaneous structure uncached
28.5D9CDD040000 28.83FDAD030000 28.92D5AD030000 28.C6E3AD030000 alarm settings statistics system
Villa 1½ plan byggår 1938. tilläggsisoleradeväggar. Uppvärmning Strömstadspanna med 1000 l ackumulatortank Iwabo SX1 brännare.
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: 1wire - panntemp loggning

Inlägg av Honda »

Bosse123 gillar tydligen att ställa en fråga och sedan försvinna från tråden...

Tack för att du delar med dig, Erik73. Det går alldeles utmärkt att ha alla data i samma databas, men du måste uppdatera alla samtidigt i rätt ordning med ett enda rrdtool update anrop. Man sparar inte diskutrymme på det men jag skulle tro att man sparar processorkraft med att ha allt samlat i samma databas då man ritar grafer. På raspberryn med sitt SD kort är det också till fördel att uppdatera en enda fil istället för att uppdatera tre filer för varje cykel, det sparar på minneskortet.

Det saknas annars rrdtool create kommandon för att skapa dina tre databaser, borde kanske läggas till för att bli komplett, och RRDtool tar väl kring en minut att installera på raspberry?
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
Erik_73
Energiprofet!
Inlägg: 653
Blev medlem: ons 16 nov, 2011 09:14
Ort: Rundvik

Re: 1wire - panntemp loggning

Inlägg av Erik_73 »

Honda är det mig du menar som Erik73 så får du gärna förklara vad du menar!
Pelletsbrännare Janfire Flex-a tillverkad och installerad 2002
Calmarpanna opex tillverkad 2005 och installerad 2012
Användarens profilbild
Honda
Pannrumstomte!
Inlägg: 1191
Blev medlem: fre 14 jan, 2005 11:17
Kontakt:

Re: 1wire - panntemp loggning

Inlägg av Honda »

Oj, sorry till er båda. eriel_72 och inget annat, nån felaktig korskoppling i hjärnan tydligen.
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
Erik_73
Energiprofet!
Inlägg: 653
Blev medlem: ons 16 nov, 2011 09:14
Ort: Rundvik

Re: 1wire - panntemp loggning

Inlägg av Erik_73 »

Ok,sånt som händer ibland
Pelletsbrännare Janfire Flex-a tillverkad och installerad 2002
Calmarpanna opex tillverkad 2005 och installerad 2012
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: 1wire - panntemp loggning

Inlägg av bosse123 »

Hej igen!
Ursäkta, jul och alla dess klappar har kommit emellan.

Jättetack för all input, härligt med engagerade människor!

Två givare är installerade, kopplade över rj12 in i en ds9490r, owfs installerat på ubuntuservern.
10 givare ytterligare skall upp inom några dagar...
Givarna producerar värden i sina respektive filer.
Nu återstår , i mina ögon,det lite knixigare arbetet.
Med att dels spara all data i en databas, med ett enkelt bashscript eller i mysql? Har phpmyadmin installerat så kanske det är att föredra som arbetsverktyg?
Och slutligen att få det publicerat på hemsidan, dels på det mycket fördelaktiga sätt som nordviken-no har gjort men även på en schematisk bild av anläggningen. rrdtool? cacti?


Eller är det bara att börja labba utifrån eriels tankegångar?
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: 1wire - panntemp loggning

Inlägg av bosse123 »

hej igen!
försökte mig på mysql och lite php med hjälp av en annan tråd i forumet,
men får ingen ordning på pekning/skrivning av temperaturen till rätt kolumn i databasen,
någon vänlig själv som ser det självklara felet?

i min databas "temperatur" finns tabellen "temperatur_system";


mysql> show tables;
+----------------------+
| Tables_in_temperatur |
+----------------------+
| temperatur_system |
+----------------------+
1 row in set (0.00 sec)

mysql> SELECT * from temperatur_system;
+------------------+------------+-----------------+---------------------+
| Givare | temperatur | serial | datum |
+------------------+------------+-----------------+---------------------+
| Solfångare | 0 | 28.DAC22F040000 | 2014-01-02 20:14:56 |
| Utetemp | 0 | 28.86BD2F040000 | 2014-01-02 20:24:01 |
| Innetemp | 0 | 28.51DB2F040000 | 2014-01-02 20:24:40 |
| Vinkällare | 0 | 28.8BC32F040000 | 2014-01-02 20:25:17 |
| Övre slavtank | 0 | 28.F4AC2F040000 | 2014-01-02 20:26:11 |
| Nedre slavtank | 0 | 28.FEDE2F040000 | 2014-01-02 20:26:38 |
| Panna | 0 | 28.22CB2F040000 | 2014-01-02 20:27:12 |
| Övre tekniktank | 0 | 28.D2E82F040000 | NULL |
| Mitt tekniktank | 0 | 28.76D52F040000 | NULL |
| Nedre tekniktank | 0 | 28.84E92F040000 | NULL |
| Framledning | 0 | 28.80E92F040000 | NULL |
| Retur | 0 | 28.41B42F040000 | NULL |
+------------------+------------+-----------------+---------------------+
12 rows in set (0.00 sec)

mitt phpschript;

<?php
include_once ("/mnt/mysql_settings.php");
# Connect to the database and select a db
mysql_connect ($mysqlHost, $mysqlUsername, $mysqlPassword);
mysql_select_db ($mysqlDatabase);
{
$temp = exec ("/bin/cat /mnt/1-wire/28.DAC22F040000/temperature");
$date = date ("Y-m-d H:i:s");
$save_temp_q = "INSERT INTO temperatur (sensor_serial, temp_c, date)";
$save_temp_q .= " VALUES ('28.DAC22F040000', '$temp', '$date')";
$save_temp_r = @mysql_query ($save_temp_q);
}
{
echo "No sensors found!<br />";
echo "Cowardly bailing out...<p>";
echo @mysql_error();
}
?>


och min includefil; "mysql_settings.php"

<?php

$mysqlHost = "localhost";
$mysqlDatabase = "temperatur";
$mysqlUsername = "root";
$mysqlPassword = "*******";

?>


någon som ha någon idé?
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: 1wire - panntemp loggning

Inlägg av Honda »

Jag kan inte mycket php och ännu mindre sql, men ska det kanske vara INSERT INTO temperatur_system?
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: 1wire - panntemp loggning

Inlägg av bosse123 »

Hej igen!
jo, naturligtvis, så ska det vara,
Stort tack för hjälpen!
du kan mer än du anar.
fick definiera om några andra kolumner också, sedan rullar det, nu ska det bara ordnas med övriga givare.

och lite rddtool eller cacti eller liknande för publicering.
Tack igen!
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: 1wire - panntemp loggning

Inlägg av bosse123 »

hej igen!
alla 12givare skrivs nu med 5 minuters mellanrum till mysql,

nästa utmaning,
att få datan från mysql skrivet i en graf eller flera, helst så skulle det gå att generera grafer utifrån de frågor man ställer, min nuvarande förebild är cacti där man på ett mycket enkelt sätt kan ställa nya frågor och få frågan genererad omedelbart, timmar dagar år etcetera. (dock så krävs en del scriptande för att få till det...)

Att enbart skriva solfångarens värde till en graf med hjälp av rrdtool är ju en enkel väg att gå men kanske inte riktigt vad jag önskar, ser att någon har valt att använda flot och ajax, även google code playground är ju tilltalande, förutom att det behöver vara i kontakt med google kontinuerligt.

uppslag och ideer emotses tacksamt!!
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
rod02
Pannrumshärskare!
Inlägg: 2637
Blev medlem: lör 20 dec, 2008 02:01

Re: 1wire - panntemp loggning

Inlägg av rod02 »

Egor duplomat D1F 1978 Pellx 2001 7.0 Tigex25 Bulkföråd Termomatic ERA
andreas
Fröträd
Inlägg: 78
Blev medlem: tor 22 sep, 2011 14:44
Ort: Småland/Eksjö

Re: 1wire - panntemp loggning

Inlägg av andreas »

Stiligt, jag har inte hunnit mycket mer i min setup :)
Uppvärmning:
CTC 1100 UE -95 med pelletsdrift. VikingBio -07.
(100mm insatsslang, 7m.) Mafa mini.
-o^o- Keddy 510, Ved. (125mm insatsslang, 6m).
Boyta: 95m2 /\ Timmerhus 100+ år.
bosse123
Stor entusiast!
Inlägg: 174
Blev medlem: tor 07 nov, 2013 22:29
Kontakt:

Re: 1wire - panntemp loggning

Inlägg av bosse123 »

och du har läst denna?
viewtopic.php?f=42&t=14684
Viking bio 20 i en vedolux 40, ackumulatortankar och 15m2 solfångare.
andreas
Fröträd
Inlägg: 78
Blev medlem: tor 22 sep, 2011 14:44
Ort: Småland/Eksjö

Re: 1wire - panntemp loggning

Inlägg av andreas »

nej, missat helt.
Tackar :D
Uppvärmning:
CTC 1100 UE -95 med pelletsdrift. VikingBio -07.
(100mm insatsslang, 7m.) Mafa mini.
-o^o- Keddy 510, Ved. (125mm insatsslang, 6m).
Boyta: 95m2 /\ Timmerhus 100+ år.
Skriv svar