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 ]