Posts by fuuman

    In jeder Dokumentation ist aber keine "Priority" erwähnt. Nirgends steht (jedenfalls habe ich es nie gefunden) was dieser Parameter überhaupt bedeutet. In sämtlichen Beispielen wird die Funktion wie von mir getan aufgerufen. Function als target und die Argument in args als Tupel. Die Fehlermeldung lesen kann ich auch. Bringt hier allerdings nichts, da die Meldung in Kombination mit der Doku keinen Sinn ergibt!

    Hallo Leute,

    mein aktuelles Problem hat zwar nichts direkt mit dem Pi, aber mit Python zu tun. Daher dachte ich, dass ich euch mal frage. Hier sind ja doch einige absolute Python-Experten unterwegs.

    Problem: Ich nutze Gtk+ um mir eine GUI zu bauen. Der Benutzer gibt in ein Entry-Feld etwas ein und klickt anschließend einen Button oder drückt Enter. Dann wird die eigentlich Funktion ausgeführt, liest ein paar Daten aus einer API aus usw und stellt das Ergebnis dann in einem neuen Window dar. Das Problem ist nur, während die Funktion ihre Arbeit verrichtet, friert das Hauptfenster ein. Ich würde dort allerdings gerne eine Progressbar laufen lassen, so dass man einen Fortschritt erkennen kann.

    Bisherige Gedanken:
    Ich habe versucht, mittels der Funktion GLib.idle_add() und dem Modul 'multiprocessing' das Problem zu lösen. Beim Drücken von Enter passiert folgendes:

    Code
    76 - process = multiprocessing.Process(target=searchData,args=(app.input, ))
    77 - GLib.idle_add(app.updateLoading())
    78 - process.start()


    Wobei app.input den Entry-Text beinhaltet und searchData die main_function ist.
    app.updateLoading() sieht wie folgt aus:

    Code
    def updateLoading(self):
           self.window.get_object("progressbar").pulse()


    Der 'pulse_step' wurde beim Initialisieren des Hauptfenster gesetzt.

    Fehlermeldung:

    Code
    Traceback (most recent call last):
      File "D:/GitHub/lol-cli/league.py", line 77, in pressEnter
        GLib.idle_add(app.updateLoading())
      File "C:\Python27\lib\site-packages\gi\overrides\GLib.py", line 645, in idle_add
        return GLib.idle_add(priority, function, *user_data)
    TypeError: Argument 1 does not allow None as a value
    
    
    Process finished with exit code -1

    Für Hilfe wäre ich sehr dankbar. :)

    Viele Grüße,

    fuuman

    Okay, funktioniert.
    Was ich aber sehr komisch finde: Mit meiner web.de-Adresse klappt alles super. Email raus, Pi führt aus. Mit einer GMX-Adresse passiert nichts. Email kommt auf gmail an, Pi bemerkt das aber nicht. Woran könnte das denn liegen? Innerhalb von 5 Minuten getestet und in der Zeit nichts geändert.

    Du hast absolut Recht ;)



    Ich hangel mich grade weiter durch die Struktur, moment ;)

    Es ist der Ordner "11G /var/www/shc/rwf"

    Hatte wohl damals zum Testen auch das SHC hier aus dem Forum geklont. Benutze das aber schon ewig nicht mehr.

    Finde leider keine Information, wie ich das SHC "deinstalliere". Und eine Deinstallation habe ich bisher unter Linux auch noch nie vorgenommen. Wie bekomme ich das weitestgehend sauber wieder aus dem System? Finde dazu leider nichts in der SHC-Doku.

    Das ist ein guter erster Schritt, danke.

    Habe mir nun dein checkmail.py genommen und den GPIO-Part entfernt. Nun sollte es ja klappen einfach mal die Inbox zu checken und auszugeben wie viel neue Mails denn vorhanden sind. Leider akzeptiert der Google-Server meine Login-Daten nicht, wenn ich das hier richtig interpretiere.

    Also folgender Fehler wird in der Zeile server.login geworfen:

    Code
    File "C:\Python27\lib\imaplib.py", line 507, in login
        raise self.error(dat[-1])
    imaplib.error: [ALERT] Please log in via your web browser: http://support.google
    .com/mail/accounts/bin/answer.py?answer=78754 (Failure)

    Auf der entsprechenden Google-Site hab ich leider nichts brauchbares gefunden. Ich habe als Username schon (angenommen meine Mail sei fuuman@gmail.com) schon nur "fuuman" und die komplette Mail ausprobiert - klappt beides nicht.

    //edit: Stop, Kommando zurück! Wenn ich in meine Mails schaue, sehe ich eine Mail von Google, dass um 13:44 ein Login-Versuch abgeblockt wurde. Also irgendwie klappt das Script ja doch, Google schiebt da eher aus Sicherheitsgründen den Riegel vor.. Muss ich nun wirklich den "Zugriff für weniger sichere Apps" aktivieren?

    Quote

    Einige Apps und Geräte nutzen weniger sichere Anmeldetechnologien. Dadurch wird Ihr Konto angreifbarer. Sie können den Zugriff für diese Apps deaktivieren (empfohlen) oder den Zugriff aktivieren, wenn Sie die Apps trotz des Risikos verwenden möchten. Weitere Informationen

    Danke joh. Genau den Befehl habe ich die ganze Zeit gesucht. Wenn sowas bei Windows passieren würde, würde ich auch mit Treesize schauen was da los ist. Und der Befehl macht ja genau das.

    Ausgabe:

    Hey,

    ich würde sehr gerne die Möglichkeit haben eine Mail an eine bspw. extra angelegte Gmail-Adresse schreiben zu können, welche dann vom Pi überwacht wird.

    Ablauf sollte also in etwa folgendermaßen laufen:

    • schreibe Email an pi@gmail.com
    • der Pi checkt jede Minute die Inbox, erkennt die neue Mail
    • pi parst die Mail und triggert aufgrund dessen ein entsprechendes Event (startet ein Script o.ä.)

    Kann mir jmd. helfen oder mir hilfreiche Webseiten empfehlen?

    Meine bisherigen Gedanken: Python nutzen und mittels IMAP-Library auf den imap.google.com zugreifen. Aber lasse ich das Script dann in der Endlosschleife laufen? Eher unschön, oder? Jede Minute per Cron aufrufen? Und bei der Umsetzung in Python selbst bräuchte ich wahrscheinlich auch ein wenig Hilfe wenn es ins Details geht. :\

    Vielen Dank im Voraus für all eure Antworten und Mühe.

    Siehe evtl. auch die Ausgaben von:

    Code
    df -i
    ps aux
    sudo ls -laR /var/log


    [/quote]

    df -i

    Code
    Dateisystem    Inodes IBenutzt  IFrei IUse% Eingehängt auf
    rootfs         917504    87783 829721   10% /
    /dev/root      917504    87783 829721   10% /
    devtmpfs        54936      337  54599    1% /dev
    tmpfs           55978      268  55710    1% /run
    tmpfs           55978        2  55976    1% /run/lock
    tmpfs           55978        2  55976    1% /run/shm
    /dev/mmcblk0p5      0        0      0     - /boot
    tmpfs           55978        2  55976    1% /var/www/shc/rwf/data/cache
    tmpfs           55978        3  55975    1% /tmp

    ps aux

    Display Spoiler


    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    root 1 0.0 0.1 2152 724 ? Ss Mär27 0:11 init [2]
    root 2 0.0 0.0 0 0 ? S Mär27 0:00 [kthreadd]
    root 3 0.0 0.0 0 0 ? S Mär27 0:00 [ksoftirqd/0]
    root 4 0.0 0.0 0 0 ? S Mär27 0:00 [kworker/0:0]
    root 5 0.0 0.0 0 0 ? S< Mär27 0:00 [kworker/0:0H]
    root 7 0.0 0.0 0 0 ? S Mär27 0:02 [rcu_preempt]
    root 8 0.0 0.0 0 0 ? S Mär27 0:00 [rcu_bh]
    root 9 0.0 0.0 0 0 ? S Mär27 0:00 [rcu_sched]
    root 10 0.0 0.0 0 0 ? S< Mär27 0:00 [khelper]
    root 11 0.0 0.0 0 0 ? S Mär27 0:00 [kdevtmpfs]
    root 12 0.0 0.0 0 0 ? S< Mär27 0:00 [netns]
    root 13 0.0 0.0 0 0 ? S< Mär27 0:00 [writeback]
    root 14 0.0 0.0 0 0 ? S< Mär27 0:00 [bioset]
    root 15 0.0 0.0 0 0 ? S< Mär27 0:00 [crypto]
    root 16 0.0 0.0 0 0 ? S< Mär27 0:00 [kblockd]
    root 17 0.0 0.0 0 0 ? S Mär27 0:00 [khubd]
    root 18 0.0 0.0 0 0 ? S Mär27 0:02 [kworker/0:1]
    root 19 0.0 0.0 0 0 ? S< Mär27 0:00 [rpciod]
    root 20 0.0 0.0 0 0 ? S Mär27 0:00 [khungtaskd]
    root 21 0.0 0.0 0 0 ? S Mär27 0:00 [kswapd0]
    root 22 0.0 0.0 0 0 ? S Mär27 0:00 [fsnotify_mark
    root 23 0.0 0.0 0 0 ? S< Mär27 0:00 [nfsiod]
    root 29 0.0 0.0 0 0 ? S< Mär27 0:00 [kthrotld]
    root 30 0.0 0.0 0 0 ? S< Mär27 0:00 [VCHIQ-0]
    root 31 0.0 0.0 0 0 ? S< Mär27 0:00 [VCHIQr-0]
    root 32 0.0 0.0 0 0 ? S< Mär27 0:00 [VCHIQs-0]
    root 33 0.0 0.0 0 0 ? S< Mär27 0:00 [iscsi_eh]
    root 34 0.0 0.0 0 0 ? S< Mär27 0:00 [dwc_otg]
    root 35 0.0 0.0 0 0 ? S< Mär27 0:00 [DWC Notificat
    root 37 0.0 0.0 0 0 ? S Mär27 0:00 [VCHIQka-0]
    root 38 0.0 0.0 0 0 ? S< Mär27 0:00 [SMIO]
    root 39 0.0 0.0 0 0 ? S< Mär27 0:00 [deferwq]
    root 41 0.0 0.0 0 0 ? S Mär27 0:03 [mmcqd/0]
    root 42 0.0 0.0 0 0 ? S Mär27 0:02 [jbd2/mmcblk0p
    root 43 0.0 0.0 0 0 ? S< Mär27 0:00 [ext4-rsv-conv
    root 158 0.0 0.2 2892 1292 ? Ss Mär27 0:00 udevd --daemon
    root 275 0.0 0.2 2888 996 ? S Mär27 0:00 udevd --daemon
    root 300 0.0 0.2 2888 936 ? S Mär27 0:00 udevd --daemon
    root 1602 0.0 0.1 1756 508 ? S Mär27 0:35 /usr/sbin/ifpl
    root 1644 0.0 0.1 1756 516 ? S Mär27 3:19 /usr/sbin/ifpl
    root 1862 0.0 0.3 27980 1580 ? Sl Mär27 0:07 /usr/sbin/rsys
    root 1947 0.0 0.5 4904 2288 ? Ss Mär27 0:00 dhclient -v -p
    root 1982 0.0 3.1 97064 14064 ? Ss Mär27 0:32 /usr/sbin/apac
    root 2037 0.0 0.2 4380 968 ? Ss Mär27 0:01 /usr/sbin/cron
    104 2045 0.0 0.1 3184 616 ? Ss Mär27 0:00 /usr/bin/dbus-
    www-data 2064 0.0 1.1 97088 4928 ? S Mär27 0:00 /usr/sbin/apac
    www-data 2066 0.0 1.1 97088 4936 ? S Mär27 0:00 /usr/sbin/apac
    www-data 2068 0.0 1.1 97088 4928 ? S Mär27 0:00 /usr/sbin/apac
    www-data 2069 0.0 1.1 97088 4928 ? S Mär27 0:00 /usr/sbin/apac
    www-data 2072 0.0 1.1 97088 4928 ? S Mär27 0:00 /usr/sbin/apac
    ntp 2116 0.0 0.3 5392 1432 ? Ss Mär27 0:48 /usr/sbin/ntpd
    root 2213 0.0 0.2 6224 1068 ? Ss Mär27 0:00 /usr/sbin/sshd
    nobody 2256 0.0 0.1 2024 644 ? Ss Mär27 0:05 /usr/sbin/thd
    root 2289 0.0 0.3 3268 1360 tty1 Ss Mär27 0:00 /bin/login -f
    root 2290 0.0 0.1 4300 824 tty2 Ss+ Mär27 0:00 /sbin/getty 38
    root 2291 0.0 0.1 4300 824 tty3 Ss+ Mär27 0:00 /sbin/getty 38
    root 2292 0.0 0.1 4300 824 tty4 Ss+ Mär27 0:00 /sbin/getty 38
    root 2293 0.0 0.1 4300 824 tty5 Ss+ Mär27 0:00 /sbin/getty 38
    root 2294 0.0 0.1 4300 824 tty6 Ss+ Mär27 0:00 /sbin/getty 38
    root 2295 0.0 0.1 2072 748 ? Ss+ Mär27 0:00 /sbin/getty -L
    root 2296 0.0 0.5 6196 2532 tty1 S+ Mär27 0:00 -bash
    root 2305 0.0 0.1 1764 600 tty1 S+ Mär27 0:00 /bin/sh /usr/b
    root 2308 0.0 0.3 6268 1528 tty1 S+ Mär27 0:00 whiptail --tit
    root 2375 0.0 0.0 0 0 ? S Mär27 0:00 [kworker/u2:1]
    root 4634 0.0 0.0 0 0 ? S Mär30 0:14 [kworker/u2:0]
    root 6197 0.9 0.6 9268 2928 ? Ss 20:37 0:00 sshd: pi [priv]
    pi 6201 0.1 0.3 9268 1592 ? S 20:37 0:00 sshd: pi@pts/0
    pi 6202 3.3 0.7 6852 3396 pts/0 Ss 20:37 0:01 -bash
    pi 6217 0.0 0.2 5012 1148 pts/0 R+ 20:37 0:00 ps aux

    sudo ls -laR /var/log bringt mir 167 484 Logs. Ist das viel? Kann ich die auf einen Schwung löschen? Wenn ja, wie? :)

    Hey,

    ich habe hier ein sauberes Raspbian installiert. Nach der Installation auf eine 16 GB SD habe ich ausschließlich einen rcswitch-pi Fork geklont und unter Apache einen Webseite lokal gehostet, um über diese Page die Steckdosen zu schalten.

    So lief der Pi nun monatelang problemlos. Nun wollte ich mir eben per SSH mit "nano script.sh" ein neues Script erstellen. Nachdem ich den ersten Entwurf speichern wollte meckerte der Pi- Speicher voll. Hä? Wie kann das sein?

    Und das ist auch meine Frage - wie kann das sein? Bin total platt und ahnungslos.

    Ausgabe 'df -h':

    P.S.: So läuft jetzt natürlich auch "sudo apt-get update" nicht mehr sauber durch.

    Nur zur Info (musste heute Mittag weg): Ich hatte das alles noch auf die Variante mit sudowebscript umgewandelt. Und jetzt klappt es tatsächlich jedes Mal. Heute Nachmittag und auch jetzt als ich wieder nach Hause kam bei jedem Klick, sehr zuverlässig.

    Wunderbar :)

    Stimmt. Das hat auf jeden Fall dazu geführt, dass es gerade exakt einmal funktioniert hat. :D

    Wie mysteriös ist das denn nun wieder?^^

    Ich hatte visudo gerade angepasst, habe die Page neu geladen und auf EIN geklickt. Und die Funksteckdose wurde tatsächlich geschaltet. Allerdings klappte AUS dann nicht mehr. Dann "manuell" ausgeschaltet und auch EIN klappt nicht mehr. Der Befehl wird allerdings korrekt in $result angezeigt. Bei aus sendet er mit 0, bei ein mit der 1. Trotzdem tut sich an der Steckdose gar nichts mehr. Pi neustarten inkl. mal Strom komplett weg hat nichts gebracht.

    Letzte Idee ist jetzt die Steckdose mal kurz rausziehen. Manchmal hängen sich die Teile ja auch auf.

    Wenn es das nicht ist, ohje... :D

    //edit: Tatsache. Steckdose kurz raus. Und zack: ein, aus, ein, aus, ein, aus. Klappt.

    Ergo: Ich danke dir nochmals für deine Geduld und Mühe. :)

    Browser hatte ich schon manuell probiert, klappte ebenfalls nicht. Deswegen wollte ich schauen welche Ausgabe ich in der Konsole bekomme.

    Nach Korrigieren des CP-Fehlers: Okay, jetzt bekomme ich immerhin den Inhalt von $result im Browser angezeigt. Dort steht nun General Error: ..., also case 1.
    Jetzt muss ich nur noch rausfinden, wieso springt er in Fall 1..

    //edit: Also ich bin gerade etwas überfragt.
    Zugriffsrechte können es eigentlich nicht sein. Da der Error ja ausgegeben wird. Sprich Ausführung der Function, Rückgabe des Werts usw. funktionieren. Wenn die das Kommando aus der function in die Shell kopiere und ausführe klappt der Befehl.
    An der Übergabe des Parameters kann es auch nicht liegen. Ich übergebe die 1 für ein und die 0 für aus an die PHP-Function. Selbst wenn ich aber das " . $x" weglasse und einfach hart die "D 2 1" codiere, bekomme ich einen Gerenal Error.

    Und es ist ja auch korrekt, dass ich schalten('1') aufrufe, oder nicht?! 1 als String, so dass sie mit dem restlichen Befehl konkateniert werden kann.

    Also kA an welcher Stelle es da jetzt scheitert :( ..

    Manueller Aufruf bringt:

    Code
    pi@raspberrypi /var/www/own_shc/php $ php functions.php
    PHP Parse error:  syntax error, unexpected 'case' (T_CASE), expecting variable (T_VARIABLE) or '$' in /var/www/own_shc/php/functions.php on line 21

    Line21:

    Code
    21          case 2: $ReturnCode = "Incorrect Usage"; break;