XBMC in Fibaro HC2

Frohe Weihnachten erstmal,

da ich jetzt über die Feiertage etwas Zeit hätte wollte ich versuchen mich mit dem Thema XBMC zu beschäftigen.

Habe da auch was gefunden…

http://forum.fibaro.com/viewtopic.php?t=1555&sid=ce30bd04ce4af8e7b686960b048faa57

Hat das wer evtl. am laufen und kann Tips geben ?

Hat keiner XBMC ???

Nö, leider nicht mehr :frowning:

Welche Software Version hast du den drauf??
Bei der V4.024 beta gibts dafür ein Plugin.

Gruß

Endlich mal AKTIVITÄTEN hier im Forum :slight_smile:

Ich habe Aktuell die 3.590 drauf , mit der 4.024 Beta habe ganz schlechte Erfahrungen gemacht nur Fehlermeldungen bei ziemlich vielen Modulen.
Meine Motion Senoren waren auf einmal zu einem verschmolzen.
Die Heizungstermostate Danfoss LC13 hatten aufeinmal Untermodule etc.

Ja die Plugins wären super aber es gibt doch virtuelle Module darüber muss das doch auch gehen.

Meinen Samsung TV habe ich auch über virtuelle Module am laufen.

Hi Splinter,

hab im Fibaro Forum was gefunden :slight_smile:

http://forum.fibaro.com/viewtopic.php?t=1555

Ja das habe ich auch gefunden nur kann ich es nicht umsetzen es geht einfach nicht und man kann sehr viel falsch machen…

Eine Schritt für Schritt Anleitung in DEUTSCH wäre gut.

So habe nochmal versucht mich mit XBMC zu beschäftigen ich denke die Einstellungen im XBMC selber werde ich hinbekommen aber was ich im HC2 machen musse da komme ich einfach nicht hinter.

Was ist mit Globalen Variabeln gemeint und wie erstelle ich die im HC2 ???

Hier nochmal ein AUSZUG aus der Englischen Anleitung.

- Global Variable
You need to create a global Variable with value. I will use Xbmc_Salon and for the value:(komme ich gar nicht drauf klar)

  • Empty

  • Movies

  • TVShows

  • PVR

  • Music

  • How to virtual device
    You must import virtual device. File is in zip file. (habe ich gemacht)
    You just need to edit ip and port on the top and in button 12 (wo ist dieser Button), add name of new profile xmbc for slave.

Wo und wie muss ich die Ips im virtuellen Device ändern da stehen so viele IPs …

Und was zu Hölle ist Butten 12 ???

MFG

Hey Splinter,

zu den Variablen Problem:
Die Kannst du unter Steuerung / Variablen Steuerung erstellen.
Bei den Vordefinierten Variablen kannst du anstatt einfacher Zahlenwerte mit Variablen Namen Arbeiten.
Habe ein paar Bilder gemacht wie es aussehen sollte, hoffe kann dir damit weiter helfen?

Gruß

Screeny-Shot-05.01.2015-17.11.26.png

Screeny-Shot-05.01.2015-17.11.47.png

Zu dem IP Problem:
Diese mußt du im unter Allgemein im Virtual Device eintragen, genauso wie den Port (siehe Bild)
Das VD arbeitet mit selfIP in den Skripten, heißt das die IP Adresse in den Skripten über die Angaben unter Allgemein benutz wird.
Kleiner Trick bei den VD um bei jeden Script das eingeben der IP zu vermeiden.

Mit Button 12 meint er eigentlich 112 und da müßte die IP von deinem HC2 rein und dein Benutzer / Passwort.

Wenn du das gemacht hast sollte es eigentlich laufen?
Kann es leider nicht testet, hab immer noch kein XBMC aber bekomme wieder Lust drauf :slight_smile:

Gruß Alex

PS: Info wäre super ob oder ob nicht.

Screeny-Shot-05.01.2015-17.25.14.png

Screeny-Shot-05.01.2015-17.26.59.png

Hey Alex

soweit so gut oder auch wieder nicht…

also…

mit den Variablen habe ich glaube ich verstanden.

Button 112 habe ich auch gefunden …

aber was muss ich dann genau machen…

Ich versuche mal zusammen zu fassen was ich gemacht habe bis jetzt.

  1. habe diese globale Variable nach deiner Anleitung erstellt.
  2. Habe folgende 3 Scenen erstellt

XBMC Start:

–[[
%% properties
%% globals
–]]
local room = “Xbmc_salon”;
local startSource = fibaro:getSourceTrigger();

