[hoffentlich dieses mal gelöst] Externer HTTPS aufruf

Begonnen von mrb, 20 Februar 2022, 10:44:51

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#15
Wenn du alles doppelt moppeln willst, also das "in den Hintergrund" (weil das macht ja das & und aber auch die Anführungszeichen)...
...und das nach /dev/null...

Wie du willst.
Wenn es funktioniert "schadet" es nicht aber ist halt (mehrfach) "überflüssig(es Zeug" drin...

EDIT: zur Sicherheit kann man (mache ich immer so) den vollen Pfad zum "Programm" angeben, also z.B. /usr/bin/curl statt "nur" curl. Dann ist sichergestellt, dass fhem das "Programm" auch findet ;) (weil der User fhem [u.U.] eine andere "Umgebung" inkl. PATH hat wie z.B. der User pi usw.) das mit "/usr/bin/curl" stammt nat. von MEINEM System. Wo curl bei dir zu finden ist, musst nat. du bei dir "schauen" (z.B. which curl)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Guybrush

Zitat von: mrb am 20 Februar 2022, 14:37:16
also bei mir läuft das nicht oder ich bin zu blöd. hast du vielleicht eine "myUtils" NonblockingGet?

https://wiki.fhem.de/wiki/HttpUtils

mrb

okay ärgerlich. anscheinend funktioniert es doch nicht :(
bekomme immer im log folgendes:
sh: 1: Syntax error: redirection unexpected
hab auch brav das netz und die forums-suche befragt und es heist ja absoluten pfad angeben und dem user die rechte geben. daher sieht dann mein command folgend aus.

   
Bewegungsmelder:motion "/usr/bin/curl https://maker.ifttt.com/trigger/Arloxx/with/key/xxXXxx > /dev/null 2>&1> /dev/null &"

betateilchen

Zitat von: mrb am 20 Februar 2022, 15:21:43
das nonblockingget habe ich wie ihr seht verworfen da es nicht funktioniert hat

das ist doch hanebüchen...

Es ist immer sinnvoller, solche Aufgaben mit FHEM Bordmitteln zu lösen, als solche merkwürdigen Konstrukte für Systemaufrufe zu stricken.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Geh doch einfach mal systematisch vor. Fangen wir mal mit der einfachsten Variante an.

define test_notify notify GA_Bewegungsmelder2:motion {GetFileFromURL("https://maker.ifttt.com/trigger/Arloxxx/with/key/xxxx")}

Wenn das nicht funktioniert - was steht dann im Logfile zu einem möglichen Fehler?

Wie heißt eigentlich die URL nun richtig? In diesem Thread finden sich schon mindestens zwei Varianten:

https://maker.ifttt.com/trigger/ArloXXXXX/key/xxxxx\
https://maker.ifttt.com/trigger/Arloxxx/with/key/xxxx
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

mrb

oh mein gott. danke betateilchen.........

Jetzt steht schön im log "2022.03.02 16:41:41 3: Notify return value: Congratulations! You've fired the Arloxxxx event"
manchmal bin ich echt neben der kappe  :o :o :o :o :o

mrb

Zitat von: betateilchen am 02 März 2022, 16:26:46
Geh doch einfach mal systematisch vor. Fangen wir mal mit der einfachsten Variante an.

define test_notify notify GA_Bewegungsmelder2:motion {GetFileFromURL("https://maker.ifttt.com/trigger/Arloxxx/with/key/xxxx")}

Wenn das nicht funktioniert - was steht dann im Logfile zu einem möglichen Fehler?

Wie heißt eigentlich die URL nun richtig? In diesem Thread finden sich schon mindestens zwei Varianten:

https://maker.ifttt.com/trigger/ArloXXXXX/key/xxxxx\
https://maker.ifttt.com/trigger/Arloxxx/with/key/xxxx

ja also die Urls habe ich ausge"x"t da sonst jeder meine arlo starten kann.
und ich will vermutlich immer 2 schritte zu weit gehen. sorry allen :( :o

betateilchen

#22
Zitat von: mrb am 02 März 2022, 16:44:39
Jetzt steht schön im log "2022.03.02 16:41:41 3: Notify return value: Congratulations! You've fired the Arloxxxx event"

Ok, dann sind wir ja schonmal einen Schritt weiter.
Das Ganze ist nun zwar noch nicht nonblocking, aber angesichts der Tatsache, dass es schlichtweg um den Aufruf einer URL geht und keinerlei Nachverarbeitung erfolgen soll, sehe ich das nicht als großes Problem. Falls Du das trotzdem noch probieren willst, ersetze den URL-Aufruf GetFileFromURL() durch


HttpUtils_NonblockingGet({ url=>"https://maker.ifttt.com/trigger/Arloxxx/with/key/xxxx", callback=>sub() {} });


(ungetestet)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

mrb

so habe ich mir das ganze vorgestellt. super danke läuft *thumbsup*

betateilchen

kaum macht man es richtig, schon klappts...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!