VD um RP 2 Hypericon runterzufahren

Hallo,

irgendwie finde ich momentan keinen richtiges Ansatz wie ich das machen muss.

Ich würde gerne ein VD erstellen, dass ein Butten hat, bei dem ein Raspberry P2 mit Libreelec (und Hypericon - Ambilight) runterfährt.
Würde dann eine Szene bauen, wo durch den Wattwert zuerst der Button gedrückt wird im VD und danach 1 Minute später der Wallplug der Leds ausgeschaltet wird (wo auch der PI dranhängt).

Kann mir jemand helfen?

Viele Grüße Chris

Hi,

du willst den Pi über einen externen Befehl herunterfahren lassen? Wenn ja: Das geht leider nicht.

Gruß

Ja so habe ich mir das vorgestellt. Habe zb. Handy App womit ich immer den PI zuerst runterfahre bevor ich den Wallplug ausmache.
Dachte mir so einen Befehl/Button könnte man in ein VD packen…

Aber das Thema hat sich ja dann leider erledigt.

Vielen Dank für deine Antwort.

Viele Grüße Chris

Hi,

das ging auch früher mal, als man noch andere Möglichkeiten hatte. Diese hat Fibaro leider mit einem Update vor längerer Zeit entfernt.

Gruß

Hallo *,

das direkte Ausführen von Shell bzw. SSH Befehlen ist nicht mehr möglich. Mit einem kleinen Workaround könntest Du aber eine http oder https Schnittstelle auf dem Pi laufen lassen, so dass sich dieser bei Aufruf selbst herunterfährt.

Hier mal ein Ansatz: Link

Hallo Bastian,

sorry dass ich jetzt erst antworte ! Vielen Dank für den Link, denke damit kann ich arbeiten :slight_smile: :slight_smile: :slight_smile: (zum Glück auch Urlaub gerade)

Melde mich wieder sobald ich den Workaround am laufen habe.

Viele Grüße Chris

Ja über http hab ich es auch gelöst. Hat mich auch gefühlt eine Ewigkeit gekostet den richtigen Befehl zu finden :smiley:
Wenn ich auf einen Lichschalter drücke, führt er es in diesem Moment allerdings per LUA aus (ist ein kleiner unterschied wie ich feststellen musste) macht wenn TV an dann TV aus shutdown für kodi 10s warten und dann strom weg.

Hallo alle zusammen,

wollte gerade den Workaround umsetzen. Scheint aber leider nicht zu gehen mit Libreelec.
Habe mich unter libreelec@192.168.XXX angemeldet. Erste Zeile reingeschrieben und bei bestätigen kam folgende Meldung:

‘apt-get’ is a command to install, update and remove software which
is stored in a non local repo. ‘apt-get’ does nothing then connecting to such
repo, downloads the software, unpacks the software, updates a big
local database with all filepaths and other informations about the
installed software or removes or updates installed Software.

With LibreELEC it is not possible to change the system for security and
stability reasons so even ‘apt-get’ would not be able to do this.
We also dont have and want to maintain such a repo for various other
great reasons.

Also Ubuntu or Debian packages are often outdated and not compatible
with LibreELEC

Hallo Christian,

aptitude (apt-get ist Teil davon) ist der Paketmanager - also sozusagen die Softwareverwaltung - von dem Linux unter Libreelec. Das haben sie wohl ein wenig kastriert, scheint also nicht zu funktionieren. Jetzt könntest Du entweder die Pakete manuell installieren. Was aufwändig ist. Oder:

Ich habe mal ein wenig geforscht: Alternativ kannst Du auch Kodi herunterfahren. Aktiviere den Webserver und führe folgenden Link aus:

http://IP:8080/jsonrpc?request={“jsonrpc”:“2.0”,“method”:“System.Shutdown”,“id”:1}

Hi Bastian , Vielen Dank für deine Mühe!

Also auf den Webserver komme ich drauf. Kann auch dort unter Remote und dem Ausknopf den PI runterfahren.
Leider hat dein Link nicht geklappt.
Habe folgendes in die Browserzeile eingetippt (Hoffe das ist richtig)…