if ( startSource[“type”] == “other” ) then
fibaro:sleep(51000);
if ( fibaro:getGlobalValue(room) == “Empty” ) then
fibaro:setGlobal(room, “Movies”);
end
if ( (fibaro:getGlobalValue(room) == “Movies”) or (fibaro:getGlobalValue(room) == “TVShows”) ) then
– Code for Movie or TVShows
elseif ( fibaro:getGlobalValue(room) == “Music” ) then
– Code for Music
elseif ( fibaro:getGlobalValue(room) == “PVR” ) then
– Code For PVR
end
fibaro:sleep(60
1000);
end

XBMC Pause

–[[
%% properties
%% globals
–]]
local room = “Xbmc_salon”;
local startSource = fibaro:getSourceTrigger();

if ( startSource[“type”] == “other” ) then
if ( (fibaro:getGlobalValue(room) == “Movies”) or (fibaro:getGlobalValue(room) == “TVShows”) ) then
– Code for Movies and TVShows
elseif ( fibaro:getGlobalValue(room) == “Music” ) then
– Code for Music
elseif ( fibaro:getGlobalValue(room) == “PVR” ) then
– Code for PVR
end
fibaro:sleep(60*1000);
end

XBMC Ende

–[[
%% properties
%% globals
–]]

local room = “Xbmc_salon”;
local Vdevice = 104;
local startSource = fibaro:getSourceTrigger();
if ( startSource[“type”] == “other” ) then
if ( (fibaro:getGlobalValue(room) == “Movies”) or (fibaro:getGlobalValue(room) == “TVShows”) ) then
– Code for Movies and TVShows
elseif ( fibaro:getGlobalValue(room) == “Music” ) then
– Code for Music
elseif ( fibaro:getGlobalValue(room) == “PVR” ) then
– Code for PVR
end
fibaro:setGlobal(room, “Empty”);
fibaro:call(Vdevice, “setProperty”, “ui.sldPercentage.value”,‘0’);
fibaro:call(Vdevice, “setProperty”, “ui.lblXbmc1.value”,’’);
fibaro:call(Vdevice, “setProperty”, “ui.lblXbmc2.value”,’’);
fibaro:call(Vdevice, “setProperty”, “ui.lblXbmc3.value”,’’);
fibaro:call(Vdevice, “setProperty”, “ui.lblTime.value”,‘00:00:00/00:00:00’);
fibaro:sleep(60*1000);
end

  1. Jetzt habe ich das virtual device importiert

  2. Dann habe ich den Button 112 gesucht und auch gefunden. Ab Hier komme ich aber leider nicht weiter.

Es sind soviel IP in den Skripten…

Hier mal der Auszug aus 112 wie es bei mir aussieht:

local XBMC = Net.FHttp(‘192.168.5.25’, 8080); – was soll diese IP finde die überall
local max_playlist = ‘5’;
local selfId = fibaro:getSelfId();
HC2 = Net.FHttp(“192.168.0.55”,80); – dies ist die IP meiner HC2
HC2:setBasicAuthentication(“admin”, “mein Passwort”);
test = ‘ok’;

function xbmcJson (label, info)
local xbmcFunction = pcall(function()
if (label == “1”) then
response,status, errorCode = XBMC:GET(’/jsonrpc?request={“jsonrpc”:“2.0”,“method”:“Player.GetProperties”,“params”:{“playerid”:0,“properties”:[“position”]},“id”:1}’);
elseif (label == “2”) then
response,status, errorCode = XBMC:GET(’/jsonrpc?request={“jsonrpc”:“2.0”,“method”:“Playlist.GetItems”,“params”:{“properties”:[“title”,“artist”],“limits”:{“start”:’ … info …’},“playlistid”:0},“id”:1}’);
end
local t = nil;
t = json.decode(response);
if (label == “1”) then
xbmcJson(“2”, t.result.position);
elseif (label == “2”) then
if (info + max_playlist + 1 >= t.result.limits.total) then
position_max = t.result.limits.total;
else
position_max = info + max_playlist + 1;
end
result_label = ‘’;
i = ‘1’;
repeat
info = info + 1;
i = i + 1;
if (result_label == ‘’) then
result_label = t.result.items[i].artist[1] … ’ - ’ … t.result.items[i].title;
else
result_label = result_label … ‘\n’ … t.result.items[i].artist[1] … ’ - ’ … t.result.items[i].title;
end
until info == position_max;
fibaro:call(selfId, “setProperty”, “ui.lblXbmc2.value”,result_label);
–response2 ,status2, errorCode2 = HC2:GET("/api/virtualDevices?id=" … selfId);

    --if (tonumber(status2) == 200) then
      --jsonTable = json.decode(response2);
      --caption = jsonTable.properties.ui.lblXbmc1.value;
      --fibaro:debug(test);
      --fibaro:debug(caption);
      --jsonTable.properties.ui.lblXbmc1.value = result_label;
      --fibaro:debug(result_label);
      --json_post = json.encode(jsonTable);
      --response3 ,status3, errorCode3 = HC2:PUT("/api/virtualDevices?id=" .. selfId, json_post);
      --if (tonumber(errorCode3)==0) then
        --fibaro:debug("Edit complete text set "..status3)
      --else
        --fibaro:debug("Error update "..errorCode3)
      --end
    --end
  end
end)

