Hi,
wenn ich in meine Wohnung komme, steht sofort rechts eine Lampe. Diese kann ich aktuell per Raspberry Pi mittels Funksteckdosen schalten.
Habe mir nun ein Python-Script geschrieben, welches per Ping überprüft ob die IP meines iPhones erreichbar ist und falls das so ist die Steckdose anschaltet.
Zuerst einmal wird das Script per Cronjob um 19:30 Uhr ausgeführt. Anschließend wird 12000 mal, alle 3 Sekunden, gecheckt ob ich zu Hause bin. Also 10 Stunden, bis 5:30 Uhr.
Sinn ist, dass ich nach Hause komme und es dunkel ist, sich automatisch die Lampe am Eingang einschaltet.
Erstes Problem: Script würde alle 3 Sekunden die Lampe anschalten und das Funksignal senden. Unnötigerweise, da die Lampe ja ab dem zweiten Schleifendurchlauf bereits an ist.
Daher wollte ich eine Hilfsvariable "status" einführen, welche sich merkt ob die Lampe gerade an oder aus ist.
Trotzdem wird nach jedem Ping wieder "eingeschaltet". Ich hab keine Ahnung wieso. Muss irgendein kleiner Denkfehler sein.
Zweiter Punkt: Ich würde gerne noch eine weitere Funktion einbauen. So, wie das Script jetzt ist, würde die Lampe natürlich dauerhaft eingeschaltet sein, solange mein iPhone im WLAN ist. Wenn ich die Lampe manuell ausschalte, würde sie beim nächsten Schleifendurchlauf wieder eingeschaltet werden.
Allerdings will ich ja auch ins Bett gehen irgwann und dann bekäme ich die Lampe bei laufendem Script nicht ausgeschaltet. Hat jmd eine Idee, wie ich das clever lösen könnte?
Danke im Voraus!