Ich hatte unter IPS 3.4 eine RegisterVariable mit zugehörigen Programmen geschrieben, welche es mir ermöglicht Enocean Funk mitzulesen und Rückmeldungen der Aktoren an zB IPShadowing zu liefern.
Seit dem Umstieg auf IPS 4.1 und Upgrade der Module der IPSLibrary, erhalte ich jede Minute eine Warnung von der Registry Variablen, leider aber nur mit Fragezeichen.
Ich habe bereits mehrere Stunden mit Debugen zugebracht und konnte ein paar Fragezeichen entfernen, welche auf folgendes Problem zurückzu führen waren:
Ich habe in meinem Code (auch in den Config Dateien für IPShadowing) gerne im Bermerkungsblock auch die IDs für die Aktoren und Sensoren stehen. IPS 4.1 macht nun aber im Gegensatz zu den älteren Versionen die automatische Erweiterung der ID (Zahl) zu ID + Beschreibung nicht mehr nur in Befehlen, sondern auch im Kommentar!! Das zerschießt jeglichen PHP Kommentar-Block und führt somit zu Fehlern.
Bei mir bleiben aber leider immer noch 4 Fragezeichen stehen, welche ich auf kein einziges verlinktes Skript direkt zuordnen konnte.
Gibt es irgendeine gravierende Änderung in 4.1, welche ich übersehe?
Vielen Dank im Voraus für die Ratschläge.
Gruß
Maze
PS: Vielleicht hängt mit dieser minütlichen Fehlermeldung auch das beenden des IPS-Dienstes von Zeit zu Zeit zusammen.
Das mit den Kommentaren kann nicht sein. Das ist nur ein visuelles Problem, welches nach dem Speichern wieder weg ist. (Du kannst ja mal in die Skript Datei auf der Platte mit einem Editor schauen)
Welche Fehler kommen denn genau? Bisher verstehe ich das Problem nicht.
Magst du mal ggf. die neuste 4.1 Beta Gegentesten, ob damit die Abstürze weg sind?
Wie gesagt der Fehler äußert sich nur im Log File mit einer Warning. Und als Beschreibung stehen da nur 4 Fragezeichen.
Und ein paar der Fragezeichen waren wirklich weg, nachdem ich die ID nicht am Stück sondern mit Leerzeichen dazwischen geschrieben habe. Und ja, habe ich verifiziert Kann die Warnung auch einfach nachstellen.
so ausgeschlafen hab ich mich der Sache nochmal angenommen.
Du hast Recht. Der Fehler tritt nicht mit der ID Bezeichnung auf.
Das ganze Problem liegt irgendwie am Zusammenspiel von UltraEdit als Editor und IP-Symcon.
In UltraEdit erkennt er mir die Datei auch sauber als UTF-8 und sie wird auch so abgespeichert, aber irgendwo verschluckt sich IPS doch daran. Auch ein Öffnen des Skriptes in der IPS Konsole und dort erneutes speichern hilft NICHT!
Der Fehler ging erst weg, als ich in UltraEdit den gesamten Text markiert und kopiert habe und dann in der IPS Konsole den alten Code gelöscht und den neuen mit Copy/Paste eingefügt und das Skript neu gespeichert habe.
Wieso diese Fehler auftreten ist mir noch nicht klar.
Verwendet sonst noch jemand UltraEdit (64bit)?
edit: Kann es sein, dass IPS Probleme mit dem BOM bei UTF-8 hat? Mein Editor hat das immer automatisch hinzugefügt.