D0 Kopf testen / einbinden?

Moderator: Mod-Team

 

0.00 (0 Bewertungen)

D0 Kopf testen / einbinden?

Beitragvon sirtet » 19.03.2018, 18:12

Versuche gerade meinen D0 USB Kopf zu konfigurieren.
Benutze das aktuelle VZ-Image auf raspi.
Nach der Anleitung hier:
https://wiki.volkszaehler.org/hardware/ ... sb-ausgang
habe ich es geschafft den Symlink anzulegen.

Einfach den port mit cat auslesen wird wohl nichts zeigen, denn der Zähler sendet erst auf befehl, so verstehe ich die Infos hier:
https://wiki.volkszaehler.org/hardware/ ... redirect=1

Ich installiere und starte also minicom:
sudo minicom --device /dev/ttyUSB0
stelle dann 300 7e1 und "add CR" ein, und local echo.
/?! ENTER
-000 ENTER
jetzt erwarte ich Antwort, kommt aber nichts...

Also fahre ich mal fort mit der Anleitung:
Minicom beenden mit Q
pi@raspberrypi:/ $ sudo stty -g -F /dev/ttyUSB0
1:0:800009a7:0:0:0:0:0:4:5:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
pi@raspberrypi:/ $ sudo stty -F /dev/ttyUSB0
speed 300 baud; line = 0;
intr = <undef>; quit = <undef>; erase = <undef>; kill = <undef>; start = <undef>; stop = <undef>; susp = <undef>; rprnt = <undef>; werase = <undef>;
lnext = <undef>; discard = <undef>; min = 1; time = 5;
ignbrk -brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

Der Port ist also richtig konfiguriert?
dann müsste ich jetzt mindestens mit der Kamere die TX- Signale als IR mit der Telefon-Kamera sehen können...
so?
pi@raspberrypi:/ $ ls -R / > /dev/ttyUSB0
nein...

Bin gerade am Ende meines Lateins.
Wäre cool wenn im Kopf eine Option wäre, für RX und TX eine LED einzubauen.
Leider sind Schema etc. (scheinbar nicht mehr) im WIKI.
sirtet
Öfters hier
Öfters hier
 
- Threadstarter -
 
Beiträge: 26
Registriert: 22.02.2018, 19:20
PV-Anlage [kWp]: 8
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon JAU » 19.03.2018, 18:53

Zu minicom kann ich dir nicht helfen, bin ich nie warm geworden mit... Wir sind bei vzlogger aber weit genug das es nicht mehr nötig ist auf minicom zurückzugreifen.

Erstelle eine /etc/vzlogger.conf mit folgendem Inhalt:
Code: Alles auswählen
{
  "retry": 0,
  "daemon": false,
  "verbosity": 15,
  "log": "/var/log/vzlogger.log",
  "local": {
    "enabled": false,
    "port": 8080,
    "index": false,
    "timeout": 0,
    "buffer": 0
  },
  "meters": [
    {
      "enabled": true,
      "allowskip": false,
      "protocol": "d0",
      "device": "/dev/lesekopf0",
      "dump_file": "/var/log/d0dump.txt",
      "pullseq": "2F3F210D0A",
      "ackseq": "auto",
      "baudrate": 300,
      "parity": "7e1"
    }
  ]
}


Stelle sicher das vzlogger nicht als Dienst läuft:
Code: Alles auswählen
sudo systemctl stop vzlogger


Starte vzlogger an der Konsole:
Code: Alles auswählen
vzlogger


Dadurch das daemon:false konfiguriert ist wird der vzlogger nach einem Durchlauf automatisch beendet. Falls es doch Probleme gibt: mit Strg+C abbrechen.

Wenn der Zähler keine Zicken macht wird die Baudrate schon automatisch auf die höchstmögliche Geschwindigkeit umgeschaltet und du bekommst an der Konsole direkt mitgeteilt welche Messwerte dir dein Zähler bereitstellt.

Für weitere Unterstützung bitte Logfiles /var/log/vzlogger.log und /var/log/d0dump.txt posten.


mfg JAU
No Shift - No Service
Benutzeravatar
JAU
Forumsinventar
Forumsinventar
 
Beiträge: 1580
Registriert: 01.12.2012, 11:04
Wohnort: 74632
PV-Anlage [kWp]: 12,8
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon sirtet » 20.03.2018, 10:25

