Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS(Sammlung) Squeeze

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • jonofe
    antwortet
    okay, das ging schnell. Dynamisches Linken der library ist möglich. Lediglich "enable_dl" in der php.ini muss auf "On" gesetzt werden.
    Kann also alles deutsch() bleiben, kein finnisch() notwendig.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    aber ich glaube irgendwie kann man diese Libraries in PHP auch zur Laufzeit laden. Dann muss es nicht global passieren, sondern könnte ausschließlich im 1wire Baustein gemacht werden. Muss ich mir mal anschauen. Dazu muss ich aber erst mal testen ob die owphp Library besser funktioniert als der bereits verfügbare 1wire LBS. Der liefert nämlich nur manchmal Ergebnisse zurück. Im Zweifel wärst Du natürlich meine letzte Rettung, falls owphp gut ist und ich das Laden zur Laufzeit nicht hinbekomme, vielleicht könntest Du dann deine finish() Funktion beim nächsten Update umbennnen. vielleicht in finnisch()

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Doch es war tatsächlich der Grund. Das liegt daran, dass php diese library ja beim Starten lädt und damit ist auf globaler Ebene die Funktion finish() deklariert. Und der EXEC Teil läuft ja auch global. Und somit kommts zur Redeklaration.
    Das ist aber geschickt geloest vom 1wire Team

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Doch es war tatsächlich der Grund. Das liegt daran, dass php diese library ja beim Starten lädt und damit ist auf globaler Ebene die Funktion finish() deklariert. Und der EXEC Teil läuft ja auch global. Und somit kommts zur Redeklaration.

    Hier findet man die 4 Funktionen, die owphp zur Verfügung stellt:

    http://owfs.org/index.php?page=owphp

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Und ich habe jetzt eine Vermutung. Habe heute morgen owfs (1wire) kompiliert. OWFS baut dabei eine Bibliothek für owfs.so, welche ich in /etc/php.ini.d entsprechend eingebunden habe. Könnte sein, dass dort eine Funktion finish definiert wird.
    Mag sein, aber der EXEC-Teil ist unabhaengig - mit eigenem Namensraum. Daran kanns also nicht liegen...
    Meine Vermutung: der Baustein ist schlicht falsch importiert, finish() muss da DEFO mehr als einmal deklariert sein und das sollte im Originalcode nicht der Fall sein (sollte ).
    Einfach nochmal im Editor komplett loeschen, neu runterladen und importieren?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Glaube ich habe zumindest die Fehlermeldung gefunden.
    Normalerweise müsste ein php Prozess mit EXE19000200.php Skript laufen. Dies war nicht der Fall.
    Also habe ich mal das Skript welches ja in /usr/local/edomi/www/data/liveproject/lbs/ liegt an der Kommandozeile gestartet und da bekomme ich:

    Code:
    Fatal error: Cannot redeclare finish() in /usr/local/edomi/www/data/liveproject/lbs/EXE19000200.php on line 137
    Und ich habe jetzt eine Vermutung. Habe heute morgen owfs (1wire) kompiliert. OWFS baut dabei eine Bibliothek für owfs.so, welche ich in /etc/php.ini.d entsprechend eingebunden habe. Könnte sein, dass dort eine Funktion finish definiert wird.

    Einen Kommentar schreiben:


  • Robby
    antwortet
    ...steht dein Kommando KO [644] auch auf Variant 10.000 Zeichen

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Kann es noch irgendwas mit dem Encoding des PHP Files zu tun haben. Glaube mein altes Zenstudio für Eclipse macht da ggf. Probleme.
    Prinzipiell schon, ja... aber dann muesste trotzdem irgendwas passieren und/oder Edomi einen Fehler werfen...
    Mach doch mal bitte im Source (im LBS Teil) aus dem
    PHP-Code:
    if ($E[1]['refresh']) {
      if (
    $E[1]['value']) { 
    ein
    PHP-Code:
    if ($E[1]['refresh']) {
      if (
    $E[1]['value']) {
        
    writeToTraceLog(0,true,"debug"); 
    Zumindest das sollte dann ja im Tracelog auftauchen...

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Die Seite ist aktiv. Habe schon alle anderen deaktiviert. Nur diese eine ist noch aktiv.
    Kann es noch irgendwas mit dem Encoding des PHP Files zu tun haben. Glaube mein altes Zenstudio für Eclipse macht da ggf. Probleme.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Wie kann ich das denn Debuggen? Im Tracelog erscheint nichts, obwohl DEBUG auf true gesetzt habe. Keine Ahnung wo ich suchen soll.
    Du kannst ein writeToTraceLog ins den LBS Teil packen und gucken ob er da ueberhaupt ankommt... der EXEC schreibt ziemlich direkt am Anfang einen Eintrag ins Tracelog (auch ohne DEBUG).
    Ist vllt die Logikseite deaktiviert?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Okay, hab ich gefunden. Habe gerade das Problem, dass der Squeeze Server Baustein einfach nicht startet.
    Habe alle anderen Logikseiten deaktiviert und nur ein Squeeze Server Baustein mit Trigger=1.
    Damit müsste doch dann eigentlich ein Prozess laufen, oder? Ich habe keine Ahnung woran es liegt.

    2016-03-20 15_56_51-EDOMI · Administration.png

    Wie kann ich das denn Debuggen? Im Tracelog erscheint nichts, obwohl DEBUG auf true gesetzt habe. Keine Ahnung wo ich suchen soll.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von jonofe Beitrag anzeigen
    wie schalte ich eigentlich DEBUG Output an. Ich finde es einfach nicht.
    Im Source nach "$DEBUG" suchen und da "1" oder "TRUE" oder "foobar" reinschreiben - ich wollte keinen Eingang extra dafuer reservieren
    Gibts allerdings nicht bei allen Bausteinen!

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    wie schalte ich eigentlich DEBUG Output an. Ich finde es einfach nicht.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    rdeckard
    Zum Verstaendnis Deines Play/Stop Problems: also Du hast zwei verbubbelte Player, zwei Client-Bausteine und schickst ueber das selbe KO (also quasi zeitgleich) einen Play Befehl an beide Client-Bausteine. Ist das so korrekt?

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von rdeckard Beitrag anzeigen
    Das wäre so grob mein "Konzept", wie man das Sync-Thema angehen könnte. In welche Richtung denkst du eigentlich?
    Danke fuer die Ausfuehrungen!
    Momentan waere meine hoechste Prioritaet dabei zunaechst, dass die Player vernuenftig angesteuert werden. Also Play/Pause/Volume und so muss funktionieren. In vielen Faellen scheint es wichtig sein zu wissen, wer der Sync-Master eines Players ist (das waere dann gleichbedeutend mit: ich bin in einer Gruppe). Vorgesehen waere also dem Client-Baustein einen Ausgang zuzufuegen in dem die MAC des Sync-Masters steht. Gleichzeitig kaeme dann noch ein Eingang hinzu, ueber den man die MAC des Sync-Masters setzen kann, also quasi den Player einer Sync-Gruppe zufuegt. So aehnlich isses ja auch im LMS aufgebaut, da sucht man ja auch fuer einen Player den Master aus.
    Wie jetzt die verschiedenen Sync-Optionen abgebildet werden (also Power/Lautstaerke - zeitliche Sync werde ich vermutlich fest kodieren, denn das ist IMHO der Hauptvorteil der Verbubbelung) weiss ich noch nicht, das lasse ich mal auf mich zukommen

    Ob man Player bei Namen oder MAC identifiziert hab ich mir anfaenglich lange ueberlegt und bin dann bei er MAC haengen geblieben. Das hat vor allem technische Gruende (die MAC ist das erste was man braucht, alle weiteren Infos zu einem Player haengen davon ab - zudem werden alle LMS Kommandos ueber die MAC versendet) allerdings hatte ich mir auch gedacht, dass es in eeiner Gebaeudesteuerung relativ schnuppe ist ob da jetzt intern die MAC oder der Name verwendet wird (die muss ja zB niemand eintippen). Der Client hat einen Ausgang in dem der Name drinsteht, das sollte eigentlich ausreichend sein um auch Sync-Gruppen in einer Visu abbilden zu koennen. Eine Ausnahme davon waere der oben angesprochene Sync-Master: wenn da eine playerID rausfaellt (was der Fall sein wird), dann kann man da vermutlich so viel mit anfangen koennen.
    Ich denke fuer solche Zwecke wird dann spaeter nochmal ein Helper-Baustein hinzukommen, der zB playerIDs in Namen (oder andersrum) tauschen kann, oder Kuenstlernamen in IDs oder IDs in Titel... wenn man zB Playlisten zusammenstellen will kann man sowas brauchen.

    Aber wie gesagt: erstmal muss ich das Verbubbeln genau begreifen, dann muss ich zusehen dass die bisherige Funktionalitaet hinkommt und dann taste ich mich vorsichtig weiter Aber nochmal danke fuer dein Posting, das hilft schon sehr bei der Orientierung!

    gruesse :: Michael

    Einen Kommentar schreiben:

Lädt...
X