@
Toppe, waarom maak je voor alles een aparte dummy hardware aan?

daarin heb je natuurlijk helemaal gelijk. Maar qua hardware heb ik geen idee wat het zou kunnen zijn. Behalve de GND kabel meer aders geven en wat dikkere kabels gebruiken een volgende keer. Dat wordt nu echt een lastig verhaal aangezien de sensors overal in zitten en de aanknopingspunten lastig bereikbaar.
Voor nu zijn er twee dingen die mijn monitoring door elkaar schoppen:
*Het script geeft in huidige vorm een nulwaarde door naar Domoticz
*Als het script daarna stopt, dan blijft Domoticz deze 0 elke 5 minuten bijwerken in de grafieken.
Ik wil het script zo opbouwen, dat als hij geen waarde vindt omdat de sensors niet gevonden worden, hij de waarde niet update in Domoticz. Op zijn minst heb ik dan in Domoticz de laatste waarde tot het moment dat de sensors gereset zijn.
Het script ziet er nu zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| TEMP=$(cat /sys/bus/w1/devices/28-000004e09c32/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
if [ $TEMP -gt 0 ]
then
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=689&nvalue=0&svalue=$VAR"
echo $VAR
TEMP=$(cat /sys/bus/w1/devices/28-01143b7a42aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=707&nvalue=0&svalue=$VAR"
echo $VAR
TEMP=$(cat /sys/bus/w1/devices/28-01143b8984aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=708&nvalue=0&svalue=$VAR"
echo $VAR
TEMP=$(cat /sys/bus/w1/devices/28-01143b8e6caa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=709&nvalue=0&svalue=$VAR"
echo $VAR
TEMP=$(cat /sys/bus/w1/devices/28-01143b9939aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=710&nvalue=0&svalue=$VAR"
echo $VAR
TEMP=$(cat /sys/bus/w1/devices/28-01143b9b60aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=711&nvalue=0&svalue=$VAR"
echo $VAR
TEMP=$(cat /sys/bus/w1/devices/28-01143ba404aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=712&nvalue=0&svalue=$VAR"
echo $VAR
TEMP=$(cat /sys/bus/w1/devices/28-01143bf2f4aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=713&nvalue=0&svalue=$VAR"
echo $VAR
TEMP=$(cat /sys/bus/w1/devices/28-01143bed48aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
VAR=$(echo "scale=2; $TEMP/1000" | bc)
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command¶m=udevice&idx=714&nvalue=0&svalue=$VAR"
echo $VAR
fi |
op dit moment doen mijn sensors het ook niet. de foutmelding bij handmatig draaien van het script is:
code:
1
2
3
4
5
| pi@pi-zb:/sys/bus/w1/devices $ sudo bash /home/pi/Downloads/temp.sh
cat: /sys/bus/w1/devices/28-000004e09c32/w1_slave: Bestand of map bestaat niet
(standard_in) 1: syntax error
/home/pi/Downloads/temp.sh: regel 3: [: eenzijdige operator werd verwacht, -gt gevonden
pi@pi-zb:/sys/bus/w1/devices $ |
dit moet beter kunnen. Op de e.o.a. manier heeft het script toch de waardes doorgezet naar Domoticz omdat de allereerste sensor niet 0, maar 2.5 graden is. Vervolgens heeft het de rest van het script uitgevoerd en dus update Domoticz nu elke 5 minuten die 0-waarde. welke ik vervolgens met SHIFT weer eruit moet knikkeren. Dat is nogal een gedoe met 8 sensoren
[
Voor 97% gewijzigd door
fabstar81 op 30-12-2019 14:25
]