Hi,
ich betreibe einen Fhem Server auf meinem Raspberry. Zudem habe ich HA-Bridge auf dem Rasp laufen.
Bisher habe ich über das WOL Modul es geschafft den VDR über Wake on Lan zu starten. und über den SVDRP Befehl zum VDR auszuschalten.
Das ganze geht über die HA-Bridge auch erfolgreich über mein Amazon Alexa Echo.
Nun würde ich gerne auch die Lautstärke des VDR über Alexa regeln.
Bei Google habe ich bereits Ansätze gefunden das über die Dimmfunktion der HA-Bridge regeln zu können.
Verbinde ich mich über ssh (putty) mit dem VDR kann ich auch über "svdrpsend VOLU 75" die Lautstärke eben auf 75% stellen.
Wie kann ich das nun entsprechend in die HA-Bridge über einen http Befehl an den Fhem Server senden, dass der dies dann an den VDR weitergibt?
Hat da jemand erfahrung?
Danke, Gruß Albi
Hi Albi,
funktioniert es auch, wenn du das in das fhem-web-cmd eingibst:
"svdrpsend VOLU 75"
So werden "shell-Kommandos" eingegeben (siehe commandref "FHEM Befehlstypen").
Wenn das geht, dann sollte sowas gehen:
http://IP-von-fhem:Fhem-Port/fhem?cmd=%22svdrpsend%20VOLU%20${intensity.percent}%22&fwcsrf=<MeinToken>
Evtl. auch hier mal schauen: https://forum.fhem.de/index.php?topic=66920.0
Gruß, Joachim
HI, danke für die schnelle antwort
Über CMD direkt kann ich das ganze nur so steuern.
{ system("ssh poweroff\@192.168.0.9 svdrpsend VOLU 75") }
"poweroff" ist der User mit dem eine Passwort freie SSH Verbindung vom Rasp zum VDR aufgebaut wird
Der VDR ist ja ein eigener Rechner und Fhem läuft auf dem Raspberry.
Hast du es mal ohne {system()} versucht?
Also "nur":
"ssh poweroff\@192.168.0.9 svdrpsend VOLU 75"
im WebCmd von fhem?
Sollte laut commandref ja eigentlich auch gehen...
Bzgl. ssh und User angeben könntest du auch eine ssh.conf anlegen und das dann darin festlegen.
Muss aber gestehen, dass ich das (auch) noch nie gemacht hab... ;)
Und hat auch nicht so direkt mit dem "Problem" zu tun, macht halt nur das Kommando kürzer... ;)
Ansonsten einfach mal mein Beispiel von oben erweitern um User und ssh etc.
Du musst halt Leerzeichen durch %20 ersetzen (weißt du sicher schon) und andere Zeichen (Klammern, @, ...) eben "encoden".
Es gibt auch online "urlencoder" einfach mal googeln...
D.h. wenn du ein Kommando hast, das per Eingabe in WebCmd von fhem funktioniert, dann einfach einen Webaufruf draus machen und "nicht Buchstaben/Zahlen" encoden und eben dann noch das ${intensity.percent} an die Stelle wo im Befehl die Lautstärkezahl hin muss und dann eben noch bzgl. csrfToken beachten...
Tippe grad leider nur auf dem Handy, daher nicht ganz so ausführlich...
Gruß, Joachim
Hallo,
Danke. So gehts
http://<user>:<pass>@<FHEM-SERVER-IP>:8083/webhook?cmd=%22ssh%20poweroff%5C%40192.168.0.9%20svdrpsend%20VOLU%20${intensity.percent}%22&fwcsrf=<zuganstoken>
Vielen Dank. Gruß Albi
Hi Albi,
bitte gerne!
Evtl. die Lösung noch in dem verlinkten Thread posten (evtl. hierher verlinken), da ist so "alles" gesammelt bzgl. ha-bridge...
...vielleicht hilft es ja noch jemand anderem...
Und dann diesen Thread auf gelöst, umbenennen des ersten Post in beispielsweise: [gelöst] VDR Lautstärke steuern
Gruß und viel Spaß noch, Joachim
Hi,
noch bin ich leider noch nicht ganz fertig.
Ich kann über die Dimm Funktion der HABridge nur Werte von 0-100 übertragen (kommt aus der % geschichte). Jedoch wird am VDR das ganze von 0-255 gesteuert. HIer muss ich noch schauen wie ich das hinbekomme.
Gruß Albi
Hi Albi,
evtl. ${intensity.byte} statt ${intensity.percent}
Siehe: https://github.com/bwssytems/ha-bridge (Dimming Control Example)
Gruß, Joachim
EDIT: Joachim hat geantwortet, bevor ich hier schreiben konnte.....
Google hat mir geholfen. Aber Danke an Joachim für den Support.
Lösung gefunden!
Im GitHub habe ich ich im Readme den richtigen Befehl gefunden.
http://<user>:<pass>@<FHEM-SERVER-IP>:8083/webhook?cmd=%22ssh%20poweroff%5C%40192.168.0.9%20svdrpsend%20VOLU%20${intensity.byte}%22&fwcsrf=<zuganstoken>
Mit dem intensity.byte wird der 0-100 Wert im Dimm Befehl in der HABridge im Dezimalen Wert übertragen. also wird aus 100% die 255 Übertragen.
So geht es jetzt.
Gruß Albi
Tja ;)
Viel Spaß noch, Joachim
Du kannst auch das svdrpsend Script einfach auf deinen fhem Server in /usr/local/bin kopieren. Und im Script localhost in die vdr IP-Adresse ändern.
Dann kannst du direkt das Script ausführen ohne ssh.
Nur so als Info macht den Befehl kürzer. ;)
Ach und in svdrpsend.conf muss noch die IP Adresse vom fhem Server noch rein.
@Phill
Wie hast Du es geschafft, dass fhem den sdvrpsend-Befehl sauber ausgefuehrt bekommt? Andere executables in /usr/local/bin koennen sauber gerufen werden, hier gehe ich jedoch davon aus, dass die Pseudo-Shell, die FHEM oeffnet, nicht ausreicht. Offensichtlich scheint es aber ja eine Loesung zu geben ;-)
Update: Hat sich erledigt ... ich hatte die ganze Zeit eine SSH-Session auf dem VDR offen und dieser ist so konfiguriert, dass er dann keine Shutdowns annimmt ::) Was Grippe alles so mit einem anrichtet ... ;D
Zitat von: Phill am 08 Januar 2018, 01:08:23
Du kannst auch das svdrpsend Script einfach auf deinen fhem Server in /usr/local/bin kopieren. Und im Script localhost in die vdr IP-Adresse ändern.
Ich bin neu in diesem Thema und hab folgende Fragen: woher kommt das svdrpsend script ? Heißt die Aussage oben auch, dass ich keine HA-Bridge mehr brauche ? Und ist eine HA-Bridge überhaupt noch state-of-the-art ? Glaube im mini-howto gelesen zu haben, dass der Autor diese nicht mehr verwendet ...
Danke