HTTP Befehl mit Variable ergänzen

Hallo

Leider kann ich meine Roto Fenster nicht direkt in IPSymcon einbinden und muss immer noch über die „Tolle“ Mediola Box gehen. Aktuell läuft dies sogar noch über den Zwischenschritt KNX, hier kommt es aber oft zu Fehlern ( Wert muss immer wieder auf 0 … egal das ist nicht die eigentliche Frage sondern nur Hintergrund)

Jetzt habe ich einen Weg gefunden

Per IPSymcon einen HTTP Befehl an Mediola senden

file_get_contents(„http://192.xxx.xxx.13:80/tm/http?dffaz=1&at=a6168617b259d1a71ce3b960cbe13fa8“);

Ich habe mir jetzt ein Variablen Profiel Angelegt
1= auf
2= zu
3= lüften

Wie bekomme ich jetzt den variablen Wert an die Position dffaz=
Sozusagen dffaz=„wert“

Und am liebsten so das ich es gleich im Aktionsskript der Variablen steht.

Danke

Ich habe eine ähnliche Situation mit meinem Sauger, den steuere ich über iobroker.
Das ist mein Actionscript:

if ($_IPS['SENDER'] == 'WebFront')

    {

        switch ($_IPS['VALUE']) 
        {

            case 0:
            // echo "Die Zahl ist 0\n";
            SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
            IPS_SetScriptTimer($_IPS['SELF'], 0);  // Timer deaktivieren
            break;

            case 1:
            // Roomba starten
            // echo "Die Zahl ist 1\n";
            SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
            Sys_GetURLContent("http://192.168.29.18:8087/set/roomba.0.commands.start?value=true");
            IPS_SetScriptTimer($_IPS['SELF'], 5);  // Timer nochma auf 5 Sekunden
            break;

            case 2:
            // Roomba pausieren
            // echo "Die Zahl ist 2\n";
            SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
            Sys_GetURLContent("http://192.168.29.18:8087/set/roomba.0.commands.pause?value=true");
            IPS_SetScriptTimer($_IPS['SELF'], 5);  // Timer nochma auf 5 Sekunden
            break;

            case 3:
            // Roomba fortfahren
            // echo "Die Zahl ist 3\n";
            SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
            Sys_GetURLContent("http://192.168.29.18:8087/set/roomba.0.commands.resume?value=true");
            IPS_SetScriptTimer($_IPS['SELF'], 5);  // Timer nochma auf 5 Sekunden
            break;

            case 4:
            // Roomba Stop
            // echo "Die Zahl ist 4\n";
            SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
            Sys_GetURLContent("http://192.168.29.18:8087/set/roomba.0.commands.stop?value=true");
            IPS_SetScriptTimer($_IPS['SELF'], 5);  // Timer nochma auf 5 Sekunden
            break;

            case 5:
            // Roomba ins Dock zum Aufladen
            // echo "Die Zahl ist 5\n";
            SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
            Sys_GetURLContent("http://192.168.29.18:8087/set/roomba.0.commands.dock?value=true");
            IPS_SetScriptTimer($_IPS['SELF'], 5);  // Timer nochma auf 5 Sekunden
            break;
        }

    }

if ($_IPS['SENDER'] == 'TimerEvent')
	{
        SetValueInteger($varid, 0);
        IPS_SetScriptTimer($_IPS['SELF'], 0);  // Timer deaktivieren
    }

Und dass das Profil auf der Integer Variable:

image

Mit dem Timer setze ich immer auf Punkt 0 zurück.

Gruß,
Loerdy

Hi,Vorformatierter Text

in etwa so:

$dffaz = 1;
$string = 'http://192.xxx.xxx.13:80/tm/http?dffaz=' . strval($dffaz) . '&at=a6168617b259d1a71ce3b960cbe13fa8';
echo $string;  // nur zum Test
file_get_contents($text);

wenn Du eine Variable mit Aktionsscript hast kommst Du mit:

$dffaz = $_IPS['VALUE'];

an die Variable.

btw. deine private IP Adresse musst Du nicht ausxzen.

Ralf

Danke für eure Unterstützung

Bis Echo komme ich
Aber dann bekomme ich die Fehlermeldungen undefinierte Variable

Müsste $Text nicht noch definiert werden?

Und die direkte Verarbeitung klappt auch noch nicht
$dffaz = $_IPS[‚VALUE‘];
Da muss ich aktuell auch noch über ein ausgelöstets Skript gehen
Danke

Hi,
blöd von mir muss natürlich

file_get_contents($string);

heißen.

Ja. für Test kannst Du auch einfach sagen $dffaz = 1 und $dffaz = $_IPS[‚VALUE‘]; auskommentieren.

Ralf

Danke für die hilfreichen Tipps

Funktioniert alles

Ich überlege ob ich noch eine Rückmeldung von Mediola einbauen möchte
Wo finde ich die Infos wie ein http Befehl aussehen muss den ich an IP-Symcon schicken möchte und was ich dafür einrichten muss ?