IPS 7.0 und IPSLibrary

Kann mir niemand weiter helfen? Auch nicht beim Deinstallieren und neu aufsetzen?

Ist das noch dein aktueller Stand?

Welche Module der IPSLibrary nutzt du denn?

So oder so ähnlich könnte es bei dir aussehen:

Hallo bumass,
die von Dir gezeigte Ansicht bekomme ich nicht mehr angezeigt.
Aber ich bin mir recht sicher, dass ich einige der Module in Version 2.50.x aktiv hatte.
Jetzt sehe ich nur noch das

Ok. Es wird die IPSUtils_include() nicht mehr gefunden.

Vermutlich stimmt deine __autoload.php nicht. Sie liegt im scripts Ordner und sollte so aussehen:

<?php
include_once IPS_GetKernelDir()."\scripts\IPSLibrary\app\core\IPSUtils\IPSUtils.inc.php";
IPSUtils_Include("IPSLogger_PhpErrorHandler.inc.php", "IPSLibrary::app::core::IPSLogger");

Du kannst die beiden Zeilen auch mal in einem Testscript ausführen. Dabei sollte keine Fehlermeldung kommen.

Hallo bumaas,
meine __autoload.php sah „sehr ähnlich“ aus - statt backslash hatte ich slashes und außser „<?php“ stand bei mir nur „>?“

Habe Deine Variante übernommen und den Dienst neu gestartet. Fehler ist der selbe.
Mein System läuft unter Windows und die __autoload liegt bei mir unter
C:\ProgramData\Symcon\scripts
oder gibt es noch einen anderen Ort?

Was sich geändert hat ist, dass jetzt wieder die zwei „Register“ Logging und Log Settings zu sehen sind.

Wenn ich jetzt in den LogSettings einen „Schalter“ umlege/verändere, dann bekommen ich wieder eine neue Fehlermeldung:

Wie sieht es da bei dir aus?