if (not xbmcFunction) then
fibaro:debug(‘Decode raised an error’);
end
end

xbmcJson(“1”,“0”);

  1. Ab hier scheiter ich und komme nicht mehr klar.
  2. Die Einstellungen in XBMC selber da weis ich auch nicht so recht weiter aber evtl. ergibt sich das wenn ich die Konfiguration in der HC2 mal richtig habe.

Hallo Splinter,

kann das sein das du nicht das aktuelle VD hast??
Habe mir das ganze mal installiert und da wir nur die XBMC IP eingetragen und unter Button 112 die vom HC2, siehe Bild.
Bei dir wird im Script noch Net.Http + IP benutzt, bei mir erfolgt das ganze über getSelfId.

Das würde auch erklären warum bei dir soviel IPs vorhanden sind.

Screeny-Shot-09.01.2015-21.12.30.png

Wo hast du den das aktuelle her bekommen ? Aus dem Englischen forum … hast da mal einen Link …
Ist schon länger her das ich das geladen habe …fummel ja auch schon seid na gewissen Zeit…

Na klar.

http://forum.fibaro.com/viewtopic.php?t=1555

Jo habs gefunde das war unten drunter nochmal ich habe das immer über den gesamten link ganz oben gemacht und das VD genommen.

Ok ich bin jetzt soweit das ich den Titel den ich gerade am laufen habe in der Fibaro App auf dem Iphone habe , da steht dann der Filmtitel der gerade läuft.

Leider kann ich XBMC aber noch nicht steuern (links, rechts, oben, unten, Home, etc.)

Ich habe hier auch noch was gefunden leider Niederländisch unter 12.

http://www.robbshop.nl/over-z-wave/z-wave-projecten#deurbel

Was mich wunder wenn ich XBMC so mit der orginal App Steuer muss ich da mein Benutzername und das Passwort zur Steuerung eingeben, muss ich das dann nicht auch in Fibaro machen ??

Du hast weiter oben folgendes geschrieben:

Zu dem IP Problem:
Diese mußt du im unter Allgemein im Virtual Device eintragen, genauso wie den Port (siehe Bild)
Das VD arbeitet mit selfIP in den Skripten, heißt das die IP Adresse in den Skripten über die Angaben unter Allgemein benutz wird.
Kleiner Trick bei den VD um bei jeden Script das eingeben der IP zu vermeiden.

Mit Button 12 meint er eigentlich 112 und da müßte die IP von deinem HC2 rein und dein Benutzer / Passwort. <====hiermit meinst du den Benutzer / Passwort was ich bei der Anmeldung wenn ich in die HC2 will eingeben mus oder nicht ???

Wenn du das gemacht hast sollte es eigentlich laufen?
Kann es leider nicht testet, hab immer noch kein XBMC aber bekomme wieder Lust drauf :slight_smile:

Sorry , bin raus :frowning:
Wie gesagt kann das ganze leider nicht testen.

Überprüf evtl. mal bei dem XBMC die Zugangsdaten Port 8080 usw.

Worauf hast du dein XBMC laufen? Interessen halber :wink:

Auf dem FireTV und und mit Openelec auf dem PI.
Alles über eine Synology mit einer Datenbank.

Zugangsdaten sind richtig kann ja mit der App für XBMC (jetzt KODI) alles steuern.

Schöner wäre natürlich wenn alles in der Fibaro App möglich wäre.

Ich werde mal weiter mein glück versuchen.

Gehen muss es ja, in der 4.031 ist ja sogar ein Plugin dafür, aber über virtuelle Module muss es ja auch gehen.

Will noch nicht auf die neue Version updaten das Risiko ist mir zu hoch das ich alles neu machen muss.

Gruss

PS: Vielen DANK für deine Bemühungen.

Hallo Splinter,

hast du das damals zum laufen bekommen?

Bei mir funktioniert alles außer links, rechts usw.

Wäre super wenn du mir weiterhelfen könntest, wenn es bei dir jetzt funktioniert.

Danke

lg