Beachtlich, dass du immer die Zeit findest, um dass alles immer so schön zu dokumentieren und zu erklären. Ich finde es auch gut, dass du dich dir Git nun angenommen hast. Da muss ich ja „nur noch“ meinen Code integrieren…
Zumindest mal wieder ein großes Lob von meiner Seite…
Schön, dass Du auch mal einige Zeilen hier schreibst …
Was die Doku betrifft - ich nehm mir die Zeit immer, ansonsten müßte ich sie wahrscheinlich ohnehin im Nachhinein durch diverse Fragen hier im Forum schreiben (nur dann verstreut auf 100 kleine Postings).
Wenn man Teile der Doku gleich während der Implementierung macht ist es eigentlich halb so wild. Teilweise hab ich sie auch schon vorher geschrieben, als ich daran „getüfftelt“ hatte was das Ding eigentlich können soll.
Möchte die Entertainment Steuerung noch so erweitern, das man den IPSComponent Layer verwenden kann, dadurch sollte das Einbinden neuer Hardware in die Steuerung noch einfacher werden.
Hallo Andreas,
zwei Fragen, um den Gesamtüberblick nicht zu verlieren.
Gehe ich Recht in der Annahme, daß IPSInstaller und IPSLogger jetzt in IPSLibrary integriert sind, und die älteren Threads dazu somit etwas überholt sind?
Wie gehe ich mit dem IPSEdip Projekt um?
Gruß Jens
Ich werde alle meine Scripte nach und nach in die Library integrieren, überholt sind sie dahingehend noch nicht, als dass sich die Library in einem Beta Zustand befindet!
Installation von IPSEDIP funktioniert analog, ich habe die alte Installation einfach gelöscht und danach die EDIP Steuerung aus der Library installiert.
Bei IPSEDIP läuft die Installation in 3 Schritten ab:
1.) Download
IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSEDIP');
$moduleManager->LoadModule();
2.) Konfiguration
→ Anpassen des Konfigurations Files, da hat sich zur alten Version nicht sehr viel geändert.
3.) Installation
IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSEDIP');
$moduleManager->InstallModule();
27451 ist die Variable mit den Antworten der Box.
Was waere die Quelle und was ist die 36728 ?
Das Ziel ist ja wohl das Script ‚IPSComponentPlayer_Squeezebox‘ .
Danke Andreas,
hat geklappt, EDIP läuft wieder, allerdings mit meinem alten Problem.
Der Name des Webfront steht oben, aber die beiden Linien und links die Buttons erscheinen nur sporadisch.
Ich muß weiter forschen.
Gruß Jens
Könnte bei Dir so ausehen, 27451 ist die ID der auslösenden Variable, 12345 ist die übergeordnete ID von 27451 und wird verwendet um ein IPSComponentPlayer_Squeezebox Object zu instanzieren (genauso wie beim Senden).
Wenn eine Änderung an der Variable 27451 erfolgt, wird die Methode HandleEvent in Deiner IPSComponentPlayer_Squeezebox Klasse aufgerufen und dort mußt Du dann die Werte entsprechend an den NetPlayer zurückgeben.
Sieh Dir zum Vergleich auch die Implementierung des MediaPlayers an:
public function HandleEvent($variable, $value, IPSModulePlayer $module) {
$name = IPS_GetName($variable);
switch($name) {
case 'Titel': // Sync current Titel of Player
$module->SyncTitel($value);
break;
default:
throw new IPSComponentException('Event Handling NOT supported for Variable '.$variable.'('.$name.')');
}
}
Die Methode bekommt als Input Variable, Wert und Ziel Modul.
wenn ich das mal wieder sehe, dann bin ich echt sprachlos.
Ich hatte für mich mal angefangen alles rund um die Fritz!Box zusammen zu fassen, das würde ich dann beitragen können.
Hierbei sei gesagt, dass der ganze Kram auch hier aus dem Forum stammt.
Dann wäre es allerdings Bestandteil der IPSLibrary und genau da wo es hingehört.
Auch so allgemeine Homematic Funktionen wie die aktuellen Servicemeldungen oder das hm_Inventory sind eigentlich Kandidaten hierfür.
Thema Code Styling -> da sollte etwas beschlossen sein, bevor jetzt jeder anfängt Code zusammen zu tragen.
leider gab es bei dem laden/installieren des NetPlayers folgende Meldung
Fatal error: Uncaught exception ‚Exception‘ with message ‚script D:\Programme\IP-Symcon\scripts\IPSLibrary\app\core\IPSMessageHandler\IPSMessageHandler.class.php could NOT be found!‘ in D:\Programme\IP-Symcon\scripts\IPSLibrary\app\core\IPSUtils\IPSUtils.inc.php:40
was habe ich gemacht:
IPS-Lib gemäß Anleitung installiert
IPS-Logger u. MessagerHandler gemäß Anleitung installiert
und dann sollte der NetPlayer dran kommen.
Hallo,
bekomme auch einen Fehler angezeigt beim Installieren vom NetPlayer.
muss ich die Category selber anlegen?
Gruß
Andi
IPSModuleManager-Log-IPSVariableVersionHa2012-02-20 07:27:20.12 Set Version NetPlayer=2.50.1.Beta.Installing
— Create NetPlayer -------------------------------------------------------------------
Created Category modules=31732
Created Category NetPlayer=25063
Created Category Hardware=57930
Created Category NetPlayer=11933
Created Instance CDPlayer=12494, ModuleID={485D0419-BE97-4548-AA9C-C083EB82E61E}
Abort Processing during Error: Profil mit Namen „NetPlayer_Category“ existiert nicht
Error in Script C:\IP-SYMCON\scripts\IPSLibrary\install\IPSInstaller\IPSInstaller.inc.php on Line 434
Hallo
Gibt es noch eine Alternative zum Downloaden und installieren?
Sitze hier vor einem Rechner der zwar Internet hat aber ueber
Proxy mit .pac File. Das mag CURL anscheinend nicht
Bei mir kommt bei der Installation des Netplayers folgende Fehlermeldung
Fatal error: Uncaught exception 'IPSConfigurationException' with message
'Configuration Value with Key=Version could NOT be found (Section="")'
in C:\Programme\IP-SYMCON2\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:70
Keine Ahnung wie, aber aus irgend einem Grund ist auch bei Dir das DownloadList File leer. Ich hab jetzt im IPSModuleManager was korrigiert, dass das Problem nicht mehr auf tritt.
also Update ModuleManager
IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSModuleManager');
$moduleManager->UpdateModule();
und danach den NetPlayer nochmals downloaden und installieren:
IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('NetPlayer');
$moduleManager->LoadModule();
$moduleManager->InstallModule();
ps: Du kannst den Code auch manuell downloaden (ZIP oder Git Client) und dann von lokal installieren:
IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('NetPlayer');
$moduleManager->LoadModule('C:\IPS\GIT\IPSLibrary (Test)');
Installation von Netplayer geht bei mir jetzt auch.
Aber der obige Eintrag in die Konfiguration bringt bei mir folgenden
Fehler
Abort Processing during Error: Undefined offset: 2
Error in Script C:\Programme\IP-SYMCON2\scripts\IPSLibrary\app\core\IPSMessageHandler\IPSMessageHandler.class.php on Line 139