Ankündigung

Einklappen
Keine Ankündigung bisher.

Backend

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

    Backend

    bmx hat mich heute drauf gebracht, dass für SmarthomeNG 1.2 ja auch ein tolles Backend als Plugin gibt - das ist in der Tat eine feine Sache :-))))

    Für den Fall, das das noch erweitert wird, wünsche ich mir gleich mal, dass ich darüber auch den Loglevel umschalten und ev. auch smarthome.py starten und stoppen kann. Dann könnte ich mir den Umweg auf die Konsole sparen.

    #2
    Starten wird wohl schwierig, da es ja im smarthome.py Prozess läuft. Aber restart wäre praktisch. Keine Ahnung, ob sich ein Service selbst restarten kann.

    Kommentar


      #3
      Moin zusammen,
      ich habe mir zum Restart eine Logik geschrieben, die ich einfach über einen Button in der Visu ausführe. Hier der Code:

      Die elementare Stelle habe ich fett hinterlegt.

      Code:
      #!/usr/bin/env python
      # -*- coding: iso-8859-1 -*-
      # Imports
      import os
      
      # ------------------------------------------------------------------------------------------------
      # Beschreibung
      # Dieses Skript startet smarthome.py neu
      # ------------------------------------------------------------------------------------------------
      
      # Logik aktiv?
      if sh.ZENTRAL.LOGIKEN.RESTART_SMARTHOME_PY():
          # Für Debug Zwecke wird angezeigt das das Skript gestartet wurde
          logger.debug('{} : START : trigger={}'.format(logic.name, trigger))
      
          # Uhrzeit und Datum ermitteln
          dateandtimestring = "" + time.strftime("%d.%m.%Y %H:%M:%S")
      
          # Meldung
          messagetext = 'Dienst smarthome.py wird neu gestartet.'
          sh.messagesystem('WARNING', messagetext)
      
          # Alte Implementierung
          # os.system("echo <deinsmarthomepasswort> | sudo -S /etc/init.d/smarthome restart")
          # Neue Implementierung ab SmarthomeNG1.2
         os.system("echo <deinsmarthomepasswort> | sudo -S systemctl restart smarthome.service")
      
          ...
      
          # Für Debug Zwecke wird angezeigt das das Skript beendet wurde
          # So kann eingesehen werden, welche Ausgaben zwischenzeitlich ausgegeben wurden.
          logger.debug('{} : ENDE'.format(logic.name))
      
      else:
          # Melden, wenn die Funktion aktuell gesperrt ist, jedoch die Ausführung versucht wurde.
          messagetext = '{} : Skript wurde aufgerufen aber ist gesperrt. Trigger: {}'.format(logic.name, trigger)
          sh.messagesystem('WARNING', messagetext)
          logger.warn(messagetext)
      Vielleicht hilft es einem.
      Zuletzt geändert von loeserman; 10.10.2016, 18:36.

      Kommentar

      Lädt...
      X