Hallo,
ich habe einen RaspberryPi und habe mir dort FHEM installiert.
Mein derzeitges Setup sind Funksteckdosen, welche ich mit einem ezControl T-10 steuere.
Dieses Gerät kann mit einfachen URLs arbeiten.
Was ich nicht finden konnte, wie ich nun URLs in FHEM integrieren kann.
Über einen Schupser in die richtige Richtung würde ich mich freuen.
Grüße Thomas
Ich glaube, deine Frage ist ein bisschen zu vage gestellt.
Was ist Ziel der Übung?
Hallo,
sorry wenn ich mich missverständlich ausgedrückt habe.
Also momentan steuer ich wie o.a. mittels der Hardware T-10 meine Funksteckdosen.
Im T-10 ist ein eigener kleiner Webserver, mit einer simplen Übersicht, wo ich die Steckdosen mit schalten kann.
Nun würde ich gerne erste Schritte mit FHEM machen und meine Steckdosen darüber steuern.
Da ich den T-10 ja habe, würde ich gerne in FHEM einen Button drücken, der dann mittels URL den Funkbefehl am T-10 auslöst.
Gruß Thomas
Stell bitte mal die urls zum einschalten und ausschalten für einen schalter online.
Hab sowas mehrfach im einsatz - und je nach urlaufruf kann man das "gestalten".
Hast du ein passwort im einsatz?
Hallo Dragonfly,
der Aufbau ist ziemlich simpel: http:192.168.1.4/preset?switch=10&value=off
Ein Passwort nutze ich nicht.
Gruß Thomas
Versuch mal:
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.4/preset?switch=10&value=on"};;\
if ($v eq "off") {GetFileFromURL "http:192.168.1.4/preset?switch=10&value=off"};;\
}
Oder auch so:
define T10_Schalter2 dummy
attr T10_Schalter2 group T-10
attr T10_Schalter2 setList on off
define T10_Schalter2_ntfy notify (T10_Schalter2:on.*|T10_Schalter2:off.*) {\
my $v=Value("T10_Schalter2");;\
GetFileFromURL "http:192.168.1.4/preset?switch=10&value=" . $v . "";;\
}
und
define T10_Schalter3 dummy
attr T10_Schalter3 group T-10
attr T10_Schalter3 setList on off
define T10_Schalter3_ntfy notify (T10_Schalter3:on.*|T10_Schalter3:off.*) {\
GetFileFromURL "http:192.168.1.4/preset?switch=10&value=" . Value("T10_Schalter3") . "";;\
}
Puh böhmische Dörfer!! ;-)
Aber schon mal vielen Dank, dass schau ich mir an.
Gruß Thomas
sollten alle 3 gehen - nur hab ich von dir das reinkopiert: http:192.168.1.4/preset?switch=10&value=off
muß aber schon so sein: http://192.168.1.4/preset?switch=10&value=off
Hallo,
also im HowTo von FHEM habe ich realtiv am Anfang diese Aussage gefunden:
ZitatDefine it for fhem (by typing it in the "Fhem cmd" input field in the browser):
Dieses Input Field benötige ich auch, oder?
Nur wo finde ich das, konnte im HowTo nichts dazu finden?
Gruß Thomas
Guckst Du
(siehe Anhang / see attachement)
:-) :-) :-)
OK, einerseits: ahhhhhh ;-) anderseits: da soll man mal drauf kommen ;-) --> also Danke für deinen Wink!!
Habs also mal eingefügt
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"};;\
}
und bekomme
Wrong syntax: use define <name> dummy
angezeigt.
Es 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.
Wow - ja so funktionniert das.
Cool vielen Dank für die Beschreibung.
Hab ich diese Beschreibung denn irgendwo übersehen - konnte es im HowTo nirgends finden.
Gruß Thomas
Top danke. Das hab ich gerade gesucht und sofort gefunden.
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.
Niemand hat hier behauptet dass man das über die fhem.cfg machen muss?! Nur weil das der Threadsteller vermutlich am Anfang dachte/gemacht hat. :-)
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.
Ups, sorry, das habe ich, da ich erkannte dass es einzelne Befehle fürs Input Feld sind glatt links liegen lassen.
In dem zitierten Beitrag steht noch viel mehr Quatsch. Bitte ignorieren.
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.
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") }
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.
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.