Hallo zusammen!
Seit Anfang des Jahres bin ich stolzer Besitzer eines Homeservers, und seit Mitte des Jahres auch Bewohner des dazu passenden Hauses ;-)
Seitdem habe ich schon die ein oder andere Hilfestellung hier im Forum gefunden.
Allerdings habe ich zu meiner neuesten Frage keine richtige Antwort finden können.
Ich habe bereits einen einfachen Logikbaustein für den Homeserver programmiert, möchte aber nun gerne einen programmieren, der einen WEB-Aufruf ausführt.
Mir ist bewußt, dass es dazu im Experten extra einen Bereich gibt, allerdings wäre es sehr, sehr, sehr schreibaufwändig das darüber zu lösen.
Ziel ist es, eine URL auf einem Raspberry Pi im lokalen Netzwerk aufzurufen.
Grund: Sonos steuern - und zwar die Lautstärke.
So hatte ich es mir überlegt:
Den Wert einer Funktionsvorlage "Lautstärke" aus dem QC auf eine interne GA senden.
Kommt ein Telegramm auf diese interne GA, eine URL zusammensetzten, in der der Wert des Lautstärkebausteins der letzte Teil dieser URL wird.
Beispiel:
interne GA für Sonos Volume ist gebunden an Lautstärke aus QuadClient und liefert irgendwas zwischen 0 und 50. Als Beispiel 20
Baustein erhält diese 20 (über interne GA), wandelt sie in einen String und setzt daraus den Aufruf:
"http://192.168.x.x:5005/Wohnzimmer/Volume/20"
zusammen und setzt ihn ab.
Der erste Teil der URL ("http://192.168.x.x:5005/Wohnzimmer/Volume") soll als 14-Byte-Text an einem Eingang übergeben werden, die Lautstärke erst in String gewandelt und angehängt.
Die Möglichkeit User und Password für die Abfrage übergeben zu können hab ich erstmal hinten angestellt..
Ist das machbar? Wenn ja, wie kann ich aus dem Baustein heraus "http://192.168...../ aufrufen?
Warum ich es nicht direkt über den Experten lösen möchte:
Ich vergleiche zur Zeit 20 Werte, und rufe dann den entsprechenden WEB-Auruf ab.
Ich habe also schon 20 konfiguriert, um lediglich von 0 - 20 im Wohnzimmer regeln zu können....
Es gibt aber noch 4 weitere Boxen....
Und wenn sie als Gruppe zusammengefasst sind... :-(
Ich müsste 51 (inklusive Lautstärke 0) * 5 WEB-Aufrufe konstruieren + die zugehörige Logik dahinter, damit ich die Boxen einzeln zwischen 0 und 50 steuern kann...
Das lässt sich doch bestimmt auch eleganter und Ressourcenschonender lösen, oder?
Freue mich über Anregungen und Tipps
Carsten
Seit Anfang des Jahres bin ich stolzer Besitzer eines Homeservers, und seit Mitte des Jahres auch Bewohner des dazu passenden Hauses ;-)
Seitdem habe ich schon die ein oder andere Hilfestellung hier im Forum gefunden.
Allerdings habe ich zu meiner neuesten Frage keine richtige Antwort finden können.
Ich habe bereits einen einfachen Logikbaustein für den Homeserver programmiert, möchte aber nun gerne einen programmieren, der einen WEB-Aufruf ausführt.
Mir ist bewußt, dass es dazu im Experten extra einen Bereich gibt, allerdings wäre es sehr, sehr, sehr schreibaufwändig das darüber zu lösen.
Ziel ist es, eine URL auf einem Raspberry Pi im lokalen Netzwerk aufzurufen.
Grund: Sonos steuern - und zwar die Lautstärke.
So hatte ich es mir überlegt:
Den Wert einer Funktionsvorlage "Lautstärke" aus dem QC auf eine interne GA senden.
Kommt ein Telegramm auf diese interne GA, eine URL zusammensetzten, in der der Wert des Lautstärkebausteins der letzte Teil dieser URL wird.
Beispiel:
interne GA für Sonos Volume ist gebunden an Lautstärke aus QuadClient und liefert irgendwas zwischen 0 und 50. Als Beispiel 20
Baustein erhält diese 20 (über interne GA), wandelt sie in einen String und setzt daraus den Aufruf:
"http://192.168.x.x:5005/Wohnzimmer/Volume/20"
zusammen und setzt ihn ab.
Der erste Teil der URL ("http://192.168.x.x:5005/Wohnzimmer/Volume") soll als 14-Byte-Text an einem Eingang übergeben werden, die Lautstärke erst in String gewandelt und angehängt.
Die Möglichkeit User und Password für die Abfrage übergeben zu können hab ich erstmal hinten angestellt..
Ist das machbar? Wenn ja, wie kann ich aus dem Baustein heraus "http://192.168...../ aufrufen?
Warum ich es nicht direkt über den Experten lösen möchte:
Ich vergleiche zur Zeit 20 Werte, und rufe dann den entsprechenden WEB-Auruf ab.
Ich habe also schon 20 konfiguriert, um lediglich von 0 - 20 im Wohnzimmer regeln zu können....
Es gibt aber noch 4 weitere Boxen....
Und wenn sie als Gruppe zusammengefasst sind... :-(
Ich müsste 51 (inklusive Lautstärke 0) * 5 WEB-Aufrufe konstruieren + die zugehörige Logik dahinter, damit ich die Boxen einzeln zwischen 0 und 50 steuern kann...
Das lässt sich doch bestimmt auch eleganter und Ressourcenschonender lösen, oder?
Freue mich über Anregungen und Tipps
Carsten
Kommentar