Hallo,
wie kann ich aus einem Addon heraus mit Python die System Einstelllungen in der guisettings.xml ändern?
Addon - guisettings.xml ändern ?
-
Cout -
2. September 2016 um 19:12 -
Erledigt
-
-
mach doch mal ein konkretes Beispiel dazu
-
-
Zum Beispiel die Playerregion zu 2.
Das ist aber nur ein Beispiel ich möchte alle Einstellungen nach belieben ändern können.XML: guisettings.xml<settings> <bluray> <playerregion default="true">1</playerregion> </bluray> </settings>
Abfragen kann ich die guisettings.xml ohne Probleme über diese Methode:Pythonxbmc.executeJSONRPC('{"jsonrpc":"2.0","method":"Settings.GetSettingValue", "params":{"setting":"audiooutput.audiodevice"},"id":1}')
In der JSONRPC API / V6 finde ich folgende Methode um die Einstellung zu ändern. Finde aber kein Beispiel wie ich die Parameter setzen muss. -
Achso du willst von extern die Settingsändern
Schau dir mal dies an damit sollte es auch gehen http://kodi.wiki/view/Texture_Cache_Maintenance_utility
-
-
Finde aber kein Beispiel wie ich die Parameter setzen muss.
-
@BJ1
wird value denn tatsächlich eingesetzt, so wie es da steht? -
-
Sorry, Klammerfehler. So ist es richtig:
Codexbmc.executeJSONRPC('{"jsonrpc":"2.0","method":"Settings.setSettingValue", "params":{"setting":"audiooutput.audiodevice", "value": "%s"},"id":1}' % (value))
%s ist ein Platzhalter, an dem der Wert der Variablen 'value' eingesetzt wird (in diesem Fall '2').
-
@BJ1 perfekt genau das habe ich gesucht.
Gibt es auch eine Möglichkeit Addons zu installieren bzw. zu deinstallieren aus einem anderen Addon heraus? Mit Pyhton direkt und nicht über das xml File und die Abhängigkeitsdefinition.
-
-
Gibt es auch eine Möglichkeit Addons zu installieren bzw. zu deinstallieren aus einem anderen Addon heraus
Mir ist da nichts bekannt und ich denke auch, das wird nicht gehen. Wäre ein ordentlicher Eingriff ins System.
-
addons könnte man ggf. in den addons pfad kopieren und kodi neustarten. löschen ist umstandlicher, weil die settings auch gelöscht werden müssten.
-
-
@harryberlin ja das funktioniert.
Ich habe noch eine Frage. Auf die Hälfte der Settings kann ich weder lesend noch schreibend zugreifen, es kommt dann diese Fehlermeldung:
Bei diesen Settings kommt die Fehlermeldung. Viele von diesen Settings sind tiefer verschachtelt als die anderen, aber nicht alle. Die Fehlermeldung ist aber auch nicht wirklich Aussagekräftig. Hat jemand eine Idee woran das liegt?
Code
Alles anzeigenaccessibility.ubhearing audio.fvolumelevel audio.mute audiooutput.ac3passthrough audiooutput.ac3transcode audiooutput.dtshdpassthrough audiooutput.dtspassthrough audiooutput.eac3passthrough audiooutput.passthrough audiooutput.passthroughdevice audiooutput.samplerate audiooutput.truehdpassthrough defaultaudiosettings.masterprocess_0_0 defaultaudiosettings.masterprocess_0_1 defaultaudiosettings.masterprocess_0_10 defaultaudiosettings.masterprocess_0_2 defaultaudiosettings.masterprocess_0_3 defaultaudiosettings.masterprocess_0_4 defaultaudiosettings.masterprocess_0_5 defaultaudiosettings.masterprocess_0_6 defaultaudiosettings.masterprocess_0_7 defaultaudiosettings.masterprocess_0_8 defaultaudiosettings.masterprocess_0_9 defaultaudiosettings.masterprocess_1_0 defaultaudiosettings.masterprocess_1_1 defaultaudiosettings.masterprocess_1_10 defaultaudiosettings.masterprocess_1_2 defaultaudiosettings.masterprocess_1_3 defaultaudiosettings.masterprocess_1_4 defaultaudiosettings.masterprocess_1_5 defaultaudiosettings.masterprocess_1_6 defaultaudiosettings.masterprocess_1_7 defaultaudiosettings.masterprocess_1_8 defaultaudiosettings.masterprocess_1_9 defaultaudiosettings.masterprocess_2_0 defaultaudiosettings.masterprocess_2_1 defaultaudiosettings.masterprocess_2_10 defaultaudiosettings.masterprocess_2_2 defaultaudiosettings.masterprocess_2_3 defaultaudiosettings.masterprocess_2_4 defaultaudiosettings.masterprocess_2_5 defaultaudiosettings.masterprocess_2_6 defaultaudiosettings.masterprocess_2_7 defaultaudiosettings.masterprocess_2_8 defaultaudiosettings.masterprocess_2_9 defaultaudiosettings.masterprocess_3_0 defaultaudiosettings.masterprocess_3_1 defaultaudiosettings.masterprocess_3_10 defaultaudiosettings.masterprocess_3_2 defaultaudiosettings.masterprocess_3_3 defaultaudiosettings.masterprocess_3_4 defaultaudiosettings.masterprocess_3_5 defaultaudiosettings.masterprocess_3_6 defaultaudiosettings.masterprocess_3_7 defaultaudiosettings.masterprocess_3_8 defaultaudiosettings.masterprocess_3_9 defaultaudiosettings.masterprocess_4_0 defaultaudiosettings.masterprocess_4_1 defaultaudiosettings.masterprocess_4_10 defaultaudiosettings.masterprocess_4_2 defaultaudiosettings.masterprocess_4_3 defaultaudiosettings.masterprocess_4_4 defaultaudiosettings.masterprocess_4_5 defaultaudiosettings.masterprocess_4_6 defaultaudiosettings.masterprocess_4_7 defaultaudiosettings.masterprocess_4_8 defaultaudiosettings.masterprocess_4_9 defaultaudiosettings.masterprocess_5_0 defaultaudiosettings.masterprocess_5_1 defaultaudiosettings.masterprocess_5_10 defaultaudiosettings.masterprocess_5_2 defaultaudiosettings.masterprocess_5_3 defaultaudiosettings.masterprocess_5_4 defaultaudiosettings.masterprocess_5_5 defaultaudiosettings.masterprocess_5_6 defaultaudiosettings.masterprocess_5_7 defaultaudiosettings.masterprocess_5_8 defaultaudiosettings.masterprocess_5_9 defaultaudiosettings.masterprocess_6_0 defaultaudiosettings.masterprocess_6_1 defaultaudiosettings.masterprocess_6_10 defaultaudiosettings.masterprocess_6_2 defaultaudiosettings.masterprocess_6_3 defaultaudiosettings.masterprocess_6_4 defaultaudiosettings.masterprocess_6_5 defaultaudiosettings.masterprocess_6_6 defaultaudiosettings.masterprocess_6_7 defaultaudiosettings.masterprocess_6_8 defaultaudiosettings.masterprocess_6_9 defaultaudiosettings.masterprocess_7_0 defaultaudiosettings.masterprocess_7_1 defaultaudiosettings.masterprocess_7_10 defaultaudiosettings.masterprocess_7_2 defaultaudiosettings.masterprocess_7_3 defaultaudiosettings.masterprocess_7_4 defaultaudiosettings.masterprocess_7_5 defaultaudiosettings.masterprocess_7_6 defaultaudiosettings.masterprocess_7_7 defaultaudiosettings.masterprocess_7_8 defaultaudiosettings.masterprocess_7_9 defaultaudiosettings.masterstreambase defaultaudiosettings.masterstreamtype defaultaudiosettings.masterstreamtypesel defaultvideosettings.audiodelay defaultvideosettings.brightness defaultvideosettings.contrast defaultvideosettings.deinterlacemode defaultvideosettings.gamma defaultvideosettings.interlacemethod defaultvideosettings.noisereduction defaultvideosettings.nonlinstretch defaultvideosettings.outputtoallspeakers defaultvideosettings.pixelratio defaultvideosettings.postprocess defaultvideosettings.scalingmethod defaultvideosettings.sharpness defaultvideosettings.showsubtitles defaultvideosettings.stereomode defaultvideosettings.subtitledelay defaultvideosettings.verticalshift defaultvideosettings.viewmode defaultvideosettings.volumeamplification defaultvideosettings.zoomamount general.eventlog.level general.eventlog.showhigherlevels general.settinglevel general.systemtotaluptime mymusic.needsupdate mymusic.playlist..shuffle mymusic.playlist.repeat myvideos.needsupdate myvideos.playlist.repeat myvideos.playlist.shuffle myvideos.watchmodemovies myvideos.watchmodemusicvideos myvideos.watchmodetvshows pictures.displayresolution videoplayer.usevdpaumpeg2 videoplayer.usevdpaumpeg4 videoplayer.usevdpauvc1 videoscreen.fakefullscreen viewstates.musicfiles.sortattributes viewstates.musicfiles.sortmethod viewstates.musicfiles.sortorder viewstates.musicfiles.viewmode viewstates.musiclastfm.sortattributes viewstates.musiclastfm.sortmethod viewstates.musiclastfm.sortorder viewstates.musiclastfm.viewmode viewstates.musicnavalbums.sortattributes viewstates.musicnavalbums.sortmethod viewstates.musicnavalbums.sortorder viewstates.musicnavalbums.viewmode viewstates.musicnavartists.sortattributes viewstates.musicnavartists.sortmethod viewstates.musicnavartists.sortorder viewstates.musicnavartists.viewmode viewstates.musicnavsongs.sortattributes viewstates.musicnavsongs.sortmethod viewstates.musicnavsongs.sortorder viewstates.musicnavsongs.viewmode viewstates.pictures.sortattributes viewstates.pictures.sortmethod viewstates.pictures.sortorder viewstates.pictures.viewmode viewstates.programs.sortattributes viewstates.programs.sortmethod viewstates.programs.sortorder viewstates.programs.viewmode viewstates.videofiles.sortattributes viewstates.videofiles.sortmethod viewstates.videofiles.sortorder viewstates.videofiles.viewmode viewstates.videonavactors.sortattributes viewstates.videonavactors.sortmethod viewstates.videonavactors.sortorder viewstates.videonavactors.viewmode viewstates.videonavepisodes.sortattributes viewstates.videonavepisodes.sortmethod viewstates.videonavepisodes.sortorder viewstates.videonavepisodes.viewmode viewstates.videonavgenres.sortattributes viewstates.videonavgenres.sortmethod viewstates.videonavgenres.sortorder viewstates.videonavgenres.viewmode viewstates.videonavmusicvideos.sortattributes viewstates.videonavmusicvideos.sortmethod viewstates.videonavmusicvideos.sortorder viewstates.videonavmusicvideos.viewmode viewstates.videonavseasons.sortattributes viewstates.videonavseasons.sortmethod viewstates.videonavseasons.sortorder viewstates.videonavseasons.viewmode viewstates.videonavtitles.sortattributes viewstates.videonavtitles.sortmethod viewstates.videonavtitles.sortorder viewstates.videonavtitles.viewmode viewstates.videonavtvshows.sortattributes viewstates.videonavtvshows.sortmethod viewstates.videonavtvshows.sortorder viewstates.videonavtvshows.viewmode viewstates.videonavyears.sortattributes viewstates.videonavyears.sortmethod viewstates.videonavyears.sortorder viewstates.videonavyears.viewmode
-
"message":"Invalid params."
Sagt ja eigentlich alles aus. Ich gebe aber zu, das JsonRPC nicht sehr gesprächig ist. Ich halte mich eigentlich immer ans Wiki (wenn auch viel Try & Error dabei ist, was mir richtig auf die Nüsse geht):
http://kodi.wiki/view/JSON-RPC_API/v6
Die JSON Schema Descriptions kann man ausklappen, indem man draufklickt. Dann sind sie richtig wertvoll
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!