Hallo Heiko, > Am 21.06.2016 um 15:58 schrieb Heiko Baumann <h...@gmx.de>: > > So, hier bin ich nochmal: nach einem Update (apt-get, git pull volkszähler) > läuft zwar "an sich" alles noch, aber es werden keine neuen Messwerte mehr > gespeichert. Ich hatte so ein Problem schon mal früher, hab mir aber jetzt > die einzelnen Schritte zur Fehlersuche mal zusammengeschrieben.
Eigentlich gibts das im Eiki: /howto/debug > > Vielleicht möchte mir ja jemand bei der Suche und der Beschreibung der > Vorgehensweise behilflich sein. Ich würde das fertige Dokument dann ins wiki > stellen, es kommt ja öfter vor, dass jemand fragt.. ;) > > Vorbemerkung: auf meinem pi läuft kein vzlogger, ich habe ausschließlich > 1wire und s0 Zähler und nehme dafür (warum eigentlich?) die beiden Dienste > von Henrik. > Ich habs bequemlicherweise in Word zusammengetippt, ich hoff man kann es hier > trotzdem lesen... > > Also: vielen Dank für die Hilfe!! > > > 1) Erforderlich: Zugriff auf den Pi direkt über die Tastatur oder per > SSH Shell (putty) > 2) Gesamtsituation? > Mysql ist aktiv und erreichbar (phpmyadmin ok, frontend zeigt alte > gespeicherte Werte problemlos an, neue Kanäle lassen sich hinzufügen, keine > neuen Werte sichtbar) > 3) Stimmt die Systemzeit? > Kleine Ursache, große Wirkung: evtl. vergisst der Pi die Systemzeit. Probe > mit: > pi@BauratPi ~ $ date > Di 21. Jun 09:36:14 CEST 2016 -> korrekte aktuelle Zeit, passt > Wenn nicht: Zeit neu setzen in der Form: > pi@BauratPi ~ $ sudo date -s "17 JUN 2016 23:07:00" > evtl. Abgleich mit > pi@BauratPi ~ $ sudo sntp pool.ntp.org > 4) Laufen die Dienste? > Prüfe, ob die Daemons für 1wirevz und s0vz überhaupt aktiv sind: Brauchst Du nicht. Vzlogger kann mittlerweile 1wire und s0 via gpio- nimm besser den. Dann vzlogger.log bitte. Viele Grüße, Andreas > pi@BauratPi ~ $ ps ax|grep 1wire > 3108 ? Ss 0:00 /usr/local/sbin/1wirevz // Ok, Dienst läuft mit > PID 3108 > 4804 pts/0 S+ 0:00 grep --color=auto 1wire // das ist nur der > Such-Prozess > > pi@BauratPi ~ $ ps ax|grep s0vz > 3132 ? Ss 0:08 /usr/local/sbin/s0vz > 4809 pts/0 S+ 0:00 grep --color=auto s0vz > Gut, die Dienste laufen also schon mal. Ansonsten: dienste neu starten mit > pi@BauratPi ~ $ sudo 1wirevz restart > pi@BauratPi ~ $ sudo s0vz restart > 5) Was sagen die Logfiles? > Bei intensiverer Fehlersuche kann man mehrere Terminalfenster öffnen, um > einen besseren Überblick zu bekommen. > In einem Fenster kann man z.B. dauerhaft das syslog überwachen: > pi@BauratPi ~ $ tail -f /var/log/syslog > > Beim Stop/Start eines Dienstes müsste im syslog angezeigt werden, was > passiert: > > pi@BauratPi ~ $ cat /var/log/syslog | grep 1wire > Jun 21 10:03:38 BauratPi 1wirevz: DS2482 I²C 1-Wire® Master to Volkszaehler > deamon 1.5 (2) -2 > Jun 21 10:03:38 BauratPi 1wirevz: VzServer: 127.0.0.1 > Jun 21 10:03:38 BauratPi 1wirevz: VzPort: 80 > Jun 21 10:03:38 BauratPi 1wirevz: VzPath: middleware.php > Jun 21 10:03:38 BauratPi 1wirevz: Metering interval: 60 sec > > FEHLER – hier sollten dann eigentlich die angehängten Sensoren aufgelistet > werden! > > pi@BauratPi ~ $ cat /var/log/syslog | grep s0vz > Jun 21 10:06:34 BauratPi s0vz: S0/Impulse to Volkszaehler RaspberryPI deamon > 1.4.4 > Jun 21 10:06:34 BauratPi s0vz: VzServer:localhost > Jun 21 10:06:34 BauratPi s0vz: VzPort:80 > Jun 21 10:06:34 BauratPi s0vz: VzPath:middleware.php > Jun 21 10:06:34 BauratPi s0vz: GPIO0 = 7b6afe30-f2dc-11e2-a117-6b7d90ba87df > Jun 21 10:06:34 BauratPi s0vz: GPIO1 = ae9d1b00-f2f5-11e2-8a1f-0dad1c039958 > Jun 21 10:06:34 BauratPi s0vz: GPIO2 = 89277390-f2dc-11e2-94d6-9984a2fec1dc > Jun 21 10:06:34 BauratPi s0vz: GPIO3 = drei-frei > Jun 21 10:06:34 BauratPi s0vz: GPIO4 = 90da22c0-f2dc-11e2-a59d-e9b55d71b128 > Jun 21 10:06:34 BauratPi s0vz: GPIO5 = 9a7ed6c0-f2dc-11e2-b13e-b9abb50897a8 > > … das sieht eigentlich ok aus, oder? > > 6) Wie sieht die Konfigurationsdatei /etc/1wirevz.cfg aus? > > pi@BauratPi ~ $ cat 1wirevz.cfg > > /************************************************************************** > Part of DS2482 I²C 1-Wire® Master to Volkszaehler 'RaspberryPI deamon'. > **************************************************************************/ > /* Hostname, FQDN or IP of your VZ - normaly this should be 'localhost' */ > vzserver = "127.0.0.1" > /* Path to the VZ middleware.php script, WITHOUT preposed and trailing slash > */ > vzpath = "middleware.php" > /* HTTP Port of your VZ */ > vzport = 80 > /* Metering interval in seconds for ALL sensors */ > interval = 60 > > /* DS1820 SensorID to VZ UUID mapping - SensorID start with 'asterisk' */ > /* Check your IDs 'cat /var/log/syslog|grep 1wirevz' */ > > /* T4 Aussentemperatur channel 10 */ > *28-0000045c5c7e = "53e45780-f2dc-11e2-bb40-e1626f6aa1bd" > /* T2 Sole WP Eintritt channel 7 */ > *28-0000045d7eb0 = "37e34a40-f2dc-11e2-a9f5-617f327e9a54" > /* T2 Sole WP Austritt channel 8 */ > *28-000004a2845a = "3e744e20-f2dc-11e2-ab3d-e5709e8f1bd3" > … usw… > > Für jeden Sensor also ein Eintrag. Links (blau) ist die Sensor-ID, die im > Syslog stehen, rechts (rot) die UUID, die vom System beim Anlegen eines neuen > Kanals über das Frontend vergeben wird (auslesen auch übers Frontend > ausgelesen durch Klick auf den blauen „i“ Button am Ende des Kanals: > <clip_image002.jpg> > 7) Wie sieht die Konfigurationsdatei /etc/s0vz.cfg aus? > pi@BauratPi ~ $ cat s0vz.cfg > ################################################################################# > # > # S0/Impulse to Volkszaehler 'RaspberryPI deamon'. > … > /* Hostname, FQDN or IP of your VZ - normaly this should be 'localhost' */ > vzserver = "localhost" > /* Path to the VZ middleware.php script, WITHOUT preposed and trailing slash > */ > vzpath = "middleware.php" > /* HTTP Port of your VZ */ > vzport = 80 > > /* Define S0 inputs here, use these types in volkszaehler frontend */ > /* Channel type: Strom_messer for S0 PowerMeters */ > /* Gas for Gas-Meters via reed sensor or direct (Style: steps) */ > > /* PV-WR */ > GPIO0 = "7b6afe30-f2dc-11e2-a117-6b7d90ba87df" > /* Betrieb WP */ > GPIO1 = "ae9d1b00-f2f5-11e2-8a1f-0dad1c039958" > … > > Auch hier sind die UUIDs (rot) aus dem Frontend auszulesen. > > 8) Wie sieht /etc/rc.local aus? > pi@BauratPi / $ cat /etc/rc.local > #!/bin/sh -e > # > # rc.local > # > # This script is executed at the end of each multiuser runlevel. > # Make sure that the script will "exit 0" on success or any other > # value on error. > # > # In order to enable or disable this script just change the execution > # bits. > # > # By default this script does nothing. > > # Print the IP address > _IP=$(hostname -I) || true > if [ "$_IP" ]; then > printf "My IP address is %s\n" "$_IP" > fi > > #killall vzlogger > #/usr/local/bin/vzlogger > #/usr/local/bin/vzlogger-c > > owfs > > # Part of DS2482 I2C 1-Wire Master to Volkszaehler 'RaspberryPI deamon'. > > #Raspberry Rev1 > #echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-0/new_device > #echo ds2482 0x19 > /sys/bus/i2c/devices/i2c-0/new_device > #echo ds2482 0x1a > /sys/bus/i2c/devices/i2c-0/new_device > > # Raspberry Rev2 > echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-1/new_device > echo ds2482 0x19 > /sys/bus/i2c/devices/i2c-1/new_device > echo ds2482 0x1a > /sys/bus/i2c/devices/i2c-1/new_device > > # Part of S0/Impulse to Volkszaehler 'RaspberryPI deamon' > #echo 17 > /sys/class/gpio/export && echo "in" > > /sys/class/gpio/gpio17/direction && echo "falling" > > /sys/class/gpio/gpio17/edge > #echo 18 > /sys/class/gpio/export && echo "in" > > /sys/class/gpio/gpio18/direction && echo "falling" > > /sys/class/gpio/gpio18/edge > #echo 22 > /sys/class/gpio/export && echo "in" > > /sys/class/gpio/gpio22/direction && echo "falling" > > /sys/class/gpio/gpio22/edge > #echo 23 > /sys/class/gpio/export && echo "in" > > /sys/class/gpio/gpio23/direction && echo "falling" > > /sys/class/gpio/gpio23/edge > #echo 24 > /sys/class/gpio/export && echo "in" > > /sys/class/gpio/gpio24/direction && echo "falling" > > /sys/class/gpio/gpio24/edge > #echo 27 > /sys/class/gpio/export && echo "in" > > /sys/class/gpio/gpio27/direction && echo "falling" > > /sys/class/gpio/gpio27/edge > > echo 17 > /sys/class/gpio/export && echo "rising" > > /sys/class/gpio/gpio17/edge > echo 18 > /sys/class/gpio/export && echo "rising" > > /sys/class/gpio/gpio18/edge > echo 22 > /sys/class/gpio/export && echo "rising" > > /sys/class/gpio/gpio22/edge > echo 23 > /sys/class/gpio/export && echo "rising" > > /sys/class/gpio/gpio23/edge > echo 24 > /sys/class/gpio/export && echo "rising" > > /sys/class/gpio/gpio24/edge > echo 27 > /sys/class/gpio/export && echo "rising" > > /sys/class/gpio/gpio27/edge > exit 0 > 9) Wie sieht /etc/modules aus? > pi@BauratPi ~ $ cat /etc/modules > # /etc/modules: kernel modules to load at boot time. > # > # This file contains the names of kernel modules that should be loaded > # at boot time, one per line. Lines beginning with "#" are ignored. > # Parameters can be specified after the module name. > > snd-bcm2835 > > # Part of DS2482 I²C 1-Wire® Master to Volkszaehler 'RaspberryPI deamon'. > i2c-bcm2708 > i2c-dev > ds2482 > w1-therm > > 10) Werden die Sensoren gemountet, liefern sie aktuelle Werte? > Sofern bis hier alles richtig ist, werden die Sensoren als „device“ > eingebunden und legen ihre Werte ab. Jeder Sensor legt ein Verzeichnis mit > seiner ID (z.B. 28-000004508eec, siehe oben unter 5. die Einträge „1wirevz“ > im syslog) unter /sys/bus/w1/devices/ ab. > > pi@BauratPi / $ ls -la /sys/bus/w1/devices > ls: Zugriff auf /sys/bus/w1/devices nicht möglich: Datei oder Verzeichnis > nicht gefunden > > Richtig wäre also pro Sensor-ID ein Verzeichnis > FEHLER – mir fehlen die Sensoren..!! > > 11) Wenn keine Sensoren da sind: ist die Hardware defekt? > Neue SD-Karte nehmen, fertiges vz-Image von hier: > http://wiki.volkszaehler.org/howto/raspberry_pi_image > runterladen und auf die Karte ziehen, starten. > Im Image ist zumindest ein 1wire und s0 Controller aktiv. Mit obigem Schritt > 10) sieht man, ob jetzt die Sensoren da sind. Wenn ja: Hardware ist ok, > ansonsten Kabel prüfen etc. Bei mir: Hardware läuft, Sensoren sind da. Habe > mal in der /etc/vzlogger.conf zwei Channel eingerichtet, das klappt auch > (Frontend zeigt neue Messwerte). > > > Fazit: in „meinem“ Image ist nach dem Upate der Wurm drin, obwohl ich die > Konfig nicht angefasst habe. Weiß jemand, wie ich da jetzt weitersuchen muss? > > [Ergänzung: ich hab auf „meinem“ Image ein paar Erweiterungen, z.b autom. > Dropbox-Backup, die will ich ungern aufgeben.. deswegen ist das > Neu-Konfigurieren des fertigen Images nur die zweite Wahl..] > > Bin gespannt und harre der Dinge :) > > Danke und schöne Grüße! > Heiko > > > >