Werte kommen nicht in der Middleware an

Moderator: Mod-Team

 

0.00 (0 Bewertungen)

Werte kommen nicht in der Middleware an

Beitragvon wonk » 06.02.2018, 12:34

Hallo,
jetzt ist mein neuer digitaler EMH-Zähler installiert. Ich versuche Bezug und Überschusseinspeiung auszulesen mit:
Code: Alles auswählen
{
"retry" : 0,
"daemon": true,
"verbosity" : 6,
"log" : "/var/log/vzlogger.log",
 
"local" : {
   "enabled" : false,
   "port" : 8080,
   "index" : true,
   "timeout" : 0,
   "buffer" : 0
},
 
"meters" : [
        {
        "enabled" : true,
        "device" : "/dev/ttyUSB0",
        "protocol" : "sml",
   "interval": -1,
   "aggtime" : 30,
   "aggfixedinterval" : false,
        "channels": [{
            "uuid" : "...5e4d7f",
            "middleware" : "http://localhost/middleware.php",
            "identifier" : "1-0:1.8.0",
            "aggmode" : "MAX"
            },
        {
            "uuid" : "...bdcc42",
            "middleware" : "http://localhost/middleware.php",
            "identifier" : "1-0:2.8.0",
            "aggmode" : "MAX"
            }]
        }
    ]
}

Die Daten kommen auch im Log an:
Code: Alles auswählen
[Feb 06 11:22:02][main] vzlogger v0.6.1 based on heads/master-0-g99f8edbcb4 from Mon, 6 Mar 2017 19:03:42 +0100 started.
[Feb 06 11:22:02]       New meter initialized (protocol=sml)
[Feb 06 11:22:02][chn0] New channel initialized (uuid=...5e4d7f api=volkszaehler id=1-0:1.8.0)
[Feb 06 11:22:02][chn1] New channel initialized (uuid=...bdcc42 api=volkszaehler id=1-0:2.8.0)
[Feb 06 11:22:02][main] log level is 6
[Feb 06 11:22:02]       Daemonize process...
[Feb 06 11:22:02][mtr0] Meter connection established
[Feb 06 11:22:11][chn0] Adding reading to queue (value=1879.40 ts=8536000)
[Feb 06 11:22:11][chn1] Adding reading to queue (value=526.30 ts=8536000)
[Feb 06 11:22:12][chn0] Adding reading to queue (value=1879.40 ts=8537000)
[Feb 06 11:22:12][chn1] Adding reading to queue (value=526.30 ts=8537000)
[Feb 06 11:22:13][chn0] Adding reading to queue (value=1879.40 ts=8538000)
[Feb 06 11:22:13][chn1] Adding reading to queue (value=526.40 ts=8538000)
[Feb 06 11:22:14][chn0] Adding reading to queue (value=1879.40 ts=8539000)
[Feb 06 11:22:14][chn1] Adding reading to queue (value=526.50 ts=8539000)
[Feb 06 11:22:15][chn0] Adding reading to queue (value=1879.40 ts=8540000)
[Feb 06 11:22:15][chn1] Adding reading to queue (value=526.50 ts=8540000)
[Feb 06 11:22:16][chn0] Adding reading to queue (value=1879.40 ts=8541000)
[Feb 06 11:22:16][chn1] Adding reading to queue (value=526.60 ts=8541000)
[Feb 06 11:22:17][chn0] Adding reading to queue (value=1879.40 ts=8542000)
[Feb 06 11:22:17][chn1] Adding reading to queue (value=526.60 ts=8542000)
[Feb 06 11:22:18][chn0] Adding reading to queue (value=1879.40 ts=8543000)
[Feb 06 11:22:18][chn1] Adding reading to queue (value=526.70 ts=8543000)
[Feb 06 11:22:19][chn0] Adding reading to queue (value=1879.40 ts=8544000)

Aber nichts in der Middleware und im frontend.
http://ip/middleware.php/ liefert:
Code: Alles auswählen
exception   
message   "Missing format"
type   "Exception"
code   0


Was sagt mir das?
:danke: schon mal, ich bin leider immer noch zu dumm , das System hinreichend verstanden zu haben.
Gruss, wonk
wonk
Stammmitglied
Stammmitglied
 
- Threadstarter -
 
Beiträge: 126
Registriert: 09.01.2014, 21:55
Info: Betreiber

Re: Werte kommen nicht in der Middleware an

