hawkan skrev: ↑3 oktober 2024, 16:28:59
Tycker det är bra när man bara får en pytteliten snutt av shell-scriptet så man inte förvillas av annat som kan påverka.
Ja du har rätt. jag skickade för lite info. Det är en svår avvägning vad man skall skicka med och samtidigt vara tydlig. Jag önskar en del av er tid för att hjälpa mig då kan jag inte bara dränka er med info. Fast på en kodreview skall allt vara med inklusive parameterfiler, annan setup, resultat från testkörningar mm. Sen skäms jag förståss jag lite. Det jag gjort är ett hack som har ändrats med tiden. Olika datastrukturer från tid till annan. Inte stuktuerat eller vackert.
Jag har tänkt skriva om hela baletten i python med fick inte till rrdtool o python tillsammans.
Jag skickar med några filer som visar på rörigheten och visar problemet med rätt fokus.
Först crontab:
Kod: Markera allt
m h dom mon dow command
@reboot /home/pi/datalogger/start_owfs.sh & > /dev/null
@reboot nohup /usr/bin/python3 /home/pi/Server/web_server.py & > /dev/null
@reboot sudo telldusd > /dev/null
#@reboot nohup /home/pi/datalogger/ESIC-test.sh & 1>/dev/null
#nohup python3 bme280_test.py & > /dev/null
*/5 * * * * /home/pi/datalogger/update_temp_db.sh &> /dev/null
*/3 * * * * /home/pi/datalogger/rrd-xport.sh &> /dev/null
* * * * * /home/pi/datalogger/read_1wire.sh &> /dev/null
#*/4 * * * * /home/pi/datalogger/ESIC.sh &> /dev/null
#*/4 * * * * /home/pi/datalogger/ESIC-test.sh &> /dev/null
* * * * * /home/pi/datalogger/update_temp_db6.sh &> /dev/null
* * * * * /home/pi/datalogger/update_temp_db71.sh &> /dev/null
*/10 * * * * /home/pi/datalogger/graph.sh &> /dev/null
*/10 * * * * timeout 8m /home/pi/datalogger/send-to-one.sh &> /dev/null
Kod: Markera allt
pi@mumin3:~/datalogger $ cat givare.sh
#!/bin/bash
#2024-09-10,
echo 'Vilka givare finns:'
echo 'termometrar: 10.xx'
ls /mnt/1wire| grep "10\."
echo 'Andra: tex 20.xx'
ls /mnt/1wire| grep "20\."
echo "Alla:"
ls /mnt/1wire | grep "\."
echo
t1=10.B69418000000
t2=10.2F492F000800
t3=10.170908000800
t4=10.40B20C000800
t5=10.2D412F000800
t6=10.6DAAC7000800
t7=10.354D2F000800
t8=10.ED432F000800
t9=10.D2532F000800
t10=10.44432F000800
t11=10.23512F000800
U1=20.B10310000000
U2=20.691A0B000000
#from read_1wire.sh
t12=30.5F7AB5120000
v12=20.B10310000000
v13=20.691A0B000000
#bme280
#bme680
Kod: Markera allt
i@mumin3:~/datalogger $ cat read_1wire.sh
#!/bin/bash
#-----------------------------------------------------------
#2024-10-03, 2022-12-10, 2021-01-13, 2020-06-09 2019-06-13 ESIC.sh added
#2015-05-13,2014-10-09, 2014-10-05, 2014-01-03
#Read all 1-wire sensors and save data in "output_file"
#input: /mnt/1wire/*, ESIC-temp and more
#output: giv*, temp*, hum*, T*.data, V*.data, $output_file and more
#----------------------------------------------------------
#2015-05-15 Uppdaterat lasning av DS2450 A/D converter
#Kolla upp vad detta script gor i relation med graph.sh och grafx2.sh
#Det verkar vara nagon sort mix som inte verkar spec logisk
filename=read_1wire.sh
homedir=/home/pi/datalogger #06-09
output_file=temp.data
read_time="" #Time when the data file is created
echo "a->" `pwd` >> $homedir/read.log
echo "b->" `pwd` >> $homedir/read.log
cd $homedir
source givare.sh
echo "c->" `pwd` >> $homedir/read.log
echo "d->" `ls /mnt/1wire/30.5F7AB5120000/typeK/temperature` >> $homedir/read.log
echo "e->" `cat /mnt/1wire/30.5F7AB5120000/typeK/temperature` >> $homedir/read.log
echo >> $homedir/read.log
#./ESIC-test.sh
#sleep 10
#echo `date` >> read.log
#echo " " `env`
#echo " " `env` >> read.log
#echo -n `date` >> read.log
#echo -n " " `ps` >> read.log
#echo " " `pwd` >> read.log
# Read data from sensors
T1=`cat /mnt/1wire/$t1/temperature`
T2=`cat /mnt/1wire/$t2/temperature`
T3=`cat /mnt/1wire/$t3/temperature`
T4=`cat /mnt/1wire/$t4/temperature`
T5=`cat /mnt/1wire/$t5/temperature`
T6=`cat /mnt/1wire/$t6/temperature`
T7=`cat /mnt/1wire/$t7/temperature`
T8=`cat /mnt/1wire/$t8/temperature`
T9=`cat /mnt/1wire/$t9/temperature`
T10=`cat /mnt/1wire/$t10/temperature`
T11=`cat /mnt/1wire/$t11/temperature`
T12=`cat /mnt/1wire/$t12/typeK/temperature`
echo "T12:" $T12
echo "T12:" $T12 >> T112.txt
VALL=`cat /mnt/1wire/$v12/volt.ALL`
V2ALL=`cat /mnt/1wire/$v12/volt2.ALL`
VA=`cat /mnt/1wire/$v12/volt.A`
VB=`cat /mnt/1wire/$v12/volt.B`
VC=`cat /mnt/1wire/$v12/volt.C`
VD=`cat /mnt/1wire/$v12/volt.D`
V2A=`cat /mnt/1wire/$v12/volt2.A`
V2B=`cat /mnt/1wire/$v12/volt2.B`
V2C=`cat /mnt/1wire/$v12/volt2.C`
V2D=`cat /mnt/1wire/$v12/volt2.D`
AVALL=`cat /mnt/1wire/$v13/volt.ALL`
AV2ALL=`cat /mnt/1wire/$v13/volt2.ALL`
AVA=`cat /mnt/1wire/$v13/volt.A`
AVB=`cat /mnt/1wire/$v13/volt.B`
AVC=`cat /mnt/1wire/$v13/volt.C`
AVD=`cat /mnt/1wire/$v13/volt.D`
AV2A=`cat /mnt/1wire/$v13/volt2.A`
AV2B=`cat /mnt/1wire/$v13/volt2.B`
AV2C=`cat /mnt/1wire/$v13/volt2.C`
V2D=`cat /mnt/1wire/$v12/volt2.D`
read_time=`date`
#We remove here as it takes time to read all sensors, so the time when there
# arn't any file is short
rm $output_file
# Save data
echo ","$read_time";" > $output_file
echo ","$T1";" >> $output_file
echo ","$T2";" >> $output_file
echo ","$T3";" >> $output_file
echo ","$T4";" >> $output_file
echo ","$T5";" >> $output_file
echo ","$T6";" >> $output_file
echo ","$T7";" >> $output_file
echo ","$T8";" >> $output_file
echo ","$T9";" >> $output_file
echo ","$T10";" >> $output_file
echo ","$T11";" >> $output_file
echo ","$T12";" >> $output_file
echo ","$VALL";" >> $output_file
echo ","$V2ALL";" >> $output_file
echo ","$AVALL";" >> $output_file
echo ","$AV2ALL";" >> $output_file
echo "T12:" $T12
echo "T12:" $T12 >> T112.txt
echo $T1 > T1.data
echo $T2 > T2.data
echo $T3 > T3.data
echo $T4 > T4.data
echo $T5 > T5.data
echo $T6 > T6.data
echo $T7 > T7.data
echo $T8 > T8.data
echo $T9 > T9.data
echo $T10 > T10.data
echo $T11 > T11.data
echo $T12 > $homedir/T12.data
echo $VALL > VALL.data
echo $V2ALL > V2ALL.data
echo $VA > VA.data
echo $VB > VB.data
echo $VC > VC.data
echo $VD > VD.data
echo $V2A > V2A.data
echo $V2B > V2B.data
echo $V2C > V2C.data
echo $V2D > V2D.data
echo $AVALL > VALL.data
echo $AV2ALL > V2ALL.data
echo $AVA > VA.data
echo $AVB > VB.data
echo $AVC > VC.data
echo $AVD > VD.data
echo $AV2A > V2A.data
echo $AV2B > V2B.data
echo $AV2C > V2C.data
echo $AV2D > V2D.data
echo "T12:" $T12
echo "T12:" $T12 >> T112.txt
#For webserver dictory
#sudo cp $output_file /var/www/logs/.
#sudo cp T*.data /var/www/logs/.
#sudo cp V*.data /var/www/logs/.
grep 10:: ESIC-temp >giv10
grep 11:: ESIC-temp >giv11
grep 21:: ESIC-temp >giv21
grep 24:: ESIC-temp >giv24 #2021-01-13
grep 34:: ESIC-temp >giv34
grep 44:: ESIC-temp >giv44
grep 54:: ESIC-temp >giv54
grep 74:: ESIC-temp >giv74
sudo cp giv* /var/www/logs/.
grep 10:: ESIC-temp | cut -c 6-9 > temp10
grep 10:: ESIC-temp | cut -c 12-13 > hum10
#grep 11:: ESIC-temp | cut -c 6-9 > temp11
#grep 11:: ESIC-temp | cut -c 12-13 > hum11
grep 11:: ESIC-temp | awk '{print $2;}' >temp11
grep 11:: ESIC-temp | awk '{print $3;}' >hum11
grep 24:: ESIC-temp | awk '{print $2;}' >temp24
grep 24:: ESIC-temp | awk '{print $3;}' >hum24
grep 21:: ESIC-temp | cut -c 6-9 > temp21
grep 21:: ESIC-temp | cut -c 12-13 > hum21
#grep 24:: ESIC-temp | cut -c 6-9 > temp24 #2020-01-13
#grep 24:: ESIC-temp | cut -c 12-13 > hum24 #2020-01-13
grep 34:: ESIC-temp | cut -c 6-9 > temp34
grep 34:: ESIC-temp | cut -c 12-13 > hum34
grep 44:: ESIC-temp | cut -c 6-9 > temp44
grep 44:: ESIC-temp | cut -c 12-13 > hum44
grep 54:: ESIC-temp | cut -c 6-9 > temp54
grep 54:: ESIC-temp | cut -c 12-13 > hum54
grep 74:: ESIC-temp | cut -c 6-9 > temp74
grep 74:: ESIC-temp | cut -c 12-13 > hum74
#For webserver dictory
#sudo cp temp* /var/www/logs/.
#sudo cp hum* /var/www/logs/.
#sudo cp ESIC-temp /var/www/logs/.
#/usr/lib/cgi-bin/test3 > ESIC-temp.html
exit 0