http://192.168.1.XXX:8080/jsonrpc?request={„jsonrpc“:“2.0″,“method“:“System.Shutdown“,“id“:1}

Als Ausgabe kam dann folgendes:
{“error”:{“code”:-32700,“message”:“Parse error.”},“id”:null,“jsonrpc”:“2.0”}

Viele Grüße Chris

Hallo Christian,

ich habe es bei meiner Kodi Installation erfolgreich ausprobiert. Auch auf einem Pi.
Mir fällt gerade auf, dass eines der Anführungszeichen in meinem Post falsch ist. Versuche es mal hiermit:

http://IP:8080/jsonrpc?request={"jsonrpc":"2.0","method":"System.Shutdown","id":1}

Ich habe all die schrägen Anführungezeichen nochmal hier im Editor angepasst.

Edit: Der Fehler -32700 spricht dafür, dass es an den Anführungszeichen gelegen hat.

Super , diesmal hat es geklappt :slight_smile: :slight_smile: :slight_smile: Vielen Dank für deine Hilfe!!!

Der nächste Schritt wäre doch ein VD zu erstellen und mit GET Befehl den Code einzutragen oder?

VG Chris

Hallo Christian,

ja, das wäre der nächste Schritt. Oder Du lädst einfach das hier im Anhang herunter :wink:

Oh noch besser ^^Schaue ich mir morgen mal an … Vielen Dank schonmal . Werde Morgen berichten.

VG Chris

Haha schnell noch anleget ! Tausend Dank :slight_smile:

VG Chris

Hallo Bastian, so jetzt gibts Feedback … läuft alles klasse !!!:slight_smile:

Nochmal Tausend Dank, habe einiges gelernt.

Falls jemand auch Ambilight selbst gebaut hat, kann gerne das Lua Script verwendet. (ist Waschmaschinen Script am Schluss etwas abgeändert)

Der PI fährt runter (der Button des VD´s wird gedrückt) wenn der Wattwert 5min lang unter einen Bereich fällt. 30 Sekunden später geht dann der Wallplug aus, an dem das Netzteil und der PI hängt. Wallplug, VD ID und Wattzahlen müssen natürlich angepasst werden…

Viele Grüße Chris

--[[
%% properties
32 power
%% events
%% globals
--]]

local power_socket = 32 -- wallplug
local powerlive = fibaro:getValue(power_socket, "power")
fibaro:debug("Verbrauch = "..powerlive.." Watt")
 
if (fibaro:countScenes()>1)
  then
 fibaro:abort();
  end
 
local run = 0
local currentDate = os.date("*t");
local power = fibaro:getValue(power_socket, "power")
local counter = 0
 
if ( tonumber(fibaro:getValue(power_socket, "power")) > 12 ) and run == 0 then
  local start = (os.time())
  fibaro:debug("Ambilight läuft...")
  fibaro:debug("Verbrauch = "..power.." Watt")
  run = 1
end
 
while run == 1 do
 
if (tonumber(fibaro:getValue(power_socket, "power")) < 9) then
     counter = counter + 1
    local power2 = fibaro:getValue(power_socket, "power")
        fibaro:debug('counter = ' ..counter.. " : "..power2.."Watt")
    end
      if (tonumber(fibaro:getValue(power_socket, "power")) > 10 ) then
      	 counter = 0
      end
       if (tonumber(fibaro:getValue(power_socket, "power")) < 8) and counter > 300 then
          fibaro:debug("Ambilight Standby.")
          local power3 =  fibaro:getValue(power_socket, "power")
          fibaro:debug("Verbrauch (3) = "..power3.." Watt")
          fibaro:debug("Ambilight Shutdown")
          fibaro:call(76, "pressButton", "1");
          setTimeout(function()
		  fibaro:call(32, "turnOff");
	      end, 30000)
		  run = 0
       end 
  fibaro:sleep(1*1000)
end