Danke JAU...
Das hat auf Anhieb geklappt, mit einer hübschen Schnapszahl: 555.222 kWh eingespeist!

Code: Alles auswählen
##### 51.279460000s (     0 ms) opened
##### 51.311300000s (    32 ms) read
##### 51.311431000s (     0 ms) TCIOFLUSH and cfsetiospeed
<<<<< 51.311854000s (     0 ms)
2f 3f 21 0d 0a                                    /?!             

>>>>> 51.750178000s (   439 ms)
2f 4c 47 5a 34 5a 4d 46 31 30 30 41 43 2e 4d 32   /LGZ4ZMF100AC.M2
37 0d 0a                                          7               

<<<<< 52.546553000s (   796 ms)
06 30 34 30 0d 0a                                  040             

##### 52.756216000s (   210 ms) tcdrain cfsetispeed
>>>>> 53.915045000s (  1159 ms)
02 46 2e 46 28 30 30 29 0d 0a 30 2e 30 28 20 20    F.F(00)  0.0(   
20 20 20 20 20 20 33 30 32 36 32 32 37 32 29 0d         30262272) 
0a 43 2e 31 2e 30 28 33 30 32 36 32 32 37 32 29    C.1.0(30262272)
0d 0a 43 2e 31 2e 31 28 20 20 20 20 20 20 20 20     C.1.1(         
29 0d 0a 31 2e 38 2e 31 28 30 30 30 30 30 30 2e   )  1.8.1(000000.
30 30 30 2a 6b 57 68 29 0d 0a 31 2e 38 2e 32 28   000*kWh)  1.8.2(
30 30 30 30 33 35 2e 33 39 30 2a 6b 57 68 29 0d   000035.390*kWh) 
0a 32 2e 38 2e 31 28 30 30 30 30 30 30 2e 30 30    2.8.1(000000.00
30 2a 6b 57 68 29 0d 0a 32 2e 38 2e 32 28 30 30   0*kWh)  2.8.2(00
30 35 35 35 2e 32 32 32 2a 6b 57 68 29 0d 0a 31   0555.222*kWh)  1
2e 38 2e 30 28 30 30 30 30 33 35 2e 33 39 30 2a   .8.0(000035.390*
6b 57 68 29 0d 0a 32 2e 38 2e 30 28 30 30 30 35   kWh)  2.8.0(0005
35 35 2e 32 32 32 2a 6b 57 68 29 0d 0a 31 35 2e   55.222*kWh)  15.
38 2e 30 28 30 30 30 35 39 30 2e 36 31 33 2a 6b   8.0(000590.613*k
57 68 29 0d 0a 43 2e 37 2e 30 28 30 30 30 35 29   Wh)  C.7.0(0005)
0d 0a 33 32 2e 37 28 32 33 30 2a 56 29 0d 0a 35     32.7(230*V)  5
32 2e 37 28 32 32 39 2a 56 29 0d 0a 37 32 2e 37   2.7(229*V)  72.7
28 32 33 33 2a 56 29 0d 0a 33 31 2e 37 28 30 30   (233*V)  31.7(00
2e 37 36 38 2a 41 29 0d 0a 35 31 2e 37 28 30 30   .768*A)  51.7(00
2e 36 32 32 2a 41 29 0d 0a 37 31 2e 37 28 30 30   .622*A)  71.7(00
2e 38 36 31 2a 41 29 0d 0a 38 32 2e 38 2e 31 28   .861*A)  82.8.1(
30 30 30 34 29 0d 0a 38 32 2e 38 2e 32 28 30 30   0004)  82.8.2(00
30 30 29 0d 0a 30 2e 32 2e 30 28 4d 32 37 29 0d   00)  0.2.0(M27) 
0a 43 2e 35 2e 30 28 30 36 32 31 29 0d 0a 21       C.5.0(0621)  ! 

##### 55.268535000s (  1353 ms) closed


Aber warum?
ist der OBIS identifyer falsch? im Dump ist kein 1-0: da...
Aber langsam, n ur schon um das WIKI anzupassen, damit der Nächste schneller den Kopf testen kann:
Erkennst du, (jemand?) warum mein Versuch scheiterte, etwas direkt an den Port zu senden?
Auch das Testen mit Minicom interessiert mich... [lern lern]



