Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Gelöst / Bash-Befehl in javaScript

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Gelöst / Bash-Befehl in javaScript

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
19 Beiträge 6 Kommentatoren 1.4k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Schorsch
    schrieb am zuletzt editiert von Schorsch
    #1

    Moin,
    ich bin noch "Grundschüler" ;-) und möchte den Wechselrichter HMS-800W-2T von Hoymiles einbinden.

    Diesen Topic Hoymiles HMS-800W-2T habe ich bereits durchgearbeitet, hänge jedoch am letzten Rest.

    Im Terminal bekomme ich mit dem Befehl "hoymiles-wifi --host 111.111.111.111 get-real-data-new" (111.111.... steht für die IP-Adresse meines Hoymiles) ettliche Daten.

    Jetzt denke ich darüber nach, die Daten in einem Blockly-Script abzufragen. Wie müsste der Befehl in einer JavaScript Funktion geschrieben werden?

    Vielen Dank für Eure Tipps.

    arteckA 1 Antwort Letzte Antwort
    0
    • S Schorsch

      Moin,
      ich bin noch "Grundschüler" ;-) und möchte den Wechselrichter HMS-800W-2T von Hoymiles einbinden.

      Diesen Topic Hoymiles HMS-800W-2T habe ich bereits durchgearbeitet, hänge jedoch am letzten Rest.

      Im Terminal bekomme ich mit dem Befehl "hoymiles-wifi --host 111.111.111.111 get-real-data-new" (111.111.... steht für die IP-Adresse meines Hoymiles) ettliche Daten.

      Jetzt denke ich darüber nach, die Daten in einem Blockly-Script abzufragen. Wie müsste der Befehl in einer JavaScript Funktion geschrieben werden?

      Vielen Dank für Eure Tipps.

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @schorsch schau dir mal das exec befehl an

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      S 1 Antwort Letzte Antwort
      0
      • arteckA arteck

        @schorsch schau dir mal das exec befehl an

        S Offline
        S Offline
        Schorsch
        schrieb am zuletzt editiert von
        #3

        @arteck Vielen Dank. Mir scheint, dass es grundsätzlich funktionieren sollte, es jedoch ein Problem mit den Rechten gibt.

        Für den SSH-Zugriff habe ich einen extra User angelegt, ich arbeite nicht als User iobroker. Wenn ich also im Terminal den Befehl eingebe, funktioniert es. Wenn ich es im exec-Block eingebe, funktioniert gar nichts. Gebe ich jedoch einen Befehl "ls" ein, wird der Inhalt aufgelistet. Bei dem Befehl "whoami" erhalte ich die Info, dass es der User iobroker ist.

        Ich werde jetzt mal recherchieren, wie ich hoymiles-wifi als User iobroker ausführen kann. Wenn mir jemand auf die Schnelle einen Tipp geben kann, wie ich es prüfen und einrichten kann, würde ich mich sehr freuen.

        Gruß Schorsch.

        HomoranH Thomas BraunT 2 Antworten Letzte Antwort
        0
        • S Schorsch

          @arteck Vielen Dank. Mir scheint, dass es grundsätzlich funktionieren sollte, es jedoch ein Problem mit den Rechten gibt.

          Für den SSH-Zugriff habe ich einen extra User angelegt, ich arbeite nicht als User iobroker. Wenn ich also im Terminal den Befehl eingebe, funktioniert es. Wenn ich es im exec-Block eingebe, funktioniert gar nichts. Gebe ich jedoch einen Befehl "ls" ein, wird der Inhalt aufgelistet. Bei dem Befehl "whoami" erhalte ich die Info, dass es der User iobroker ist.

          Ich werde jetzt mal recherchieren, wie ich hoymiles-wifi als User iobroker ausführen kann. Wenn mir jemand auf die Schnelle einen Tipp geben kann, wie ich es prüfen und einrichten kann, würde ich mich sehr freuen.

          Gruß Schorsch.

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von Homoran
          #4

          @schorsch sagte in Bash-Befehl in javaScript:

          Wenn ich es im exec-Block eingebe, funktioniert gar nichts.

          hast du exec in der Konfiguration der js-Instanz freigegeben?

          @schorsch sagte in Bash-Befehl in javaScript:

          Für den SSH-Zugriff habe ich einen extra User angelegt

          gut so!

          @schorsch sagte in Bash-Befehl in javaScript:

          ich arbeite nicht als User iobroker.

          kannst du auch gar nicht!

          Aber dein User sollte in der Gruppe iobroker drin sein.

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • S Schorsch

            @arteck Vielen Dank. Mir scheint, dass es grundsätzlich funktionieren sollte, es jedoch ein Problem mit den Rechten gibt.

            Für den SSH-Zugriff habe ich einen extra User angelegt, ich arbeite nicht als User iobroker. Wenn ich also im Terminal den Befehl eingebe, funktioniert es. Wenn ich es im exec-Block eingebe, funktioniert gar nichts. Gebe ich jedoch einen Befehl "ls" ein, wird der Inhalt aufgelistet. Bei dem Befehl "whoami" erhalte ich die Info, dass es der User iobroker ist.

            Ich werde jetzt mal recherchieren, wie ich hoymiles-wifi als User iobroker ausführen kann. Wenn mir jemand auf die Schnelle einen Tipp geben kann, wie ich es prüfen und einrichten kann, würde ich mich sehr freuen.

            Gruß Schorsch.

            Thomas BraunT Online
            Thomas BraunT Online
            Thomas Braun
            Most Active
            schrieb am zuletzt editiert von
            #5

            @schorsch

            sudo -H -u iobroker BEFEHL
            

            Linux-Werkzeugkasten:
            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
            NodeJS Fixer Skript:
            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Schorsch
              schrieb am zuletzt editiert von
              #6

              Vielen Dank für eure schnellen Antworten.

              @homoran
              In der JS-Instanz sind die Einstellungen wie folgt (bekomme zur Zeit keinen Screenshot eingebaut):
              Kommando "setObject" erlauben = aus
              Kommando "exec" erlauben = an
              Kommando "sendToHost" erlauben = aus
              Nicht alle Zustände beim Start abonnieren = aus

              Mein User ist in der Gruppe "iobroker" enthalten. Bei dem User funktioniert es ja. Im Blockly-Script bleibt der Text leer.
              Muss "sendToHost" aktiviert sein?

              @Thomas-Braun das Ergebnis ist:

              sudo -H -u iobroker hoymiles-wifi --host xxx.xxx.xxx.xxx get-version-info
              Traceback (most recent call last):
                File "/usr/local/bin/hoymiles-wifi", line 5, in <module>
                  from hoymiles_wifi.__main__ import run_main
              ModuleNotFoundError: No module named 'hoymiles_wifi'
              

              Als SSH-User erhalte ich folgendes bei diesem Befehl:

              hoymiles-wifi --host xxx.xxx.xxx.xxx get-version-info
              No response or unable to retrieve response for get-version-info
              

              Die Antwort ist in soweit richtig, weil sich der hoymiles bei Dunkelheit aus dem WLAN verabschiedet und morgen bei Tageslicht wieder einbindet.

              Der Inhalt der Datei hoymiles-wifi lautet:

              #!/usr/bin/python3
              # -*- coding: utf-8 -*-
              import re
              import sys
              from hoymiles_wifi.__main__ import run_main
              if __name__ == '__main__':
                  sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
                  sys.exit(run_main())
              

              Vielleicht hilft euch dies weiter.

              Thomas BraunT paul53P 3 Antworten Letzte Antwort
              0
              • S Schorsch

                Vielen Dank für eure schnellen Antworten.

                @homoran
                In der JS-Instanz sind die Einstellungen wie folgt (bekomme zur Zeit keinen Screenshot eingebaut):
                Kommando "setObject" erlauben = aus
                Kommando "exec" erlauben = an
                Kommando "sendToHost" erlauben = aus
                Nicht alle Zustände beim Start abonnieren = aus

                Mein User ist in der Gruppe "iobroker" enthalten. Bei dem User funktioniert es ja. Im Blockly-Script bleibt der Text leer.
                Muss "sendToHost" aktiviert sein?

                @Thomas-Braun das Ergebnis ist:

                sudo -H -u iobroker hoymiles-wifi --host xxx.xxx.xxx.xxx get-version-info
                Traceback (most recent call last):
                  File "/usr/local/bin/hoymiles-wifi", line 5, in <module>
                    from hoymiles_wifi.__main__ import run_main
                ModuleNotFoundError: No module named 'hoymiles_wifi'
                

                Als SSH-User erhalte ich folgendes bei diesem Befehl:

                hoymiles-wifi --host xxx.xxx.xxx.xxx get-version-info
                No response or unable to retrieve response for get-version-info
                

                Die Antwort ist in soweit richtig, weil sich der hoymiles bei Dunkelheit aus dem WLAN verabschiedet und morgen bei Tageslicht wieder einbindet.

                Der Inhalt der Datei hoymiles-wifi lautet:

                #!/usr/bin/python3
                # -*- coding: utf-8 -*-
                import re
                import sys
                from hoymiles_wifi.__main__ import run_main
                if __name__ == '__main__':
                    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
                    sys.exit(run_main())
                

                Vielleicht hilft euch dies weiter.

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von
                #7

                @schorsch

                echad@chet:~ $ sudo -H -u iobroker pipx install hoymiles-wifi
                  installed package hoymiles-wifi 0.2.7, installed using Python 3.12.7
                  These apps are now globally available
                    - hoymiles-wifi
                ⚠  Note: '/home/iobroker/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run
                    `pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (e.g. ~/.bashrc).
                done! ✨ 🌟 ✨
                echad@chet:~ $ sudo -H -u iobroker /home/iobroker/.local/bin/hoymiles-wifi 
                usage: hoymiles-wifi [-h] --host HOST [--local_addr LOCAL_ADDR] [--as-json]
                                     {get-real-data-new,get-real-data,get-config,network-info,app-information-data,app-get-hist-power,set-power-limit,set-wifi,firmware-update,restart-dtu,turn-on-inverter,turn-off-inverter,get-information-data,get-version-info,heartbeat,identify-dtu,identify-inverters,identify-meters,get-alarm-list}
                hoymiles-wifi: error: the following arguments are required: --host, command
                echad@chet:~ $ 
                

                Wenn der user iobroker das Programm nur nutzen soll würde ich es so machen.

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                S 1 Antwort Letzte Antwort
                0
                • S Schorsch

                  Vielen Dank für eure schnellen Antworten.

                  @homoran
                  In der JS-Instanz sind die Einstellungen wie folgt (bekomme zur Zeit keinen Screenshot eingebaut):
                  Kommando "setObject" erlauben = aus
                  Kommando "exec" erlauben = an
                  Kommando "sendToHost" erlauben = aus
                  Nicht alle Zustände beim Start abonnieren = aus

                  Mein User ist in der Gruppe "iobroker" enthalten. Bei dem User funktioniert es ja. Im Blockly-Script bleibt der Text leer.
                  Muss "sendToHost" aktiviert sein?

                  @Thomas-Braun das Ergebnis ist:

                  sudo -H -u iobroker hoymiles-wifi --host xxx.xxx.xxx.xxx get-version-info
                  Traceback (most recent call last):
                    File "/usr/local/bin/hoymiles-wifi", line 5, in <module>
                      from hoymiles_wifi.__main__ import run_main
                  ModuleNotFoundError: No module named 'hoymiles_wifi'
                  

                  Als SSH-User erhalte ich folgendes bei diesem Befehl:

                  hoymiles-wifi --host xxx.xxx.xxx.xxx get-version-info
                  No response or unable to retrieve response for get-version-info
                  

                  Die Antwort ist in soweit richtig, weil sich der hoymiles bei Dunkelheit aus dem WLAN verabschiedet und morgen bei Tageslicht wieder einbindet.

                  Der Inhalt der Datei hoymiles-wifi lautet:

                  #!/usr/bin/python3
                  # -*- coding: utf-8 -*-
                  import re
                  import sys
                  from hoymiles_wifi.__main__ import run_main
                  if __name__ == '__main__':
                      sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
                      sys.exit(run_main())
                  

                  Vielleicht hilft euch dies weiter.

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @schorsch

                  Und wenn es global für alle user verfügbar sein soll:

                  sudo pipx install hoymiles-wifi --global
                  

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  1 Antwort Letzte Antwort
                  0
                  • S Schorsch

                    Vielen Dank für eure schnellen Antworten.

                    @homoran
                    In der JS-Instanz sind die Einstellungen wie folgt (bekomme zur Zeit keinen Screenshot eingebaut):
                    Kommando "setObject" erlauben = aus
                    Kommando "exec" erlauben = an
                    Kommando "sendToHost" erlauben = aus
                    Nicht alle Zustände beim Start abonnieren = aus

                    Mein User ist in der Gruppe "iobroker" enthalten. Bei dem User funktioniert es ja. Im Blockly-Script bleibt der Text leer.
                    Muss "sendToHost" aktiviert sein?

                    @Thomas-Braun das Ergebnis ist:

                    sudo -H -u iobroker hoymiles-wifi --host xxx.xxx.xxx.xxx get-version-info
                    Traceback (most recent call last):
                      File "/usr/local/bin/hoymiles-wifi", line 5, in <module>
                        from hoymiles_wifi.__main__ import run_main
                    ModuleNotFoundError: No module named 'hoymiles_wifi'
                    

                    Als SSH-User erhalte ich folgendes bei diesem Befehl:

                    hoymiles-wifi --host xxx.xxx.xxx.xxx get-version-info
                    No response or unable to retrieve response for get-version-info
                    

                    Die Antwort ist in soweit richtig, weil sich der hoymiles bei Dunkelheit aus dem WLAN verabschiedet und morgen bei Tageslicht wieder einbindet.

                    Der Inhalt der Datei hoymiles-wifi lautet:

                    #!/usr/bin/python3
                    # -*- coding: utf-8 -*-
                    import re
                    import sys
                    from hoymiles_wifi.__main__ import run_main
                    if __name__ == '__main__':
                        sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
                        sys.exit(run_main())
                    

                    Vielleicht hilft euch dies weiter.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @schorsch sagte: Der Inhalt der Datei hoymiles-wifi lautet:

                    Das ist doch kein Bash-Skript, sondern ein Python-Skript. Rufe es mal im exec() mit python3 auf.
                    "python3 hoymiles-wifi --host 111.111.111.111 get-real-data-new"

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    Thomas BraunT 1 Antwort Letzte Antwort
                    1
                    • paul53P paul53

                      @schorsch sagte: Der Inhalt der Datei hoymiles-wifi lautet:

                      Das ist doch kein Bash-Skript, sondern ein Python-Skript. Rufe es mal im exec() mit python3 auf.
                      "python3 hoymiles-wifi --host 111.111.111.111 get-real-data-new"

                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @paul53 sagte in Bash-Befehl in javaScript:

                      Rufe es mal im exec() mit python3 auf.
                      "python3 hoymiles-wifi --host 111.111.111.111 get-real-data-new

                      Wenn es 'ordentlich' per pipx installiert wurde (und dann dadurch im $PATH des users 'iobroker' liegt) dann sollte der Aufruf von
                      hoymiles-wifi
                      per exec-Block reichen.

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      1 Antwort Letzte Antwort
                      0
                      • Thomas BraunT Thomas Braun

                        @schorsch

                        echad@chet:~ $ sudo -H -u iobroker pipx install hoymiles-wifi
                          installed package hoymiles-wifi 0.2.7, installed using Python 3.12.7
                          These apps are now globally available
                            - hoymiles-wifi
                        ⚠  Note: '/home/iobroker/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run
                            `pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (e.g. ~/.bashrc).
                        done! ✨ 🌟 ✨
                        echad@chet:~ $ sudo -H -u iobroker /home/iobroker/.local/bin/hoymiles-wifi 
                        usage: hoymiles-wifi [-h] --host HOST [--local_addr LOCAL_ADDR] [--as-json]
                                             {get-real-data-new,get-real-data,get-config,network-info,app-information-data,app-get-hist-power,set-power-limit,set-wifi,firmware-update,restart-dtu,turn-on-inverter,turn-off-inverter,get-information-data,get-version-info,heartbeat,identify-dtu,identify-inverters,identify-meters,get-alarm-list}
                        hoymiles-wifi: error: the following arguments are required: --host, command
                        echad@chet:~ $ 
                        

                        Wenn der user iobroker das Programm nur nutzen soll würde ich es so machen.

                        S Offline
                        S Offline
                        Schorsch
                        schrieb am zuletzt editiert von
                        #11

                        @thomas-braun Hi, ich habe den Befehl so eingegeben, erhalte jedoch eine Fehlermeldung.
                        5d00c3e6-e22c-4731-ad7c-ec011b032121-grafik.png

                        Kann es sein, dass durch die Installation mit pip und anschließend mit pipx etwas durcheinander gekommen ist?
                        Die PATH-Variable habe ich mit export PATH angepasst.
                        f5b454e0-9b04-4a16-a34f-dfa515c83a8a-grafik.png

                        Wie muss ich vorgehen, um hoymiles-wifi komplett zu deinstallieren, um es dann neu zu installieren?

                        @paul53 Der Aufruf mit dem Vorangestellten "python3" führt auch zu keinem Erfolg.

                        Gruß Schorsch

                        Thomas BraunT 1 Antwort Letzte Antwort
                        0
                        • S Schorsch

                          @thomas-braun Hi, ich habe den Befehl so eingegeben, erhalte jedoch eine Fehlermeldung.
                          5d00c3e6-e22c-4731-ad7c-ec011b032121-grafik.png

                          Kann es sein, dass durch die Installation mit pip und anschließend mit pipx etwas durcheinander gekommen ist?
                          Die PATH-Variable habe ich mit export PATH angepasst.
                          f5b454e0-9b04-4a16-a34f-dfa515c83a8a-grafik.png

                          Wie muss ich vorgehen, um hoymiles-wifi komplett zu deinstallieren, um es dann neu zu installieren?

                          @paul53 Der Aufruf mit dem Vorangestellten "python3" führt auch zu keinem Erfolg.

                          Gruß Schorsch

                          Thomas BraunT Online
                          Thomas BraunT Online
                          Thomas Braun
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @schorsch

                          Bilidchen kann und will ich nicht entziffern.
                          Text immer in CodeTags eingebettet hier rein.

                          Linux-Werkzeugkasten:
                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                          NodeJS Fixer Skript:
                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            Schorsch
                            schrieb am zuletzt editiert von
                            #13

                            @Thomas-Braun Sorry, mach ich n atürlich.

                            Folgend der Befehl und das Ergebnis zur Installation von hoymiles-wifi gemäß deinen Angaben.

                            sudo -H -u iobroker pipx install hoymiles-wifi
                            ^ File exists at /home/iobroker/.local/bin/hoymiles-wifi and points to /home/iobroker/.local/pipx/venvs/hoymiles-wifi. Not modifying. installed package hoymiles-wifi 0.2.7, installed using Python 3.11.2
                            -hoymiles-wifi (symlink missing or pointing to unexpected location)
                            ^ Note: '/home/iobroker/.local/bin is not on your PATH environment variable. These apps will not be globally accessibleuntil your PATH is updatet. Run 'pipx ensurepath' to automatically add it, or manually modify your PATH in your shell`s config file (e.g. ~/.bashrc).
                            

                            Ich denke, dass ich da etwas durcheinandergebracht habe. Daher möchte ich wie folgt vorgehen:

                            1. hoymiles-wifi komplett deinstallieren. Wie mache ich es am Besten?
                            2. hoymiles-wifi wieder installieren, gemäß deiner Vorgabe
                            3. wie editiere ich die PATH-Variable des users iobroker, wie in der Antwort vorgeben oder anders?

                            Vielen Dank für deine Geduld.
                            Schorsch

                            Thomas BraunT 1 Antwort Letzte Antwort
                            0
                            • S Schorsch

                              @Thomas-Braun Sorry, mach ich n atürlich.

                              Folgend der Befehl und das Ergebnis zur Installation von hoymiles-wifi gemäß deinen Angaben.

                              sudo -H -u iobroker pipx install hoymiles-wifi
                              ^ File exists at /home/iobroker/.local/bin/hoymiles-wifi and points to /home/iobroker/.local/pipx/venvs/hoymiles-wifi. Not modifying. installed package hoymiles-wifi 0.2.7, installed using Python 3.11.2
                              -hoymiles-wifi (symlink missing or pointing to unexpected location)
                              ^ Note: '/home/iobroker/.local/bin is not on your PATH environment variable. These apps will not be globally accessibleuntil your PATH is updatet. Run 'pipx ensurepath' to automatically add it, or manually modify your PATH in your shell`s config file (e.g. ~/.bashrc).
                              

                              Ich denke, dass ich da etwas durcheinandergebracht habe. Daher möchte ich wie folgt vorgehen:

                              1. hoymiles-wifi komplett deinstallieren. Wie mache ich es am Besten?
                              2. hoymiles-wifi wieder installieren, gemäß deiner Vorgabe
                              3. wie editiere ich die PATH-Variable des users iobroker, wie in der Antwort vorgeben oder anders?

                              Vielen Dank für deine Geduld.
                              Schorsch

                              Thomas BraunT Online
                              Thomas BraunT Online
                              Thomas Braun
                              Most Active
                              schrieb am zuletzt editiert von Thomas Braun
                              #14

                              @schorsch sagte in Bash-Befehl in javaScript:

                              hoymiles-wifi komplett deinstallieren. Wie mache ich es am Besten?

                              pip uninstall hoymiles-wifi
                              

                              im gleichen Verzeichnis wie bei der installation eingeben.

                              Linux-Werkzeugkasten:
                              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                              NodeJS Fixer Skript:
                              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                Schorsch
                                schrieb am zuletzt editiert von
                                #15

                                So, nach mehreren Tagen lesen und probieren bekomme ich es jetzt halbwegs hin.
                                Was nicht funktioniert, ist die Variable PATH für iobroker zu verändern.

                                Bei der Installation mit pipx wurde hoymiles-wifi im Verzeichnis "/home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin/" installiert.

                                Mit folgendem Aufruf aus der bash erhalte ich Daten vom Wechselrichter

                                sudo -H -u iobroker /home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin/hoymiles-wifi --host xxx.xxx.xxx.xxx get-real-data-new
                                

                                Wenn ich den Befehl in einem exec-Block von Blockly eingebe, erhalte ich auch Daten zurück.

                                /home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin/hoymiles-wifi --host xxx.xxx.xxx.xxx get-real-data-new
                                

                                Was ich nicht hinbekomme, ist die PATH-Variable so zu ändern, dass iobroker im Verzeichnis /home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin sucht. Ich habe testweise mit nano folgende Dateien editiert und danach wieder in den ursprung gesetzt:

                                • /etc/profile
                                • /home/iobroker/.profile
                                  und den RasPi danach jeweils neu gestartet.
                                  Als User dann mit folgenden Befehl die PATH-Variable geprüft:
                                sudo -H -u iobroker printenv
                                

                                Ergebnis war immer:

                                PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                                MAIL=/var/mail/iobroker
                                LOGNAME=iobroker
                                USER=iobroker
                                HOME=/home/iobroker
                                

                                Fragen:

                                • Ist es möglich, mit pipx das Programm hoymiles-wifi im Verzeichnis usr/local/bin zu installieren? Wenn ja, wie?

                                • Wie kann ich die PATH-Variable so anpassen, dass iobroker das Programm hoymiles-wifi selber findet und ich mir die Pfadangaben im Befehl sparen kann?

                                Thomas BraunT 1 Antwort Letzte Antwort
                                0
                                • S Schorsch

                                  So, nach mehreren Tagen lesen und probieren bekomme ich es jetzt halbwegs hin.
                                  Was nicht funktioniert, ist die Variable PATH für iobroker zu verändern.

                                  Bei der Installation mit pipx wurde hoymiles-wifi im Verzeichnis "/home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin/" installiert.

                                  Mit folgendem Aufruf aus der bash erhalte ich Daten vom Wechselrichter

                                  sudo -H -u iobroker /home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin/hoymiles-wifi --host xxx.xxx.xxx.xxx get-real-data-new
                                  

                                  Wenn ich den Befehl in einem exec-Block von Blockly eingebe, erhalte ich auch Daten zurück.

                                  /home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin/hoymiles-wifi --host xxx.xxx.xxx.xxx get-real-data-new
                                  

                                  Was ich nicht hinbekomme, ist die PATH-Variable so zu ändern, dass iobroker im Verzeichnis /home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin sucht. Ich habe testweise mit nano folgende Dateien editiert und danach wieder in den ursprung gesetzt:

                                  • /etc/profile
                                  • /home/iobroker/.profile
                                    und den RasPi danach jeweils neu gestartet.
                                    Als User dann mit folgenden Befehl die PATH-Variable geprüft:
                                  sudo -H -u iobroker printenv
                                  

                                  Ergebnis war immer:

                                  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                                  MAIL=/var/mail/iobroker
                                  LOGNAME=iobroker
                                  USER=iobroker
                                  HOME=/home/iobroker
                                  

                                  Fragen:

                                  • Ist es möglich, mit pipx das Programm hoymiles-wifi im Verzeichnis usr/local/bin zu installieren? Wenn ja, wie?

                                  • Wie kann ich die PATH-Variable so anpassen, dass iobroker das Programm hoymiles-wifi selber findet und ich mir die Pfadangaben im Befehl sparen kann?

                                  Thomas BraunT Online
                                  Thomas BraunT Online
                                  Thomas Braun
                                  Most Active
                                  schrieb am zuletzt editiert von Thomas Braun
                                  #16

                                  @schorsch sagte in Bash-Befehl in javaScript:

                                  Ist es möglich, mit pipx das Programm hoymiles-wifi im Verzeichnis usr/local/bin zu installieren? Wenn ja, wie?

                                  Ja, wenn es mit root-Rechten global installiert wird landet es dort.

                                  Oder du machst es per

                                  sudo -H -u iobroker pipx ensurepath
                                  

                                  Linux-Werkzeugkasten:
                                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                  NodeJS Fixer Skript:
                                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                  1 Antwort Letzte Antwort
                                  0
                                  • OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    schrieb am zuletzt editiert von
                                    #17

                                    @schorsch sagte in Bash-Befehl in javaScript:

                                    /home/iobroker/.profile

                                    was hast du da eingetragen?

                                    du hättest da sowas eintragen können

                                    export PATH="$PATH:/path/to/dir"
                                    

                                    das $PATH sorgt dafür, dsa der bisherige Pfad mit deinem /path/to/dir ergänzt wird.

                                    der rechner muss auch nicht neu gestartet werden, es muss nur die aktuelle session beendet werden, also am besten ausloggen und wieder einloggen.

                                    logout
                                    

                                    https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • OliverIOO OliverIO

                                      @schorsch sagte in Bash-Befehl in javaScript:

                                      /home/iobroker/.profile

                                      was hast du da eingetragen?

                                      du hättest da sowas eintragen können

                                      export PATH="$PATH:/path/to/dir"
                                      

                                      das $PATH sorgt dafür, dsa der bisherige Pfad mit deinem /path/to/dir ergänzt wird.

                                      der rechner muss auch nicht neu gestartet werden, es muss nur die aktuelle session beendet werden, also am besten ausloggen und wieder einloggen.

                                      logout
                                      

                                      https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix

                                      S Offline
                                      S Offline
                                      Schorsch
                                      schrieb am zuletzt editiert von
                                      #18

                                      @oliverio Da ich mich noch zu den Anfängern zähle, habe ich einfach vorhandene PATH-Zuweisungen ergänzt.
                                      So z. B. in der Datei /etc/profile. Da habe ich hinten ":/home/iobroker/.local/bin" angehängt:

                                      if [ "$(id -u)" -eq 0 ]; then
                                        PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/iobroker/.local/bin"
                                      else
                                        PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/iobroker/.local/bin:/usr/local/games:/usr/games"
                                      fi
                                      export PATH
                                      

                                      Ich bin davon ausgegangen, dass entweder der eine oder andere Teil der if-Anweisung durchlaufen wird. Daher habe ich in beiden die PATH-Angabe hinten ergänzt. Meine Erwartung war, dass dann für den User iobroker in der PATH-Anweisung hinten die Ergänzung erscheint.

                                      Ich gehe davon aus, dass die Variable $PATH des Users "iobroker" mit folgendem Befehl mit ausgegeben wird:

                                      sudo -H -u ioproker printenv
                                      

                                      In der Ausgabe ist dann unter PATH folgendes zu lesen (siehe auch meinen vorherigen Beitrag):

                                      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                                      

                                      In der Datei /home/iobroker/.profile hat pipx nach Eingabe des folgenden Befehls

                                      sudo -H -u iobroker pipx ensurepath
                                      

                                      folgenden Eintrag hinterlassen

                                      # Created by `pipx` on 2024-11-15 17:24:05
                                      export PATH="$PATH:/home/iobroker/.local/bin"
                                      

                                      Auch diese Zeichenkette erschien nicht. Ich habe danach die Ergänzung von pipx mit nano auskommentiert und folgende Zeilen eingefügt:

                                      # set PATH so it includes hoymiles-wifi
                                      if [ -d "$HOME/.local/pipx" ] ; then
                                          PATH="$HOME/.local/pipx/venvs/hoymiles-wifi/bin"
                                      fi
                                      

                                      Auch ohne Erfolg.
                                      Entweder zeigt der Befehl "sudo -H -u iobroker printenv" nicht die Variable $PATH vom User iobroker an oder die Zuweisung erfolgt irgendwie anders.

                                      Der User, mit dem ich über SSH auf den Raspi zugreife, ist folgenden Gruppen zugeordnet:

                                      USER@ioBrokerPi:~ $ id USER
                                      uid=1000(USER) gid=1000(USER) Gruppen=1000(USER),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),102(input),105(render),106(netdev),995(spi),994(i2c),993(gpio),1001(iobroker)
                                      

                                      Der Gruppe root ist kein User zugeordnet.

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        Schorsch
                                        schrieb am zuletzt editiert von
                                        #19

                                        Lösung gefunden.

                                        Die Variable $PATH des Users iobroker konnte ich nicht editieren.
                                        Ich habe jetzt einen Softlink im Verzeichnis /usr/local/bin mit dem Namen hoymiles-wifi gesetzt, der auf die Datei hoymiles-wifi im Verzeichnis /home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin zeigt. Mit Blockly kann dann die Pfadangabe entfallen.
                                        Erklärung auf den Seiten von ubuntuusers

                                        Jetzt funktioniert auch der Adapter von @Michael-6.

                                        1 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        736

                                        Online

                                        32.4k

                                        Benutzer

                                        81.4k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe