Slimme/digitale meter uitlezen met een Raspberry Pi

Pagina: 1 2 ... 6 Laatste
Acties:
  • 117.540 views

Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
In het GPIO topic is nog wat discussie over de logica van mijn schema (welke ik ook onderschrijf), maar het werkt...

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Devster
  • Registratie: Februari 2001
  • Laatst online: 17-05 20:22

Devster

-=+CLOUDBARISTA+=-

_wil_ schreef op dinsdag 18 juni 2013 @ 12:26:
En die Sitecom en die Eminent gebruiken toch die Prolific PL-2303 chip die beter "valt" voor de RPI?
Inderdaad. Met een (aangepaste) FTDI had ik alleen maar problemen. Sitecom en Eminent werken daarentegen perfect.

"The problem with internet quotes is that you can't always depend on their accuracy" ~Abraham Lincoln, 1864.


Acties:
  • 0 Henk 'm!

Anoniem: 523786

Heeft iemand Siemens S2AS-300 meter (Liander)?

3de dag aan het experimenteren met IR lezer en niets gelukt

ik stuur /?! met 300 baud,7bit, parity=E (bijna alle combinaties en baud rates geprobeerd) en krijg niets terug.

help!

8)7

Acties:
  • 0 Henk 'm!

  • Speedfightserv
  • Registratie: September 2004
  • Laatst online: 09:01
wat voor merk en type IR lezer gebruik je? Dat is misschien handig om te weten voor de mensen hier

30 x Trina 390wp Op SE en Solis. | MHI 3,5kw


Acties:
  • 0 Henk 'm!

Anoniem: 523786

Speedfightserv schreef op donderdag 20 juni 2013 @ 08:53:
wat voor merk en type IR lezer gebruik je? Dat is misschien handig om te weten voor de mensen hier
http://wiki.volkszaehler....reib-lesekopf-usb-ausgang

Als proof of concept heb ik het zelf gemaakt, maar nog zonder behuizing. Ik gebuikte kinder klei om te bevestigen.

Zichzelf doet het prima. Met een terminalprogramma krijg ik echo als ik typ (via het optisch kanaal)
Ik probeerde verschillende LEDs: IR 950nm en rood.

led and fototransistor van http://www.vishay.com/docs/83760/tcrt5000.pdf


Ka het zijn dat het IR functie is geblokkeerd?

Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
Nieuw schema voor het uitlezen van de Energiemeter P1 (Dank aan oZy):
CurlyMo in "[GPIO] Raspberry Pi"

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • weebl15
  • Registratie: Februari 2005
  • Laatst online: 06-04 19:05
Ik lees sinds vorige week nu ook onze slimme meter uit met een rpi. Inclusief klein python scriptje om aan het eind van de dag import/export en consumptie van stroom te uploaden naar pvoutput.org :).

Acties:
  • 0 Henk 'm!

  • Jaco69
  • Registratie: Juli 2005
  • Laatst online: 19-03 20:34
hgestel schreef op dinsdag 19 februari 2013 @ 15:55:
[...]


Mooi mijn werkt inm inmiddels v u a een perl script. :)
Hoeveel decimalen geeft de Iskra mt171 als output?
Mijn meter geeft helaas alleen maar gehelegetallen.
Heeft iemand een idee hoe dat te veranderen?
Mijn Iskra MT171 meter geeft ook alleen hele getallen. Zover ik weet is dit niet te veranderen.
Zelf probeer ik door wat vaker uit te lezen wat nauwkeuriger de tijd te vinden wanneer de meter omklapt naar het volgende getal en daarmee bereken ik dan precies de gemiddelde Watt per uur en kWh per dag. Die sla ik samen met kWh per jaar op in MySQL. Dat werkt al een tijdje prima. Visualiseren doe ik met emoncms.
Afbeeldingslocatie: https://lh6.googleusercontent.com/-1Jmn-TY3vPI/UdP8JZk9PPI/AAAAAAAAh_I/U1379nTuPnQ/s966/3-7-2013%252012-00-05.png
Op het plaatje kan je zien dat ik er 15 juni achterkwam dat de afleeskop er al een tijdje af lag. Gewoon teruggezet maar omdat er dan vele kWh en dagen tussen 2 metingen zit zijn voor een aantal dagen geen details beschikbaar. Die dagen worden wel netjes uitgemiddeld. Dat gebeurd ook als het programma uit geweest is. Bij het opstarten word daarvoor de laatste vorige waarde en tijd ingelezen.

Python: MT171.py
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
from __future__ import print_function 
import serial
import time
import MySQLdb

def send(port, bytes, tr):
  """ sends an command to serial and reads and checks the echo
      port  - the open serial port
      bytes - the string to be send
      tr    - the responce time
  """
  #print("start send")  
  port.write(bytes)
  time.sleep(tr)
  echo = port.read(len(bytes))
  if (echo != bytes):
    print("echo is not same as send:", bytes, " vs ", echo)
  #print("end send")

def read_datablock():
  ACK = '\x06'
  STX = '\x02'
  ETX = '\x03'
  tr = 0.2
  """ does all that's needed to get meter data from the meter device """ 
  try:
    try:
      IskraMT171=serial.Serial(port='/dev/ttyUSB0', baudrate=300, bytesize=7, parity='E', stopbits=1, timeout=1.5); # open port at specified speed
    except:
      print("Could not open serial port")
      return ""
    # 1 ->
    time.sleep(tr)
    Request_message='/?!\r\n' # IEC 62056-21:2002(E) 6.3.1
    try:
      send(IskraMT171, Request_message, tr)
    except:
      print("Could not send request message")
      IskraMT171.close()
      return ""
    # 2 <-
    time.sleep(tr)
    try:
      Identification_message=IskraMT171.readline() # IEC 62056-21:2002(E) 6.3.2
    except:
      print("Could not read identification line")
      IskraMT171.close()
      return ""
    if (Identification_message[0] != '/'):
      print("no Identification message")
      IskraMT171.close()
      return ""
    if (len(Identification_message) < 7):
      print("Identification message to short")
      IskraMT171.close()
      return ""
    if (Identification_message[4].islower()):
      tr = 0.02
    manufacturers_ID = Identification_message[1:4]
    if (Identification_message[5] == '\\'):
      identification = Identification_message[7:-2]
    else:
      identification = Identification_message[5:-2]
    speed = Identification_message[4]
    #print("speed = ", speed)
    if (speed == "1"): new_baud_rate = 600
    elif (speed == "2"): new_baud_rate = 1200
    elif (speed == "3"): new_baud_rate = 2400
    elif (speed == "4"): new_baud_rate = 4800
    elif (speed == "5"): new_baud_rate = 9600
    elif (speed == "6"): new_baud_rate = 19200
    else:
      new_baud_rate = 300
      speed = "0"
    #print(manufacturers_ID, " ", identification, " speed=", speed)
    # 3 ->
    Acknowledgement_message=ACK + '0' + speed + '0\r\n' # IEC 62056-21:2002(E) 6.3.3
    try:
      send(IskraMT171, Acknowledgement_message, tr)
    except:
      print("Could not send acknowledgement message")
      IskraMT171.close()
      return ""
    IskraMT171.baudrate=new_baud_rate
    time.sleep(tr)
    # 4 <-
    datablock = ""
    try:
      x = IskraMT171.read()
    except:
      print("Could not read STX")
      IskraMT171.close()
      return ""
    if (x == STX):
      try:
        x = IskraMT171.read()
      except:
        print("Could not read char after STX")
        IskraMT171.close()
        return ""
      BCC = 0
      while (x  != '!'):
        BCC = BCC ^ ord(x)
        datablock = datablock + x
        try:
          x = IskraMT171.read()
        except:
          print("Could not read char for datablock")
          IskraMT171.close()
          return ""
      while (x  != ETX):
        BCC = BCC ^ ord(x) # ETX itself is part of block check
        try:
          x = IskraMT171.read()
        except:
          print("Could not read char")
          IskraMT171.close()
          return ""
      BCC = BCC ^ ord(x)
      try:
        x = IskraMT171.read()   # x is now the Block Check Character
      except:
        print("Could not read block check")
        IskraMT171.close()
        return ""
      # last character is read, could close connection here
      if (BCC != ord(x)): # received correctly?
        datablock = ""
        print("Block check not OK")
    else:
      print("No STX found")
    IskraMT171.close()
    return datablock
  except:
    print("Some error reading data")
    if (IskraMT171.isOpen()):
      IskraMT171.close()
    return ""

def meter_data(datablock, map, header):
  """ takes a datablock as received from the meter and returns a list with requested meter data as set in map
      if header != 0 a list with data type and units is returned """
  line = []
  if datablock == "":
    return line
  ## initialise line
  for l in range(len(map)):
    if (header == 1):
      line.append(map[l][1])
    elif (map[l][0] == "time"):
      line.append(time.strftime("%Y-%m-%d %H:%M:%S"))
    else:
      line.append("")
  datasets = datablock.split('\n')
  for dataset in datasets:
    if (dataset != ""):
      x = dataset.split('(')
      address = x[0]
      x = x[1][:-2].split(' ') # the standard seems to have a '*' instead of ' ' here
      value = x[0]
      try:
        unit = '['+x[1]+']'
      except:
        unit = ""
      for l in range(len(map)):
        if (map[l][0] == address):
          if (header == 0):
            line[l] = value
          else:
            line[l] = map[l][1] + unit
          break;
  return line

filename = "meterdata.txt"

def output_to_file(line):
  with open(filename, "a") as f:
    print(line, file=f)

# output_to_database() state variables
oudt = int(time.time())/86400*86400
oudverbruikt = 0.0
oudgeleverd = 0.0
uurstart = oudt/3600*3600
uureind = uurstart + 3600

def insert(db, c, v, g):
  global uurstart
  # verbruikt
  #print(uurstart, "v =", v)
  #print(uurstart, "g =", g)
  if v >= 0:
    c.execute("INSERT INTO feed_1 (time, data) VALUES (%d, %f) ON DUPLICATE KEY UPDATE data = data + %f;" % (uurstart, v*1000, v*1000))   # Watt gemideld per uur
    c.execute("INSERT INTO feed_2 (time, data) VALUES (%d, %f) ON DUPLICATE KEY UPDATE data = data + %f;" % (int(uurstart)/86400*86400, v, v)) # kWh per dag
    c.execute("INSERT INTO feed_3 (time, data) VALUES (%d, %f) ON DUPLICATE KEY UPDATE data = data + %f;" % ((time.localtime(uurstart)).tm_year, v, v)) # kWh per jaar
  else:
    print(uurstart, "v =", v)
  #geleverd
  if g >= 0:
    c.execute("INSERT INTO feed_4 (time, data) VALUES (%d, %f) ON DUPLICATE KEY UPDATE data = data + %f;" % (uurstart, g*1000, g*1000))   # Watt gemideld per uur
    c.execute("INSERT INTO feed_5 (time, data) VALUES (%d, %f) ON DUPLICATE KEY UPDATE data = data + %f;" % (uurstart/86400*86400, g, g)) # kWh per dag
    c.execute("INSERT INTO feed_6 (time, data) VALUES (%d, %f) ON DUPLICATE KEY UPDATE data = data + %f;" % ((time.localtime(uurstart)).tm_year, g, g)) # kWh per jaar
  else:
    print(uurstart, "g =", g)
  db.commit()

def output_to_database(list):
  global oudt
  global oudverbruikt
  global oudgeleverd
  global uurstart
  global uureind
  t = time.mktime(time.strptime(list[t_index],"%Y-%m-%d %H:%M:%S"))
  v = float(list[v_index])
  g = float(list[g_index])
  try:
    db = MySQLdb.connect(db="emoncms", user="root", passwd="raspberry")
    cursor = db.cursor()
    # gemiddeld Watt per uur
    while t > uureind:
      #het huidig vermogen loopt tot volgend uur, we kunnen het gemiddeld uurvermogen berekenen en opslaan
      if oudt > uurstart:
        insert(db, cursor, (v-oudverbruikt)*(uureind-oudt)/(t-oudt), (g-oudgeleverd)*(uureind-oudt)/(t-oudt))
      else:
        insert(db, cursor, (v-oudverbruikt)*(uureind-uurstart)/(t-oudt), (g-oudgeleverd)*(uureind-uurstart)/(t-oudt))
      #naar volgend uur
      uurstart = uureind
      uureind = uurstart + 3600
    #het huidig vermogen eindigd in dit uur, we kunnen bij de tijdelijke berekening optellen
    if oudt > uurstart:
      insert(db, cursor, v-oudverbruikt, g-oudgeleverd)
    else:
      insert(db, cursor, (v-oudverbruikt)*(t-uurstart)/(t-oudt), (g-oudgeleverd)*(t-uurstart)/(t-oudt))
    oudt = t
    oudverbruikt = v
    oudgeleverd = g
    cursor.close()
    db.close()
  except:
    print("Some error writing data to database")
    if (cursor.isOpen()):
      cursor.close()
    if (db.isOpen()):
      db.close()