Unten den Abschnitt der conf, den ich angepasst hatte...
Code: Alles auswählen
       {
            // Example D0 meter

            "enabled": true,               // disabled meters will be ignored (default)
            "skip": false,                  // errors when opening meter may be ignored if enabled
            "protocol": "d0",               // meter protocol, see 'vzlogger -h' for full list
            "device": "/dev/ttyUSB0",       // meter device
            "dump_file": "/var/log/d0.txt", // detailed log file for all received/transmitted data (optional)

            "parity": "7E1",                // Serial parity, 7E1 or 8N1
            "baudrate": 300,               // Serial baud rate, typically 9600 or 300

            // optional D0 interface settings
          "pullseq": "2F3F210D0A",        // Pull sequence in 'hex'
          "ackseq": "063030300d0a",       // optional (default: keine Antwortsequenz auf Zaehlerantwort) kann entweder feste hex-Sequenz sein (z.B. 06303530$
//          "read_timeout": 10,             // optional read timeout, default 10s. Data reading is considered finished if no state change after that timeout
//          "baudrate_change_delay": 400,   // optional, default none. Delay value in ms after ACKSEQ send before baudrate change
//          "baudrate_read": 300,           // Baudratenumschaltung auf gew  nschte Baudrate, abh  ngig von Z  hlerantwort

//          "aggtime": 20,                  // aggregate meter readings and send middleware update after <aggtime> seconds
//          "aggmode": "AVG",               // aggregation mode: aggregate meter readings during <aggtime> interval
            "interval": 0,                  // Wartezeit in Sekunden bis neue Werte in die middleware   bertragen werden

            "channel": {
                "uuid": "8c707a60-f2ea-11e7-aa6f-c3e0467d89c3",
                "middleware": "http://localhost/middleware.php",
                "identifier": "1-0:1.8.1"   // OBIS identifier
            }
        },


Und um das zum laufen zu bringen, was kommt als nächstes?
Den Fehler beheben (OBIS?), und dann den logger irgendwie wieder als deamon starten? geht wohl für unwissende via Reboot...
sirtet
Öfters hier
Öfters hier
 
- Threadstarter -
 
Beiträge: 26
Registriert: 22.02.2018, 19:20
PV-Anlage [kWp]: 8
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon JAU » 20.03.2018, 13:25

sirtet hat geschrieben:Danke JAU...
Das hat auf Anhieb geklappt,

Sehr gut. 8)

sirtet hat geschrieben:Aber warum?
ist der OBIS identifyer falsch?

Das hat mit dem Ansprechen des Zählers erstmal nix zu tun.

sirtet hat geschrieben: im Dump ist kein 1-0: da...

Das ist der feine Unterscheid zwischen SML und d0. Aber deswegen hab ich dir ja auch explizit eine Beispielkonfiguration ohne channel vor die Nase gesetzt. Dann wirft vzlogger an der Konsole (und in vzlooger.log) nämlich alle OBIS-Identifier aus die er erkennt.

sirtet hat geschrieben:Unten den Abschnitt der conf, den ich angepasst hatte...

War das vor oder nach der Config die ich dir gepostet hatte?
Falls hinterher war es nämlich ein Rückschritt!

sirtet hat geschrieben:Und um das zum laufen zu bringen, was kommt als nächstes?

Kanäle übers Frontend anlegen. Bezug (1.8.0) und Einspeisung (2.8.0), jeweils Kanaltyp Zählerstände und Auflösung 1.

Dann die von mir gepostete Config um die beiden channel erweitern. Die UUID der neuen Channel eintragen!
Code: Alles auswählen
            "channel": {
                "uuid": "UUID Bezug",
                "middleware": "http://localhost/middleware.php",
                "identifier": "1.8.0"
            }, {
                "uuid": "UUID Einspeisung",
                "middleware": "http://localhost/middleware.php",
                "identifier": "2.8.0"
            }

Und
Code: Alles auswählen
daemon: "true",
ändern.

sirtet hat geschrieben:und dann den logger irgendwie wieder als deamon starten? geht wohl für unwissende via Reboot...

Code: Alles auswählen
sudo systemctl start vzlogger


Wenn alles funktioniert
Code: Alles auswählen
  "verbosity":0,

und das auskommentieren:
Code: Alles auswählen
//     "dump_file": "/var/log/d0dump.txt",


vzlogger neu starten
Code: Alles auswählen
sudo systemctl stop vzlogger
sudo systemctl start vzlogger


Danach sprechen wir nochmal über aggtime und Wiki.


mfg JAU
No Shift - No Service
Benutzeravatar
JAU
Forumsinventar
Forumsinventar
 
