ich versuche mich derzeit daran die aktuelle IPS Mac OS X (Alpha) Version auf meinem Mac Mini einzurichten.
Natürlich weiß ich, dass weder die gesamte Hardware noch alle von mir genutzten IPS Komponenten im aktuellen Stadium unterstützt werden.
Aber ich protokolliere mein Vorgehen immer hier in den ersten Threads und stelle auch alle Fragen/Problemen die ich auf dem Weg habe in diesem Thread. Vielleicht ergibt sich so ein Ablauf der dem Einen oder Anderen dann hilfreich ist.
Da ich den Text immer aus meinem privaten Wiki kopiere entschuldige ich mich für die „komische“ Syntax im Beitrag :o.
Zugriff auf Google Kalender (via „simplexml_load_file“)
Netzwerk Erreichbarkeit (via „sys_ping“)
Fritz!Box Callmonitor
SMTP Instanzen
Livestream Medium von Webcam
Zusammenschnitt von Einzelbildern zu einem Zeitraffervideo via (ffmpeg)
= Installation unter Mac OS X =
== Systeminfo ==
Mac Mini (Ende 2009)
OS X Version: 10.9.3
2.26 GHz Intel Core 2 Duo (64 Bit)
8 GB Speicher
40 GB frei auf der Festplatte
== Vorbereitungen ==
Da aktuell mein IPS auf dem gleichen MacMini (jedoch unter „wine“ läuft) habe ich folgende Schritte beim laufenden IPS durchgeführt.
$ids = IPS_GetInstanceList(); foreach($ids as $id) IPS_ApplyChanges($id); ‚‘’(dauert auch ohne fehlerhafte I/O Instanzen recht lange!)’’’
== Starten der Installation ==
Download
Download mit gedrückter „Alt“ Taste öffnen (da nicht verifizierter Download)
Symbolleiste / Kontextmneü / check for updates
** Keine Updates verfügbar
Symbolleiste / Kontextmneü / start service
** ‚‘‚Dienst startet nicht - keine Fehlermeldung / WebFront nicht auf Port 3777 erreichbar!‘’’
Symcon von „Download“ Ordner in „Programme“ verschoben und neu probieren
** ‚‘‚geht auch nicht! Mac neustarten (vielleicht ein Problem weil bis vor kurzem IPS als „wine“ Prozess noch lief)‘’’
** Reboot tut gut (offensichtlich auch unter Mac OS X) - IPS Dienst startet automatisch / WebFront erreichbar
== Übertragen der aktuellen Installation ==
Kopieren von … (beim Kopieren muss man sich als Admin authentifizieren)
** ./wine_files/drive_c/IP-Symcon/settings.json -> /Library/Application Support/Symcon
** ./wine_files/drive_c/IP-Symcon/scripts/* ->/Library/Application Support/Symcon/scripts
Dienst neustarten
** ‚‘‚Per Console (ohne User/Pw) verbinden, aber leider keine Inhalte drin :-(‘’’
WICHTIG: Dienst erst anhalten, settings.json kopieren, Dienst starten - nicht settings kopieren während der Dienst noch läuft
Anmelden per Lizenzlogin geht
== Lizenz einspielen ==
Console / Über / Server Lizenzinhaber ändern
Dienst neustarren
‚‘‚Log sagt: „*** IPS READY“, aber das Systray und nicht erreichbare Webfront sagen was anderes‘’’
Nochmal neustarten - vielleicht hilfts wieder.
== Probleme beim Dienststart ==
Unter /Library/Logs/Symcon/ wird alle 10 Sekunden ein Log angelegt was mit „IPS READY“ endet aber es läuft kein IPS Prozess
In den 10 sekündlichen Logs tauchen einige Meldungen mit „Cannot find Module width GUID …“ auf. Die möchte ich bereinigen, da aber IPS nicht läuft bereinige ich die Einträge direkt aus der settings.json.
** TTS Instanz
** MediaPlayer Instanz
** EventControl
** SMTP Instant
** Archive Handler
Service mehrfach deinstalliert und neu installiert brachte leider keinen Erfolg aber folgendes Fehlerbild
** Weiterhin werden alle 10 Sekunden Logfiles geschrieben
** Im Systray ist „start service“ ausgegraut und „stop service“ klickbar - als würde IPS laufen
** Eine Verbindung via Console ist nicht möglich
** Die letzte Zeile im Log lautet immer
DiscoveryServer|Sending SSDP broadcast for interface …
Systray Menü zeigt „start service“ ausgegraut (als würde IPS laufen), aber mit „ps -ef|grep symcon“ sehe ich keinen Prozess dazu.
Woran merkt das Menü ob IPS läuft?
Systray Menü zeigt „start service“ ausgegraut (als würde IPS laufen), aber mit „ps -ef|grep symcon“ sehe ich keinen Prozess dazu.
Woran merkt das „Systray Tool“ ob IPS läuft?
Beim Aufruf der Webfronts über Systray „open webfront“ antwortet eine Seite und zeigt den reinen Texthinweis „IP-Symcon 3.10“.
Woran könnte es liegen, dass der Dienst nicht sauber startet und alle 10 Sekunden ein neues Logfile angelegt wird?
Ich habe es an meinem iMac getestet und da startet der Dienst problemlos auch mit meiner kopierten settings.json und ich sehe meine korrekte Baumstruktur (noch ohne Umlaute, aber das ist ja bekannt). Ich klicke die einzelnen Funktionen einfach mal durch und schaue was mir so auffällt.
[ul]
[li]Skripte lassen sich nicht ausführen wegen include der IPSLibrary in „__autoload.php“. Dateien werden wegen dem Unterschied im Pfad (\ vs /) nicht gefunden. Auch den Pfad anzupassen löst das Problem nicht auf die Schnelle. Ich habe die beiden Includes aus der Datei auskommentiert um die Skripte trotzdem testen zu können.
[/li][li]SetValue
[/li][li]IPS_SetEventCyclicTimeBounds (nicht gefunden)
[/li][li]Zykl. Timer (minütlich)
[/li][li]SMTP_SendMailEx (nicht gefunden)
[/li][li]AC_SetLoggingStatus (bekannte Einschränkung da kein Archiv Handler)
[/li][li]PHP FTP Funktionen
[/li][li]SetValue führt zur Meldung „Connection Closed Gracefully.“ wenn ein Aktionsskript hinter der gesetzten Variable liegt
[/li][li]IPS_GetEventListByType(1)
[/li][li]IPS_GetName
[/li][li]IPS_GetEvent
[/li][li]IPS_DeleteEvent
[/li][li]Login an der Konsole funktioniert auch mit falschem Passwort
[/li][li]simplexml_load_file
[/li][li]PHP fopen/fwrite
[/li][li]ProwlPHP (Nachricht senden)
[/li][li]IPS_GetChildrenIDs
[/li][li]IPS_GetObject
[/li][li]Sys_Ping (nicht gefunden)
[/li][li]wetter.com API via simplexml_load_string
[/li][/ul]
IPS_SetEventCyclicTimeBounds: Seit 3.1 ersetzt durch IPS_SetEventCyclicTimeFrom und IPS_SetEventCyclicTimeTo
Password: Hast du die Anleitung zum Setzen befolgt? Zugriffe über 127.0.0.1/Localhost gehen immer ohne Kennwort
SetValue: Kann ich nicht nachstellen. Hast du da mehr Infos?
Der Rest ist entsprechend bekannt und nicht verfügbar
Ist leider nicht einfach nachzustellen, aber ich versuche meine Erkentnisse/Annahmen zu beschreiben:
[ul]
[li]Eine bestehende Boolean Variable (Switch) von VOR dem Umzug Windows -> Mac OS X
[/li][li]SetValue(<BooleanVar>,0); // Hier wäre true/false korrekt
[/li][li]Script stürzt mit Fehlermeldung ab (siehe Anhang)
[/li][li]Script dann auf SetValue(<BooleanVar>,false); geändert und Script läuft durch
[/li][li]Danach wieder SetValue(<BooleanVar>,0); versucht und es kommt die erwartete Fehlermeldung „Parameter type of Value does not match…“
[/li][/ul]
Vielleicht war meine bisherige Variable bereits vor dem Umzug schon defekt, aber nach einer „richtigen“ Änderung der Variable ist das Verhalten wieder normal. Vielleicht mache ich mal einen Diff von der settings.json vorher und nachher.
Vorher habe ich geprüft, dass ich keine rot markierten Instanzen habe. Der count($ids) hat mir gezeigt, dass ich ca. 280 Instanzen habe (ich glaube/hoffe da sind DummyModules inklusive :o).
Trotz einem PHP Timeout von 60 Sekunden lief das Skript ca. 30 Minuten bis es abgestürzt ist mit der identischen Meldung wie oben.
Kann man die settings.json irgendwie auf „Korruption“ prüfen?
Ich habe die Mac Version/Dienst deinstalliert und eine neue Version aus dem Internet runtergeladen und installiert.
Mit der „Standard“ settings.json funktioniert alles einwandfrei (Dienst startet, „start service“ ist ausgegraut, es wird nur „ein“ Logfile erstellt und das Beispiel Webfront antwortet korrekt auf Port 3777 :).
Mit dem kopierten „scripts“ Ordner und meiner settings.json kann der Dienst nicht starten und es wird alle 10 Sekunden ein Logfile neu geschrieben.
Interessanterweise enden die Logfiles abwechselnd mit „*** IPS READY“ und mit „creating message thread …“.
Ich habe meine settings.json testweise mit Firefox geöffnet und die JSON Struktur wird nicht ordentlich dargestellt - anders als bei der ursprünglichen settings.json die ordentlich formatiert angezeigt wird.
Ich habe mir die Datei mit VisualJSON angeschaut und leider keine Unstimmigkeit gefunden.
@paresy: Kann ich Dir meine settings.json schicken, bzw. wie könnte ich die Unstimmigkeit rausfinden. Mit einer korrupten settings.json macht es keinen Sinn die Mac Version weiter zu testen :rolleyes:.
Nutzt du zur Konfigurator eine aktuelle Version der Konsole (am besten die aus der aktuellen Beta)? Ich kann den Fehler hier mit deiner Settings leider nicht nachstellen
Meine Live Konfig ist „Tester“ und somit müsste die Version der Konsole ja eigentlich passen.
Ich habe meine settings auf meinem iMac getestet und da geht es ohne Probleme. Scheint also mehr ein Rechner als ein IPS Problem zu sein.
Welche Ordner/Dateien muss ich denn löschen um IPS vom Mac sauber zu löschen. Dann fange ich nochmal von vorne an :p.
Ich glaube ich konnte das Problem etwas eingrenzen :).
Wenn der IPS Dienst nicht gestartet werden kann und im Log steht SSDP Broadcast dann könnten folgende Prozesse (die als Startobjekte zu meinem Benutzeraccount hinterlegt sind) Einfluss haben.
iTunes Helper
EyeTV Helper
Wenn ich diese beiden Prozesse nicht automatisch starten lasse, dann kann IPS (auch mit meiner individuellen settings.json) erfolgreich starten.
Genauer muss ich es noch prüfen, aber irgendwie scheint es hiermit einen Zusammenhang zu geben.