Loxberry Gurus gefragt (Linux und js)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Liver_64
    MS Profi
    • 07.09.2015
    • 606

    #1

    Loxberry Gurus gefragt (Linux und js)

    Hi zsamme,

    ich hätte gerne in meinen Installationsroutinen folgende Funktionen integriert:
    1/ Wenn die Loxberry Version 0.2.2 entspricht soll der Installationsprozess komplett abgebrochen werden.
    folgender Code in der preinstall.sh funktioniert bis zur Version, dann leider nicht mehr:
    Code:
    #$version = sed -nr "/^\[BASE\]/ { :l /^VERSION[ ]*=/ { s/.*=[ ]*//; p; q;}; n; b l;}" .$ARGV3/loxberry/config/system/general.cfg
    if [ "$version"  == "0.2.2" ] then
        echo "<ERROR> You must update LoxBerry to Version 0.2.3 before installing Sonos Script"
        exit 1
    fi
    abgesehen davon das es mir nicht in die "If" Anweisung springt beendet exit 1 das script, aber nicht die shell bzw. die Installationsroutine komplett.

    2/ ein kopiertes data unterverzeichnis hat nicht die notwendigen Rechte, diese müssten auf 0755 gesetzt werden. Dazu habe ich folgenden Code in der postinstall.sh:
    Code:
    find $ARGV3/data/plugins$ARGV5/tts/mp3 -type d -exec chmod 755 {} \
    nur funktioniert es irgendwie nicht! Oder soll ich es in die preinstall dann mit $ARG1?

    3/ ein HTML flipswitch mit values soll ein text input feld mandatory machen wenn true, nicht mandatory wenn false. Dazu habe ich folgenden js code:
    Code:
    $("#sendlox").change(function() {
        state = $("# sendlox ").val();
        // $('#togshow').text(state.toString());
    If (state = "true") {
                   $("#udpport ").attr('required', ''); 
    } else {
                   $("#udpport ").removeAttr('required', ''); 
    }
    });
    Die value "true" oder "false" vom flipswitch wird zurückgegeben, aber die If Funktion greift nicht

    Vielleicht erbarmt sich ja einer der Gurus. Für praxisnahes siehe sonos4lox Plugin.

    dank vorab
    Gruß Olli

    Anmerkung: Bitte keine Fragen mehr per PN sondern direkt im Forum damit andere mithelfen und mitprofitieren können.
    Bzgl. Sonos Plugin supporte ich nur noch die jeweils aktuelle Version NUR auf dem LoxBerry, ich kann keine VM Unterstützung mangels Hardware geben. Herzlichen Dank!
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6342

    #2
    Hi,

    zu 1) das ist ja klar, da hier ja nur das Verarbeiten dieses Scriptes abgebrochen wird. Ich bin mir noch nicht einmal sicher, ob nicht sogar nur der If-Block beendet wird. Warum er nicht ins If springt kann ich Dir auf Anhieb jetzt auch nicht sagen, aber ich vermute mal, dass Du Zeichenketten nicht so vergleichen kannst. Es werden meist nur die Speicheradressen übergeben und die sind nunmal stets unterschiedlich.

    zu 2) warum so kompliziert über find? Du kannst doch auch gleich chmod auf das Verzeichnis machen.

    zu 3) wird es wohl wieder am Stringvergleich liegen. Bin da jetzt aber zu müde einen klaren Gedanken zu fassen.
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • Christian Fenzl
      Lebende Foren Legende
      • 31.08.2015
      • 11249

      #3
      Zu 3), das liegt wahrscheinlich am State = "true" (richtig: State == "true")
      Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

      Kommentar

      • Christian Fenzl
        Lebende Foren Legende
        • 31.08.2015
        • 11249

        #4
        Zu 1), wenn er dich nicht abbrechen lässt, bau am einfachsten die Prüfung ins Webinterface ein. Groß und rot, ggf. das restliche Interface gar nicht mehr anzeigen. Das sollte aufdringlich genug sein :-)
        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

        Kommentar

        • svethi
          Lebende Foren Legende
          • 25.08.2015
          • 6342

          #5
          Aber er hat da eigentlich ein Problem aufgezeigt, was in einer zukünftigen Loxberryversion berücksichtigt werden sollte.
          @Prof.Mobilux: in einer neuen LB Version sollte in der Plugindatei eine Mindestloxberryversion eingetragen werden können und dann dürfte bei unterschreiten die Installation von vorn herein untersagt werden müssen.

          Gruß Sven
          Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

          Kommentar


          • Prof.Mobilux
            Prof.Mobilux kommentierte
            Kommentar bearbeiten
            Ist mir auch durch den Kopf gegangen. Bzw. auch die Möglichkeit über verschiedene Exit-Codes in den Scripten das Verhalten der Installation zu beeinflussen: Abbruch nur des Scriptes oder Gesamtabbruch der Installation. Und zusätzlich die LoxBerry-Version als Variable in den Scripten.
        • Liver_64
          MS Profi
          • 07.09.2015
          • 606

          #6
          Danke für euer Hilfe. Punkt 1/ lässt sich also derzeit nicht umsetzen, nur über Web-Interface, was aber eigentlich schon zu spät ist. Punkt 2/ und 3/ habe ich hinbekommen.
          Gibt es denn in absehbarer Zeit eine neue LB Version?
          Anmerkung: Bitte keine Fragen mehr per PN sondern direkt im Forum damit andere mithelfen und mitprofitieren können.
          Bzgl. Sonos Plugin supporte ich nur noch die jeweils aktuelle Version NUR auf dem LoxBerry, ich kann keine VM Unterstützung mangels Hardware geben. Herzlichen Dank!

          Kommentar

          Lädt...