Hallo und guten abend,
Ich suche nach einer einfachen möglichkeit bei meinem Libreelec auf einem Raspberry 3 einen GPIO Pin bei Widergabe auf "High" zu schalten, und bei "Stop" wieder zurück auf Low.
Hardwaremäßig ist das für mich kein Problem, nur die Softwareseite Ansteuerung ist das Problem.
gibt es hierzu evtl. schon ein fertiges Add-On? Oder sonstige Lösungsvorschläge?
mfg mpegster
GPIO bei Widergabe auf High schalten, bei Stop auf "low"
-
mpegster -
January 22, 2024 at 9:35 PM -
Thread is Unresolved
-
-
evtl diese hier
-
-
Leider nein, die RPI tools werden zwar gebraucht um den gpio anzusteuern, aber erstmal auch nur von der Terminaloberfläche aus.
Ich suche nur nach einer Möglichkeit das automatisch zu machen sobald die wiedergäbe startet "ein" und sobald diese stoppt (Automatisch oder per Fernbedienung) wieder aus.
Mittlerweile habe ich herausgefunden das es wohl über sogenannte callbacks gehen soll, aber leider bin ich da noch nicht weiter.
(Das Relais kriege ich über die Terminaloberfläche mittlerweile ein und ausgeschaltet)
-
du könntest die eigene json api periodisch abfragen und dann per sh Befehl die rpi tools nutzen. als Idee.
-
-
Ich muss gestehen, ich habe keine Ahnung, wie ich diese abfrage...
-
Ü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
Display More<?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>
und die dazugehörige addon.py:
Code
Display Moreimport 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)
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. -
-
Hallo ,
ich versuche seit einiger Zeit den Drehregler KY040 als Lautstärkeregler zum funktionieren zu bringen. Die Scripte die ich gefunden habe sind aber alle schon 5 Jahre alt und irgendwie passen die nicht in meine Dateistruktur. Wenn ich ein Autostart-script (autostart.sh) oder ein Service-script (lautstärke.service) speichern möchte habe ich immer keine Schreibrechte und die kann ich auch nicht ändern.
ich habe ein Raspi 4 mit Hifiberry DAC 2 und Liberelec 11.0.1
Wenn du deinen Lautstärkeregler am laufen hast kannst du mir vielleicht sagen wie du das angestellt hast
Mfg Palaka
-
Hallo Mpegster,
genau das suche ich auch schon seit einiger Zeit. Ausgänge des PI mit Statusmeldungen wie Play, Pause, Aufnahme anzusteuern. Dazu habe ich im Netz folgende Callback Funktionen gefunden:
Kodi Development: Player (alwinesch.github.io)
Leider habe ich bis jetzt keine Möglichkeit gefunden die im Libreelec auszuwerten und sie zur Ansteuerung von LED´s zu nutzen. Ich denke aber, das diese so wie die Screensaver Funktion in deinem Beispiel ebenfalls nutzbar wären. Ich muss dazu sagen, das ich bei Linux blutiger Anfänger bin. Also hier meine Frage. Wo gehören die Dateien hin und wie werden sie aufgerufen?
Der Beitrag ist zwar schon ein paar Tage alt, aber vielleicht kann mir ja jemand helfen.
MfG Schumi_64
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!