Fehler bei der Installation des NetPlayer Moduls

Hallo zusammen,

ich habe mehrmals versucht das NetPlayer Modul zu installieren. (auf IP-Symcon V3)
Dabei erhalte ich immer die gleiche Fehlermeldung.

IPS-Err-PHP 2014-06-10 15:37:03.284 Error: Cannot redeclare WAC_SetDeviceID_PropertyByName_() (previously declared in C:\IP-Symcon\scripts__compatibility.inc.php:3953)
Error in Script C:\IP-Symcon\scripts__compatibility.inc.php on Line 3953
133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
33 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
120 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)
in IPSLogger_PhpFatalErrorHandler

Hab es schon mehrmals versucht zu deinstallieren und neu zu installieren.

Kann mir jemand dabei helfen?
Thanks
Chirs

Kann das Problem bei mir nicht nachstellen, gibt es andere Fehlermeldungen ?

Hallo,

ich habe ähnliche Probleme bei der Installation.
Kernel 3.10, LiveUpdate # 3431

IPS-Err-PHP 2014-06-10 15:37:03.284 Error: Cannot redeclare WAC_SetDeviceID_PropertyByName_() (previously declared in C:\IP-Symcon\scripts__compatibility.inc.php:3977)
Error in Script C:\IP-Symcon\scripts__compatibility.inc.php on Line 3977
133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
33 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHa ndler.inc.php (call IPSLogger_Err)
120 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHa ndler.inc.php (call IPSLogger_PhpErrorHandler)
in IPSLogger_PhpFatalErrorHandler

Liegt das eventuell an den höheren Modulversion, als unter benötigte Module angegeben? compatibility ??

Ich bin für Hilfe dankbar.

Habs heute nochmal versucht mit einem absoult aktuellen IPS V3.
OS ist Windows 7 32bit.
Hat jemand noch einen Tipp für mich?

so, hier weitere Infos.

Ich habe eine VM aufgesetzt mit Windows 7 32bit Deutsch und dort IP-Symcon mit dem Live Installer installiert.
Anschließend die IPS Library und das NetPlayer Modul installiert. Beides erfolgreich.

D.h. es musste irgendetwas mit meiner derzeitigen IPS installation zu tun haben.

Also IPS deinstalliert und das Verzeichnis gelöscht (mit allen Scripts und allem was da war).
Anschließend IPS neu installiert wie auf der VM und die IPS Library installiert. Soweit so gut. Das hat funktioniert.
Anschließend das NetPlayer Modul installiert und es kommt die gleiche Fehlermeldung.

Woran liegt das jetzt nur?

Thanks
Chris

Hab jetzt endlich mal geschafft den Fehler zu reproduzieren:


	IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
  	$mediaPlayerInstanceId   = CreateMediaPlayer('TestPlayer', 0, 0);
  	$mediaPlayerInstanceId   = CreateMediaPlayer('TestPlayer', 0, 0);

tritt auf, wenn die Funktion 2 mal aufgerufen wird.

Wieso sie 2 mal aufgerufen wird kann ich Dir auch nicht sagen, den Fehler würde ich jetzt mal als IP-Symcon Bug einstufen.

→ als Hotfix geh mal in die __compatibility.inc.php auf Zeile 3953 und füge folgenden function_exists check ein:


if (!function_exists('WAC_SetDeviceID'))
{
	function WAC_SetDeviceID($InstanceID, $DeviceID)
 	{
		if (!function_exists('WAC_SetDeviceID_PropertyByName_'))
		{
			function WAC_SetDeviceID_PropertyByName_($properties, $name) {
				foreach($properties as $property) {
					if($property->name == $name) {
						return $property->value;
					}
				}
			}
		}
		
		$json = json_decode(IPS_GetConfigurationForm($InstanceID));
		foreach($json->elements as $element)
		{
			if(isset($element->name) && ($element->name == "Device"))
			{
				$option = $element->options[$DeviceID];
				IPS_SetProperty($InstanceID, 'DeviceNum', WAC_SetDeviceID_PropertyByName_($option->value, 'DeviceNum'));
				IPS_SetProperty($InstanceID, 'DeviceDriver', WAC_SetDeviceID_PropertyByName_($option->value, 'DeviceDriver'));
				IPS_SetProperty($InstanceID, 'DeviceName', WAC_SetDeviceID_PropertyByName_($option->value, 'DeviceName'));
			}
		}	
	}
}

Danach sollte es auch bei Dir funktionieren.

Danke für deine Unterstützung.
Ich hab meinen IPS PC vollständig platt gemacht und neu installiert. Danach geht es jetzt.

Gibt es irgendwo „Musterscripts“ für ne GUI für den NetPlayer? Ich würde gerne Webradio damit steuern.
Ggf. mehrere Instanzen bzw. mehrere Ausgabegeräte ansteuern.

Viele Grüße
Chris

Fix für die __compatibility.inc.php kommt im nächsten Update von IPS auch mit. Danke für den Fund :slight_smile:

paresy