Beiträge: 1580
Registriert: 01.12.2012, 11:04
Wohnort: 74632
PV-Anlage [kWp]: 12,8
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon sirtet » 20.03.2018, 14:19

ok. scheint aber irgendwie nicht zu starten der vzlogger, sehe in den log files noch die alten daten...
trotz restart.
sirtet
Öfters hier
Öfters hier
 
- Threadstarter -
 
Beiträge: 26
Registriert: 22.02.2018, 19:20
PV-Anlage [kWp]: 8
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon frank-83 » 20.03.2018, 15:04

Um die beiden channels in JAUs Config-Ergänzung fehlen die eckigen Klamern. Und bitte "channels" mit s am Ende.

Grüße
Frank
frank-83
Forumsinventar
Forumsinventar
 
Beiträge: 830
Registriert: 26.05.2015, 11:27
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon JAU » 20.03.2018, 16:23

Auf Arbeit hat mich der Proxy nicht auf den conf-Editor gelassen. :roll:

Nochmal in richtig:
Code: Alles auswählen
{
  "retry": 0,
  "daemon": true,
  "verbosity": 1,
  "log": "/var/log/vzlogger.log",
  "local": {
    "enabled": false,
    "port": 8080,
    "index": false,
    "timeout": 0,
    "buffer": 0
  },
  "meters": [
    {
      "enabled": true,
      "allowskip": false,
      "interval": -1,
      "aggtime": -1,
      "aggfixedinterval": false,
      "channels": [
        {
          "api": "volkszaehler",
          "uuid": "8c707a60-f2ea-11e7-aa6f-c3e0467d89c3",
          "identifier": "1.8.0",
          "middleware": "http://localhost/middleware.php",
          "aggmode": "none",
          "duplicates": 0
        },
        {
          "api": "volkszaehler",
          "uuid": "8c707a60-f2ea-11e7-aa6f-c3e0467d89c3",
          "identifier": "2.8.0",
          "middleware": "http://localhost/middleware.php",
          "aggmode": "none",
          "duplicates": 0
        }
      ],
      "protocol": "d0",
      "device": "/dev/lesekopf0",
      "pullseq": " 2F3F210D0A",
      "ackseq": "auto",
      "baudrate": 300,
      "parity": "7e1"
    }
  ]
}



mfg JAU
No Shift - No Service
Benutzeravatar
JAU
Forumsinventar
Forumsinventar
 
Beiträge: 1580
Registriert: 01.12.2012, 11:04
Wohnort: 74632
PV-Anlage [kWp]: 12,8
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon sirtet » 20.03.2018, 17:23

Geht nicht mit
Code: Alles auswählen
    {
      "retry": 0,
      "daemon": true,
      "verbosity": 15,
      "log": "/var/log/vzlogger.log",
      "local": {
        "enabled": false,
        "port": 8080,
        "index": false,
        "timeout": 0,
        "buffer": 0
      },
      "meters": [
        {
          "enabled": true,
          "allowskip": false,
          "interval": -1,
          "aggtime": -1,
          "aggfixedinterval": false,
          "channels": [
            {
              "api": "volkszaehler",
              "uuid": "8c707a60-f2ea-11e7-aa6f-c3e0467d89c3",
              "identifier": "1.8.0",
              "middleware": "http://localhost/middleware.php",
              "aggmode": "none",
              "duplicates": 0
            },
            {
              "api": "volkszaehler",
              "uuid": "8c707a60-f2ea-11e7-aa6f-c3e0467d89c3",
              "identifier": "2.8.0",
              "middleware": "http://localhost/middleware.php",
              "aggmode": "none",
              "duplicates": 0
            }
          ],
          "protocol": "d0",
          "device": "/dev/lesekopf0",
          "pullseq": " 2F3F210D0A",
          "ackseq": "auto",
          "baudrate": 300,
          "parity": "7e1"
        }
      ]
    }


log
Code: Alles auswählen
[Mar 20 16:08:47][d0]   sending pullsequenz send (len:6 is:6).
[Mar 20 16:08:58][d0]   nothing received for more than 10 seconds
[Mar 20 16:08:58][d0]   read timed out!, context: 0, bytes read: 0, last byte 0x0
[Mar 20 16:08:58][mtr0] Got 0 new readings from meter:
[Mar 20 16:08:58][chn0] ==> number of tuples: 0
[Mar 20 16:08:58][chn0] JSON request body is null. Nothing to send now.
[Mar 20 16:08:58][chn1] ==> number of tuples: 0
[Mar 20 16:08:58][chn1] JSON request body is null. Nothing to send now.