map = [
  # The structure of the meter_data() output can be set with this variable 
  # first string on each line is the cosim adress of the data you want to safe or "time" to insert the time
  # the second string on each line is a description of the type of data belonging to the cosim address
  # the order of the lines sets the order of the meter_data() output
  # example
  # header: ['meter ID', 'datum & tijd', 'verbruik totaal[kWh]', 'verbruik tarief1[kWh]', 'verbruik tarief2[kWh]', 'terug totaal[kWh]', 'terug tarief1[kWh]', 'terug tarief2[kWh]']
  # data: ['12345678', '2013-02-08 10:08:41', '0054321', '0000000', '0054321', '0000000', '0000000', '0000000']
  ["1-0:0.0.0*255", "meter ID"],
  ["time", "datum & tijd"],
  ["1-0:1.8.0*255", "verbruikt totaal"],  # output_to_database has hardcoded v = float(list[2]) Change if table order changes!
  ["1-0:1.8.1*255", "verbruikt tarief1"],
  ["1-0:1.8.2*255", "verbruikt tarief2"],
  ["1-0:2.8.0*255", "geleverd totaal"],   # output_to_databasehas hardcoded g = float(list[5]) Change if table order changes!
  ["1-0:2.8.1*255", "geleverd tarief1"],
  ["1-0:2.8.2*255", "geleverd tarief2"]
]
t_index = 1 # map table index for time
v_index = 2 # map table index for verbruikt
g_index = 5 # map table index for geleverd
previous_datalist = []
datalist = meter_data(read_datablock() , map, 0) # reads meter for the first time
# reads old data from file
with open(filename) as f:
  for line in f:
    list = eval(line)
    if list[1].find("-") == 4: # skips header lines
      oudt = int(time.mktime(time.strptime(list[t_index],"%Y-%m-%d %H:%M:%S")))
      oudverbruikt = float(list[v_index])
      oudgeleverd = float(list[g_index])
uurstart = oudt/3600*3600
uureind = uurstart + 3600
dag = uurstart/3600/24
print( "laaste tijd =", oudt, "laaste verbruikt =", oudverbruikt, "laatste geleverd =", oudgeleverd, "uurstart =", uurstart, "uureind =", uureind, "dag =", dag)

example_datablock = """0-0:C.1.0*255(12345678)
1-0:0.0.0*255(12345678)
1-0:0.2.0*255(V1.0)
1-0:1.8.0*255(0054321 kWh)
1-0:1.8.1*255(0000000 kWh)
1-0:1.8.2*255(0054321 kWh)
1-0:2.8.0*255(0000000 kWh)
1-0:2.8.1*255(0000000 kWh)
1-0:2.8.2*255(0000000 kWh)
FF(00000000)
"""
            
output_to_file(meter_data(example_datablock , map, 1)) # print a header line to file
             
while (1):
  if (datalist == []):
    print(time.strftime("%Y-%m-%d %H:%M:%S"), "No data received")
  elif (previous_datalist == [] or previous_datalist[v_index] != datalist[v_index] or previous_datalist[g_index] != datalist[g_index]):
    output_to_file(datalist)
    output_to_database(datalist)
    previous_datalist = datalist
  time.sleep(3) # minimum waiting time is 3 seconds, less and the meter doesn't return data 
  datalist = meter_data(read_datablock() , map, 0)

Acties:
  • 0 Henk 'm!

Anoniem: 527066

Met de volgende situatie/onderdelen:

- Iskra ME382
- Raspberry Pi,
- Eminent 1016 Serieel-USB adapter
- RJ11 -> Serieel stekker. .