Beitragvon frank-83 » 06.02.2018, 12:45

Hi,

Logfile ist ein bisschen knapp (Middleware-Request fehlt), aber dein Zähler hat auf jeden Fall eine falsch gestellte interne Uhr, deswegen landen deine Werte mit Timestamp von 1970 in der Datenbank.
vzlogger hat als Workaround dafür seit kurzem die Option "use_local_time", aber deine Version kann das noch nicht. Du kannst entweder vzlogger updaten und neu compilieren, deutlich zukunftssicherer wäre aber ein Wechsel zum neuen Volkszähler-Image mit Raspbian Stretch und PHP7, da ist dann auch ein aktueller vzlogger dabei.

Ansonsten ist deine vzlogger.conf in Ordnung.

Die Middleware kann man nicht ohne weitere Parameter aufrufen, insofern ist der Fehler nicht ungewöhnlich.

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

Re: Werte kommen nicht in der Middleware an

Beitragvon wonk » 06.02.2018, 17:50

Hallo,
ich habe die Datensätze mit den alten timestamps in der Datenbank gefunden.

Ich habe bei Installation dieses image anpassen müssen (start von hwclock in rc.local auskommentiert), weil mein Raspi2 angeblich keine Hardware-Clock hat. Obwohl mein Raspi nur selten eine Internetverbindung hat, stimmt jetzt die Uhr immer. Klappt das "use local time" auch unter diesen Umständen, oder muss ich bei jedem Start die Uhr neu stellen?
Gruss, wonk
wonk
Stammmitglied
Stammmitglied
 
- Threadstarter -
 
Beiträge: 126
Registriert: 09.01.2014, 21:55
Info: Betreiber

Re: Werte kommen nicht in der Middleware an

Beitragvon frank-83 » 06.02.2018, 18:10

use_local_time bedeutet nur, dass statt der Zeit aus dem SML-Telegramm die Systemzeit des Rechners verwendet werden soll. Ob deine Systemzeit nun stimmt oder nicht, kann vzlogger ja nicht wissen.
frank-83
Forumsinventar
Forumsinventar
 
Beiträge: 830
Registriert: 26.05.2015, 11:27
Info: Betreiber

Re: Werte kommen nicht in der Middleware an

Beitragvon wonk » 24.02.2018, 11:44

Hallo!
frank-83 hat geschrieben:vzlogger hat als Workaround dafür seit kurzem die Option "use_local_time", aber deine Version kann das noch nicht. Du kannst entweder vzlogger updaten und neu compilieren, deutlich zukunftssicherer wäre aber ein Wechsel zum neuen Volkszähler-Image mit Raspbian Stretch und PHP7, da ist dann auch ein aktueller vzlogger dabei.

Ich hatte zunächst meinen Netzbetreiber gebeten, mir ein Smartmeter mit korrekter Zeitausgabe zu liefern, aber der rührt sich nicht. Deshalb habe ich jetzt Deiner Empfehlung entsprechend meinen Raspi mit dem neuen Image neu installiert.
Ich habe entsprechend der Empfehlung sudo apt-get update, sudo apt-get upgrade NICHT laufen alssen.

Zur Zeit teste ich die neue Installation noch mit einem anderen Zähler mit korrekten timestamps. Wo muss ich das "use_local_time" eingeben, wenn ich auf den Zähler mit den falschen timestamps wechsele?

