Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zum cache Verzeichnis

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Frage zum cache Verzeichnis

    Moin,
    einige meiner Items erzeugen Warnungen im Log, das kein item im Cach Verzeichnis vorhanden ist. Andere Items erstellen sich selbstständig ihre Dateien im Verzeichnis.
    Code:
    ...:/usr/local/smarthome/var/cache$ ls -l
    total 12
    -rw-rw-rw- 1 smarthome smarthome 12 Jul 19 12:28 eg.wohnzimmer.temperatur
    -rw-rw-r-- 1 smarthome smarthome  4 Jul 19 12:37 zentral.parameter.anwesend
    -rw-rw-r-- 1 smarthome smarthome  4 Jul 19 12:37 zentral.parameter.urlaub
    Die Items sind z.B. so definiert
    Code:
    [[[urlaub]]]
        name = Urlaub
        type = bool
        visu = rw
        visu_acl = rw
        enforce_updates = yes
        sv_img = status_vacation.svg
        cache = yes
    Mit meinen Automatic-Items klappt das nach dem Umzug auf den Banana PI leider nicht mehr:
    Code:
    Item og.badezimmer.rollo.fenster.automatic_mode: problem reading cache: [Errno 2] No such file or directory: '/usr/local/smarthome/var/cache/og.badezimmer.rollo.fenster.automatic_mode'
    Definiert sind sie wie folgt
    Code:
    [[[[[automatic_mode]]]]]
        type = bool
        cache = yes
    An den Configs hat sich eigentlich nichts geändert.

    Hat jemand eine Idee warum einige Cache Dateien nicht angelegt werden?

    Danke und Gruß
    René

    #2
    Der Cache wird erst bei der ersten Änderung angelegt. Also entweder einmal 0/1 Wechsel machen oder aber mit enforce_update = true nachhelfen...

    Kommentar


      #3
      Ich hätte dazu schreiben sollen, dass ich natürlich die Items mehrfach angeklickt habe.

      Kommentar


        #4
        Hmm, Filerechte? Die Meldung mit der fehlenden Datei ist ja erst mal normal beim anstarten, oder kommt die Meldung auch beim Betätigen eines Items?

        Kommentar


          #5
          Die Meldunge kommt nur beim Starten von sm.py. Wenn ich die Icons klicke die mit den Items verknüpf sind, kommt keinen Meldung.

          Kommentar


            #6
            ...und welche Filerechte sind auf dem Verzeichnis? Könnte der SH-Daemon dort neue schreiben?

            Kommentar


              #7
              Wenn ich sh stoppe, die Dateien lösche und sh wieder starte, dann werden die drei Dateien angelegt. Das Verzeichnis müsste mit 775 konfiguriert sein. Der sh läuft unter dem smarthome Benutzer.

              Kommentar


                #8
                Hallo,

                check doch mal die Filerechte. Ein "müsste" hilft nur bedingt.

                Bis bald

                Marcus

                Kommentar


                  #9
                  Hier sind die Berechtigungen im var Verzeichnis
                  Code:
                  :/usr/local/smarthome/var$ ls -l
                  drwxrwsr-x 2 smarthome smarthome 4096 Jul 19 12:37 cache
                  drwxrwsr-x 2 smarthome smarthome 4096 Jul 21 06:55 db
                  drwxrwsr-x 2 smarthome smarthome 4096 Jul 21 00:00 log
                  drwxrwsr-x 2 smarthome smarthome 4096 Jul  9 19:23 rrd
                  Die Ausgabe von ps -ef für den Daemon
                  Code:
                  1000      7386     1  0 Jul19 ?        00:14:39 python3 /usr/local/smarthome/bin/smarthome.py
                  Und gestartet wird sh.py über diese /etc/init.d/smarthome.py
                  Code:
                  #!/bin/sh
                  ### BEGIN INIT INFO
                  # Provides:          smarthome
                  # Required-Start:    $syslog $network $eibd
                  # Required-Stop:     $syslog $network
                  # Default-Start:     2 3 4 5
                  # Default-Stop:      0 1 6
                  # Short-Description: Start the smarthome daemon.
                  ### END INIT INFO
                  
                  DESC="smarthome.py daemon"
                  NAME=smarthome
                  PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
                  DAEMON=/usr/local/smarthome/bin/$NAME.py
                  PIDFILE=/var/run/$NAME.pid
                  SCRIPTNAME=/etc/init.d/$NAME
                  DAEMON_ARGS=""
                  DAEMONUSER="smarthome"
                  
                  [ -x "$DAEMON" ] || exit 0
                  
                  [ -r /etc/default/$NAME ] && . /etc/default/$NAME
                  
                  . /lib/init/vars.sh
                  
                  do_start()
                  {
                      # ensure eibd
                      /etc/init.d/eibd start
                  
                      start-stop-daemon --start --quiet --chuid $DAEMONUSER --pidfile $PIDFILE --make-pidfile --exec $DAEMON --user $DAEMONUSER --backgr$
                      start-stop-daemon --start --quiet --chuid $DAEMONUSER --pidfile $PIDFILE --make-pidfile --exec $DAEMON --user $DAEMONUSER --backgr$
                  }
                  Und noch die User id
                  Code:
                  id
                  uid=1002(rene) gid=1002(rene) groups=1002(rene),33(www-data),100(users),1000(smarthome),1003(vz)
                  Zuletzt geändert von Echo; 21.07.2015, 06:10.

                  Kommentar


                    #10
                    Ich kann sogar als smarthome user Dateien und Verzeichnisse anlegen.
                    Code:
                    smarthome@zentrale:/usr/local/smarthome/var/cache$ mkdir test
                    smarthome@zentrale:/usr/local/smarthome/var/cache$ nano test2
                    smarthome@zentrale:/usr/local/smarthome/var/cache$ ls -l
                    total 20
                    -rw-rw-rw- 1 smarthome smarthome   12 Jul 21 20:05 eg.wohnzimmer.temperatur
                    drwxr-sr-x 2 smarthome smarthome 4096 Jul 21 20:18 test
                    -rw-r--r-- 1 smarthome smarthome    2 Jul 21 20:19 test2
                    Das Verhalten finde ich merkwürdig. Denn der Daemon scheint unter dem User zu laufen. Es können ja drei Dateien angelegt werden.

                    Gruß
                    René

                    Kommentar


                      #11
                      Oh oh. Ich habe eine andere Idee. Melde mich wieder...

                      Kommentar


                        #12
                        Ich Depp!
                        Das Problem ist gelöst. Ich bin mit meinen Versionsständen durcheinander gekommen. Das verwendete Widget passte nicht zum Aufruf. Die Parameter waren falsch. Darum konnte nichts erstellt werden.

                        Kommentar

                        Lädt...
                        X