![]() |
|
Kein Boot Hier kann man allgemeinen Small Talk halten. Es muß ja nicht immer um Boote gehen. |
![]() |
|
Themen-Optionen |
#1
|
|||
|
|||
![]()
Hallo,
es gibt doch hier bestimmt Linux-User oder? ich habe ein eigentlich total simples Problem, irgendwie check ich nicht, was ich falsch mache.... ![]() Ich habe einen Raspberry Pi Zero WH laufen, der bei mir ein paar simple Aufgaben erledigt. Eine davon ist, meinen Yamaha WX010 Lautsprecher im Schlafzimmer per http-Befehl anzuwerfen, um ihn als Wecker zu nutzen. Klappt seit Jahren einwandfrei. Jetzt wollte ich, auf die gleiche Weise, eine Delock Wifi-Steckdose schalten. Diese hat die Tasmota Firmware drauf und kann dies explizit. Wenn ich den http Befehlsstring per ssh auf dem pi starte (Betriebssystem "Dietpi") dann funktioniert das auch. Es gibt da Befehle der Art "Toggle", "On" und "Off". Alle 3 funktionieren prima. Trage ich den Befehl in meine Crontab ein (wo der "Yamaha-Wecker" schon läuft) tut sich nichts. Kann mir jemand helfen, warum das so ist? Das Log (journalctl) zeigt nichts auffälliges. ![]() Der String für die Steckdose ist korrekt.... Ich habe mal einen kleinen Screenshot angehängt.... In dem Beispiel hätte ich jetzt erwartet, das die Steckdose täglich um 21:16 Uhr geschaltet wird.... Mit meinem Lautsprecher klappt es ja auch morgens ![]() Hat jemand ne Idee? ![]() Danke. Gruß H.P. |
#2
|
||||
|
||||
![]()
Lass mal das "wget" weg und rufe die URL "einfach so" auf.
"wget" erwartet einen Rückgabewert (eine Datei zum Download) und wartet und wartet und wartet... Da hängt es vermutlich ewig in der ersten Zeile. So meine spontane Theorie.
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! |
#3
|
||||
|
||||
![]()
Hier steht's ja auch:
https://tasmota.github.io/docs/Commands/ in der Rubrik "with web requests". Einfach den Webserver mit der URL anpingen, nix getten. Ganz nebenbei würde ich den Rat geben, statt IPs Hostnamen zu verwenden. Ist zunächst egal, erleichtert aber später die Pflege. (Ich bin da aber auch nicht sehr konsequent, vergesse die Namen genauso leicht wie IP und ärgere mich da regelmäßig drüber.)
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! |
#4
|
|||
|
|||
![]()
Danke für Deine Antwort.
Ich habe es aber grade hinbekommen. Wenn man statt "%20" ein Leerzeichen einsetzt und den http String in " setzt klappt es. Hat sich also erledigt. ![]() |
#5
|
||||
|
||||
![]()
Kommt dir das nicht selber komisch vor? Probier's trotzdem mal ohne "wget".
Tu's für mich.
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! |
#6
|
||||
|
||||
![]()
Btw.: ohne "wget" brauchst du auch das 2>&1 dahinter dann nicht, weil es keinen Rückgabewert zu händeln gibt...
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! |
#7
|
|||
|
|||
![]() Zitat:
![]() Mir als Linux Laie kommt so schnell nichts komisch vor ![]() Aber zum Thema: Ohne "wget" geht der Befehl nicht. Lass ich ihn weg, tut sich gar nichts. Ich habe das auch mit und ohne Anführungszeichen vor dem HTML String versucht. Nix. ![]() Also...."Never change a running code". Jetzt läuft jedenfalls meine Aquariumbeleuchtung.... Gruß H.P. |
#8
|
||||
|
||||
![]()
Naja, mich würde das nicht zufriedenstellen, dass es "irgendwie" funktioniert.
![]() Die Doku von Tasmota sagt übrigens auch ziemlich klar: "Any spaces or special characters must be replaced with their ASCII hex codes. You must precede each hex code with %. Most used codes are: space = %20 and ; = %3B." Die URL war also soweit korrekt. Statt den Anführungszeichen kannst du übrigens auch einfach einen Backslash vor das "&" machen.
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! |
#9
|
|||
|
|||
![]() Zitat:
Jap, so steht es auch in der gedruckten Anleitung die beilag, also inkl. "%20". So funktionierte das ja auch per SSH im Terminal, nur aus irgendeinem Grund nicht via Cron. Deswegen dachte ich, das es irgendwie an Cron liegen muss, das es den String irgendwie nicht "versteht". In einem anderen Forum gabs dann den Tipp, das "%20" einfach mal wegzulassen, durch ein Leerzeichen zu ersetzen und den String in Anführungszeichen zu setzen. Ich habe kein Plan warum, aber es hat funktioniert. Um Heinz Rühmann aus dem Film "Feuerzangenbowle" zu zitieren: "Damit wollen wir uns bescheiden" ![]() Gruß und nochmal Danke. H.P. |
#10
|
||||
|
||||
![]()
Hat mich jetzt auch mal interessiert.
Habe hier eine Anleitung zu cron gefunden. https://www.stetic.com/developer/cro...rontab-syntax/ Da ist das auch mit dem % bei cron erklärt.
__________________
Gruß Jörg
|
#11
|
||||
|
||||
![]() Zitat:
Bei mir werkelt die SISPM Library und lässt sich per cron super einfach steuern. https://gembird.com/item.aspx?id=7415&lang=de
__________________
Gruß |
#12
|
|||||
|
|||||
![]() Zitat:
Und ich halte das "wget" immer noch für nicht richtig, das "2>&1" zum Umleiten der Ausgabe damit ebenfalls für überflüssig. Schrieb ich ja schon. Der Aufruf der URL muss eigentlich ohne jeden Zusatz funktionieren. Das Leerzeichen ist dabei durch den ASCII Code zu ersetzen - so, wie es die Doku auch sagt. Aber wie beim Boot auch: Es gibt dreckige Lösungen und es gibt saubere Lösungen.
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! Geändert von Chili (26.11.2021 um 13:47 Uhr)
|
#13
|
||||
|
||||
![]() Zitat:
Ich steuer auch meine AQ Beleuchtung per PWM, d. h per cron schreib ich zahlenwerte in eine Textdatei die permanent von der Bibliothek ausgelesen wird und die einzelnen Kanäle steuert. Das war ein Krampf bis das rund lief...die Steckdosen zu steuern ist dagegen einfach gewesen.
__________________
Gruß |
#14
|
||||
|
||||
![]()
Ich habe eine Raspberrymatic laufen. Seit Monaten bis Jahren ohne Reboot.
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! |
#15
|
||||||
|
||||||
![]()
Moin moin,
Zitat:
Ich würd vermutlich tatsächlich lieber curl nutzen, in der Art Code:
23 22 * * * curl -s http://192.168.178.32/cm?cmnd=Power\%20toggle > /dev/null crontab(5) Zitat:
|
#16
|
||||
|
||||
![]()
cURL muss dafür aber erstmal vorhanden sein.
Aber du hast schon recht, ich bin falsch abgebogen. ![]() Im Job muss ja letztlich stehen, WER etwas machen soll und WAS gemacht werden soll. Die nackte URL ist Käse gewesen, die ist am Ende nur ein Argument für das wget. Mein (falscher) Gedanke war, dass ich die "Seite" ja gar nicht aufrufen möchte (ich will also nichts zurückbekommen). Ich will den Ziel-Webserver mit den reinen Request zu einer Aktion nötigen. Aber auch um diesen Request zu erzeugen braucht man curl, wget, lynx, google-chrome, firefox oder was-weiss-ich-was; irgendWER muss mit der URL was machen. ![]() wget ist dann doch richtig und immer vorhanden.
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! Geändert von Chili (26.11.2021 um 15:42 Uhr)
|
#17
|
|||
|
|||
![]() Zitat:
![]() Ist ganz nett das Teil.... kostet so zwischen 14 und 19€. Endlich mal was ohne Cloudzwang ![]() Was die Sicherheit angeht: Der Raspberry arbeitet nur im Heimnetz, das von außen nicht zugänglich ist. Das hatte ich mal, brauche ich aber nicht wirklich. Der RPi soll nur Dinge zeiutgesteuert tun und gut. Ich muss nicht von außen auf ihn zugreifen, an meinem Router sind keine Ports offen. Als nächstes kommt noch eine Webcam an den Pi, die dann 1x am Tag n Bild machen soll und mir das per Mail sendet (wenn ich im Urlaub bin). Ich hatte mir auch mal n Stream gebaut mit der Rpi Cam und einem Webserver, aber das ist mir zu viel Overkill, das brauche ich nicht. Ich habe hier noch ne alte Creative 720p Webcam liegen, die mache ich morgen dran.... mir fehlt noch n Adapter (gib Gas Amazon!). Gruß H.P. |
#18
|
||||
|
||||
![]()
Für die Aquarium Beleuchtung hätte es auch diese Häckersichere Cron-Job-Maschine getan
![]() https://toom.de/p/tageszeitschaltuhr...SABEgLzAvD_BwE
__________________
Gruß Jörg
|
#19
|
|||||
|
|||||
![]() Zitat:
Ob wget oder curl ist Geschmacksache, ich würde "w3m -dump" oder "lynx -dump" hehmen.
__________________
Gruß Klaus "Und wenn du gehst, dann geht nur ein Teil von dir. Und gehst du, bleibt deine Wärme hier." Frei nach P.Maffay Sprotten von der Kieler Förde
|
#20
|
|||
|
|||
![]() Zitat:
Darf ich Dir die guten alten Kleinanzeigen statt Foren, Zeitung statt Internet und lineares TV statt Streaming empfehlen? ![]() Nein im Ernst: Ich bastel halt gern ![]() |
#21
|
||||
|
||||
![]()
Moin moin,
Zitat:
![]() Aber zu Deiner ersten Anmerkung: gibt's echt Debian-Installationen ohne curl? Das ist mir tatsächlich noch nie untergekommen - wobei ich meistens auch einiges installiere was ich zum arbeiten auf der Konsole gerne habe, kann sein daß es curl dann automagisch gleich mitbringt... und falls es das echt nicht gibt ist das bei Debian ja auch nur ein apt-get install curl entfernt. lg, justme, Linux mittlerweile auch nur noch auf den RasPis (und der FritzBox und dem NAS, aber da halt OEM-branded) einsetzend |
#22
|
|||
|
|||
![]()
Hallo....ich nochmal
![]() Ich habe ja jetzt einige Operationen im Crontab laufen, meinen "Multiroom-Wecker" und meine Aquarienbeleuchtung, die mehrfach am Tag geschaltet wird (Beleuchtungspause). Läuft alles super. Jetzt eine "kosmetische" Frage: Der "Wget" Befehl bzw. Cron legt nach Ausführung immer eine leere Datei im Root Verzeichnis an. Der http Befehl meiner Yamaha Lautsprecher fängt mit "Set-power" an und so heißt dann auch die Datei. Der Befehl für die Steckdose fängt mit "cm...." an und so heißt dann ebenfalls die Datei. Jetzt kann ich natürlich einfach, ebenfalls per cron Befehl, die Dateien regelmässig löschen lassen (rm set* / rm cm*) und feddisch ![]() Aber schön und sauber ist das nicht.... ![]() Also... wie verhindere ich, das die Dateien überhaupt erstellt werden? Ich habe da was von "wget -O-" gelesen, weiß aber nicht ob und wie das geht und ob es überhaupt daran liegt.... Meinem Terminal Mailprogramm "mutt" konnte ich das Anlegen einer "sent"-Datei schon erfolgreich "ausreden". ![]() Danke H.P. |
#23
|
||||
|
||||
![]()
Moin moin,
Zitat:
Ansonsten hilft auch einfach ein 'man wget' in der Konsole schon deutlich weiter, wie viele andere Tools kann wget einiges mehr als nur die überall zu findenden Standardsachen... lg, justme |
#24
|
|||
|
|||
![]() Zitat:
"--spider" übrigens nicht, dann reagieren die Geräte nicht. Vielen Dank. ![]() Wozu ein Bootsforum doch alles gut ist ![]() Gruß H.P. |
![]() |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Wer kann mir helfen bei Trailer Problem? | A.Remmers | Kleinkreuzer und Trailerboote | 7 | 09.10.2016 10:47 |
Zölliges Schrauben Problem, wer kann mir helfen!? | Der Boris | Technik-Talk | 6 | 27.05.2015 14:18 |
Zündkerzen Problem ! Wer kann mir Helfen? | Cedrik270405 | Motoren und Antriebstechnik | 118 | 25.09.2010 08:04 |