Zu dumm für "REQUESTACTION"?

Hallo Zusammen,

dank der Hilfe von Nal-Chan, habe ich ein gutes Skript für meinen Pioneer VSX-830 gefunden.
(Das hier: Receiver Pioneer VSX-923 per Lan steuern)

Jetzt möchte ich aber nicht, bzw überhaupt nicht, aus dem Webfront steuern-- was einwandfrei funktioniert.Ich möchte stattdessen den Verstärker mittels eines Skripts steuern.
Dazu hatte ich zuerst „normal“ die Variablen mit SetValue… geändert. Nachdem mir das Problem aufgefallen ist, habe ich den Befehl „REQUESTACTION“ gefunden. Gesagt getan, nix geht.
Keine Fehlermeldung, nichts…

Hier mein Script:

<?php
$squeezebox = GetValueBoolean(41810);
$power = GetValueBoolean(48087);
$input = GetValueInteger(20299);

If ($squeezebox == true){
    If (($power == true) && ($input == 6)){
        return;
    }
    If (($power == true) && ($input == 23)){
        return;
    }

    If ($power == false){
        RequestAction(48087, true);
        IPS_Sleep(2500);
        RequestAction(20299,1);
        IPS_Sleep(500);
        RequestAction(34375, 55);
        return;
    }
}

If ($squeezebox == false){
    If (($power == true) && ($input == 6)){
        return;
    }
    If (($power == true) && ($input == 23)){
        return;
    }
    If (($power == true) && ($input == 1)){
        RequestAction(48087, false);
    }}

Bin ich einfach zu dumm, oder woran liegt es? Wie gesagt, der Klick im Webfront ist kein Problem und führt sofort zu einer Aktion.
Die jeweiligen Variablentypen stimmen ebenfalls, ich habe nämlich einfach SetValueBoolean oder SetValueInteger ersetzt.
Es scheitert halt schon am einschalten, die anderen Variablen bringen garnichts.
Übrigens ändert sich mit dem RequestAction auch die Variable nicht.
Es hilft auch nichts, dass ich diese mit z.B. SetValueBoolean ändere und dann RequestAction nochmal drüberlaufen lasse.

Jede Hilfe wäre sehr erwünscht :wink:

Gruß,
Maeffjus

Bei SetValueBolean hast Du Ja jetzt die ID von der Variable genommen, bei REQUESTACTION musst Du die ID von der HauptVariable nehmen.

Vermutlich liegt das Problem an den Aktions-Skript der Variablen.
Schau dort Mal rein, ich habe das im verlinkten Beitrag nicht gesehen/gefunden, und auch nach einer Abfrage auf _IPS[‚SENDER‘].
Dort wird bestimmt auf den Wert ‚WebFront‘ geprüft.
Ein RequestAction setzt aber dort nicht Webfront, sondern Action ein.
Alternativ kannst du anstatt RequestAction auch RequestActionEx benutzen.
RequestActionEx(48087, true, „WebFront“);

@UVoigi Du meinst IPS_RequestAction was auf eine Instanz und einen Ident wirkt. RequestAction benutzt immer die Variable.
Keine Ahnung was sonst eine Hauptvariable sein soll.
Michael

Das wars! Es funktioniert (mit dem RequestactionEx)
Wochenende gerettet!
Gruß,
Maeffjus

Das wars! Merci - jetzt klappt alles perfekt!

Ich kann mir da so auch ncihts drunter vorstellen :slight_smile: