Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JS lokal bearbeiten - hochladen - service restarten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    JS lokal bearbeiten - hochladen - service restarten

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jiglitsch last edited by jiglitsch

      Hallo zusammen,
      für kleinere Änderungen in Klassen reicht natürlich die Mini-WebIDE die mit dem Javascript Adapter mitkommt.
      Da ich aber gerade merke, dass mein Setup immer größer wird, würde ich die Skripte und Klassen gerne lokal bearbeiten.
      Das Problem ist aber, dass ich nicht weiß wo die Dateien auf dem Raspberry liegen? Und welchen Service muss ich danach neustarten damit die aktualisierten Skripte auch geladen werden?

      Welche ES Version wird überhaupt supported? 5? 6? Und was läuft da im Backend? Wird der Code mit Webpack gebundled o.ä.?
      Ich habe mal auf die Schnelle eine kleine Klasse mit "export default" in eine eigene Datei geschrieben und dann in einem anderen Skript mit "import" versucht die Klasse zu importieren. Hat aber nicht geklappt. Da kam nur ein JS-Error in der Konsole. Sind so Module möglich? Für Tipps wäre ich dankbar 🙂

      Danke schonmal

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Sind ja einige Fragen, fangen wir mal "Oben" an:

        1.) Generell liegen die Skripte als Objekte im iBroker, also eher schlecht editierbar. Daher gibt es in den neueren Javascript Versionen eine Funktion namens "Mirroring".Anklicken, lokalen Pfad angeben und schon werden alle Skripte dort ins Filesystem gesynct. Damit kaommst Du Sie dort bearbeiten. Änderungen werden sobald das File gespeichert wird zurckgesynct und das Skript neu gestartet. Wie Du es dann vom Raspi auf den Laptop oder so bekommst musst Du dann sehen.

        2.) ES version hängt von deiner nodejs Version ab. Alle aktuellen sind ES6 ...

        3.) bei den Skripten wähe zwischen JS und TS als Typ ... import wäre daher eher Typescript . Das "Backend" ist nodejs

        4.) NPM Module die Du brauchst und nicht da sind im Adapter angeben dann werde die installiert.

        5.) Skript sich gegenseitig zu importieren geht aktuell noch nicht so wirklich. Globale Skripte werden vor andere Skripte quasi davorgehangen, damit kann man sowas bauen aber muss aufpassen.

        Reicht das erstmal als Übersicht?

        1 Reply Last reply Reply Quote 1
        • J
          jiglitsch last edited by jiglitsch

          Schonmal vielen Dank @apollon77 für deine Antworten. Da waren schon nützliche Infos dabei.

          Zu 1:
          Ich habe den aktuellsten Javascript-Adapter installiert aber in den Einstellungen sehe ich nix von "Mirroring". Das klingt genau danach wonach ich gesucht habe.
          Auch meine iobroker version ist die aktuellste.
          Oder bin ich an der falschen Stelle? Oder was meinst du mit "in den neueren JS-Versionen"?

          Zu 5:
          Ok, verstanden. Klingt aber auch so als wäre das etwas was mir helfen wir.

          apollon77 1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 @jiglitsch last edited by

            @jiglitsch Was ist denn die "aktuellste Version" die Du hast? Es kommt bald die 4.6.3 aus dem latest ins Stable. Mirroring ist seit der 4.2.1 drin

            1 Reply Last reply Reply Quote 0
            • J
              jiglitsch last edited by

              4.5.1. Das ist die, die in ioBroker über das Adaptermenü installiert weden kann. Meine ganze ioBroker Instanz ist erst 3 Tage alt.
              ... Fuck ...
              Ich wollte dir gerade einen Screenshot machen, da hab ich das input-Feld gesehen. Es gibt aber keinen Haken, daher habe ich das gestern scheinbar übersehen. War ja gestern auch schon spät 🦆

              Cool, dann versuche ich das mal. Danke dir!

              apollon77 1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 @jiglitsch last edited by

                @jiglitsch Ja Haken war aus meinem Kopf und scheinbar "Misleading" 🙂

                1 Reply Last reply Reply Quote 0
                • J
                  jiglitsch last edited by jiglitsch

                  Kein Problem.

                  Gibts beim Mirroring gerade irgendwelche bekannten Probleme?
                  Ich hab das jetzt mal ausprobiert und habe die gespiegelte datei, die dem user iobroker gehört, mit dem user iobroker via vim verändert.
                  Aber sofort wenn ich die Datei speichere, ist sie plötzlich weg. Auch im iobroker javascript menü ist sie plötzlich weg... gott sei dank habe ich ein Backup gemacht 😮

                  Was ist da los? Ich vermute ja irgendein permission problem... aber welches? 🤔

                  // UPDATE
                  Auch ein überschreiben der Mirror-Datei mit "mv", löscht die Datei. Sowohl im Mirror als auch das original

                  apollon77 1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 @jiglitsch last edited by

                    @jiglitsch Bitte mal issue auf machen ... auch was genau du mit "überschreiben per mv" meinst

                    1 Reply Last reply Reply Quote 0
                    • J
                      jiglitsch last edited by

                      Ich meine den cli-Befehl "mv".
                      Also jetzt, nachdem ich die Mirror-ordner via chmod auf 777 (shame on me) geändert habe, sind die Skripte wieder da O_o
                      kA ob das Absicht ist? Scheint auf jedenfall irgendein perm-thema gewesen zu sein.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      852
                      Online

                      31.8k
                      Users

                      80.0k
                      Topics

                      1.3m
                      Posts

                      javascript
                      2
                      9
                      678
                      Loading More Posts
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes
                      Reply
                      • Reply as topic
                      Log in to reply
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      The ioBroker Community 2014-2023
                      logo