Systeem info
Domoticz
Version: 4.10717
Build Hash: b38b49e5
Compile Date: 2019-05-09 13:04:08
dzVents Version: 2.4.19
Python Version: 3.4.2 (default, Oct 19 2014, 14:03:53) [GCC 4.9.1]
Ik lees onze Landis en Gyr E350 meter uit
en met dit script
lees ik de s0 kwh meters uit. Met 3 kwh meters met RFXMeter, is dat gelukt
Nu wil ik een 4 en 5de maken maar het lukt maar niet.
In welke log zou de fout naar voren komen.
Ook heb ik al nieuwe hardware (dummy does nothing) en nieuwe teller aangemaakt ,
Idx en gpio nr gecontrolleerd, als ik de puls gevers verwissel dan geeft die dat weer maar de 4 of 5de teller laat niks zien.
...
Domoticz
Version: 4.10717
Build Hash: b38b49e5
Compile Date: 2019-05-09 13:04:08
dzVents Version: 2.4.19
Python Version: 3.4.2 (default, Oct 19 2014, 14:03:53) [GCC 4.9.1]
Ik lees onze Landis en Gyr E350 meter uit
en met dit script
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
| #!/usr/bin/python
import RPi.GPIO as GPIO
import time
import urllib2
import os
#Watermeter stand (wordt alleen initeel gebruikt als er geen bestand meterstand.txt is)
global Counter
Counter = 108581
#Domoticz URL
domoticz_url = "http://192.168.2.18:8080"
#Domoticz IDX van de water sensor (RFXMeter)or other counter
idx = 38
#Open meterstand.txt file en lees meterstand
#Als meterstand.txt niet aanwezig is maakt script bestand aan en vult de meterstand
fn = "/home/pi/domoticz/scripts/groenmeterstand.txt"
if os.path.exists(fn):
f = file(fn, "r+")
f = open(fn)
inhoud = f.readline()
a,b,c = inhoud.split()
Counter = float(c)
else:
f = open(fn, "w")
f.write( 'meterstand = ' + repr(Counter))
f.close()
#Board is pin nr, BMC is GPIO nr
#Read output from water meter op pin 40
GPIO.setmode(GPIO.BOARD)
# Set GPIO 21 (Pin 40) als Input aditioneel als Pullup-Weerstand aktiveren
GPIO.setup(36, GPIO.IN, pull_up_down = GPIO.PUD_UP)
#Functie callback
#Dit is de functie die aangeroepen wordt in de interrupt
def Interrupt(channel):
#Teller elke interupt uitlezen en met 1 liter verhogen
f = file(fn, "r+")
f = open(fn)
inhoud = f.readline()
a,b,c = inhoud.split()
Counter = float(c)
Counter = Counter + 1
f.close()
#Schrijf meterstand naar bestand
f = open( fn, 'w')
f.write( 'meterstand = ' + repr(Counter))
f.close()
#Send counter to domoticz JSON
url1 = domoticz_url+'/json.htm?type=command¶m=udevice&idx='+str(idx)+'&svalue='+str(Counter)
req1 = urllib2.Request(url1)
response1 = urllib2.urlopen(req1)
#Voor debug => print voorbeeld van de JSON aanroep en/of de counter
#print "JSON call = "+ str(url1)
#print "Watermeter Counter = " + str(Counter)
#Interrupt-Event toevoegen, bij een NPN off geeft sensor een 1 en en bij detectie een 0
#Bij detectie (LED on) een 0 daarom check dalende interrupt.
GPIO.add_event_detect(36, GPIO.FALLING, callback = Interrupt, bouncetime = 3)
#GPIO.add_event_detect(40, GPIO.RISING, callback = Interrupt, bouncetime = 200)
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
print "\nBye" |
lees ik de s0 kwh meters uit. Met 3 kwh meters met RFXMeter, is dat gelukt
Nu wil ik een 4 en 5de maken maar het lukt maar niet.
In welke log zou de fout naar voren komen.
Ook heb ik al nieuwe hardware (dummy does nothing) en nieuwe teller aangemaakt ,
Idx en gpio nr gecontrolleerd, als ik de puls gevers verwissel dan geeft die dat weer maar de 4 of 5de teller laat niks zien.
...
[ Voor 97% gewijzigd door arnaudarduino op 15-12-2019 15:10 ]