Hallo,
nach meinem Update auf die aktuelle Version 7.2 läuft Symcon, allerdings startet kein zeitgesteuertes Ereignis mehr.
IPS läuf auf einem Raspi (Model B) mit Bullseye und Raspian (Linux raspberrypi 6.1.21-v7+ #1642) und dient vor allem zur Steuerung von LCN. Ich kann mich an der Konsole anmelden und die zeitgesteuerten Skripte manuell starten - nur zeitgesteuert passiert nichts.

Im Log finde ich folgende Fehlermeldung:

07.01.2025 18:33:14 | 00000 | MESSAGE | ScriptEngine | Pretest for loading __autoload.php failed. __autoload.php will be disabled. Error:

Fatal error: Uncaught ArgumentCountError: Too few arguments to function IPSLogger_PhpErrorHandler(), 4 passed in /- on line 1 and exactly 5 expected in /var/lib/symcon/scripts/IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php:24
Stack trace:
#0 /-(1): IPSLogger_PhpErrorHandler(8192, ‚Function utf8_d…‘, ‚/-‘, 1)
#1 {main}
thrown in /var/lib/symcon/scripts/IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php on line 24
PHP-Error-Error: Uncaught ArgumentCountError: Too few arguments to function IPSLogger_PhpErrorHandler(), 4 passed in /- on line 1 and exactly 5 expected in /var/lib/symcon/scripts/IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php:24
Stack trace:
#0 /-(1): IPSLogger_PhpErrorHandler(8192, ‚Function utf8_d…‘, ‚/-‘, 1)
#1 {main}
thrown
Error in Script /var/lib/symcon/scripts/IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php on Line 24Abort Processing during Fatal-Error: Uncaught ArgumentCountError: Too few arguments to function IPSLogger_PhpErrorHandler(), 4 passed in /- on line 1 and exactly 5 expected in /var/lib/symcon/scripts/IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php:24
Stack trace:
#0 /-(1): IPSLogger_PhpErrorHandler(8192, ‚Function utf8_d…‘, ‚/-‘, 1)
#1 {main}
thrown
Error in Script /var/lib/symcon/scripts/IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php on Line 24

Ist das mein Problem? Wie kann ich den Fehler beheben?

Danke für euere Hilfe!

Gruß

Michael

Hier in diesem Thema, erster Beitrag steht deine Lösung.

Michael

Hallo Nall-chan,
danke für deine schnelle Rückmeldung.

Ich fürchte ich habe mit der kopierten Fehlermeldung in die Irre geführt. Die IPSLibrary habe ich installiert nutze sie (zumindest bewusst …) aber nicht (wie kann ich sie eigentlich deinstallieren?)

Ich habe das Problem, dass keinerlei zeitgesteuerte Ereignisse mehr funktionieren. Die Rolladen fahren nicht mehr runter und die Abendbeleuchtung geht nicht an.

Kannst du mir da auch einen Tipp geben?

Danke und Gruß

Michael

Nein.

Es liegt an der Library.
Dadurch sind alle Scripte und somit alle Ereignisse welche irgendwelche Aktionen (was im Hintergrund immer Scripte sind) defekt.
Anleitung zum Reparieren siehe oben oder zum deinstallieren hier im Bereich IPSLibrary
Michael

Moin,

bei mir scheint es wieder zu funktionieren - ich weiß allerdings nicht wirklich, warum …

Was habe ich gemacht:

  1. die _autoload.php umbenannt. Das blieb jedoch ohne Effekt.

  2. die Korrekturen in „IPSLogger_PhpErrorHandler.inc.php“ und „IPSTwilight.ips.php“ entsprechend dem Beitrag von bumaas vorgenommen - dann klappte es wieder.

Nach meinem (wahrscheinlich falschen) Verständnis der IPSLibrary hätte das Umbenennen der _autoload.php das Laden der Library verhindern müssen. Irgendwie werden sie aber doch geladen, denn erst nach dem ich die Korrekturen gemacht habe, sind zeitgesteuerte/zyklische Ereignisse wieder möglich. Also irgendwie widersprüchlich für mich.

Ich habe versucht, mich in die Thematik IPSLibrary einzulesen, aber leider immer noch nicht verstanden, wie es zusammenhängt und wie ich sie löschen kann. Vielleicht bin ich da auch ein wenig begriffsstutzig …

Kann ich in der Konsole den Container IPSLibrary löschen? Oder muss ich im Dateisystem unter /Var/lib/ etwas löschen? Was muss ich konkret tun, um die IPSlibrary „loszuwerden“?

Vielen Dank für einen weiteren Denkanstoß und aufrichtige Bewunderung für eure Programmierfähigkeiten!

Gruß
Michael

Bei Ausführen der Befehle in einem Script kommt keine Fehlermeldung.
Habe jetzt erst mal die Library deinstalliert und werde sie versuchen später wieder zu installieren.
Danke bumas für die Feedbacks hier. Hat mir im Verständnis sehr weiter geholfen :+1:

Hallo,
bei mir wurde auf dem Raspberry Pi gerade das Update auf 8.0 Installiert. (von vermutlich 7.2, )

seit dem geht die IPSLibrary nicht mehr. Diese lief bisher problemlos.

Fatal error: Uncaught Error: Call to undefined function IPSUtils_Include()

meine __autoload.php sieht wie folgt aus:

<?
    include_once IPS_GetKernelDir()."scripts/IPSLibrary/app/core/IPSUtils/IPSUtils.inc.php";
    IPSUtils_Include("IPSLogger_PhpErrorHandler.inc.php", "IPSLibrary::app::core::IPSLogger");
?>

bitte um Hilfe, wo hier der Fehler liegt und wie ich diesen beheben kann.

vielen Dank.
liebe Grüße
Wolfgang

Klar, ich verschiebe es zu passenden Thema wo das Problem schon zu 7.0 behoben wurde.
Siehe erster Beitrag.

Michael

Hallo, mit der Version 7.2 (letztes Update ca. 22. Oktober 2024) hat das bei mir funktioniert.
erst das aktuelle Update auf 8.0 macht den Fehler!
lg
Wolfgang

Hallo,
hab wieder die Version 7.2 zurückgesichert.
jetzt geht wieder alles. alle Änderungen laut dem 1. Post in diesem Forum waren bereits vorhanden.
d.h. es dürfte noch ein Problem mit der IPS Library mit dem Update auf 8.0 geben.
ich warte da vorerst mal ab mit dem Update.
lg
Wolfgang

Kann ich nicht bestätigen, bei mir läuft die Library auch nach dem Update auf 8.0 reibungslos.

Wenn die IPSUtils_Include nicht gefunden wird, obwohl die Datei in der __autoload.php inkludiert wird, dann kann es nur bedeuten, dass der Aufruf nicht ausgeführt wurde.

Wie sieht denn deine php.ini aus?

Gibt es keine Fehlermeldung im Logfile beim Starten?

Hallo,

hier die PHP.INI:

MTP§watchdog§1584307792<]]></message></event>=
<event logger="\"MqttHandler\" timestamp=\"2023-01-15T17:28:13.000000+01:00\" level=\"DEBUG\" domain=\"IPS.exe\" thread=\"15\" username=\"IPS\"><message><![CDATA[Publish Mqtt Command:>-<]]></message></event>"
<event logger=
[PHP]
error_reporting=E_ALL^E_DEPRECATED
html_errors=0
memory_limit=32M
short_open_tag=1
max_execution_time=0
user_agent="IP-Symcon/8.0 Revision/a7ebf5a4 Platform/Raspberry Pi"
disable_functions="setlocale, set_time_limit"
auto_prepend_file="/usr/share/symcon/scripts/__autoinclude.inc.php"
include_path=".:/var/lib/symcon/scripts"
curl.cainfo="/usr/share/symcon/cacert.pem"
openssl.cafile="/usr/share/symcon/cacert.pem"
ips.output_buffer=1048576
zend_extension="opcache.so"
extension_dir="/usr/share/symcon/ext"
[Session]
session.save_handler=files
session.save_path="/var/lib/symcon/session"
session.auto_start=0
session.name=pt
[DATE]
date.timezone="Europe/Vienna"
[opcache]
opcache.revalidate_freq=0

