Über Umwege und nicht ganz so wie ich es wollte habe ich es jetzt hinbekommen.
Das Relais wird beim Star von Libreelec eingeschaltet, und sobald sich der Bildschirmschoner (in meinem Falle die Uhr) aktiviert wird das Relais ausgeschaltet. Beim Beenden des Bildschirmschoners schaltet sich das Relais wieder ein.
Das Reicht für mein Projekt aber schon aus.
Lösung hierfür ist ein kleines "Addon" das ich mit viel Hilfe aus dem Internet zusammengebastelt habe:
addon.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="service.relais" name="Relais Schalten" version="1.0.3" provider-name="">
<requires>
<import addon="xbmc.python" version="3.0.0"/>
</requires>
<extension point="xbmc.service" library="addon.py" start="Startup"></extension>
<extension point="xbmc.addon.metadata">
<summary lang="en_GB">Ein Relais bei Widergabe schalten.</summary>
<description lang="en_GB">Schaltet ein Relais bei Widergabe an PIN37 ein.</description>
<platform>all</platform>
<license>GNU GENERAL PUBLIC LICENSE Version 2</license>
</extension>
</addon>
Alles anzeigen
und die dazugehörige addon.py:
import datetime,socket,subprocess,os
import xbmc,xbmcplugin,xbmcgui,xbmcaddon
import time
sys.path.append('/storage/.kodi/addons/virtual.rpi-tools/lib')
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup (26, GPIO.OUT)
GPIO.output(26, GPIO.LOW)
ADDON_ID = 'service.relais'
settings = xbmcaddon.Addon( id = ADDON_ID )
language = xbmcaddon.Addon( id = ADDON_ID ).getLocalizedString
class MyMonitorClass(xbmc.Monitor):
def __init__( self, *args, **kwargs ):
xbmc.Monitor.__init__(self)
def onScreensaverActivated(self):
GPIO.output(26, GPIO.HIGH)
def onScreensaverDeactivated(self):
GPIO.output(26, GPIO.LOW)
monitor = MyMonitorClass()
while not monitor.abortRequested():
xbmc.sleep(10)
Alles anzeigen
Ich bitte es zu entschuldigen wenn der code nicht unbedingt der schönste ist, und wenn es eventuell auch eleganter geht, aber für meine zwecke reicht das erstmal.
Jetzt kann ich Schritt 2 Anfangen, und schauen ob ich über einen Inkrementalgeber die Lautstärke regeln kann.