Ankündigung

Einklappen
Keine Ankündigung bisher.

Zählerabfrage als Wiregate Plugin

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Korrekt.. ist direkt ein serielles Kabel was am WG endet. Kein USB. Am WG hängt via USB nur die TPUart und ein Busmaster. Habe das Script jetzt neu angelegt und Rechte 755 vergeben. Aufruf als root mittels perl xxx.pl.

    Ergebnis:

    root@wiregate723:/tmp# perl acm.pl
    substr outside of string at acm.pl line 70.
    Use of uninitialized value $speedcode in hash element at acm.pl line 76.
    Use of uninitialized value $speedcode in hash element at acm.pl line 77.
    Use of uninitialized value $ack in concatenation (.) or string at acm.pl line 89.
    Use of uninitialized value $baudrate in concatenation (.) or string at acm.pl line 89.
    2012/12/28 00:02:15 socat[16602] E parseopts(): unknown option "b"
    root@wiregate723:/tmp#


    Setzte ich die Geschwindigkeit fix auf z.B. 9600, dann erhalte ich nur die Warnung aus Zeile 70.

    Grüße,
    Mike

    Kommentar


      Probiere mal das init.pl von hier:
      https://knx-user-forum.de/forum/supp...655#post225383
      Umgezogen? Ja! ... Fertig? Nein!
      Baustelle 2.0 !

      Kommentar


        Zitat von JuMi2006 Beitrag anzeigen
        Habe ich jetzt mal getestet und erhalte folgenden Output:

        ???_root@wiregate723:/tmp# perl init.pl
        /?!
        5 Bytes written
        000
        6 Bytes written
        þ
        ¼m¼þ
        ¼m¼þ
        ¼m¼þó
        H¼þó
        \¼þó
        ɼþó
        X¼þó
        Xþó
        X«þó
        X«þó

        ¼þó
        B¼þó
        ¼þó
        e*þó
        þó
        e
        þó
        e

        e¼þó
        J¼þó
        3øþó
        3Øþó
        3Øþó

        ¼þó
        Õþó
        Õ!þó


        Falsches Zeichenformat??

        Kommentar


          ich muss mich korrigieren... war offenbar das falsche device was ich abgefragt hatte.. das ace4000 ist direkt am seriellen wg port angeschlossen.. das init.pl script ist auf ttyS0 eingestellt.

          output jetzt

          root@wiregate723:/home/user# perl init.pl
          /?!
          5 Bytes written
          000
          6 Bytes written
          Waited 5 seconds and never saw what I wanted
          ___?_?___?_??_?


          also irgendwie auch nicht viel besser



          EDIT:

          Aber das Gerät am Seriellen Port scheint doch grundsätzlich zu antworten...

          root@wiregate723:/home/user# strace -ttt -e read cat < /dev/ttyS0
          1356907070.195070 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2 60e\1\0004\0\0\0t"..., 512) = 512
          1356907070.198154 read(0, ""..., 4096) = 0
          root@wiregate723:/home/user#

          Kommentar


            Bist Du sicher dass der Zaehler nicht SML spricht ?

            Gruß
            Umgezogen? Ja! ... Fertig? Nein!
            Baustelle 2.0 !

            Kommentar


              Zitat von JuMi2006 Beitrag anzeigen
              Bist Du sicher dass der Zaehler nicht SML spricht ?

              Gruß
              da muss ich jetzt leider passen. keine ahnung... wenn ich die daten direkt vom interface abgreife bekomme ich z.b. das hier:

              root@wiregate723:~# stty -F /dev/ttyS0 raw
              !-±:96.3.±0ª²55(±©0ªA©×©(±²-±²-30*²3:0±:±5©±:±5©

              und das kommt dann periodisch in ähnlicher form immer wieder...

              EDIT:

              der Typ von den Stadtwerken, der die Geräte angeschlossen hat, hatte seinen Laptop mit nem Herterminal dran und konnte die Daten direkt via Hyperterminal auslesen... Ich habe leider kein Gerät vor Ort um das entsprechend zu testen.. mir bleibt nur der Weg über das WG...

              Kommentar


                Der Zähler hat kein SML. Link zum Produkt: https://www.itron.com/de/productsAnd...(Germany).aspx
                Dort findet man ein PDF:
                P0 Optical port: IEC 61107 optical port, readout
                Read/write (single data values) according to DLMS/COSEM
                (IEC 62056-21)
                BTW: wenn komische Zeichen bei serieller Verbindung auftauchen, stimmt häufig die Schnittstellengeschwindigkeit nicht (oder Daten-,Start-,Stopbits und/oder Parität). Frag mich aber nicht, wie man das unter Linux genau setzt. "man setserial" hilft (eventuell... ;-) )

                BTW2: Bist Du sicher, daß der Mann von den Stadtwerken Hyperterminal (diese Uraltsoftware, die AFAIK seit Vista nicht mehr dabei ist) genutzt hat, oder war es eine spezielle Software?
                Gruß, Carsten

                Kommentar


                  Was gegen D0 = IEC62056 spricht ist das periodische Empfangen von Daten.
                  Normalerweise ist die Schnittstelle still bis man sie abfragt, daher die Frage nach SML. Ausserdem kommuniziert IEC62056 in Klartext/Ascii. Oder läuft bei Dir schon Script als cronjob das die Regelmäßigkeit erklärt?

                  Das init.pl setzt eigentlich die Geschwindigkeit auf 300baud (auch auf dem Seriellen) und macht die wenigsten/keine Probleme.

                  Gruß
                  Umgezogen? Ja! ... Fertig? Nein!
                  Baustelle 2.0 !

                  Kommentar


                    Zitat von Northman Beitrag anzeigen

                    BTW2: Bist Du sicher, daß der Mann von den Stadtwerken Hyperterminal (diese Uraltsoftware, die AFAIK seit Vista nicht mehr dabei ist) genutzt hat, oder war es eine spezielle Software?
                    Hallo Northman,

                    ja.. bin ich mir sicher. Der nutze WinXP mit Hyperterminal. Mit der Lösung kenne ich mich aus. Daher bin ich mir hier sicher.

                    Grüße,
                    Mike

                    Kommentar


                      Zitat von JuMi2006 Beitrag anzeigen
                      Oder läuft bei Dir schon Script als cronjob das die Regelmäßigkeit erklärt?

                      Das init.pl setzt eigentlich die Geschwindigkeit auf 300baud (auch auf dem Seriellen) und macht die wenigsten/keine Probleme.

                      Gruß
                      Die Scripte sind bislang alle manuell angetriggert. Da läuft nix als cronjob. Werde das WG nochmal durchstarten und mit der Geschwindigkeit experimentieren.

                      Grüße,
                      M.

                      Kommentar


                        Ich habe was gefunden!!!

                        http://www.google.de/url?sa=t&rct=j&...FrtIJRixS19F2A

                        der Anschluss am Zähler erfolgt mittels RJ11 am P1 Port. Laut Dok. ab Punkt 5.1 erfolgt die Datenübertragung nur mit 9600 bps. Nichts gefunden habe ich jetzt zu den Start / Stop Bits,, bzw. der Parität...

                        Kommentar


                          [INFORMATION]Seite 10 - Abschnitt 5.1:
                          Note this is not conforming to EN-IEC 62056-21 Mode D[/INFORMATION]

                          Herrlich ...ja wozu gibt es denn Normen bitteschön? Bei sowas könnt ich ko**** ... genau wie meine blöde Heizung!

                          Naja also dann mal im init.pl die Baudrate auf 9600 hochschrauben und gucken was passiert.

                          Gruß
                          Umgezogen? Ja! ... Fertig? Nein!
                          Baustelle 2.0 !

                          Kommentar


                            ich habe im init.pl script den eintrag $port->baudrate(300) geändert auf $port->baudrate(9600)... aktuell ist er am arbeiten....schon ne ganze weile..bisheriger output

                            root@wiregate723:/home/user# perl init.pl
                            /?!
                            5 Bytes written
                            000
                            6 Bytes written

                            Kommentar


                              :-)




                              root@wiregate723:/home/user# perl init.pl
                              /?!
                              5 Bytes written
                              000
                              6 Bytes written
                              /ACE5ACE4KGPRS

                              0-0:96.1.0*255(xxxxxxxxxxxxxxxxxxxxxxx)
                              1-0:1.8.0*255(002240.945*kWh)
                              1-0:1.8.1*255(000423.315*kWh)
                              1-0:1.8.2*255(001817.630*kWh)
                              1-0:2.8.0*255(000000.226*kWh)
                              1-0:2.8.1*255(000000.226*kWh)
                              1-0:2.8.2*255(000000.000*kWh)
                              0-0:96.14.0*255(02)
                              1-0:15.7.0*255(000000*W)
                              0-0:17.0.0*255(0085*A)
                              0-0:96.3.10*255(1)
                              0-1:96.1.0*255(yyyyyyyyyyyyyyyyyyyyyyyyyyy)
                              1-1:1.8.0*255(000899.825*kWh)(13-01-01 21:01:08)
                              1-1:1.8.1*255(000899.826*kWh)(13-01-01 21:01:08)
                              1-1:1.8.2*255(000000.000*kWh)(13-01-01 21:01:08)
                              1-1:1.8.3*255(000000.000*kWh)(13-01-01 21:01:08)
                              1-1:1.8.4*255(000000.000*kWh)(13-01-01 21:01:08)
                              1-1:2.8.0*255(000000.000*kWh)(13-01-01 21:01:08)
                              1-1:2.8.1*255(000000.000*kWh)(13-01-01 21:01:08)
                              1-1:2.8.2*255(000000.000*kWh)(13-01-01 21:01:08)
                              1-1:2.8.3*255(000000.000*kWh)(13-01-01 21:01:08)
                              1-1:2.8.4*255(000000.000*kWh)(13-01-01 21:01:08)
                              0-1:96.14.0*255(01)(13-01-01 21:01:08)
                              1-1:15.7.0*255(000000*W)(13-01-01 21:01:08)
                              0-1:17.0.0*255(0000*A)
                              0-1:96.3.10*255(1)
                              !


                              Sieht doch schon besser aus...

                              Kommentar


                                Kannste abbrechen da kommt wohl nix mehr.

                                Schwer zu sagen was die sich da ausgedacht haben. Im ersten Satz entspricht die Kommunikation dem 62056 und im nächsten distanziert man sich davon.

                                Neben der Geschwindigkeit beim Port muss der zweite gesendete Befehl womöglich auch 040 sein statt 000 bzw. im script glaub ich 0x30 0x30 0x30 auf
                                0x30 0x35 0x30 geändert werden.

                                Ansonsten muss sich der Hersteller da mal äussern.

                                EDIT: Na geht doch
                                Umgezogen? Ja! ... Fertig? Nein!
                                Baustelle 2.0 !

                                Kommentar

                                Lädt...
                                X