der einzige Unterschied der 7.2 ist:
user_agent="IP-Symcon/7.2 Revision/27409253 Platform/Raspberry Pi"

dies schaut für mich OK aus.

Meine Symcon-Version + Module + IPS Library war mit ca. Herbst 2024 aktuell auf 7.2 und lief ohne Probleme auf einem Raspberry Pi.
das Update gestern auf 8.0 hat dann diese Fehler ausgelöst.

die Ursache dürfte die Zeile im Log:
Function utf8_decode() is deprecated
sein.

Ich habe aber leider keine Idee, wie das zu beheben ist.

lg
Wolfgang

PS: hier einige Ausschnitte aus dem Log:

.....
2025-01-29 13:40:12 | 00000 | MESSAGE | SyncRemoteService    | Erstelle...
2025-01-29 13:40:12 | 00000 | DEBUG   | ScriptEngine         | Skriptausführung (Text) - Länge: 26 ~ Absender: RunScript
2025-01-29 13:40:12 | 00000 | MESSAGE | ScriptEngine         | Pretest for loading __autoload.php failed. __autoload.php will be disabled. Error:
<br />
<b>Deprecated</b>:  Function utf8_decode() is deprecated in <b>/-</b> on line <b>1</b><br />

2025-01-29 13:40:12 | 00000 | MESSAGE | ModuleLoader         | Lade Bibliotheken...
2025-01-29 13:40:12 | 00000 | MESSAGE | ActionPool           | Lade Aktionen...
..........
2025-01-29 13:40:13 | 00000 | DEBUG   | ScriptEngine         | Skriptausführung (Text) - Länge: 184 ~ Absender: RunScript
2025-01-29 13:40:13 | 00000 | ERROR   | PHPLibrary           | Registriere Funktion... Reflection parse error: <br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>243</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>243</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>246</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>246</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>251</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>251</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>256</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>256</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>264</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>264</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>268</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>268</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>268</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>270</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>270</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>272</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>272</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>275</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>275</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>275</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>288</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>288</b><br />
<br />
<b>Deprecated</b>:  Using ${var} in strings is deprecated, use {$var} instead in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>288</b><br />
<br />
<b>Deprecated</b>:  Return type of PhpXmlRpc\Value::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>466</b><br />
<br />
<b>Deprecated</b>:  Return type of PhpXmlRpc\Value::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>485</b><br />
<br />
<b>Deprecated</b>:  Return type of PhpXmlRpc\Value::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>539</b><br />
<br />
<b>Deprecated</b>:  Return type of PhpXmlRpc\Value::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>569</b><br />
<br />
<b>Deprecated</b>:  Return type of PhpXmlRpc\Value::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>499</b><br />
<br />
<b>Deprecated</b>:  Return type of PhpXmlRpc\Value::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in <b>/var/lib/symcon/modules/.store/bumaas.1/libs/phpxmlrpc-4.3.0/src/Value.php</b> on line <b>553</b><br />
{"isStrict":false}
2025-01-29 13:40:13 | 00000 | MESSAGE | ActionPool           | Lade Aktionen...
2025-01-29 13:40:13 | 00000 | MESSAGE | PresentationPool     | Lade Presentationen...
....

Hallo,
das scheint meiner Meinung nach kein Fehler der IPS Library zu sein. bitte die letzten paar Einträge in das entsprechende Thema verschieben.
vielen Dank.
lg
Wolfgang