<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hallo, mit diesem perl Script bekomme ich die Daten von meinem Zähler. Da ich mit perl vorher nie was gemacht habe, dürfte das Script ein bisschen "wirr" sein :-). (Copy & Paste Programmierung). Aber ich komme an mein Ziel …..<div><br></div><div><div><font face="Courier New">#!/usr/bin/perl -w</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">use strict;</font></div><div><font face="Courier New">use Device::SerialPort;</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">my $port = Device::SerialPort->new("/dev/ttyUSB0");</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">$port->baudrate(300);</font></div><div><font face="Courier New">$port->parity("even");</font></div><div><font face="Courier New">$port->handshake("none");</font></div><div><font face="Courier New">$port->databits(7);</font></div><div><font face="Courier New">$port->stopbits(1);</font></div><div><font face="Courier New">$port->read_char_time(0);</font></div><div><font face="Courier New">$port->read_const_time(20);</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">$port->write("/?!\x0D\x0A");</font></div><div><font face="Courier New">sleep(2);</font></div><div><font face="Courier New">$port->write("\x06\x30\x30\x30\x0D\x0A");</font></div><div><font face="Courier New">sleep(20);</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">my $response = "";</font></div><div><font face="Courier New">my $timeout_tries = 10;</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">while ($timeout_tries > 0) {</font></div><div><font face="Courier New">        my ($count, $data) = $port->read(365);</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">        if ($count > 0) {</font></div><div><font face="Courier New">                $response .= $data;</font></div><div><font face="Courier New">                last if ($data =~ /!/);</font></div><div><font face="Courier New">        }</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">        $timeout_tries--;</font></div><div><font face="Courier New">}</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">print "$response\n";</font></div></div><div><br></div><div>Wenn ich im Python versuche die Schnittstellen anzeigen zu lassen, bekomme ich:</div><div><div>pi@volkz01 ~ $ python -m serial.tools.list_ports</div><div>Error opening com port. Quitting.</div><div>pi@volkz01 ~ $ </div></div><div>Vielleicht liegt es an den CP210x UART Bridge Chip. Ich werden mal eine andere Distri ausprobieren. </div><div><br></div><div>LG, Christian</div><div><br></div><div><br><div><div>On Oct 19, 2013, at 8:48 PM, Elias <<a href="mailto:saile@gmx.de">saile@gmx.de</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hallo Christian,<div><br></div><div>wär's du so lieb und würdest mir dein Script zur Verfügung stellen, welches den Zähler abfragt und per VZClient übergibt?</div><div>Ich habe nämlich das gleiche Problem wie du, der d0-Parser mit Pullsequenz scheint für meinen Zähler auch nicht zu funktionieren.</div><div><br></div><div>Viele Grüße,</div><div>Elias</div><div><br><div><div>Am 17.10.2013 um 14:50 schrieb Christian Neuhold:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hallo, ich bekomme von meinem Stromzähler jetzt die Werte für<div>1.8.0 -->   Bezogener Strom in kWh seit der Stromzähler eingebaut wurde.</div><div>2.8.0 -->   Eingespeister Strom  in kWh seit der Stromzähler eingebaut wurde.</div><div>16.7 --><span class="Apple-tab-span" style="white-space:pre"> </span>  Aktueller Wert zur Zeit der Abfrage in kW.</div><div><br></div><div>Welchen Typ von Channel muss ich für diese Werte einstellen, wenn ich diese alle 15 Minuten mit vzlogger add data übertragen möchte? Hab mit den Typen Stromsensor/Strommesser usw. experimentiert. Aber die Werte passen im Interface nicht mir den gesendeten Werten überein.</div><div><br></div><div>Handelt es sich bei step/lines/points um unterschiedliche grafische Darstellungen oder wird damit auch die Interpretation der Daten verändert?</div><div><br></div><div>Für 16.7 passt Stromsensor oder? Ist es möglich beim Stromsensor kW zu verwenden? Oder muss ich den Wert per Script von kW in W umbauen?</div><div><br></div><div>Die Daten werden mit diesen Befehlen überragen:</div><div><div><font face="Courier New">vzclient -u 48e89180-3712-11e3-8bc3-47790da4f544 add data value=000596.9</font></div><div><font face="Courier New">vzclient -u 1ba623c0-3710-11e3-9343-93c531f3312e add data value=000444.9</font></div><div><font face="Courier New">vzclient -u 04b3e450-3710-11e3-8da0-0d92bf070817 add data value=01.76</font></div></div><div><font face="Courier New"><br></font></div><div>Im WebInterface habe ich dann aber Megawatt Beträge und ähnliches … :-) Sind die führenden "0" ein Problem?</div><div><br></div><div>LG, Christian</div><div><br></div></div></blockquote></div><br></div></div></blockquote></div><br></div></body></html>