Startup eines spezifischen Programmes beim Hochfahren des RPI

  • Hi,


    ich versuche folgendes github program beim startup des raspberrypis verwenden zu können:

    https://github.com/joscha82/wattpilot

    Mein Versuch:
    eintrag in /etc/rc.local wie folgt:

    Code
    export MQTT_ENABLED=true
    export MQTT_HOST=<mqtt_host>
    export WATTPILOT_HOST=<wattpilot_ip>
    export WATTPILOT_PASSWORD=<wattpilot_password>
    wattpilotshell

    Abschluss mit exit 0

    im syslog nach Start:

    Feb 20 14:21:08 raspberrypi rc.local[546]: INFO:wattpilot:Connected to WattPilot Serial xxxxxxx

    Feb 20 14:21:14 raspberrypi rc.local[546]: INFO:wattpilot:Authentication successful

    allerdings ist nach login unter top der Prozess nicht am Laufen...

    mit sudo wattpilotshell kommen fehler wie wenn ich die exports nicht gemacht hätte und nur wattpilotshell eingegeben hätte.

    Befehl: wattpilotshell &

    führt auch unter login mit root zu einem Problem.

    wie mach ich das richtig?
    danke,

  • Startup eines spezifischen Programmes beim Hochfahren des RPI? Schau mal ob du hier fündig wirst!

  • Hallo klaus1,

    rc.local ist veraltet. Das Ding heißt heute systemd... Das beantwortet Deine Frage "Wie mache ich es richtig?"

    Die exports gelten nur für die aktuelle Shell. Die Shell, in der rc.local arbeitet, und die Shell, die Du öffnest, um wattpilotshell & einzugeben, sind zwei verschiedene.

    Wenn überhaupt, dann könnte das über bash.rc laufen. Aber das startet dann wattpilotshell bei jedem Start eines Terminals. Wie gesagt, systemd ist Stand der Technik.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • verstehe nicht genau wie ich das jetzt lösen könnte.

    systemd kann vermutlich auch keine exports...

    Code
     [Unit] Description=My Sample Service After=multi-user.target
     [Service] Type=idle ExecStart=wattpilotshell
     [Install] WantedBy=multi-user.target
  • Habe ich zwar noch nicht gemacht, aber man kann Environments auch entweder per Datei oder auch direkt in der Service Unit an- /übergeben.

    Siehe z.B. hier: https://wiki.ubuntuusers.de/systemd/Umgebu…nment-Direktive oder darunter hier: https://wiki.ubuntuusers.de/systemd/Umgebu…tFile-Direktive


    //Edit

    Oh, da ist ja ein Typo in dem Codefeld im UU-Wiki. noisefloor Falls Du da noch aktiv sein solltest, kannst Du da bitte mal was auslösen? ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!