Newnigma und Home Assistant

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Newnigma und Home Assistant

      Hallo Gemeinde,

      ich möchte gerne durch meine Hausautomatisierung meine DM7020HD automatisch Dinge tun lassen.

      Eines dieser Dinge ist ein Reboot, bzw. Neustart des GUI.

      Besteht irgendwie die Möglichkeit, dies über einen ShellCommand zu machen, den ich vom HomeAssistant an die DremBox schicke?

      Für Hilfe wäre ich sehr dankbar.
    • du kannst über das enigma2 Webinterface API die Box remote über http(s) ansteuern

      dream.reichholf.net/e2web/#powerstate

      powerstate events:
      0 = toggle idle/active
      1 = standby (old deep standby)
      2 = reboot
      3 = GUI/Enigma2 restart
      4 = wake up from idle
      5 = go to idle (old standby)
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fred Bogus Trumper ()

    • ach ja, wenn man newstate= aufruft, also ohne Eventnummer - bekommt man den aktuellen powerstate raus

      rückgemeldet wird e2instandby true oder false

      XML-Quellcode

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <e2powerstate>
      3. <e2instandby>true</e2instandby>
      4. </e2powerstate>
      true = box ist im idle mode
      false = box ist active
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

    • Doku gibt es soweit ich weiß keine, man muss ein wenig spielen

      du kanns es ja auf der Box testen- sofern es curl im oe2.0 gibt, mit wget kann man die session id auch abrufen, wenn alle Webinterface Sicherheitsmaßnahmen aktiviert sind - ich habe aber gerade die syntax nicht zur Hand

      so kannst du mal die gesamte Timerliste holen

      Quellcode

      1. SESSIONID=$(curl -s -X POST "http://localhost/web/session"|grep e2sessionid|sed 's/e2sessionid\|<\|>\|\///g'
      2. curl -s -X POST "http://localhost/web/timerlist?&sessionid=$SESSIONID


      Als Rückgabewert erhält du auch pro timer den Wert <e2state>

      Bin mir jetzt ganz sicher, aber ich glaube folgende Werte kann e2state bei der timerlist rückmelden
      0 Timer in der Zukunft
      1 beginnt in den nächsten 30 Sekunden wenn mich nicht irre
      2 laufende Aufnahme
      3 erledigter Timer


      0 und 3 könnte auch umgekehrt sein


      Wenn man also prüfen will ob eine Aufnahme läuft den e2state filtern und die Anzahl der Treffer ">2<" mit grep -c zählen, der Rückgabewert ist die Anzahl der laufenden Aufnahmen
      d.h. man zählt nur die e2state mit dem Inhalt 2 = laufende Aufnahme

      Quellcode

      1. root@dm820:~# SESSIONID=$(curl -s -X POST "http://localhost/web/session"|grep e2sessionid|sed 's/e2sessionid\|<\|>\|\///g')
      2. root@dm820:~# curl -s -X POST "http://localhost/web/timerlist?&sessionid=$SESSIONID"|grep e2state|grep -c ">2<"
      3. 0
      4. root@dm820:~#
      da kann man auch schön scripten

      Quellcode

      1. root@dm820:~# pwctl -c
      2. current recording(s): 0
      3. pendig timer within the next 7 minutes: 0
      4. root@dm820:~#

      für die pending timer sehe ich mir die timer in der Zukunft (Beginnzeit in Sekunden)
      Wenn die Beginnzeit-420 Sekunden kleiner ist als die aktuelle Zeit in Sekunden wird die Aufnahme als "pending" gezählt

      Die Timer, die gerade anlaufen (1-30 sekunden) findet man mit dem <estate>1<estate>
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von Fred Bogus Trumper ()

    • das hatte hier im OE2.0 eigentlich immer klaglos funktioniert und funktioniert auch noch im DreamOS OE2.5 und OE2.6

      könnte aber auch an der Webinterface Version liegen
      Welches Image läuft auf deiner dm7020hd?

      vielleicht habe ich noch irgendwo mein pwctl shell cript für OE2.0 rumliegen, damit konnte mal die lokale Box (localhost) oder remoe (IP-Adresse) steuern
      Ich glaube ich habe es sogar mal hier hochgeladen, findes gerade nicht

      kann auch sein das es noch pwctrl(.sh) hieß
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Fred Bogus Trumper ()

    • nein, das war die Anpassung ab OE2.2, da gab's ein paar gröbere Änderunen im Script und habe ich nie hochgeladen
      das würde im OE2.0 nicht funktionieren

      \\Edit

      hab's gefunden
      es könnte doch sein, dass 4 = wake up from idle und 5 = go to idle (old standby) in der Webinterface Version 1.7.5 nicht funktioniert haben, ich hab's auch nicht gescriptet
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fred Bogus Trumper ()

    • der link zu dream.reichholf.net funktioniert leider nicht mehr. Ich habe versucht, mit der Enigma2-Integration eine Verbindung von Home Assistant zu meiner Dreambox zu erstellen, aber das funktioniert bislang nicht und ich bräuchte mal einen Tipp, wo das Problem liegen könnte. Host, Benutzername und PW sind korrekt, daher kann es eigentlich nur noch am Port liegen. Voreingestellt ist 80. Damit ernte ich aber nur die Fehlermeldung "Verbindung fehlgeschlagen". Hat hier vielleicht jemand eine Idee?
    • Neu

      Port 80 sollte default passen, kann also auch weg gelassen werden.
      Die Enigma2 WebInterface API Documentation Seite müsste offline gespeichtert haben, bin mir nur nicht sicher ob man das so einfach uploaden kann ...

      Versuchst du mit wget oder curl die commands zu senden?


      Eventuell hiflt das schon weiter:
      Wenn in den Webinterface Einstellungen anti-hijack. token-basierte sicherhei akitv ist, muss man zuerst die Session ID abfragen und beim command mitgeben:
      dreambox.de/board/index.php?th…&postID=172287#post172287


      wenn die Authentifizierung aktiv ist, muss man auch user:password mitgeben - mit einem @vor der IP
      Aber Achtung, ein @ im Passwort wird dann als Trenner für den Host bzw. die IP interpretiert, was dann auch nicht funktioniert. Falls also ein @ Passwort ist, gegen ein PW ohne @ ändern ...
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox