Text mit Umlaute an MDT Glastaster senden

Hallo,
möchte mit diesem KNX Befehl:
EIB_Str(50295 ,„Test äüöÄÜÖß“);

  • (ist nur ein Muster-Text)
    einen Text der Umlaute enthält an einen MDT Glastaster in meinem KNX System senden.
    Am Glastaster erscheinen im StringFeld nur wilde Sonderzeichen.
    Mein Ziel ist es, dass ich dort den Sender bzw. Titel meines Sonos System erscheinen soll.
    Wie schaffe ich es, dass ich dort auch Umlaute anzeigen kann. Stichwort Codeumwandlung? Aber wo?
    Danke.
    Gruß
    Ekkehard

Was erwartet denn das Display? Welche Kodierung? ggf. mal ein utf8_encode probiert?

paresy

Hallo paresy,
in der ETS 5 ist als Codepage Westeuropäisch(ISO 8859-1) hinterlegt.
Bei der Gruppenadresse steht auch 16.001 Zeichen ISO 8859-1
Auch mit der Erweiterung des Befehls :utf8_encode („Test äüöÄÜÖß“)
sind die Umlaute nicht sichtbar.
Danke.
Grüße von
Ekkehard

Hallo paresy,
Gedankenfehler, wahrscheinlich von uns beiden.
Ich will ja ISO 8859-1 Format als Ziel haben, dann muss ich nicht encode, sonder decode als php Befehl schreiben.
Hab’s gerade getestet und hat geklappt.
Danke für Deine Hilfe.
Grüße von
Ekkehard

Hi
Ich habe das gleiche Problem mit den MDT Glastaster Smart II.
ETS auf ISO 8859-1 umgestellt, aber ich bin noch bei den php Script noch Anfänger.
Wie funktioniert die Befehlserweiterung auf utf8_encode.

EIB_Str(10524, GetValue(21428));

Die Textanzeige funktioniert, aber leider nicht die Umlaute.

Könnte mir eine mein Script um die Befehlserweiterung auf utf8_encode erweitern.

Danke
Lg Manfred

Falls ich Dein Problem richtig verstanden habe, dann funktioniert es mit utf8_encode()

Ich will ja ISO 8859-1 Format als Ziel haben, dann muss ich nicht encode, sonder decode als php Befehl schreiben.
Hab’s gerade getestet und hat geklappt.

Ich berufe mich auf den vorhergehenden Eintrag vom Ekkehard, er hat geschrieben, wenn er per utf8 encode als php Befehl schreibt sollte es funktionieren.
Ich habe leider keine Ahnung wie ich den php GetValue als utf8 encode ausgebe.

Lg Manfred

Vermutlich dann so:

EIB_Str(10524, utf8_encode(GetValue(21428)));

Viele Grüße aus dem Unterallgäu
Harry

Gesendet von iPad mit Tapatalk

Ich habe leider keine Ahnung wie ich den php GetValue als utf8 encode ausgebe.

Danke für die schnelle Hilfe. Mit encode hats zwar nicht funktioniert aber mit decode laufen jetzt die umlaute.

Eine frage hätte ich noch, zwar nicht zu dem Thema, aber vielleicht habe ich da auch noch glück und du könntest mir weiterhelfen.
Ich möchte mit einem Ereignis ein Skript starten, das eine Verzögerung von ca. 60 Minuten beinhaltet. Sleep Funktion sollte ja nur 30 Sekunden möglich sein.
Gibt es da auch eine Lösung.

Danke und schöne Feiertage
Schöne Feiertage noch.

Lg Manfred

Die erste Zeile gehört nicht zur Antwort sorry. Ist beim Kopieren mit reingerutscht. :banghead:

Lg Manfred

Starte aus dem Script heraus einen ScriptTimer für das selbe Skript für 60 Minuten.

Im Skript fragst Du ab, wer oder was es startet. Wenn es der ScriptTimer ist, setze ihn auf 0 und führe die gewünschte Aktion aus.

Das Studium der Dokumentation, speziell die Systemvariablen, helfen dabei.