Probeer ik de Iskra meter uit te lezen. Helaas heeft dit tot nu toe nog niet het gewenste resultaat gegeven. Als ik met 'cu' de poort uitlees, dan krijg ik alleen maar om de zoveel seconden een brei karakters zoals dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Connected.
{c|wn|n
       |{~~c~|_G7w|x~~|8~~||~?{~8x~~~|n||~?~|8|||?|C{|>C{~~|88||x|~Go?||||8~|||~|x||?~>|?|<x||x|x|||~8o|x|~~n|o{|o{7|<n~Cc
                                                                                                                          ~o|~7~|w7|ww
                                                                                                                                      Ox~|xCCC|x|~|>~|[_?
                                                                                                                                                         |8|
                                                                                                                                                            [|<~w||{cO|8wn||O|c|_Cw~>C{~~C|~~|C{~?<||~{_~~>C_|?~C|8x||8x~||?~~8x|8x||8~n|o|~xx|~||?~<~8x|x~?>G|<x|8|?x|
                                                                |~||<xx|
                                                                        |?o{cn|O~
                                                                                 |{Cc
                                                                                     O?|<||~||www~O_|~|~||8|~8{|~~8~~||8x[~||~n<|{cC~
                                                                                                                                     |?o~c~|?|_w<|?~cCC{o|>Cc?||x~~~||g?~C|xx8?|x||>C~~|8x|x||8|
                                                                                                                                                                                                |?oCgCG|~n>CO?|<x8x|??>G?8<|x|x|\||x~xo||
                                  |o~
                                     |?oon|7|<nO?C~
                                                   ||~_7_
                                                         ||~|~7|x|~|x8O||[~N|8x
                                                                               ||~>~


Heeft iemand een idee in welke richting ik het beste kan zoeken om de data juist binnen te krijgen?
Ik heb al de nodige baud/byte size/stopbit combinaties getest, maar niks werkt.

Specifiekere vraag: zou de Eminent 1016 kabel zelf al op de juiste manier moeten omgaan met de geinverteerde RXD?

Aangezien ik data binnen krijg, zou RTS goed moeten zijn (anders gaat de P1 poort geen data verzenden); dit zou denk ik ook niet werken als de GND niet goed zou zijn.

En omdat ik wel data binnenkrijg, zou de TxD toch ook goed gesoldeerd moeten zijn lijkt mij..
(Of is het theoretisch nog mogelijk dat ik wat omgewisseld qua pinnen heb en dat ik toch nog dit soort data binnen krijg elke X seconden?)

Ben zelf niet erg thuis in elektronica, dus wat adviezen en suggesties zouden op dit punt welkom zijn. :)

Acties:
  • 0 Henk 'm!

  • Devster
  • Registratie: Februari 2001
  • Laatst online: 17-05 20:22

Devster

-=+CLOUDBARISTA+=-

Wat voor RJ11->Serieel stekker heb je gebruikt? Ik heb hem zelf gemaakt op basis van:

http://gejanssen.com/howt.../index.html#mozTocId71758
De slimme meter heeft een 6 pins RJ11 connector, maar pin 1 en 6 hebben we dus niet nodig. We kunnen dus ook een oude telefoondraad met een 4-draads kabel gebruiken.
zie hier het aansluit schema: (NC = not connected)

pin nr RJ11signaalsub-D pin
2request (RTS)4
3ground (GND)5
4N.C.N.C.
5data (RxD)2


en:

Afbeeldingslocatie: http://gejanssen.com/howto/Slimme-meter-uitlezen/RJ11-pinout.png

De nummertjes staan op de tekening van de RJ-11 connector en op de Sub-D pins connector.

"The problem with internet quotes is that you can't always depend on their accuracy" ~Abraham Lincoln, 1864.


Acties:
  • 0 Henk 'm!

Anoniem: 527066

Ik heb hem ook zelfgemaakt en de bedrading al vaak gecontroleerd. Zal dat vanavond nog weer eens doen aan de hand van jouw schema als ik thuis ben.

Maar nu ik deze site zie:
http://phoenixinteractive...b/viewtopic.php?f=22&t=28

Bestaan er verschillende RJ 11 stekkers met fysiek 4 of 6 pins? Of is een RJ11 stekker echt universeel?
Mogelijk dat er wat verwarring hier dan in zit?!? Dacht dat pin 1 en 6 op een RJ11 altijd Not Connected waren en daarom dat er fysiek maar 4 draden in gaan.

Heb de kabel helaas even niet in de buurt..

Acties:
  • 0 Henk 'm!

  • Freemann
  • Registratie: Januari 2002
  • Niet online

Freemann

CO2 Warmtepomp + VentilatieWTW

Anoniem: 527066 schreef op dinsdag 09 juli 2013 @ 14:34:
Ik heb hem ook zelfgemaakt en de bedrading al vaak gecontroleerd. Zal dat vanavond nog weer eens doen aan de hand van jouw schema als ik thuis ben.

Maar nu ik deze site zie:
http://phoenixinteractive...b/viewtopic.php?f=22&t=28

Bestaan er verschillende RJ 11 stekkers met fysiek 4 of 6 pins? Of is een RJ11 stekker echt universeel?
Mogelijk dat er wat verwarring hier dan in zit?!? Dacht dat pin 1 en 6 op een RJ11 altijd Not Connected waren en daarom dat er fysiek maar 4 draden in gaan.

Heb de kabel helaas even niet in de buurt..
RJ11 heeft 6 pin posities, maar deze zijn niet altijd bezet. Vaak zijn pin 1 en 6 niet bezet en zitten er ook maar 4 aderig draad aan de connector.

Ader 1 is dan pin 2
Ader 2 is dan pin 3
Ader 3 is dan pin 4
Ader 4 is dan pin 5

https://www.taltion.nl, https://www.trekhaakkoffer-huren.nl, https://www.fietsendrager-huren.nl, https://www.fietskar-huren.nl


Acties:
  • 0 Henk 'm!

Anoniem: 527066

Freemann schreef op dinsdag 09 juli 2013 @ 14:55:
[...]

RJ11 heeft 6 pin posities, maar deze zijn niet altijd bezet. Vaak zijn pin 1 en 6 niet bezet en zitten er ook maar 4 aderig draad aan de connector.

Ader 1 is dan pin 2
Ader 2 is dan pin 3
Ader 3 is dan pin 4
Ader 4 is dan pin 5
Bedankt. Dit is volgens mij de manier waarop ik het geinterpreteerd had. Zal dit vanavond nog eens nalopen. :)

Kom net ook de reacties hier tegen:

http://zonnigbreda.blogsp...0478#c8435467074580455241

Waar iemand schrijft:
ik heb sinds kort ook een "slimme meter" (een ISKRA MT382, geleverd door Liander), en heb jouw instructies gevolgd om de P1-poort uit te lezen. Er komt echter geen "nette tekst" uit, maar (voor mij) onleesbare symbolen, wel netjes elke tien seconden:

O<_C_C_C_o____7_cw_n[?~CCCOoO|~<C{|?{<8x8O~?x<888n<G{_??8<8x88?~~<G{[8<8888?^
C{_?8<xoGCn
C{{_{O8|C{oOwOn
o{{OwCcon_7{O8xwn|~
G{{O?~_C_G_<wowww3_cw_O~<G{O?|?n<8?~c<8x{?8~~n<Cs[?~CCGO|~<G{[?|?{<88x{~
C{{O~?x<x88n<C{_??8|888~n<G{[8<x888?n
G{8?x<xoooCGC{{O8<n
C{{_?_~
Eigenlijk wat ik ook heb. Het is geen 'nette tekst' maar wel om de zoveel seconden zoals je zou verwachten.

En het lijkt wel te werken van een andere Win32 machine
Maar nu dus t vervolg.
De USB driver op de raspberry heeft dus moeite met 7E1 :-(

JT
Mogelijk dat er inmiddels wel net wat geupdate is:
JT7 juli 2013 14:28
Nu komt de grap

Ben ik op de windows PC een poosje met Python bezig (log naar csv file.
Denk ik laat ik Raspberry nog eens proberen.
En voer zoals gebruikelijk apt-get update uit.
Maar vandaag ook apt-get upgrade.
Toch nog maar eens gaan proberen. Wie weet net een samenloop van omstandigheden!?!

Bedankt voor de hulp tot nu toe. Waardeer het zeer. :)

Acties:
  • 0 Henk 'm!

  • Freemann
  • Registratie: Januari 2002
  • Niet online

Freemann

CO2 Warmtepomp + VentilatieWTW

zorg ook dat je Rpi goed up2date is (zoals je al zei);
apt-get update
apt-get upgrade
en install ook Rpi-update

https://www.taltion.nl, https://www.trekhaakkoffer-huren.nl, https://www.fietsendrager-huren.nl, https://www.fietskar-huren.nl


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
Hier staan een paar voorbeelden van werkende schema:
CurlyMo in "[GPIO] Raspberry Pi"

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
Even een animo check:

Op dit moment log ik mijn energiemeter via een hex inverter (SN74HC14N). Deze heb ik aangesloten op de serieie poort van de Raspberry Pi.

Als OS draai ik mijn eigen MinimalPi. Dit is een embedded OS dat volledig in de RAM draait. Het ongecomprimeerde OS is +/- 50mb groot en verbruikt zo'n 71mb ram. Hij draait dus prima op alle Raspberry Pi modellen. In geval van de energiemeting doet hij dus maar 1 ding en dat is loggen. Aangezien MinimalPi gebouwd is met PHP, MySQL, SQLite, Python, Samba, etc ondersteuning, is het dus mogelijk om een volledig zelfstandige energie logger te bouwen.

Het loggen zelf doe ik als volgt:
- Tijdens de boot wordt een python script gestart die kijkt wanneer er nieuwe waardes zijn. Deze schrijft vervolgens SQL querys naar een cache bestand op een USB stick.
- Elk uur draait er tweede python script die één voor één de queries uit het cache bestand wegschrijft naar de externe database. Alle queries die gelukt zijn, worden vervolgens uit het cache bestand gehaald. Alle queries die faalde blijven erin staan. Op deze manier verlies je geen data wanneer verbinding tussen de database server en de Raspberry Pi wordt verbroken. Deze cache is natuurlijk overbodig wanneer er gebruik wordt gemaakt van een SQLite database op de Raspberry Pi zelf.

Van de weggeschreven data wordt dan via een MySQL query via PHP een JSON object gemaakt die wordt uitgelezen door een Highstock grafiek zodat het er zo uit komt te zien:
Afbeeldingslocatie: http://img822.imageshack.us/img822/5246/m54p.jpg
Dit is een log vanaf een paar dagen

Het is dus mogelijk om dit in zijn geheel op de Raspberry Pi te laten plaatsvinden waardoor deze een stand-alone energielogger wordt.

Nu het voorstel. Mijn huidige implementatie werkt alleen nog in mijn situatie (al zijn de scripts vrij generiek). Het liefst zou ik hem met jullie hulp plug-en-play willen maken zodat iemand alleen de P1 poort aan de GPIO pinnen hoeft te hangen, of via USB-Seriaal aan hoeft te sluiten en dat het dan werkt. Eventueel kan iemand dan nog via de cmdline.txt aangeven of hij gebruik maakt van een externe MySQL server of graag een SQLite server wilt gebruiken (als default) op de usb stick.

Zijn er dus mensen die hier aan mee willen werken?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Jaco69
  • Registratie: Juli 2005
  • Laatst online: 19-03 20:34
Ik heb dit draaien op de raspbian distributie zonder USB stick. Het werkt direct met MySQL en Apache. Het is alleen niet voor een p1 interface maar voor een Iskra meter met IR leeskop.
Over de logging ben ik helemaal tevreden. Moet alleen nog kijken hoe het script automatisch kan opstarten. (Had net een stroomstoring van een paar uur)

Zichtbaar maken doe ik met Emoncms, dat was redelijk pijnloos om te beginnen.
Is highstock ook redelijk pijnloos om te gebruiken en makkelijk te veranderen? (Ik weet niet veel van php)

.

Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
Het idee is dus dat we mijn oplossing geschikt maken voor de P1 poort (verschillende modellen) en wanneer nodig via de IR leeskop. Hier start hij gewoon netjes met loggen bij iedere reboot. Het is ook het enige wat dit OS en de Raspberry Pi.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Jaco69
  • Registratie: Juli 2005
  • Laatst online: 19-03 20:34
Zelf heb ik geen P1 poort maar ik dacht dat alle P1 poorten zetzelfde werken omdat de standaard precies is vastgelegd/gedicteerd.
Dus dan ben je klaar en hoef je alleen een image van je SD kaart beschikbaar te stellen.

Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • FicoF
  • Registratie: April 2005
  • Laatst online: 07:44
Serieus heel erg tof, alleen nu nog iets meer noob-proof maken, vooral voor de niet linux gebruikers. Verder complimenten, zou zo een donatie doen om dit project te helpen. _/-\o_

Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
Voor die noob-proof factor heb ik dus jullie hulp nodig. Laat vooral weten waar je op vastloopt zodat ik uiteindelijk die image kan maken waar Jaco69 het over heeft.

PS. op verzoek gelijk donatie mogelijkheden toegevoegd (deze is overigens over alle repo's hetzelfde).

[ Voor 24% gewijzigd door CurlyMo op 28-07-2013 01:33 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Jaco69 schreef op vrijdag 26 juli 2013 @ 21:46:
Moet alleen nog kijken hoe het script automatisch kan opstarten.
Ik heb er helemaal geen verstand van maar ik kan wel lezen :P :

sudo nano /etc/rc.local (bestaat al of maak hem aan)

Add the following line to the end of this file:
sudo [dir waar hij staat] blabla.sh start

Ik kreeg het ook voor elkaar om in rc.local de schrijfrechten toe te kennen binnen dit bestandje.

Overigens ben ik bezig om een normale energiemeter (din) met S0 uit te lezen met mijn Rpi.
Eventueel wil ik de data naar pvoutput sturen.
Dit omdat mijn omvormer soms een steekje laat vallen (reset tijdens productie) en dan data verliest.

Het ding lijkt een opto-coupler als uitgang te hebben, dus dat betekent de '+' aan de +5V van de Rpi en de '-' is de pulsuitgang die met 10K aan de 0V komt en op een ingang van de Rpi.
Hoe ik de uitlezing vorm moet geven weet ik (nog) niet O-)

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • Freemann
  • Registratie: Januari 2002
  • Niet online

Freemann

CO2 Warmtepomp + VentilatieWTW

@speedy-andre:
Ben voor WSL heel benieuwd naar wat je aan het bouwen bent :)
Ook leuk om te zien dat je ook Linux in gedoken bent(wat ik ook uit het wsl forum op kon maken)

Als je hulp nodig hebt, je weet me te vinden ;)

https://www.taltion.nl, https://www.trekhaakkoffer-huren.nl, https://www.fietsendrager-huren.nl, https://www.fietskar-huren.nl


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
@Freemann, wat is WSL?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Freemann
  • Registratie: Januari 2002
  • Niet online

Freemann

CO2 Warmtepomp + VentilatieWTW

Ons logging project voor verschillende omvormers, P1 poort, PVoutput, weather data

WebSolarLog

Wij zouden ook graag pulsen(P1,dinrail), youless, etc, opvangen maar komen handen en voeten tekort om alles te doen en/of op te pakken .....

[ Voor 21% gewijzigd door Freemann op 28-07-2013 11:01 ]

https://www.taltion.nl, https://www.trekhaakkoffer-huren.nl, https://www.fietsendrager-huren.nl, https://www.fietskar-huren.nl


Acties:
  • 0 Henk 'm!

  • Jaco69
  • Registratie: Juli 2005
  • Laatst online: 19-03 20:34
[b]Ons logging project voor verschillende omvormers, P1 poort, PVoutput, weather data

WebSolarLog

Wij zouden ook graag pulsen(P1,dinrail), youless, etc, opvangen maar komen handen en voeten tekort om alles te doen en/of op te pakken .....
't ziet er goed uit. Alleen wat meer informatie over hoe het precies werkt zou helpen om over te schakelen en er aan mee te werken.
Word er direct naar een database gelogd? Op welke manier? Is het bovenop een algemene distributie zoals raspbian?

Ik zelf heb een script dat een Iskra MT171 uitleest en direct naar MySQL logd in aparte databases voor per uur/dag/jaar. Als WebSolarLog ongeveer hetzelfde werkt dan wil ik het wel uit proberen en mijn script daarheen porten. Zou niet veel werk moeten zijn en het scheeld mij mischien weer werk als ik later zonepanelen op me dak neem.

Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Er is ook een beetje hardware (elektronica) nodig om van een (din) energiemeter naar de Rpi te gaan.
WSL logt nu meestal de data die de omvormer aanlevert, echter is een losse din KWHmeter een leuke backup voor als de omvormer de fout in gaat.
Een losse database vullen zou ik prima vinden, als WSL dat zichtbaar zou kunnen maken door een 'device' te kiezen dan komen we een heel eind :)

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
Database logica kan je van mijn github trekken. Jullie hebben gezien wat daarmee gegenereerd wordt.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • maxtrash
  • Registratie: Augustus 2002
  • Laatst online: 22-05 22:17
Devster schreef op dinsdag 09 juli 2013 @ 14:05:
Wat voor RJ11->Serieel stekker heb je gebruikt? Ik heb hem zelf gemaakt op basis van:

http://gejanssen.com/howt.../index.html#mozTocId71758


[...]
ik heb ook de rj11 op pinnen 2,4 en 5 van een db9 connector gesoldeerd. Vervolgens via zo'n ding aangesloten.
Afbeeldingslocatie: http://img.dxcdn.com/productimages/sku_24512_1.jpg
Via cu ziet de output er prima uit, en ook domoticz werkte meteen.
toen ik via usb-devices de info opriep bleek dat er een prolific in zat. Ik heb echter niets gedaan met inverten van RX. Vreemd, maar wel prettig...

code:
1
2
3
4
5
6
7
T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=067b ProdID=2303 Rev=03.00
S:  Manufacturer=Prolific Technology Inc.
S:  Product=USB 2.0 To COM Device
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=pl2303


update: op een of andere manier werkt het niet stabiel in domoticz. Weet niet waar het aan ligt maar na enkele uren hangt domoticz (de rpi is nog gewoon via ssh te benaderen).
Heb ook andere prolific kabels geprobeerd, van vivanco en gembird, maar die werkten helaas niet.

[ Voor 11% gewijzigd door maxtrash op 10-08-2013 19:15 ]


Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Ff omhoog schoppen want ik heb e.e.a. gezien over het uitlezen van mijn Ampy 5227 met een IR leeskop :)
Ik heb een kitje besteld om met mijn Rpi wat meer sensors e.d. te kunnen monitoren.
Het toeval wil dat er een 38KHz IR receiver bij zit en een losse card remote om de Rpi te bedienen.
Ik hoop dat deze IR receiver (printje met 3 pinnen, 0V, 5V en data) geschikt is als leeskop.
Dat er zo'n moeilijk ding als van Volkszaehler nodig is snap ik niet helemaal.
Mijn IR module prik ik zo op het breadboard van m'n Raspberry :P
Het mooiste zou het zijn als ik de data direct naar WSL zou kunnen sturen.
In dit topic staan diverse scripts waarmee het volgens mij mogelijk moet zijn, alleen ben ik zelf een noob wat dat betreft.

[edit]
topic elders
Ik heb een ir transceiver nodig, de Ampy 5227 wil eerst een commando zien voor hij de getallen geeft, net als de meeste meters die volgens iec 62056-21 werken.
Gelukkig heeft de Ampy dezelfde baudrate voor zenden en ontvangen.
Nu nog een transceiver zien te vinden die betaalbaar is en het liefst kant en klaar :)

[ Voor 22% gewijzigd door Speedy-Andre op 06-10-2013 18:17 ]

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • Mr-Leo
  • Registratie: Oktober 2001
  • Laatst online: 07-04 22:56
Mijn optische probe (zie startpost) draait nog steeds probleemloos! De raspberrypi draait nu dus bijna een jaar 24/7 zonder problemen en zonder leesfouten en is dus zeer geschikt voor dit soort taken.

Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Da's wel veel geld voor een vingeroefening :)

Afbeeldingslocatie: http://upload.alibaba.com/wsproduct_repository/upload/135/159/835/657/hz-fileserver-upload1_h8wynvgb.jpg?size=67782&height=366&width=700&hash=61c30f641221d46662d263db0e27f293

Goed spellen leren ze daar nog wel een keer :+
Dit printje zou alles in een moeten zijn, usb voor de rpi en ir zenden + ontvangen bij 38KHz modulatie.
Als dat niet werkt dan is hij nog bruikbaar als usb-serieel of rs485 omzetter.
De led en de fototransistor kunnen met draadjes naar een kop.
Of de pl2303hx chip door de Rpi herkend wordt is de vraag, hij heeft wel windows drivers.
Het ding van Udo is misschien ook een idee, iets duurder maar wel beproefd en incl. kop met ringmagneet.

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • Borreltje
  • Registratie: Januari 2004
  • Laatst online: 22-05 21:49
Dit leek me het beste topic om mijn ervaring met CurlyMo's P1 logscript neer te zetten.
Ik ben sinds gisteren bezig deze aan de gang te krijgen, maar kom niet veel verder.

Als eerste heb ik zijn MinimalPi ( https://github.com/CurlyMoo/MinimalPi ) geprobeerd, maar daar kwam ik helemaal niet verder mee, dus heb ik een schone Wheezy install op een SD-card gezet, en na de installatie van Apache2, MySql, php, en alle benodigde software, ben ik gaan proberen om de twee belangrijke python files van CurlyMo (p1read.py en mysql.py) van zijn P1 project ( https://github.com/CurlyMoo/RaspberryPi-P1-port ) werkend te krijgen.

Het uitlezen van de P1 poort werkt goed en het cache bestand wordt volgens mij goed aangemaakt.
Echter bij het uitvoeren van mysql.py krijg ik een melding:

code:
1
2
3
4
5
6
7
8
Traceback (most recent call last):
  File "./mysql.py", line 18, in <module>
    cur.execute(line)
  File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1242, 'Subquery returns more than 1 row')


Ik ben dus absoluut geen mysql of python kenner, ik doe dit pas een week of drie en leer nog dagelijks.
Na het zoeken op internet krijg ik allemaal oplossingen aangedragen waar ik helemaal geen wijs uit kan :?
Ongetwijfeld ligt dat aan mijn (gebrek aan) kennis, maar ik krijg het dus niet werkend.
Iemand hier misschien nog een idee waar het fout gaat?

Als ik de regels die in het cache bestand staan één voor één ingeef in phpmyadmin, dan werken ze wel, en wordt de betreffende data netjes in de database gezet, dus het lijkt mij dat er ergens in het python bestand mysql.py iets fout gaat, maar ook na het lezen van http://zetcode.com/db/mysqlpython/ ben ik niet in staat de fout te vinden.

iedereen alvast bedankt voor het lezen en meedenken.

Ik hoop dat iemand hier me op weg kan helpen.

*EDIT*
Opgelost! na veel zoekwerk kwam ik erchter dat er een fout zit in het tables.sql bestand van CurlyMo.
de kolom 'name' in de 'devices' tabel was niet uniek, dus er stonden op na twee runs van mysql.py twee dezelfde devices in de tabel, en daar ging het dus fout.

Borreltje.

[ Voor 6% gewijzigd door Borreltje op 21-10-2013 10:59 ]


Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Ik heb een maand geduld nodig gehad voordat bovenstaand printje er was maar nu kan ik oefenen :)
Met de Test1107 windows software uit de TS kan ik mijn Ampy meter zo ver krijgen dat hij data gaat uitspugen via de rode led, die normaal gesproken bij elke W een keer knippert.
Helaas lijkt het printje niet te reageren op de rode led van de Ampy dus hij geeft Tout :/
De leverancier adviseert om half-duplex te gebruiken, maar dat is helaas niet in te stellen of ik mis iets.
Nu zoek ik een manier om het printje 'klaar te zetten' voor ontvangst van data zodat ik kan zien waar hij wel op reageert.
De software draait op XP, dus dat is niet bijzonder en de software praat met Com1.
Er zitten aparte tx en rx leds op dus ik kan eenvoudig zien of er uberhaupt iets binnen komt.

Kleine update, ik moest e.e.a. op de print doorsolderen en toe reageerde hij wel op ir signalen :)
Ik kan nu een terminal starten en je ziet rommel binnenkomen als je met een remote zit te seinen.
Verder reageert hij op de rode led van de Ampy, maar Test1107 lijkt niets te ontvangen.
Ik denk dat hij de print niet omschakelt nadat hij een commando stuurt, dat op zich goed werkt (/?!).
Het lukt me met een terminal niet om met /?! een response van de Ampy te krijgen, ik zal wel iets verkeerd instellen |:(

[ Voor 24% gewijzigd door Speedy-Andre op 10-11-2013 17:00 ]

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Lekker druk dit topic :p
Ik heb inmiddels een Volkszaehler usb r/wkop voor m'n Ampy 5227 binnen.
Op de laptop (met XP) gaat het nog steeds fout met de Ampy, hij leest simpelweg de data die de rode led uitstuurt niet :/
Idem met hyperterminal, tekst echoen lukt met een papiertje maar een tekst bstand met de codes /?! en 000 verzenden levert niets op.
De Ampy reageert niet zoals met het iec1107 programma, daarmee laat ik de Ampy een pulsreeks genereren maar die komt op de eoa manier niet binnen |:(

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Goed, ik heb even wat uitgezocht en ik denk dat ik weet wat er fout gaat.
De rode led in de Ampy 5227 heeft een lichtspectrum van 620 tot 750nm, in de usb head zit een IR fototransistor (SFH309FA) die van 730 tot 1120nm gaat dus ze overlappen elkaar nauwelijks.
Er is ook een SFH309 die van 380 tot 1150nm gaat en dat past veel beter bij een rode led als bron ;)
Het eerder genoemde printje lijkt gevoeliger voor rood licht te zijn omdat een receive ledje knippert als de Ampy iets stuurt, maar misschien is dit te weinig en komt er daarom geen zinnig signaal uit.
Een SFH309 is besteld, dus maar weer een weekje wachten en dan verder testen :P

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • Mr-Leo
  • Registratie: Oktober 2001
  • Laatst online: 07-04 22:56
Ehm, je had het eerder toch over een IR leeskop? IR zie je niet he.. welk rode ledje wil je uitlezen? :)

Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Het is idd van origine een IR leeskop want veel meters hebben een IR led erin.
Mijn Ampy wijkt hierin af, hij ontvangt wel IR licht om hem uit te lezen, maar er zit alleen een rode led in die na een uitleesvraag de data produceert.
Ik kan dat eenvoudig zien gebeuren, want ipv dat de led bij elke Wh verbruik een keer knippert zie je hem opeens ongeveer een seconde lang heel snel knipperen bij een uitleesvraag.
Die uitleesvraag kan ik met een testprogramma uitvoeren, er is een standaard protocol (iec 62056-21) waarmee je elke digitale meter zichzelf kan laten identificeren.

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 17-05 13:54

BlackBurn

One Ring To Rule Them All

Na twee avondjes rommelen heb ik het ook werkend i.c.m. emoncms.

De meeste tijd was ik kwijt aan een goede USB-serial kabel te vinden, heb er drie geprobeerd en uiteindelijk bij een Sitecom uitgekomen welke perfect werkt.

Het scriptje wat ik gebruik is zeer basaal en meer een "proof of concept" incl. debug code, dan dat het serieus genomen moet worden, maar wellicht hebben sommigen er nog iets aan. Overigens flink gespiekt bij http://www.gejanssen.com.

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
import sys
import time
import serial
import httplib

print ("Start")

conn = httplib.HTTPConnection("emoncms.xxxx.breekeenbeen.nl")

ser = serial.Serial()
ser.baudrate = 9600
ser.bytesize=serial.SEVENBITS
ser.parity=serial.PARITY_EVEN
ser.stopbits=serial.STOPBITS_ONE
ser.xonxoff=0
ser.rtscts=0
ser.timeout=20
ser.port="/dev/ttyUSB0"

try:
        ser.open()
except:
        sys.exit ("Fout bij het openen van %s" % ser.name)

cnt=0
while 1:
        while cnt < 20:
                line = ''
        
                try:
                        input = ser.readline()
                except:
                        sys.exit ("Seriele poort %s kan niet gelezen worden." % ser.name)
        
                line = str(input)
                line = line.strip()
        
                if line[0:9] == "1-0:1.8.1":
                        print "Afgenomen daltarief: \t", line[10:23]
                elif line[0:9] == "1-0:1.8.2":
                        print "Afgenomen piektarief: \t", line[10:23]
                #Invoegen teruggegeven & Huidig tarief
                elif line[0:9] == "1-0:1.7.0":
                        print "Huidige verbruik: \t", line[10:20]
                        usage = int(float(line[10:17]) * 1000)
                        print "Huidige verbruik: \t", usage, " watt"
                        url="/input/post.json?json={power:"+str(usage)+"}&apikey=xxx"
                        print url
                        conn.request("POST",url)
                        response = conn.getresponse()
                        print response.status
                        conn.close()
                else:
                        pass    

        #       print(line)
                cnt += 1

        cnt = 0
        time.sleep(10)

try:
    ser.close()
except:
    sys.exit ("Seriele poort %s kan niet gesloten worden." % ser.name )


Afbeeldingslocatie: http://www.progob.nl/emoncms.png

@Jaco69, waar heb jij die "daily hostogram" vandaan, ik kan die optie nergens vinden :(

If it is broken, fix it. If it ain't broken, make it better!


Acties:
  • 0 Henk 'm!

  • Mr-Leo
  • Registratie: Oktober 2001
  • Laatst online: 07-04 22:56
Speedy-Andre schreef op woensdag 20 november 2013 @ 23:40:
Het is idd van origine een IR leeskop want veel meters hebben een IR led erin.
Mijn Ampy wijkt hierin af, hij ontvangt wel IR licht om hem uit te lezen, maar er zit alleen een rode led in die na een uitleesvraag de data produceert.
Ik kan dat eenvoudig zien gebeuren, want ipv dat de led bij elke Wh verbruik een keer knippert zie je hem opeens ongeveer een seconde lang heel snel knipperen bij een uitleesvraag.
Die uitleesvraag kan ik met een testprogramma uitvoeren, er is een standaard protocol (iec 62056-21) waarmee je elke digitale meter zichzelf kan laten identificeren.
Ah ok. Ja ik ken dat testprogramma. Staat in de (lees: mijn) startpost. ;)

Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Afbeeldingslocatie: http://i40.tinypic.com/ta2amp.jpg *O*

Eindelijk resultaat, de SFH309 was inderdaad het probleem!
De codes staan voor ampy45227-614.

Helaas lukt het me niet om met Hterm de Ampy uit te lezen, hij reageert niet op de /?! en 000 commando's.
Misschien is het format fout of een instelling in Hterm, de Ampy reageert er niet op iig :/

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Afbeeldingslocatie: http://i40.tinypic.com/2hrmlqb.jpgAfbeeldingslocatie: http://i39.tinypic.com/358ow1j.jpg

Hehe gelukt! >:)
Eigenlijk wil ik m'n Wattcher tegelijk met de Volkszaehler leeskop gebruiken.
Daarvoor zal ik een ledje toe moeten voegen met transistortrapje om de fototransistor uit te lezen.
Bovenstaand werkt met een W7 laptop die niet continu aan staat, dat kan m'n Raspberry beter denk ik :>
Alleen moet ik wel een grote afstand zien te overbruggen als ik de Rpi niet in de meterkast plaats.
De Rpi draait nu bekabeld op m'n netwerk met WSL, ik wil er nog wel bij kunnen met een monitor en kb.

[edit]
Een rood ledje met 220E weerstandje toevoegen gaat prima, ze zitten in serie en dan parallel aan R2 ;)
T2 is gelukkig sterk genoeg om een extra ledje aan te sturen.
Dat ledje zit met een kabeltje naar de Wattcher leeskop en die werkt nu braaf tegelijk met deze leeskop.
Bij een uitlezing van de Ampy met de laptop zie je wel even een raar getal op de Wattcher maar de tevens gekoppelde Homewizard heeft daar weinig last van omdat hij minder vaak naar de Wattcher kijkt.

Afbeeldingslocatie: http://wiki.volkszaehler.org/_media/hardware/controllers/usb-ir-schreib-lesekopf_stromlaufplan.png?w=600

[ Voor 33% gewijzigd door Speedy-Andre op 03-02-2014 17:40 ]

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Anoniem: 469386

Beste allemaal,
Ik zoek me helemaal te pletter naar een oplossing. Ook in dit forum.
Sinds deze zomer 21 panelen van 255 Wp op het dak. De omvormer van SMA lees ik inmiddels keurig uit met SMASpot op een Rasberry PI. De resultaten gaan zowel rechtstreeks naar pvoutput als ook naar een csv-bestand.
In de meterkast hangt ook een Iskra MT382 slimme meter met p1 poort.

Bij smartmeterdashboard.nl is een zogenaamde usb p1 converterkabel te koop. De mensen achter deze webwinkel geven aan dat deze kabel netjes werkt als deze aangesloten wordt op een raspberry.

Ik ben niet technisch genoeg om zelf kabels in elkaar te solderen. Daar ontbreekt mij het vaste handje, de elektronica-kennis en het geduld voor.
Omdat ik snel resultaat wil gaan boeken vraag ik me af of er tweakers zijn die een pythonscript hebben dat met genoemde kabel (of een soortgelijke variant) de Iskra slimme meter kan uitlezen.

Ik heb hier een tool die csv's uitleest en opslaat in een database om er vervolgens leuke grafiekjes mee te maken. Op dit moment gebruik ik de csv's van slimmemeteruitlezen.nl om additionele verbruiks- en terugleverinformatie naar pvoutput te sturen.

Wie kan mij helpen?

Acties:
  • 0 Henk 'm!

  • Speedfightserv
  • Registratie: September 2004
  • Laatst online: 09:01

30 x Trina 390wp Op SE en Solis. | MHI 3,5kw


  • s441558
  • Registratie: Mei 2002
  • Laatst online: 20-05 20:55
Ik heb met de kabel zoals genoemd in de post hierboven en de volgende website http://www.embezon.nl/index.php/uitlezen-smart-meter-p1 het voor elkaar om met een python script elke 5 minuten de slimme meter uit te lezen. Gebruik nu nog alleen de output naar een een cvs bestand, maar dat is volgens mij wat je zoekt (@arietjens). Zit volgens mij nog een klein foutje in het script, aangezien er bij de totalen een komma verkeerd wordt gezet in het CVS bestand, maar dat is met Excel wel op te lossen.

[ Voor 10% gewijzigd door s441558 op 27-12-2013 17:33 ]

Nefit EnviLine IDU Monoblock E 7 E-S, Boiler 200 L, Buffervat 50L. BQQKees


Acties:
  • 0 Henk 'm!

  • dartheide
  • Registratie: Juli 2003
  • Laatst online: 11-05 20:34
Vraagje aan s441558 en of BlackBurn, hebben jullie geen problemen met het uitlezen van de meterstanden.

Ik spiek ook bij http://www.gejanssen.com. maar ik mis vaak (ongeveer 95%) de gasstanden. Iemand anders ook dit probleem?
Ideeën zijn welkom. :(

Zie mijn output:

[small]2014-01-14 22:46:24,818 INFO stack nr 0 - /ISk5\2ME382-1003
2014-01-14 22:46:24,822 INFO stack nr 1 -
2014-01-14 22:46:24,824 INFO stack nr 2 - 0-0:96.1.1(4B414C37303035303936383335313132)
2014-01-14 22:46:24,825 INFO stack nr 3 - 1-0:1.8.1(01597.739*kWh)
2014-01-14 22:46:24,827 INFO stack nr 4 - 1-0:1.8.2(01543.813*kWh)
2014-01-14 22:46:24,831 INFO stack nr 5 - 1-0:2.8.1(00033.608*kWh)
2014-01-14 22:46:24,833 INFO stack nr 6 - 1-0:2.8.2(00088.708*kWh)
2014-01-14 22:46:24,835 INFO stack nr 7 - 0-0:96.14.0(0002)
2014-01-14 22:46:24,837 INFO stack nr 8 - 1-0:1.7.0(0000.14*kW)
2014-01-14 22:46:24,839 INFO stack nr 9 - 1-0:2.7.0(0000.00*kW)
2014-01-14 22:46:24,843 INFO stack nr 10 - 0-0:17.0.0(0999.00*kW)
2014-01-14 22:46:24,844 INFO stack nr 11 - /ISk5\2ME382-1003
2014-01-14 22:46:24,847 INFO stack nr 12 -
2014-01-14 22:46:24,849 INFO stack nr 13 - 0-0:96.1.1(4B414C37303035303936383335313132)
2014-01-14 22:46:24,850 INFO stack nr 14 - 1-0:1.8.1(01597.739*kWh)
2014-01-14 22:46:24,852 INFO stack nr 15 - 1-0:1.8.2(01543.814*kWh)
2014-01-14 22:46:24,854 INFO stack nr 16 - 1-0:2.8.1(00033.608*kWh)
2014-01-14 22:46:24,856 INFO stack nr 17 - 1-0:2.8.2(00088.708*kWh)
2014-01-14 22:46:24,858 INFO stack nr 18 - 0-0:96.14.0(0002)
2014-01-14 22:46:24,859 INFO stack nr 19 - 1-0:1.7.0(0000.14*kW)[/small]

Acties:
  • 0 Henk 'm!

  • s441558
  • Registratie: Mei 2002
  • Laatst online: 20-05 20:55
Ik mis geen data tot nog toe. Volgens mij loopt hij nu een maand zonder ook maar een keer data te hebben gemist. Hij logt om de 5 minuten elektra en gas om het uur. Ik was ook begonnen met de site van Ge Janssen, maar ben op gegeven moment overgegaan op de scripts van embezon.nl. Was iets meer een kant en klare beschrijving, wat voor een Linux analfabeet toch wel handig is. Tips heb ik verder helaas niet voor je. Ik maak trouwens gebruik van zo'n zelf gesoldeerde kabel met een USB connector uit China, zoals ook bij Ge Janssen op de site staat.

[ Voor 13% gewijzigd door s441558 op 16-01-2014 22:31 ]

Nefit EnviLine IDU Monoblock E 7 E-S, Boiler 200 L, Buffervat 50L. BQQKees


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 10:02
Ik log hier sinds 22 juli onafgebroken via eigen scripts (zie mijn github) en door een hex inverter te gebruiken.

[ Voor 48% gewijzigd door CurlyMo op 16-01-2014 22:32 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Kraay89
  • Registratie: September 2012
  • Laatst online: 08-05 11:00
Wheeee! Leuke verhaaltjes hier hoor... Moet toch maar eens aan de slag bij mijn ouders... die hebben volgens mij een slimme meter van ISKRA hangen en sinds een maand of drie 15 panelen op het dak liggen. Mijn pa had bij de aanleg daarvan gekozen om niet meteen de boel 'online' beschikbaar te hebben via zijn omvormer, onder het motto 'Dat kan kan altijd nog'.

De verhalen hier laten de handjes jeuken!

Acties:
  • 0 Henk 'm!

  • lv0
  • Registratie: Mei 2010
  • Laatst online: 25-12-2022

lv0

dartheide schreef op dinsdag 14 januari 2014 @ 22:58:
Vraagje aan s441558 en of BlackBurn, hebben jullie geen problemen met het uitlezen van de meterstanden.

Ik spiek ook bij http://www.gejanssen.com. maar ik mis vaak (ongeveer 95%) de gasstanden. Iemand anders ook dit probleem?
Ideeën zijn welkom. :(
[
Heb je de oplossing al gevonden?

Heb dezelfde meter als jou.
De fout zit ergens in het script van gej(anssen). Aangezien hij wel altijd gasstanden toont by het opvragen via:
cu -l /dev/ttyUSB0 -s 9600 --parity=none
Het .py script van de site lijkt alleen uurlijke gasstanden door te geven i.c.m. met deze meter, vandaar ws. ook dat jij 95% geen gasstanden hebt ;) .
edit: Aangezien de gasmeter niet 'realtime' is zit er een kruks. Mijn gasmeter rapporteert (net als de jouwe?) eens per uur zijn standen.

Moet er zelf ook achteraan, hoor het graag. Als je wilt laat ik wel weten wanneer ik een script heb kunnen maken/aanpassen?

[ Voor 7% gewijzigd door lv0 op 24-01-2014 00:20 ]


Acties:
  • 0 Henk 'm!

  • Koetjeboe
  • Registratie: Maart 2002
  • Laatst online: 15-05 17:09

Koetjeboe

Boe, zegt de koe

Mja, heb hier een wat ander bestand draaien maar had wel hetzelfde probleem. Het draait hier continue en schrijft na elk bericht van de meter de gegevens in de database. Het 'probleem' dus opgelost door de variabele met de gasstand alleen aan te passen als deze ook daadwerkelijk word doorgegeven ;) Dus als er in een bericht geen gasstand is schrijf ik de laatst bekende stand weg. Bij opstarten van het script haal ik de laatste waardes op zodat ik geen gekke 0 waardes krijg. Als er interesse is kan ik vanavond wel een voorbeeld posten.

Acties:
  • 0 Henk 'm!

  • lv0
  • Registratie: Mei 2010
  • Laatst online: 25-12-2022

lv0

@koetjeboe,
Heb zeker interesse in jouw script, dus als je wilt?
Mooi dat je het probleem zo hebt getackeld.

Acties:
  • 0 Henk 'm!

  • Rob Z
  • Registratie: Mei 2004
  • Laatst online: 22-05 11:33
Edit: vraag gesteld, maar hij doet het inmiddels een beetje :)

Ik probeer een ISKRA ME382 meter uit te lezen. Dat ging niet totdat ik er achter kwam dat mijn RJ11 kabeltje een wat afwijkende kleurvolgorde heeft:
1 nc
2 zwart
3 rood
4 groen
5 geel
6 blauw

[ Voor 86% gewijzigd door Rob Z op 25-01-2014 10:31 ]


Acties:
  • 0 Henk 'm!

  • Koetjeboe
  • Registratie: Maart 2002
  • Laatst online: 15-05 17:09

Koetjeboe

Boe, zegt de koe

lv0 schreef op vrijdag 24 januari 2014 @ 21:01:
@koetjeboe,
Heb zeker interesse in jouw script, dus als je wilt?
Mooi dat je het probleem zo hebt getackeld.
Dit is hoe ik het nu heb, werkt hier heel aardig. Heb even de databasegegevens en de website waar ik ze naar toe schrijf eruit gehaald. Eerste echte pythoncode van mij ooit maar volgens mij is het prima te lezen :P

Naast dit script draaien er nog 2, eentje om het samen te vatten tot 1 record per 5 minuten en 1 script om die data weer naar mijn PiTFT te sturen als mooie grafiekjes.

Python:
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import MySQLdb
import re
import sys
import signal
import serial
import datetime
import time
import urllib
import urllib2

userId = 2
userKey = "foobar"

databaseHost = "localhost"
databaseUser = ""
databasePass = ""
databaseDb   = ""


def getKwh(inputString):
    return int(float(inputString[10:19])*1000)

def getKw(inputString):
    return int(float(inputString[10:17])*1000)

def getGas(inputString):
    return int(float(inputString[2:-2])*100)

def save(cursor, database, dal, piek, dalTerug, piekTerug, gas, verbruik):
    print "SAVE"
    print "dal       " + str(dal)
    print "piek      " + str(piek)
    print "verbruik  " + str(verbruik)
    print "dalterug  " + str(dalTerug)
    print "piekterug " + str(piekTerug)
    print "gas       " + str(gas)
    print 
    data = (dal, piek, dalTerug, piekTerug, gas, verbruik)
    cursor.execute("INSERT INTO EnergieLog SET wanneer = NOW(), elektra_meterstand_dal = %s, elektra_meterstand_piek = %s, teruglever_elektra_meterstand_dal = %s, teruglever_elektra_meterstand_piek = %s, gas_meterstand = %s, moment_verbruik = %s", data)
    database.commit()

    now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    if(userId > 0):
        url = "http://www.***.nl/server/api/?user_id="+str(userId)+"&user_key="+userKey+"&datetime=" + urllib.quote_plus(now) + "&dal="+str(dal)+"&piek="+str(piek)+"&dal_terug="+str(dalTerug)+"&piek_terug="+str(piekTerug)+"&gas="+str(gas)+"&verbruik="+str(verbruik)
        try:
            result = urllib2.urlopen(url)
        except urllib2.URLError, e:
            print e

def getConnection():
    connection = serial.Serial()
    connection.baudrate = 9600
    connection.bytesize=serial.SEVENBITS
    connection.parity=serial.PARITY_EVEN
    connection.stopbits=serial.STOPBITS_ONE
    connection.xonxoff=0
    connection.rtscts=0
    connection.timeout=20
    connection.port="/dev/ttyUSB0"
    connection.open()
    return connection

database = MySQLdb.connect(databaseHost,
                           databaseUser,
                           databasePass,
                           databaseDb)

cursor = database.cursor()

connection = getConnection()

dal = 0
piek = 0
verbruik = 0
dalTerug = 0
piekTerug = 0

cursor.execute("SELECT gas_meterstand FROM EnergieLog WHERE gas_meterstand != 0 ORDER BY id DESC LIMIT 1")
gas = int(cursor.fetchone()[0])
gasNext = False
lineCount=0

def exitSignal(signal, frame):
    connection.close()
    print "Einde"
    sys.exit(0)
signal.signal(signal.SIGINT, exitSignal)

while True:
    line = str(connection.readline()).strip()
    
    if('0-0:96.1.1' in line):
        if(verbruik > 0):       
            save(cursor, database, dal, piek, dalTerug, piekTerug, gas, verbruik)

    if('1-0:1.8.1' in line):
        dal = getKwh(line) 
    if('1-0:1.8.2' in line):
        piek = getKwh(line) 
    if('1-0:1.7.0' in line):
        verbruik = getKw(line) 

    if('1-0:2.8.1' in line):
        dalTerug = getKwh(line) 
    if('1-0:2.8.2' in line):
        piekTerug = getKwh(line) 

    if(gasNext == True):
        gas = getGas(line)
        gasNext = False

    if('0-1:24.3.0' in line):
        gasNext = True

[ Voor 4% gewijzigd door Koetjeboe op 26-01-2014 14:09 ]


Acties:
  • 0 Henk 'm!

  • brambo123
  • Registratie: December 2006
  • Laatst online: 09:09
Ik heb sinds juni ook een slimme meter.
Na wat zoekwerk heb ik toen ook een Raspberry PI aangesloten direct op de gpio port met paar weerstandjes en een transistor.
Aangezien ik het wat netter wil hebben en een vriend van me het zelfde wil zit ik er aan te denken om printplaatjes te laten maken.
Als ik zo zit te rekenen zit niet eens aan €0,50 per printplaat excl. rj11 snoertje.
Is er hier toevallig ook animo voor?

Acties:
  • 0 Henk 'm!

  • lv0
  • Registratie: Mei 2010
  • Laatst online: 25-12-2022

lv0

Koetjeboe schreef op zondag 26 januari 2014 @ 14:02:
[...]


Dit is hoe ik het nu heb, werkt hier heel aardig. Heb even de databasegegevens en de website waar ik ze naar toe schrijf eruit gehaald. Eerste echte pythoncode van mij ooit maar volgens mij is het prima te lezen :P

Naast dit script draaien er nog 2, eentje om het samen te vatten tot 1 record per 5 minuten en 1 script om die data weer naar mijn PiTFT te sturen als mooie grafiekjes.
Tnx! Ben ook net in Python gedoken en met jouw code kom ik zeker een stap verder!

Acties:
  • 0 Henk 'm!

  • FicoF
  • Registratie: April 2005
  • Laatst online: 07:44
Na wat zoeken hier maar eens vragen. Is er een mogelijkheid om water en elektra te meten met een Pi? Dan niet via de slimme meter, maar een enkele WCD + waterleiding. Gaat namelijk om een E-boiler waarvan ik het verbruik graag in kaart wil brengen.

Acties:
  • 0 Henk 'm!

  • franssie
  • Registratie: Februari 2000
  • Laatst online: 00:25

franssie

Save the albatross

brambo123 schreef op zondag 26 januari 2014 @ 19:42:
Ik heb sinds juni ook een slimme meter.
Na wat zoekwerk heb ik toen ook een Raspberry PI aangesloten direct op de gpio port met paar weerstandjes en een transistor.
Aangezien ik het wat netter wil hebben en een vriend van me het zelfde wil zit ik er aan te denken om printplaatjes te laten maken.
Als ik zo zit te rekenen zit niet eens aan €0,50 per printplaat excl. rj11 snoertje.
Is er hier toevallig ook animo voor?
Ik heb sinds vandaag een slimme meter met P1 poort. Aangezien ik geen bedraad internet in de schuur heb waar de meter hangt wil ik via WIFI, de rPI is (ik heb er twee) dan al snel iets wat voor de hand ligt om te gebruiken, dus zo'n printje is misschien wel makkelijk (kan ik dan samen met de rPI in een mooi doosje wegbouwen) maar op gaatjesprint moet dat toch ook wel lukken met die paar componenten? Maar als je ze laat maken, heb ik interesse.

Ik moet sowieso nog op zoek naar de schema's, meeste componenten heb ik denk ik wel - de software zal nog een uitdaging worden maar daar ga ik wel achter komen zodra ik dit topic een beetje uitheb,

franssie.bsky.social | 🎸 Niets is zo permanent als een tijdelijke oplossing | Een goed probleem komt nooit alleen | Gibson guitar Fender Guitar God Damn Guitar


Acties:
  • 0 Henk 'm!

Anoniem: 211986

Is er inmiddels al een beginners versie beschikbaar. Ik heb de hardware draaien maar kom niet echt uit de software, iemand die mij kan helpen met een HOW TO en eventuele de juiste software o.i.d.

Ik heb de image van Curlymo al gedownload en op SD gezet, maar bij het editen van de cmdline.txt gaat het al fout, document is niet leesbaar

Acties:
  • 0 Henk 'm!

  • Venxir
  • Registratie: Augustus 2001
  • Laatst online: 22-05 11:00
Ik gebruik dit topic voor een vraag die hier exact thuis hoort :).

Ik heb een C# mono programma geschreven voor mijn RaspBerry die mijn Landis E350 P1 poort kan uitlezen, helaas werkt het niet want ik ontvang nooit data terug. Het connecten en schrijven gaat zonder foutmeldingen.

Ik ben begonnen door deze(http://gejanssen.com/howto/Slimme-meter-uitlezen/index.html) uitleg te volgen en hierin heb ik geen enkel probleem om te communiceren met mijn slimme meter. Toch in mijn eigen programma wil het gewoon niet lukken en na 2 avonden proberen zie ik het licht niet meer. Nu kan ik wel de output van een python scriptje oppakken, maar dat is lang niet zo netjes als het helemaal zelf afhandelen in code.

Dit is mijn code, wie o wie heeft een tip of oplossing om mij op weg te helpen?

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
class Program
    {
        static void Main(string[] args)
        {
            try
            {
                SerialPort sp = new SerialPort("/dev/ttyUSB0", 9600, Parity.Even,7,StopBits.One);
                sp.DataReceived += port_OnReceiveDataz;
                sp.ReadTimeout = 400;
                sp.Open();
                Console.WriteLine("verbinding open");
                sp.WriteLine("/?!");
                Console.WriteLine("schrijfactie gedaan");
                Console.ReadLine();
                sp.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("Het gaat fout: {0}", ex.Message));
            }
        }

        private static void port_OnReceiveDataz(object sender,
                                  SerialDataReceivedEventArgs e)
        {
            SerialPort spL = (SerialPort)sender;
            byte[] buf = new byte[spL.BytesToRead];
            Console.WriteLine("DATA RECEIVED!");
            spL.Read(buf, 0, buf.Length);
            foreach (Byte b in buf)
            {
                Console.Write(b.ToString());
            }
            Console.WriteLine();
        }
    }

If it aint broke, fix it till it is!


Acties:
  • 0 Henk 'm!

  • Proton_
  • Registratie: November 2011
  • Laatst online: 10:20

Proton_

Moderator Wonen & Mobiliteit 

Team Welles

Mono heeft geen complete implementatie, http://www.mono-project.com/HowToSystemIOPorts gelezen?

Dingen die je kan proberen:
* Sanity check door rx en tx aan elkaar te zetten; je moet dan ontvangen wat je stuurt
* In plaats van het DataReceived event de ReadByte() of ReadLine() functie gebruiken
--edit--
ik zie dat dat mogelijk voor een oudere versie Mono geldt; als het intussen wel geïmplementeerd is is het probleem waarschijnlijk dat het event gequeued wordt en dat Main() returnt zonder het af te handelen; je hebt geen synchronization context die het event asynchroon afhandelt dus wordt geprobeerd dat op de main thread te doen. Bovenstaande dingen zijn dan nog steeds zinnig om te proberen :)

[ Voor 42% gewijzigd door Proton_ op 19-02-2014 18:13 ]

Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.


Acties:
  • 0 Henk 'm!

  • Venxir
  • Registratie: Augustus 2001
  • Laatst online: 22-05 11:00
Thanks voor je snelle reactie:
Ik had die site gevonden en op basis daarvan ook een nieuwe versie geschreven, helaas leest deze ook nog niks.

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
        public static void Main(string[] args)
        {
            Thread writeThread = new Thread(new ThreadStart(WriteThread));
            Thread readThread = new Thread(new ThreadStart(ReadThread));
            readThread.Start();
            Thread.Sleep(200);        // TODO: Ugly.
            writeThread.Start();

            Console.ReadLine();
            readThread.Abort();
        }

        private static void WriteThread()
        {    // get port names with dmesg | grep -i tty
            SerialPort sp2 = new SerialPort("/dev/ttyUSB0", 9600, Parity.Even,7,StopBits.One);
            sp2.Open();

            if (sp2.IsOpen)
                Console.WriteLine("WriteThread(), sp2 is open.");
            else
                Console.WriteLine("WriteThread(), sp2 is open.");

            sp2.Write("/?\r\n"); // Is dit commando eigenlijk wel nodig, RTS hangt namelijk aan 5v
            sp2.Close();
        }
        private static void ReadThread()
        {
            SerialPort sp = new SerialPort("/dev/ttyUSB0", 9600, Parity.Even, 7, StopBits.One);

            sp.Open();

            if (sp.IsOpen)
                Console.WriteLine("ReadThread(), sp Opened.");
            else
                Console.WriteLine("ReadThread(), sp is not open.");

            while (true)
            {
                Thread.Sleep(200);
                if (sp.BytesToRead > 0)
                {
                    Console.WriteLine(sp.ReadByte());
                }
            }
        }
    }

If it aint broke, fix it till it is!


Acties:
  • 0 Henk 'm!

  • Proton_
  • Registratie: November 2011
  • Laatst online: 10:20

Proton_

Moderator Wonen & Mobiliteit 

Team Welles

Ik ben benieuwd wat de console uitvoer was; de poort wordt tweemaal geopend en dat werkt niet.

Wat is de uitvoer van onderstaande variant?

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using(SerialPort sp = new SerialPort("/dev/ttyUSB0", 9600, Parity.Even,7,StopBits.One))
                {
                    sp.ReadTimeout = 400;
                    sp.Open();
                    Console.WriteLine("verbinding open");
                    sp.WriteLine("/?!");
                    Console.WriteLine("schrijfactie gedaan");
                    Console.WriteLine("Gelezen:{0}", sp.ReadLine());
                    Console.ReadLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("Het gaat fout: {0}", ex.Message));
            }
        }
    }

Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.


Acties:
  • 0 Henk 'm!

  • Venxir
  • Registratie: Augustus 2001
  • Laatst online: 22-05 11:00
Ik had idd die write weg gedaan aangezien hij mij overbodig leek. Samen met jouw tips kwam ik tot de oplossing en dat was "sp.DtrEnable = true" gebruiken :)

Nu leest hij netjes data uit :D

If it aint broke, fix it till it is!


Acties:
  • 0 Henk 'm!

  • M.vanderbos
  • Registratie: Januari 2014
  • Laatst online: 10-01 21:23
Ben al een tijdje aan het prutsen en heb het e.e.a. al in de lucht.
Alleen de output van mijn p1 poort is een beetje raar.
Ik heb 2 versies van rs232 naar usb verloop geprobeerd. (Emininent) had problemen met een geinverteerd rxd signaal.
De 2e een sitecom lijkt daar geen last van te hebben, Er komt wel info binnen om de 10 seconden maar het lijkt een beetje scrambled.

Hca/ISk5\2MT382-1003

0-0:96.1.1(5A424556303035303735353630353131)
1-8:1.8.1(02432.208*kWh)
1-8:1.8.2(0248;.003*kWh)
1-0:2.8.1(00000.001*kWh)
1-0:2.8.2(00000.001*=/-jRJ2r
#sBKk
1-0:1.7.0(0000.43*k)
1-0:2.7.0(0808.08*kW)
0-0:17.0.0(099N R[W)
0-0:96.3.10(1)
0-0:96.13.1()
0-0:96.13.0()
0-S#s
sBJk
0-1:96.1.0(323431353730303239323035383936313njj
S#srB
#"
J(6)KCj K.
S#.{.1)(m&-L Jr2*Jk
0-1:24.4.0(1)
!


Iemand suggesties?

Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Heeft iemand een idee hoe ik een usb naar serial (IR leeskop) ding kan benaderen met Wheezy op de Rpi?
Het ding wordt herkend als CP210x uart bridge, maar ik krijg steeds disconnected from ttyUSB0 waarna hij het device nummer ophoogt en het nog 4x probeert met hetzelfde resultaat ;w

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • M.vanderbos
  • Registratie: Januari 2014
  • Laatst online: 10-01 21:23
Mijn Probleem weten te reduceren tot minimaal aantal errors door mijn serieel naar 9600baud,none parity en 2 stopbits te zetten.

Gaat volgens mij duidelijk beter om met de sitecom dan standaard cu -l

Acties:
  • 0 Henk 'm!

  • HansK3300
  • Registratie: Januari 2014
  • Laatst online: 11-02-2024
Als je een "10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light" hebt, dan heeben we het over hetzelfde. Vraag: op welke meter zit de IR kop? Er zijn meters die continue output geven, en ik kan me voorstellen dat de IR-kop die data wil afleveren, dat zijn output buffer volraakt en hij de disconnect als foutafhandeling gebruikt. Bij mij zit de IR-kop op een ISKA-ME162, die je eerst een vraag moet stellen voor hij antwoordt. Dus welke meter heb je?

Hans

Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Ik heb een Ampy 5227F-E, deze geeft idd alleen data als je hem dat vraagt.
Mijn leeskop heeft de omschrijving die je geeft.
Wat misschien een probleem kan zijn is dat de led op de Ampy bij elke Watt een keer knippert en dat dit de disconnects geeft.
Op een windows pc kan je met hyper terminal de codes /?! en 000 sturen waarna hij de data geeft.
Ook draait Websolarlog op mijn Rpi en die kan in principe de leeskop aanroepen, echter loopt dat spaak doordat de leeskop al disconnected is voor je hem benadert.
Nu ben ik geen Linux goeroe dus het kan best zijn dat ik dingen niet goed heb gedaan met rechten oid.

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • HansK3300
  • Registratie: Januari 2014
  • Laatst online: 11-02-2024
Dus als ik het goed begrijp doet hij het op een Windows PC wel goed? Is het niet een voedings-probleem van de Rpi? De Rpi kan niet veel voeding leveren aan dingen die aan de USB bus hangen. Ik heb de IR-kop op een aparte USB hub met eigen voeding (samen met de Wifi dongle en de Bluetooth dongle)

Hans

Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Ik gebruik een powered usb hub vanwege ook een bt en wifi dongel, de kabel naar de meterkast is wel lang.
Toch denk ik dat de communicatie wel goed gaat, anders herkent hij de leeskop immers niet.
Daarbij hoeft de leeskop niet sneller dan 300Bd te gaan.
Vanwege andere taken kan ik de Rpi niet even snel verplaatsen, maar ik ga het nog eens met een kortere verbinding proberen.

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • Speedy-Andre
  • Registratie: Maart 2002
  • Laatst online: 10:10

Speedy-Andre

Sony ZL, XA, Nokia XR20

Ik ben een (flinke :P ) stap verder, dankzij Minicom kan ik de Ampy nu uitlezen zoals met hyper terminal :*)
In Minicom kan je opties als line-delay toevoegen, als ik een bestand (commando's) met ascii verzend dan blijkt het te werken!

/AMP45227-0614
`````````````````````````````
0.00.6.1(16232309)
2.18.1(008088.10)
2.18.2(005782.65)
2.18.0(013870.75)
3.28.1(000423.21)
3.28.2(000983.35)
3.28.0(001406.56)
!-`````````````````

De ` zie ik elke keer als de rode led op de Ampy knippert (bij elke Wh).
Hopelijk kan ik dit straks met Websolarlog betrouwbaar uitlezen, dan is loggen naar pvoutput ook mogelijk :)

PVoutput 2x Toshiba Daiseikai 8 3,5kW, SWW Atlantic Explorer V3 200l. Gasloos aug 2016, 8620Wp, Monoblock Panasonic J 7kW


Acties:
  • 0 Henk 'm!

  • M.vanderbos
  • Registratie: Januari 2014
  • Laatst online: 10-01 21:23
CurlyMo,

Jou manier van verwerken van data ziet er mooi uit via highstock, maar net als sommigen heb ik wat problemen met het implementeren ervan.
Ik draai gewoon Raspbian en de p1read.py draait ook gewoon stabiel en schrijft alles naar een queries.sql in een cache folder.
Maar ik krijg het niet voor mekaar dat de mysql.py deze doorzet naar de Mysql server.
Alles draait gewoon lokaal op de rbpi.

Ongetwijfeld gebrek aan kennis, maar ik zie door de bomen het bos even niet meer...

Acties:
  • 0 Henk 'm!

  • c-nan
  • Registratie: Juni 2008
  • Laatst online: 09:34
Zojuist ook een Raspberry aan de P1 gehangen, maar lijkt niet helemaal te werken:

code:
1
2
pi@raspberrypi ~ $ cu -l /dev/ttyUSB0 -s 9600 --parity=none
Connected.


Verder gebeurd er niets.

Acties:
  • 0 Henk 'm!

  • M.vanderbos
  • Registratie: Januari 2014
  • Laatst online: 10-01 21:23
Denk dat je request pin niet correct is aangesloten of geen 5v levert.
Pin 4 op je rs232. Pin 1 van je rj11

Acties:
  • 0 Henk 'm!

  • franssie
  • Registratie: Februari 2000
  • Laatst online: 00:25

franssie

Save the albatross

Sowieso is het denk ik handig om duidelijk te beschrijven hoe je de rPi aan de meter gehangen hebt? Welke RS232 heb je gebruikt bijvoorbeeld en hoe heb je de pinnen geteld (met name aan de P1 zijde vond ik de telling niet intuitief, ging tot 6 oid).

franssie.bsky.social | 🎸 Niets is zo permanent als een tijdelijke oplossing | Een goed probleem komt nooit alleen | Gibson guitar Fender Guitar God Damn Guitar


Acties:
  • 0 Henk 'm!

  • c-nan
  • Registratie: Juni 2008
  • Laatst online: 09:34
M.vanderbos schreef op vrijdag 04 april 2014 @ 15:02:
Denk dat je request pin niet correct is aangesloten of geen 5v levert.
Pin 4 op je rs232. Pin 1 van je rj11
Oh, ik heb gewoon een serial -> USB en serial -> RJ11 gebruikt die ik nog had liggen, heb de pinnen niet nagekeken of veranderd.

Misschien heeft de rPi niet voldoende stroom? De rPi krijgt zijn power via USB zonder extra voeding. Netwerk via een wifi dongel.

/edit
Het ligt niet aan de rPi. Ik heb net een laptop aangesloten en daarmee hetzelfde. Lijkt dus iets met de kabels te zijn.

Aan welke kabel en welke kant moet ik iets doen? Aan de RJ11 kop kant, aan de seriele kant van deze kabel of iets met de USB -> serieel converter?

/edit
Het was dus inderdaad de kabel. Het lijkt allemaal te werken nu :)

[ Voor 26% gewijzigd door c-nan op 05-04-2014 15:52 ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 09:39
Hoe nauw komt het qua chipset van de USB > Serial converter? Ik weet dat FTDI niet lekker werkt.

Heb hier namelijk eentje van eBay, en die heeft als id: 1a86:7523 en identificeert zichzelf als QinHeng HL-340

Acties:
  • 0 Henk 'm!

  • ikookmaar
  • Registratie: Juni 2014
  • Laatst online: 18-04 10:04
Ik probeer op mijn Rpi het P1.py script uit P1 datalogger V7 van Smart Meter Dashboard aan de praat te krijgen.
Script vraagt om een argument voor de compoort. Script zou er ook een moeten voorstellen, maar doet dat in mijn geval dus niet. Accepteert /dev/ttyUSB0 ook niet (vraagt dan opnieuw om de juiste compoort op te geven). Wat doe ik fout?

UPDATE: met wat proberen toch gelukt. Als com poort 1 opgegeven, Script geeft als output nu netjes dat het om /dev/ttyUSB0 gaat. P1 Telegrammen verschijnen ook netjes in beeld.

Mijn uiteindelijke bedoeling is om de gegevens te uploaden naar PVoutput, waar ik op dezelfde Rpi met Omnik-Datalogger ook al de opbrengsten van mijn PV installatie bij hou.
Of is daar misschien iets beters voor?

UPDATE: Uploaden van het verbruik naar PVoutput lijkt nu deels te werken: Power Used wordt nu geregistreerd. Echter de al met /Omnik-Data-Logger geregistreerde opbrengst (productie) wordt er overschreven door de door Smart Meter Dashboard gelogde export (teruglevering). Die is natuurlijk vaak minder vanwege direct gebruik. Weet iemand hoe ik die kan uitsluiten, of de data van beide loggers correct samen kan voegen?
weebl15 schreef op dinsdag 02 juli 2013 @ 17:29:
Ik lees sinds vorige week nu ook onze slimme meter uit met een rpi. Inclusief klein python scriptje om aan het eind van de dag import/export en consumptie van stroom te uploaden naar pvoutput.org :).
@weebl15
Hoe dan precies? Zou je je scriptje willen publiceren?

b.v.d.

[ Voor 36% gewijzigd door ikookmaar op 23-06-2014 11:31 ]


Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
ThinkPadd schreef op zondag 22 juni 2014 @ 09:42:
Hoe nauw komt het qua chipset van de USB > Serial converter? Ik weet dat FTDI niet lekker werkt.

Heb hier namelijk eentje van eBay, en die heeft als id: 1a86:7523 en identificeert zichzelf als QinHeng HL-340
De recentere FTDI chipsets werken anders ook prima op de Raspberry Pi.

Ik heb zelf sinds twee maanden de volgende kabel in gebruik met de FT232RL chip: http://www.antratek.nl/ft...-serieel-ttl-kabel-5v-ttl. Kwestie van zelf een RJ11 stekkertje aanknijpen en gaan. Ook erg handig dat je met deze kabel de RXD kan inverteren (dat is nodig voor mijn meter) door de kabel simpelweg daarvoor te programmeren met een configuratieprogramma.

Over deze kabel krijg ik nu al 2 maanden elke 10 seconden keurig een telegram binnen. Is gewoon 100% stabiel, nog geen enkele vastloper of andere problemen gehad :)

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 09:39
Ik ben hier ook mee bezig, krijg binnenkort een slimme meter.

Maar het wil niet echt lukken... Probeer de image van CurlyMo op een 2GB microSD kaartje (via microSD > SD converter) te schrijven.

Heb het geprobeerd onder Windows met win32diskimager, en onder OSX met dd. Maar iedere keer zelfde resultaat, namelijk dat de RPi niet opstart, ik zie alleen dat gekleurde scherm (wat erop duidt dat de kernel.img niet goed geladen wordt).

Als ik cmdline.txt op Windows open dan zie ik ook alleen maar garbage tekens....

Ook nog met een ander 8GB microSD kaartje geprobeerd, same story... Image corrupt?
MD5 hash: 47ce591c580a033bca373cbc63cc98d3


HELP! :p

Acties:
  • 0 Henk 'm!

  • Bozevkwa
  • Registratie: Augustus 2008
  • Laatst online: 22-05 18:41

Bozevkwa

The Falcons have landed

ThinkPadd schreef op woensdag 02 juli 2014 @ 11:05:
Ik ben hier ook mee bezig, krijg binnenkort een slimme meter.

Maar het wil niet echt lukken... Probeer de image van CurlyMo op een 2GB microSD kaartje (via microSD > SD converter) te schrijven.

Heb het geprobeerd onder Windows met win32diskimager, en onder OSX met dd. Maar iedere keer zelfde resultaat, namelijk dat de RPi niet opstart, ik zie alleen dat gekleurde scherm (wat erop duidt dat de kernel.img niet goed geladen wordt).

...

HELP! :p
Wat je kunt proberen is op de volgende parameter op te nemen in de config.txt file:
code:
1
boot_delay=1

Dat heeft bij mij al meerdere malen een issue met het gekleurde scherm opgelost.

"What day is it?" asked Pooh. "It's today" squeaked Piglet. "My favorite day" said Pooh.


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 09:39
Will try, thanks :)

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 09:39
Net even gekeken, maar config.txt en cmdline.txt bevatten allebei alleen maar garbage als ik ze probeer te openen in Sublime Text 2 (OSX).

M'n MD5 matcht wel met de MD5 die op GitHub bij de download is gegeven (op 'i' klikken).

[ Voor 46% gewijzigd door ThinkPad op 06-07-2014 12:22 ]


Acties:
  • 0 Henk 'm!

  • ZuinigeRijder
  • Registratie: Oktober 2009
  • Niet online
ThinkPadd schreef op zondag 06 juli 2014 @ 12:06:
Net even gekeken, maar config.txt en cmdline.txt bevatten allebei alleen maar garbage als ik ze probeer te openen in Sublime Text 2 (OSX).

M'n MD5 matcht wel met de MD5 die op GitHub bij de download is gegeven (op 'i' klikken).
Ik neem aan dat je de procedure hier beschreven gevolgd hebt?

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 09:39
Ja heb ik gedaan.

Acties:
  • 0 Henk 'm!

  • Bozevkwa
  • Registratie: Augustus 2008
  • Laatst online: 22-05 18:41

Bozevkwa

The Falcons have landed

ThinkPadd schreef op zondag 06 juli 2014 @ 12:06:
Net even gekeken, maar config.txt en cmdline.txt bevatten allebei alleen maar garbage als ik ze probeer te openen in Sublime Text 2 (OSX).
Vreemd :?
Deze files zouden gewoon normaal leesbaar moeten zijn (zijnde tekst files).

En wat krijg je als je de SD kaart in een Windows machine duwt en ze opent met Notepad++?

"What day is it?" asked Pooh. "It's today" squeaked Piglet. "My favorite day" said Pooh.


Acties:
  • 0 Henk 'm!

  • Eduardo M
  • Registratie: Mei 2014
  • Laatst online: 23:02
Goedenavond,

Mag ik even advies vragen op dit zeer gewaardeerde forum?

Ik heb sinds een paar maanden zonnepanelen liggen op mijn dak. Op zoek naar een (betere) logging voor mijn Growatt omvormer stuitte ik op dit topic:

http://energiecommunity.e...d-naar?xg_source=activity

Ik heb dit met enige moeite aan de praat gekregen en log nu via de Raspberry PI elke 5 minuten naar PVOutput.

Een volgende stap in het loggen is het uitlezen van de P1 poort van mijn slimme meter, waarbij ik, gebruik makend van mijn Raspberry PI, de data ook wil uploaden naar PVOutput. Ik heb inmiddels behoorlijk wat afgelezen, maar kom zoveel info tegen dat ik door de bomen het bos niet meer zie.

Kan iemand mij adviseren hoe ik dit het beste kan inregelen? Ben helaas geen Linux expert, dus als het even kan in de vorm van een how to...

Acties:
  • 0 Henk 'm!

  • s441558
  • Registratie: Mei 2002
  • Laatst online: 20-05 20:55
Slimme meter uitlezen met de raspberry staat o.a. hier uitgebreid beschreven.

http://gejanssen.com/howto/Slimme-meter-uitlezen/

http://www.embezon.nl/index.php/uitlezen-smart-meter-p1

De laatste site is iets eenvoudiger, omdat hier een script kant en klaar op staat. Werkt perfect. Je kan loggen naar een mysql database.

Vervolgens kan je met bijv. met een python script data doorsturen naar PVOutput. Bedenk wel of je wel wilt dat je stroom verbruik op PVOutput komt. Een kwaadwillende kan er uit afleiden wanneer je thusis bent

Nefit EnviLine IDU Monoblock E 7 E-S, Boiler 200 L, Buffervat 50L. BQQKees


Acties:
  • 0 Henk 'm!

  • PAL86
  • Registratie: Februari 2011
  • Laatst online: 22-05 22:07
Probeer naar aanleiding van deze thread ook mijn Meter uit te lezen (Landis Gyr E350) maar krijg vreemde output. Heb een "PL2303 USB naar UART TTL" gekocht en deze aangesloten via een RJ11 stekker op de P1 port.

Mijn output is als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
pal@raspberrypi ~ $ cu -l /dev/ttyUSB0 -s 9600 --parity=none
Connected.
#´òËfff2ÖV6v2r6r6r6r6r6r6r6rV)Vi6´dë^4Vv6I¼+9=R{´dÛ^I"6VR!%Öi6´dk^#+
                                                                    !%Öi6´dÛ^#+
                                                                               !%Ö%
#Éû¯=Rû´2û¯#f!Q)Vi6´2û¯#+
+_+9=Vû##öëZJV%          +9=V{$46û¯
#f´òk)V%
#´òËfff2ÖV6v2r6r6r6r6r6r6r6rV)Vi6´dë^4Vv6¼+9=Rû´dÛ^IVy{+möÖykZ^%±IÛF-­È­9=mVRV´2Ö)V%±I»F/+9=+V("=TOY"meT|IìRÖe½Vû
                                                    ".VR!%Öi6´dë^#+
                                                                   !%Öi¶´d[^#+
                                                                              !%Ö%


Wat ik begreep is dat de E350 geen invert signaal verstuurd; ligt dit aan mijn kabel? of een instelling op mijn rPi? (overigens krijg ik dezelfde gegevens binnen via Windows 7, Putty)

Acties:
  • 0 Henk 'm!

  • Aegle
  • Registratie: November 2013
  • Laatst online: 23:56
Het lijkt alsof je een verkeerde baudrate hebt ingesteld.

33 x ET Solar 270Wp = 8910Wp @ SMA Sunny TriPower STP 8000TL-20 Live: PVOutput


Acties:
  • 0 Henk 'm!

  • PAL86
  • Registratie: Februari 2011
  • Laatst online: 22-05 22:07
Zowel met 2400 als met 4800 krijg ik dezelfde soort berichten. 115200 geeft totaal geen resultaat. Zijn er nog andere ideeën?

Acties:
  • 0 Henk 'm!

  • geoffrey_s
  • Registratie: Augustus 2014
  • Laatst online: 19-12-2020
Hoi,

ik heb de boel aan de praat gekregen met een raspberry pi, de blauwe USB2Serial en een universele Serial2RJ45 connector....

als ik via: cu -l /dev/ttyUSB0 -s 9600 --parity=none
de P1 poort uitlees, krijg ik nette output, als ik echter via de python scripts van http://gejanssen.com/howt...-uitlezen/#mozTocId404422

of

http://www.embezon.nl/index.php/uitlezen-smart-meter-p1

probeer uit te lezen krijg ik rommel binnen:

('DSMR P1 uitlezen', '1.0')
Control-C om te stoppen
Pas eventueel de waarde ser.port aan in het python script
��M�5�M�AB��0000�9�90�

0-0:96.�.�(393�393635353�30�0�0�0�0�0�0�0�0��
�-0:�.�.�(05090.�0����詍
�-0:�.�.�(066��.66����詍
�-0:�.�.�(00000.000���詍
�-0:�.�.�(00000.000���詍
0-0:96.��.0(000���
�-0:�.�.0(0000.3���ש�
�-0:�.�.0(0000.00��ש�
0-0:��.0.0(999�A��
0-0:96.3.�0(���
0-0:96.�3.�(��
0-0:96.�3.0(��
0-�:96.�.0(3�3�303�3�30303�3�303333363�3�3�3���
0-�:��.�.0(03��
0-�:��.3.0(��0�06��0000�(0��(60�(��(0-�:��.�.0�(�3��
(03���.3�5��
0-�:��.�.0(���
!�


iemand enig idee??? lijkt een character set ding te zijn, maar not sure....

Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
PAL86 schreef op woensdag 06 augustus 2014 @ 17:35:
Zowel met 2400 als met 4800 krijg ik dezelfde soort berichten. 115200 geeft totaal geen resultaat. Zijn er nog andere ideeën?
Volgens mij heb je voor die meter een andere kabel / constructie nodig. Zie http://www.smartmeterdash...ieuweslimmemetersinomloop

Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 08:12

Compizfox

Bait for wenchmarks

Ik ben geinteresseerd om mijn stroommeter uit te lezen met een Raspberry Pi, maar weet nog niet precies wat ik nodig heb. Er hangt hier een ISKRA ME162.

Afbeeldingslocatie: http://tweakers.net/ext/f/IA3rWB3qUuTTfgFBDr4Dp7Cr/thumb.jpg

Volgens mij zit hier geen P1-poort op. Wel zit er een optische verbinding op, lijkt het. Is het mogelijk deze meter daarover uit te lezen? Zo ja, wat heb ik daar precies voor nodig?

Bestaat er ook nog mooie software speciaal voor dit doel?

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Die heeft zo te zien alleen een pulsuitgang met 1000 pulsen per kWh, is dat inderdaad een led? Indien je die niet ziet knipperen, kijk er dan eens naar door een digitale camera (van een mobieltje bijv.).

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 08:12

Compizfox

Bait for wenchmarks

Ja, er zit ook een ledje op die knippert in het zichtbare spectrum, maar dat is niet waar ik op doelde met "optische interface".

Er zit namelijk linksboven een IEC 62056 infrarood optische interface op. Mijn vraag is of dit een veelgebruikte/praktische manier is om het verbruik te loggen. Of is dat veel te lastig en kan ik beter een pulsteller kopen die de ledpulsen telt?

Ik heb natuurlijk al de Youless gevonden maar dat lijkt me toch een beetje te duur en te 'kant-en-klaar'. Je blijft wel Tweaker natuurlijk :P

[ Voor 14% gewijzigd door Compizfox op 06-08-2014 20:50 ]

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Als je de knipperende led wil aflezen, dan heb je o.a. een photodiode of phototransistor nodig met type 3296 potmeter voor het afstellen daarvan, die 3296 potmeters zijn van het soort waarbij je heel wat rondjes moet draaien om de waarde omhoog/omlaag te krijgen. Nauwkeurig in te stellen dus :) Met een LM393P zou je er een logische 1 en 0 van kunnen laten maken.
Kant en klare module voor dat doel: http://www.dx.com/p/1-cha...e-for-arduino-blue-151224 , al kun je dus zelf zoiets maken mbv een sensor, LM393P, een paar weerstandjes en een potmeter. Heb een circuit in Multisim staan mocht je geïnteresseerd zijn ;) , moet die alleen nog IRL bouwen en aan de CNY70-sensor voor de draaischijfmeter hangen. Maar in simulatie werkt het.


Wat betreft die IR interface, leesvoer: http://forum.arduino.cc/index.php/topic,147239.0.html

[ Voor 52% gewijzigd door Raven op 06-08-2014 21:14 ]

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • HansK3300
  • Registratie: Januari 2014
  • Laatst online: 11-02-2024
Ook ik heb een ISKRA ME162, die ik wou uitlezen en zichtbaar maken op een webpagina. Ik had hier gelezen over een optische leeskop. Ik had al een Raspberry voor de verwerking van de gegevens van mijn zonnecellen. De leeskop heb ik bij volkszaehler.de besteld (<udo.volksz@gmail.com>) voor ca 35 EUR all-in
De leeskop wordt via USB aangesloten. In eerste instantie gebruikte ik de script ME162.py(Copyright (c) 2012 J. van der Linde), later heb ik zelf een C-programma geschreven dat de eigenlijke datatransfer op 9600 baud uitvoert. De omzetting naar een webpagina verzorgt de script get_iskra.sh (Written by Marco Bakker, embezon@mbsoft.nl), Vanwegeg privay redenen kan ik de link naar die pagina's hier niet tonen
Hans
Pagina: 1 2 ... 6 Laatste

Dit topic is gesloten.