IPS_GetObjectIDByName findet ID nicht bei Name mit Umlaut

Hallo,

beim nutzen Befehl IPS_GetObjectIDByName wird bei mir, bei dem Namen „Sättigung“ keine ID gefunden.

Befehl:
$ID_HUE_Sättigung = IPS_GetObjectIDByName(„Sättigung“,$ID_HUE_Light);

Ergebnis:
Warning: Objekt mit dem Namen Sättigung konnte nicht gefunden werden in /var/lib/symcon/scripts/40874.ips.php on line 8

print_r(IPS_GetObject(27404)); erzeugt:
Array
(
[ParentID] => 31578
[ObjectID] => 27404
[ObjectType] => 2
[ObjectIdent] => SATURATION
[ObjectName] => Sättigung
[ObjectInfo] =>
[ObjectIcon] => Intensity
[ObjectSummary] =>
[ObjectPosition] => 6
[ObjectIsReadOnly] =>
[ObjectIsHidden] => 1
[ObjectIsDisabled] =>
[ObjectIsLocked] =>
[HasChildren] =>
[ChildrenIDs] => Array
(
)

)

Öffne mal die Instanz Utils Control und lass nach falsch codierten Texten suchen.
Vermutlich ist der Name nicht UTF8.
Utils Control — IP-Symcon :: Automatisierungssoftware
Michael

Hi Michael,

es werden tatsächlich die richtige Instanzen gefunden, jedoch geändert hat nach dem durchführen nichts.
Muss dazu das HUE Modul angepasst werden?

Kann ich nicht beurteilen, da ich das Modul nicht nutze.
Allerdings kann ich deine Aussage nicht verstehen. Was wird jetzt wie gefunden ?
Gelegentlich sind mehr als zwei Sätze nötig :wink:
Wurden die Namen vom Utils Control als falsch erkannt und dann korrigiert ?
Und jetzt tritt der Fehler wieder auf, bzw. sie sind wieder im Utils Control aufgelistet ?
Dann liegt es am Modul.

Michael

Wieso soll da was angepasst werden? Warum nutzt Du eigentlich nicht IPS_GetObjectIDByIdent, das ist immer eindeutig und da hast Du auch keine Probleme mit Umlauten, die sind in der Ident nämlich nicht erlaubt.

– dann werde ich das ändern, aber so ganz verstehe ich es nicht.

Wieder zu kurz.
Und meine Fragen hast du auch nicht beantwortet.
@Fonzo: Namen sollten aber auch funktionieren. Tun sie das nicht und die Namen wurden vom Modul so vergeben, ist das ein Fehler im Modul.
Und für normale Anwendungen reichen in Scripten auch Namen, immerhin kann man als Anwender diese einfach anpassen und muss sich nicht erst mit dem Thema Ident befassen.

Michael

danke,
Mit „geändert“ war die Aktion des Tool Utils gemeint. Es hat mir suggeriert, das es die Namen ersetzt :wink:
Anzeiege: „Vorher“ und „Nachher“

Macht es auch.
Der Fehler sollte dann auch weg sein.
Hier ist der Fehler durch das Modul verursacht worden:

Überhaupt sind da viel zu viele UTF8decode. Da IPS jetzt UTF8 haben will, ist das kontraproduktiv was das Modul da treibt.
Michael

Würde sich das Problem nicht durch Translate erübrigen? Dann sollte da ja Saturation stehen und IPS sollte das doch passend codiert übersetzten oder nicht?

Ja natürlich geht das auch.
Aber das ganze Modul hat viele Macken.
Auch das einfach die Sichtbarkeit verändert wird oder das fehlen einen Konfigurator und stattdessen automatische anlegen von Instanzen durch den Splitter in Kategorien.
Die Nutzung eines Events statt Timers.
Das automatische umbenennen von Instanzen, auch wenn man es nicht will.
Die Weigerung den Datenaustausch zu nutzen.
Usw…
Michael