Ich habe meine alte vzlogger.conf wieder verwendet (neue uuid natürlich). Es scheint alles richtig zu arbeiten, allerdings muss ich bei der Überprüfung des Logger-Status am Ende immer CTRL-C drücken bis zum Prompt. Normal?
Code: Alles auswählen
pi@raspberrypi:~ $ systemctl status vzlogger
● vzlogger.service - vzlogger
   Loaded: loaded (/etc/systemd/system/vzlogger.service; enabled; vendor preset:
   Active: active (running) since Sat 2018-02-24 10:17:53 CET; 13min ago
 Main PID: 2785 (vzlogger)
   CGroup: /system.slice/vzlogger.service
           └─2785 /usr/local/bin/vzlogger -c /etc/vzlogger.conf

Feb 24 10:17:53 raspberrypi systemd[1]: Started vzlogger.

pi@raspberrypi:~ $

vzlogger.conf:
Code: Alles auswählen
{
"retry" : 0,
"daemon": true,
"verbosity" : 0,
"log" : "/var/log/vzlogger.log",
 
"local" : {
   "enabled" : false,
   "port" : 8080,
   "index" : true,
   "timeout" : 0,
   "buffer" : 0
},
 
"meters" : [
        {
        "enabled" : true,
        "device" : "/dev/ttyUSB0",
        "protocol" : "sml",
   "interval": -1,
   "aggtime" : 60,
   "aggfixedinterval" : false,
        "channels": [{
            "uuid" : "...",
            "middleware" : "http://localhost/middleware.php",
            "identifier" : "1-0:1.8.0",
            "aggmode" : "avg"
            }]

        }
    ]
}

:danke:
Gruss, wonk
wonk
Stammmitglied
Stammmitglied
 
- Threadstarter -
 
Beiträge: 126
Registriert: 09.01.2014, 21:55
Info: Betreiber

Re: Werte kommen nicht in der Middleware an

Beitragvon frank-83 » 24.02.2018, 12:36

wonk hat geschrieben:Wo muss ich das "use_local_time" eingeben, wenn ich auf den Zähler mit den falschen timestamps wechsele?

Im zugehörigen Meter-Abschnitt.

wonk hat geschrieben:allerdings muss ich bei der Überprüfung des Logger-Status am Ende immer CTRL-C drücken bis zum Prompt. Normal?

Ne, nicht normal. Bei anderen Services auch?
frank-83
Forumsinventar
Forumsinventar
 
Beiträge: 830
Registriert: 26.05.2015, 11:27
Info: Betreiber

Re: Werte kommen nicht in der Middleware an

Beitragvon wonk » 24.02.2018, 17:33

frank-83 hat geschrieben:
wonk hat geschrieben:Wo muss ich das "use_local_time" eingeben, wenn ich auf den Zähler mit den falschen timestamps wechsele?

Im zugehörigen Meter-Abschnitt.

Dort aber nicht im Channels-Abschnitt? (Weil das https://wiki.volkszaehler.org/software/ ... redirect=1 so aussieht)

frank-83 hat geschrieben:
wonk hat geschrieben:allerdings muss ich bei der Überprüfung des Logger-Status am Ende immer CTRL-C drücken bis zum Prompt. Normal?

Ne, nicht normal. Bei anderen Services auch?

Ja, mit systemctl status cron oder systemctl status apache2 genauso.
Gruss, wonk
wonk
Stammmitglied
Stammmitglied
 
- Threadstarter -
 
Beiträge: 126
Registriert: 09.01.2014, 21:55
Info: Betreiber

Re: Werte kommen nicht in der Middleware an

Beitragvon frank-83 » 24.02.2018, 17:40

Wenn ich channels gemeint hätte, hätte ich das auch so geschrieben :mrgreen:
Inwiefern lässt sich das Wiki so interpretieren? Kann ich nicht erkennen.

Das hängende systemctl status kann ich beim aktuellen Image nicht nachvollziehen.
frank-83
Forumsinventar
Forumsinventar
 
Beiträge: 830
Registriert: 26.05.2015, 11:27
Info: Betreiber

Re: Werte kommen nicht in der Middleware an

Beitragvon wonk » 25.02.2018, 11:18

frank-83 hat geschrieben:Wenn ich channels gemeint hätte, hätte ich das auch so geschrieben :mrgreen:
Inwiefern lässt sich das Wiki so interpretieren? Kann ich nicht erkennen.

Man muss erst mal erkennen, dass die Überschrift "Protokollspezifisch" nicht mehr zu "channels" gehört.

Die einzige Veränderung, die ich am image vorgenommen habe, war ( neben Tastaturanpassung, Anpassung an SD-Kartengröße über raspi-config) mc zu installieren. Kann es damit zusammen hängen?
Gruss, wonk
wonk
Stammmitglied
Stammmitglied
 
- Threadstarter -
 
Beiträge: 126
Registriert: 09.01.2014, 21:55
Info: Betreiber

Re: Werte kommen nicht in der Middleware an

Beitragvon frank-83 » 25.02.2018, 11:54

Sorry, ich hatte nicht beim richtigen Image nachgeschaut. Beim aktuellen Raspbian ist das normal, dass verwendet wohl einen Pager für den Output von systemctl status. Du kannst einfach "q" drücken zum Beenden.
frank-83
Forumsinventar
Forumsinventar
 
Beiträge: 830
Registriert: 26.05.2015, 11:27
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