Geräte einfach per URL steuern

Begonnen von ThomasH, 06 Mai 2013, 13:22:39

Vorheriges Thema - Nächstes Thema

Brockmann

Nur zur Info, bevor sich das hier verfestigt:
Es ist keine gute Idee, direkt in der fhem.cfg zu arbeiten - gerade für Einsteiger. Man kann und sollte das alles über die Weboberfläche erledigen, bis man genau weiß, was man tut.

Der Grund für die Fehlermeldung: Der Code bestand nicht aus einer, sondern mehreren Anweisungen. Man hätte einfach nur nacheinander
define T10_Schalter1 dummy
attr T10_Schalter1 group T-10
attr T10_Schalter1 setList on off
define T10_Schalter1_ntfy notify (T10_Schalter1:on.*|T10_Schalter1:off.*) {\
  my $v=Value("T10_Schalter1");;\
  if ($v eq "on") {GetFileFromURL "http://192.168.1.42/preset?switch=9&value=on"};;\
  if ($v eq "off") {GetFileFromURL "http://192.168.1.42/preset?switch=9&value=off"};;\
}

eingeben müssen.

chr2k

Niemand hat hier behauptet dass man das über die fhem.cfg machen muss?! Nur weil das der Threadsteller vermutlich am Anfang dachte/gemacht hat. :-)


Brockmann

Zitat von: chr2k am 05 August 2016, 17:31:48
Niemand hat hier behauptet dass man das über die fhem.cfg machen muss?! Nur weil das der Threadsteller vermutlich am Anfang dachte/gemacht hat. :-)

Doch, ein paar Beiträge zuvor wurde genau das behauptet:
https://forum.fhem.de/index.php/topic,12673.msg77217.html#msg77217
ZitatEs gehört ja auch nicht ins "Input Field".

Edit files (Schaltfläche links)
Dann wählst du die "fhem.cfg" aus und kopierst es dort rein.
Speichern (save) und im "Input Field" rereadcfg eintippen - mit Enter bestätigen (dann liest er die Änderung ein)

Jetzt hast du in "Everything" und "Unsorted" eine neue Gruppe, wo der Schalter drinnen ist.

Und da ja vielleicht noch andere Neueinsteiger auf diesen Thread stoßen, wollte ich es richtig stellen.

chr2k

Ups, sorry, das habe ich, da ich erkannte dass es einzelne Befehle fürs Input Feld sind glatt links liegen lassen.

marvin78

In dem zitierten Beitrag steht noch viel mehr Quatsch. Bitte ignorieren.

chr2k

Wie bekomme ich denn den GetFileFromURL Befehl so umgemodelt, dass ein Shell Befehl ausgeführt wird? Mein FHEM läut auf einem RPi.

Habe in der Commandref vom notify folgendes gefunden global:UNDEFINED.* "send-me-mail.sh "$EVENT"" Das klappt wenn ich das so als notify anlege auch, aber nur mit on, aber in dem Beispiel Code von oben wo bei on die eine URL aufgerufen wird und bei off die andere nicht, auch nicht wenn ich die { zu " ersetze oder was auch immer. Ich möchte bei on einen shell befehl ausführen und bei off einen anderen.

Danke.

chr2k

Na toll, zuerst such ich rum, dann schreibe ich meine Frage, dann suche ich weiter udn schwups liegt die Antwort fast auf dem Präsentierteller.

Dieser Beitrag hat mir prompt geholfen: https://forum.fhem.de/index.php/topic,35632.msg279662.html#msg279662

define act_on_door1 notify door1:open { system("sudo python test_signalspeichern.py") }

justme1968

du brauchst keinen system aufruf und auch nicht auf die perl ebene.

den shell auf aufruf in doppelte anführungszeichen und gut ist.

in deinem beispiel oben sind die anführungszeichen um $EVENT falsch.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

chr2k

Zitat von: justme1968 am 06 August 2016, 09:57:32
du brauchst keinen system aufruf und auch nicht auf die perl ebene.

den shell auf aufruf in doppelte anführungszeichen und gut ist.

Habe diesen Code, der funktioniert (Cam:on.*|Cam:off.*) {   my $v=Value("Cam");;   if ($v eq "on") { system("sudo raspistill -o /opt/fhem/www/pgm2/cam.jpg") };;   if ($v eq "off") { system ("sudo raspistill -o /opt/fhem/www/pgm2/cam3.jpg") };; }
Habe nun versucht deinen Tipp umzusetzen, ohne Erfolg.



Zitat von: justme1968 am 06 August 2016, 09:57:32
in deinem beispiel oben sind die anführungszeichen um $EVENT falsch.

Ist nicht mein Beispiel  ;) Habe ich aus der Commandref übernommen und damit gearbeitet.