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

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      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

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$
    • 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

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      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

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      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

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

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