App Fehlernachricht bei RequestAction

Hallo,

gibt es eine Möglichkeit, denn Text den RequestAction als Fehlernachricht zurückgeben kann, auch in der App anzuzuegen?Sowie im WebFront, z.B. als Android Toast.

symcon.PNG

MfG
almdandi

An welcher Stelle geben wir denn die Meldung nicht aus?

paresy

Hallo paresy,

wenn ich im Webbrowser einen falschen Wert für meine Funktion eingebe, bekomme ich oben rechts im Browser eine Fenster mit einer eigenen Fehlermeldung und der falsche Wert wird nicht übernommen. In der App erscheint diese Fehlermeldung nicht.

Hier noch der Code der RequestAction Function

public function RequestAction($Ident, $Value) {

    if(ctype_digit($Value) || $this->IsNullOrEmptyString($Value)) {
        switch($Ident) {
            case self::VARIABLE_PRIORITY:
            case self::VARIABLE_POWER:
                $variableId = IPS_GetObjectIDByIdent($Ident, $this->InstanceID);
                SetValueString($variableId, $Value);
                return;
        }
    }
    else {
        // Wird als "Popup" Fenster in WebFront dargestellt
        echo("Der eingegebene Wert muss eine positive Ganzzahl sein");
    }
}

Das war mir auch schon aufgefallen, irgendwann ging das aber schon… War ich zumindest der Meinung.
Michael

Hallo,

ja kommt mir auch so vor, als hätte das schon funktioniert. Weil übertragen wird die Nachricht, nur nicht angezeigt. Und falls wir Beiden uns dar irren, wäre es möglich diese Nachricht einfach als Toast Nachrichten anzuzeigen?

POST /api/ HTTP/1.1
content-type: application/json;  charset=utf-8
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 107

{"jsonrpc":"2.0","method":"WFC_Execute","params":[16192,16383,28556,"aaaaaaaaaaaaaaaa"],"id":1528368430430}

HTTP/1.1 200 OK
Content-Type:application/json; charset=utf-8
X-Content-Length:117
Content-Encoding:gzip
Content-Length:122

{"jsonrpc":"2.0","error":{"code":-32603,"message":"Der eingegebene Wert muss eine positive Ganzzahl sein"},"id":null}

Jupp. Ist eine Inkonsistenz der Apps. Werden wir uns drum kümmern!

paresy

Ich habs mir genauer angesehen und folgende Elemente ausschließlich unter Android zeigen die Meldungen nicht an:

  • UnixTimestamp, UnixTimestampDate, UnixTimestampTime, TextBox, Enums

Ist es bei dir auch unter Android und eines dieser Elememte?

paresy

Ich kann es nachher auch noch Mal testen.
Aber eben von unterwegs kommt bei mir nie eine Fehlermeldung :frowning:
Auch bei bool ~Switch nicht.
Michael