Wenn ich wieder die test-conf nehme, kann ich lesen.
Was mir dabei schon vorhin aufgefallen ist aber wohl nichts besonderes ist: vzlogger kann ich nur mit sudo starten, und, der Output enthält Sonderzeichen beim ACK und ersten OBIS:

Code: Alles auswählen
[Mar 20 16:15:15][main] vzlogger v0.6.1 based on heads/master-0-gd3381ce6ba from Sat, 9 Dec 2017 15:49:37 +0100 started.
[Mar 20 16:15:15][mtr0] Creating new meter with protocol d0.
[Mar 20 16:15:15][d0]   pullseq len:5 found
[Mar 20 16:15:15][d0]   using autoack
[Mar 20 16:15:15][mtr0] Meter configured, enabled.
[Mar 20 16:15:15]       New meter initialized (protocol=d0)
[Mar 20 16:15:15]       Have 1 meters.
[Mar 20 16:15:15][main] log level is 15
[Mar 20 16:15:15][main] daemon=0, local=0
[Mar 20 16:15:15]       Process not  daemonized...
[Mar 20 16:15:15]       Opened logfile /var/log/vzlogger.log
[Mar 20 16:15:15][push] No pushDataServer defined.
[Mar 20 16:15:15][]     ===> Start meters
[Mar 20 16:15:15][mtr0] Meter connection established
[Mar 20 16:15:15][mtr0] Meter thread started
[Mar 20 16:15:15][mtr0] Meter is opened. Starting channels.
[Mar 20 16:15:15][]     Startup done.
[Mar 20 16:15:15][mtr0] Number of readers: 400
[Mar 20 16:15:15][mtr0] Config.daemon: 0
[Mar 20 16:15:15][mtr0] Config.local: 0
[Mar 20 16:15:15][d0]   sending pullsequenz send (len:5 is:5).
[Mar 20 16:15:16][d0]   Pull answer (vendor=LGZ, baudrate=4, identification=ZMF100AC.M27)
[Mar 20 16:15:17][d0]   Sending ack sequence send (len:6 is:6,040
).
[Mar 20 16:15:18][d0]   DEBUG OBIS_CODE byte  hex= 2
[Mar 20 16:15:18][d0]   DEBUG OBIS_CODE byte F hex= 46
[Mar 20 16:15:18][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Mar 20 16:15:18][d0]   DEBUG OBIS_CODE byte F hex= 46

Auch noch festgestellt:
Der Kopf ist einige mm kleiner als die Vertiefung am Meter, vorhin war er nur minimal verrutscht, und auch die test-conf schlug fehl... muss da wohl noch eine Schablone machen.
sirtet
Öfters hier
Öfters hier
 
- Threadstarter -
 
Beiträge: 26
Registriert: 22.02.2018, 19:20
PV-Anlage [kWp]: 8
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon frank-83 » 20.03.2018, 18:34

Das Leerzeichen in "pullseq" ist wahrscheinlich schuld :mrgreen:
frank-83
Forumsinventar
Forumsinventar
 
Beiträge: 830
Registriert: 26.05.2015, 11:27
Info: Betreiber

Re: D0 Kopf testen / einbinden?

Beitragvon JAU » 20.03.2018, 20:34

frank-83 hat geschrieben:Das Leerzeichen in "pullseq" ist wahrscheinlich schuld :mrgreen:

Ist wohl nicht so mein Tag heute... :roll:

sirtet hat geschrieben:vzlogger kann ich nur mit sudo starten,

Das liegt in aller Regel an den Userrechten mit denen das Logfile beim ersten mal angelegt wurde. Kann vzlogger nicht darauf schreiben wird er abgebrochen.

der Output enthält Sonderzeichen beim ACK und ersten OBIS:

Problem beim umschalten der Baudrate?
Wobei der Dump ja völlig in Ordnung aussieht...


mfg JAU
No Shift - No Service
Benutzeravatar
JAU
Forumsinventar
Forumsinventar
 
Beiträge: 1580
Registriert: 01.12.2012, 11:04
Wohnort: 74632
PV-Anlage [kWp]: 12,8
Info: Betreiber

Nächste

Zurück zu volkszaehler.org



Ähnliche Beiträge


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste