Mac OS X Version - Komplettdurchgang

Hallo,

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.

Gruß
Thorsten


= Meine Hardware ==

  • Homematic (Funk) mit CCU2
  • IPS RGB-W Controller
  • IPS EKM
  • div. aktive Lautsprecher für Musik & TTS
  • Instar Kamera

= Meine benutzten IPS „Funktionen“ =
== Standard-Module ==

  • I/O
    ** Homematic CCU2
    ** Fritz!Box Anrufmonitor (:1012)
    ** IPS 868 System
    ** NetIO
    ** Plugwise (COM6)

  • Splitter
    ** Plugwise Cutter
    ** ProJet Gateway

  • Kern Instanzen
    ** Archive Handler (aktuell 53 Variablen geloggt)
    ** Event-Handler (IPS Start/Stop Skripte)
    ** Webinterface (https://…:1330) - wegen „wine“

  • Konfigurator
    ** Aktuell 6 Webfronts angelegt

== Geskriptete Funktionen ==

  • Div. Trigger
    ** Eventgesteuert
    ** Zeitgesteuert
  • Senden von Mails per SMTP_SendMail…
  • Nutzung von cURL (IPSWikiDoc)
  • Nutzung der PHP FTP Funktionen
  • Dyn. Anpassen von Timern „IPS_SetEventCyclicTimeBounds“
  • MediaPlayer Instanzen
    ** Musik
    ** TTS (Steffi)
  • Triggern auf Änderungen von Homematic Beleuchtungen (Anwesenheitssimulation)
  • Homematic
    ** Licht
    ** TFK
    ** Jalousieaktor
    ** 4-fach Schaltaktor
    ** Tastern
    ** Zwischenstecker
    ** Thermostate
    ** Rauchmelder
  • NetIO 230B
  • Plugwise (via IPSPowerControl)
  • 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ü / Install service
    ** Admin Zugang (User / Passwort) eingeben
  • 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 :slight_smile:

== Ü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?

Freihalten falls 1. Beitrag zu lang ist.

Freihalten falls 1. Beitrag zu lang ist.

  • 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?

Kann es sei dass dein IPS über wine nebenher läuft? Das geht nicht weil die Ports dann doppelt belegt sind.

paresy

Dachte ich auch, aber ich habe wine extra aus dem „Autostart“ rausgenommen.
WineIPS habe ich aber auch nicht auf Port 3777 konfiguriert.

Interessanterweise legt er alle x Sekunden ein leeres Logfile an obwohl die App sagt IPS würde nicht laufen.

Irgendwas habe ich wohl mit den bisherigen Tests verkonfiguriert.

Gruß
Thorsten

IPS lauscht auf 3777 immer. Das erkennst du an dem „IP-Symcon 3.1“ Text der dann kommt. Beim neuen OSX IPS müsste direkt das WebFront kommen.

paresy

Guter Tipp.

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.

Gruß
Thorsten

[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]

Soweit der erste Schnelleindruck.

Gruß
Thorsten

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 :wink:

paresy

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.

Gruß
Thorsten

Ich habe eben folgendes Skript auf meinem „live“ IPS unter wine ausgeführt.

$ids = IPS_GetInstanceList();
//echo count($ids);

foreach($ids as $id)
{
  echo $id . ' - ';
  IPS_ApplyChanges($id);
}

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?

Danke & Gruß
Thorsten

Hallo.

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:.

Gruß
Thorsten

Bildschirmfoto 2014-07-08 um 20.58.21.png

Gern. Schick sie am Besten an office@ip-symcon.de

paresy

Probleme beim Verbinden der „neuen“ App zu IPS:

  1. Hinzufügen des Servers (<IP>:3777)
  2. Alle Konfigurationen werden angezeigt
  3. 1 von 5 steht auf Anzeigen (alle anderen die auch Mobile sind) stehen auf „Nicht konfiguriert“
    –> Die Verbindung zu der „einen“ funktioniert
  4. In IPS eines der anderen Frontends ausgewählt und den Haken bei „Enable for Mobile“ gesetzt (Share -> entire)
  5. Die Option kann nicht korrekt übernommen werden „Zugriffsverletzung Adresse 00544A29“ in ips_console.exe
  6. Frontend kann nach wie vor nicht via App aufgerufen werden

Gleiches Problem beim Verwenden von "Share -> IPS Kategorie des Mobile Frontends).

Kann momentan nur ein Frontend für Mobile konfiguriert werden?

Gruß
Thorsten

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 :frowning:

paresy

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.

Gruß
Thorsten

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.

Gruß
Thorsten