Beiträge von Hofei

    Hallo,

    Oder ein Parameter mit übergeben den ich dann in Test.py abfragen kann um ausschließlich ein Modul innerhalb "Test.py" zu starten?

    um das noch ganz allgemein zu beantworten. Ja, man kann Parameter beim Start übergeben und auswerten.

    Aufruf + Ausgabe:

    Code
    pi@***:~ $ python3 parameterübergabe_test.py Hello World
    sys.argv[0] ist immer der Skriptname, alles weitere übergebene Parameter
    index 0: parameterübergabe_test.py
    index 1: Hello
    index 2: World

    https://docs.python.org/3.9/library/sys.html#sys.argv

    Wobei ich nicht sehe woher das kommt:

    https://github.com/joscha82/wattp…equirements.txt

    und Version 3.10 wird wohl nur aus einem kleinen speziellen Grund benötigt:


    Actually, it's just wattpilotshell.py that's tied to 3.10 by using type hints "bool | None". Otherwise, wattpilot runs happily with 3.8 as well. The Wattpilot class works fine with 3.8.

    Ist es in Ordnung, wenn ich (gerne in einem eigenen Thread) meinen Code komplett poste, und ihr sagt mir, was ich wo verbessern kann?

    Klar, so hab ich am meisten gelernt, Code gezeigt und nach konstruktiver Kritik gefragt. Versuch aber gleich mal vorab so das Grundlegende zu beachten. Keine globalen Variablen, Pep8 ...

    und das geht am schnellsten, also ohne Multiprocessing. Dauer: 0:00:00.002991

    Also immer aufpassen, ob es Sinn macht es zu verwenden oder nicht.

    In meinem vorherigen Post Zeile 17, statt extend sollte dort append stehen. Kleiner Fehler.

    Hallo,

    also auf die schnelle wäre dies hier mein Lösungsvorschlag:

    Hat jetzt bei mir 5 Sekunden gedauert, hängt aber natürlich von der Hardware ab. Deshalb, wie lange dauert der Code bei dir?

    Was die optimale Anzahl an max_workers ist, hängt von der CPU ab. Deshalb kann eine höhere oder niedirgere Zahl zu besseren Ergebnissen führen.

    Bin hier aber auch nicht wirklich fit, weshalb ich sehr gespannt auf weiter Lösungsvorschläge bin.

    EDIT: An diesem Rechner erziehle ich 4 Sekunden wenn ich max_workers auf 4 reduziere.

    Noch ein kleiner Hinweis, deine for-Schleife geht nur bis 4999

    und vor allem ist das ein SD-Kartenkiller(!!!), weil im Hintergrund alle paar Sekunden mit scrot Screenshots zum Vergleichen gemacht werden.

    Kann man die Screenshots nicht in eine RAM-Disk ablegen?

    Jetzt soll auf einem anderen Raid5-NAS der gesamte Datenbestand geladen werden.

    Dazu bei der Backup-Platte in ..../daily.0 gegangen und auf dem Zielsystem als root eingegeben:

    rsync -avpEXgt * /mnt

    Hallo mir kommt das etwas komisch vor.

    War ist das Ziel unter /mnt ? Hier fehlt doch etwas. und ist es ein Softwareraid? Das wär dann mit md* anzusprechen.

    Hallo,

    das entscheidende dürfte wohl dieser Teil im journal sein

    Mai 21 23:43:12 raspberrypi mosquitto[5614]: 1684705392: Error: Unable to restore persistent database. Unrecognised file format.

    Mai 21 23:43:12 raspberrypi mosquitto[5614]: 1684705392: Error: Couldn't open database.

    Vielleicht findest du damit mehr im Internet.

    Genügend Speicherplatz ist vorhanden?

    Gibts einen Dateisystemfehler?

    Hallo,

    bei mir funktionieren deine Funktionen korrekt.

    Habe nur im Skript allgemein kleine Anpassungen vorgenommen, da du nicht deinen kompletten, lauffähigen Code gepostet hattest

    Ausgabe:

    Code
    [[1, True], [2, True, False], [3, True, False, False]]

    Der Fehler liegt also wohl in dem Teil, den du nicht gepostet hast

    Mir würde aber eine LED genügen die grün leuchtet bei neuen Nachrichten - und sonst eben nicht.

    Fang doch lieber erst damit an. Sollte günstiger sein wie ein ePaper Display.

    Bei WhatsApp selbst kann ich dir leider gar nicht weiter helfen, da es bei mir nicht in Verwendung ist. Mein letzter Stand ist nur, dass es keine API bietet und du somit wohl wie oben vorgeschlagen auf Selenium o.ä angewiesen bist. Wusste bis zu dem Thread nicht mal, dass sich WhatsApp mittlerweile auf dem PC/Pi ausführen lässt.

    Noch eine andere Idee, aber auch hier nur als Ideenanstoß da ich ebenso kein Android nutze. Bei Apple gibt es die App Kurzbefehle, womit man Abläufe automatisieren kann. Sollte Android so etwas auch bieten, könntest du auf dem Smartphone eine "Automatisierung" erstellen: "Wenn eine Nachricht empfangen/vorhanden ist in Whatsapp, dann rufe URL xyz auf", sofern natürlich die Funktion überhaupt mit den Nachrichten empfangen unterstützt wird.

    Die (lokale) URL zeigt auf deinem Pi, wo ein kleiner Webserver mit Flask o.ä läuft, wird die URL aufgerufen geht eine LED an oder ein Text wird auf das Display ausgegeben.

    EDIT: Das ist aber ein reines Gedankenspiel, wie es gehen könnte, ich sage nicht, dass es so geht.

    Das WischiWischi Android Dings bleibt da wo es hingehört - stummgeschaltet in der Schublade.

    Aber dafür baut man sich dann dafür selbst ein smartphoneähnliches Gerät, damit man dann doch die Nachrichten mitbekommt?! unlogisch ;)

    Bei WhatsApp wüsst ich jetzt keine Möglichkeit, bei Telegram sofort aber bei Whatsapp denk ich wird es einfacher sein dass du dich damit anfreundest, dass das Smartphone auch außerhalb des Apothekers benutzt wird.

    Sorry für den Doppelpost,

    aber hier mal mein Ansatz ( ja auf Deutsch ;) )

    Hier reicht das Vorkommen von #. Egal ob da noch anderweitiger Text enthalten ist. Wenn das nicht gewünscht ist müsst das natürlich noch angepasst werden bei der Abfrage in Zeile 11

    Wenn alle Abhängigkeiten ok sind und es dann immer noch nicht funktioniert, im Threadverlauf vom Tutorial gibt es 2 Fälle bei denen es bei /mnt nicht funktionierte, bei /media auf Anhieb.

    Selbst habe ich es noch nicht probiert, ob es auf /mnt funktionieren würde, da /media der passende Ort ist.