Beiträge von Bamboleate

    simonz DANKE DANKE DANKE für deine Mühen! Auch das werde ich vergleichen/ausprobieren und hoffentlich soviel davon lernen, dass ich bei meiner nächsten Suche (die ich durchaus getätigt habe) die vorhandenen Forenbeiträge so interpretieren kann, dass ich meinen code selbst verändern kann.

    Und das bricht vielleicht eine Lanze für Noobs wie mich: Wenn ich einen Beitrag so verstehe, dass ich weiß, was ich machen soll, brauche ich ja keinen Thread eröffnen, und all die, denen ihr auf diese Weise geholfen habt, sind dann sozusagen unsichtbar. Nur Typen wie ich, die immer noch versuchen zu killen obwohl sie pkillen müssten, die dann eben mit ähnlichen threads auch nicht klarkommen - Die müssen dann hier die ewig gleichen Fragen stellen.. Danke für eure Gedud!

    Ich finde es gut, wenn ein Script weiss, dass es beendet werden könnte, und dass es dann, wiederum in meiner Sprache, kontrolliert gekillt wird, anstatt es einfach so auf offener Straße niederzumetzeln. Deswegen: Danke nochmal. An dich und an alle!

    Bambo

    Haha, dankeschön!! Was ich meine, ist, dass das Script eben einfach irgendwo abgebrochen wird:
    Wenn ich das Script per cron starte und per pkill beende, bleibt die LED an, wenn sie an war, und ich müsste per GPIO Befehl die LED ausschalten;

    Wenn ich manuell starte und mit CTRL-C beende, geht auch die LED wieder aus

    Das sagt mir Noob (ach nee, ich bin gerade zum Junior aufgestiegen), dass CTRL-C in meiner Sprache etwas kontrollierter killt als pkill.

    Aber wie gesagt: Es gibt offenbar keinen/wenig Gegenwind, das so zu machen, darum ist der Drops jetzt erstmal gelutscht.

    hyle Ich sag mal so: die anderen beiden unterhalten sich durchaus lehrsam über die verschiedenen Möglichkeiten, das Ganze besser über die Bühne zu bekommen;

    Gleichzeitig funktioniert deine Lösung hinreichend - die konnte ich einfach und unkompliziert testen, und nachdem alle typos ausgemerzt sind, funzt es auch.

    Die fehlende Kritik an deiner Lösung werte ich als "Ja, kann man so machen" - Und mit allem nötigen Respekt an die anderen: Das alles probiere ich wohl erst, wenn hyles Lösung doch als zu grob bewertet wird, trotzdem vielen Dank!

    Wie immer hier im Forum bin ich begeistert, wie schnell und gut einem geholfen wird! DANKE!!!!

    hyle

    Die LED, die ich mit dem Melder schalte, bleibt einfach an, wenn ich mit pfkill -f beende, das müssteheißen, dass ich die GPIO manuell zurücksetzen muss, das könnte ich ja auch, und auch per cron - Es kommt mir so vor, als wäre das ein bisschen brutal - Oder ist dem nicht so?
    Kann man dann immer weiter starten und beenden?

    simonz
    Das sieht in der Tat eleganter aus, wenn auch uMständlicher, und deswegen weniger verständlich für mich. Ich habe schon ein while_true und ein try usw. Wo muss das hin usw. Ich teste gerade die Möglichkeiten von Hyle... DANKE schonmal!

    bennetr auch da werd ich mich mal einlesen, vielen Dank!

    Hallo Gemeinde, da mir hier immer so freundlich geholfen wurde, und ich immer mit dem ganzen Programmieren rumfummel, bis es geht, und dann mach ich monatelang nichts, und dann hab ich wieder eine Frage, die ich aus anderen Forumbeiträgen hätte erschließen können, als ich noch im Thema war... seufz. Ich muss euch noch einmal bemühen

    Das Script unten bekomme ich per crontab gestartet.

    Ich würde es gern so beenden, dass die GPIOs zurückgesetzt werden und ich es ohne den PiZero zu verwirren, wieder starten kann.

    Am liebsten per Crontab, so dass ich die Zeiten quasi dort einstellen könnte. Aber auch Lösungen im Script selbst wären mir willkommen.

    Ich habe zB über exit() gelesen - Aber wohin muss es, wie bekomme ich das von außen getriggert, oder

    wie kann ich einbauen, dass der Bewegungsmelder nur zu einer bestimmten Tageszeit läuft..

    In Bash scheinen kill und killall ja auch "so was ähnliches" zu machen. Auch da bin ich mir unsicher: Da muss man die GPIOs quasi manuell zurücksetzen, oder? Geht das?

    Was ist die Lösung, die am wenigsten brutal und am verständlichsten ist

    DANKE schonmal für eure Hilfe!

    Hallo Gemeinde, ich habe eine - meiner Meinung nach - kurze Frage: Ich habe ein 16 Kanal Relaisboard

    https://www.berrybase.de/5v-16-kanal-relais-modul

    und einen Pi zero.

    Kann ich ein Y Kabel von EINEM GPIO an ZWEI Relais führen und die dann quasi gleichzeitig schalten?

    Bei so vielen Anwendungen braucht man - und +, so dass ich es toll fände, die Leitungen gleichzeitig zu schalten.

    Ich bin auch hier leider zu doof für die richtigen Suchwörter, nach Tante Google und einer Suche hier wende ich mich also an euch.
    Helft mir gern auch mit Suchwörtern auf die Sprünge. DANKE!!

    Bambo

    Ich entschuldige mich, mit meinem Halbwissen diesen Thread aufzublähen. Ich möchte hier ein letztes Mal versuchen, die von mir verursachte Verwirrung aufzulösen:
    ICH habe den Port 5335, OP hat wohl port 5353 für Unbound. Ich habe OP vorgeschlagen, den anderen port mit dem dig Befehl zu probieren, weil ich mich meinte zu erinnern, dass ich damit auch Probleme hatte (was nur vielleicht so war, ich weiss es nicht mehr).
    Ich hatte das neueste OS Bullseye installiert, und hatte damit alles mögliche an Problemen. Vielleicht hilft OP dieser Thread auf Reddit. Besonders die Antwort von TheCeed half mir. Des Weiteren bin ich wohl einfach nicht genug im Thema, dass ich hier antworten könnte, das meine ich völlig ernst, sorry nochmal fürs Aufblähen des Threads.

    rpi444 Bei genau deinem dig Befehl habe ich auch keine Fehlermeldung. Hast du Pihole/unbound installiert?
    Ein Unterschied ist die IP, die du eingetragen hast, und du hast den port weggelassen*.
    Ich habe deinen dig befehl mit der IP ...@127.0.0.1 (ohne den port anzugeben) ausprobiert und bekomme auch keine Fehlermeldung, an Verteiltesysteme.net liegt es also entgegen meiner Vermutung nicht.

    Ich habe in Pihole allerdings einen anderen Port eingetragen, merk ich jetzt: 5335, DAMIT kriege ich auch kein timeout. Nen Versuch ist es wert, OP, vielleicht liegt's ja am Port

    * Seit ich den Port(wein) weglasse, is mir auch nicht mehr so duselig...

    Noch n Edit: OP, das ist der Befehl zum Ausprobieren:

    Code
    sudo dig sigok.verteiltesysteme.net @127.0.0.1 -p 5335

    Ich erinnere mich, dass es eine Fummelei war, das zum Laufen zu bekommen, und schlussendlich habe ich es geschafft, und ich MEINE, dass es damit zusammenhing. Ich erinnere mich gut, dass ich nicht verstanden habe, WARUM es dieser und nicht der andere sein musste. Aber es ist zu dunkel erinnert, dass ich das genauer ausführen könnte...

    Im Moment bekomme ich nach

    Code
    $ sudo dig sigok.verteiltesysteme.net @127.0.0.1 -p 5353
    
    ; <<>> DiG 9.16.22-Raspbian <<>> sigok.verteiltesysteme.net @127.0.0.1 -p 5353
    ;; global options: +cmd
    ;; connection timed out; no servers could be reached

    Das kann - soweit ich das alles richtig verstehe - auch einfach daran liegen, dass der Server jetzt gerade down ist, und alles andere trotzdem läuft. Bei mir läuft dieselbe Kombi: Pihole und unbound.

    Ja, __blackjack__ , dein Code sieht aufgeräumter aus.

    Ich habe eben einfach drauflos gemacht (programmieren brauch ichs nicht nennen, ha ha), und im Moment ist das (fast) das Einzige, was auf dem PiZero läuft - der langweilt sich doch sonst (so wahrscheinlich auch). Aber Spaß beiseite...

    Da ich im Moment sowieso die Abschaltzeit WEIT länger gewählt habe (also etwa 10 Minuten), wäre es für mich ein Leichtes, zB einen sleep(10) einzufügen, während das Relais an ist - Elegant ist das aber auch nicht, was?

    Da ich aber schon bei

    Zitat

    Variablen und Hauptprogramm gehören in eine eigene Funktion, nicht auf Modulebene. Alles was Funktionen (und Methoden) ausser Konstanten benötigen, bekommen sie als Argument(e) übergeben.

    passen muss, und die nächsten wahrscheinlich Stunden zubringen werde, herauszufinden, was du damit meinst, bin ich leiiider hier überfragt. Schade.

    Ich danke dir wirklich sehr fürs Aufräumen des Codes! Den probiere ich gleich einmal aus.. Und noch ein Dankeschön für die vielen Stichworte, die mich sicher weiterbringen, wenn ich mich etwas einlese.

    Da dies der Grundstein für weitere Automationen ist, bin ich sehr interessiert an der weiteren Entwicklung. Leider kann ich wohl außer bewundernden Rufen nicht viel beisteuern..

    Dennis89 Ich freue mich wirklich über das gemeinsame Rätselraten, vielen Dank!

    Gnom, du hast mich auf die richtige Fährte gebracht, und mein Problem gelöst! Vielen Dank dafür.

    FALLS ich doch so geschrieben habe, dass sich jemand auf diesen Thread verirrt mit einem ähnlichen (ähnlich einfachem) Problem, hier noch einmal der Code, der immerhin gerade eben wie gewünscht funktionierte!

    Ich möchte per pir.MotionSensor Relais schalten. Das funktioniert auch mit diesem Code:

    Jetzt wäre es toll, wenn die Relais eine zeitlang anblieben, und wenn keine motion mehr detected wird, kann er die Relais ausschalten, aber wenn jemand im Raum ist, und sich hier und dahin bewegt, sollen sie angehen und die ganze Zeit anbleiben. Dafür müsste man einen Timer so einstellen können, dass der bei erneuter Motion Vor Ablauf der Zeit eben Retriggert, und die Zeit zurücksetzt?

    Wie erstelle ich einen in meinen Augen doch sehr alltäglichen Bewegungsmelder?

    Meine If/while usw-Schleifen funzen nicht, ich finde keine gute Übersicht für meine Problemlage, und nach einem durchlöteten und durchprogrammierten Wochenende find ich, darf ich hier noch einmal fragen. Auch wer mir die richtigen Suchbegriffe verrät, ist gern gesehen. Dankeeeee!

    Bambo