Philips Hue Leuchten mit Enigmalight steuern

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • habe mal die config für 3 HUE-Lampen genommen, meine Zugangsdaten eingetragen:
      Spoiler anzeigen


      import sys
      import os
      import time
      import json
      import httplib
      from rgb_xy import Converter
      from rgb_xy import GamutC # or GamutB, GamutC (you must look for the type of your lamps)
      counter = 9



      def popen():
      converter = Converter(GamutC)
      spidev = file( os.getcwd()+'/aufruf.log', "wb")
      key = "6YhDQmlf6NqEMto72v8FW7sumlXi19JUyHhSMfnR"
      ip = "192.168.0.21"
      url = '/api/' + key + '/lights/'
      lurl = url + '1/state' # die 1 ersetzen mit der Nummer deiner Leuchte
      rurl = url + '2/state' # die 2 ersetzen mit der Nummer deiner Leuchte
      aurl = url + '3/state' # usw.

      MINIMAL_VALUE=0.000000000

      while True:
      eingabe = sys.stdin.readline()

      if len(eingabe)>0:
      global counter
      counter += 1

      try:
      lr,lg,lb,rr,rg,rb,ar,ag,ab,x = eingabe.split(' ')
      except ValueError:
      spidev.write("Not enough input parameter, do you have the same amount of lights (channels) in your enigmalight config?")
      spidev.flush()
      raise

      lr = (float(lr))*255
      lg = (float(lg))*255
      lb = (float(lb))*255
      rr = (float(rr))*255
      rg = (float(rg))*255
      rb = (float(rb))*255
      ar = (float(ar))*255
      ag = (float(ag))*255
      ab = (float(ab))*255


      lll = calcLuminance(lr,lg,lb)
      llr = calcLuminance(rr,rg,rb)
      lla = calcLuminance(ar,ag,ab)

      if (counter>=13):
      connection = httplib.HTTPConnection(ip, timeout=10)

      lparams = {'xy': converter.rgb_to_xy(lr,lg,lb), 'colormode': 'xy', 'bri': int(lll), 'on': True}
      connection.request('PUT', lurl, json.dumps(lparams))
      response = connection.getresponse()

      rparams = {'xy': converter.rgb_to_xy(rr,rg,rb), 'colormode': 'xy', 'bri': int(llr), 'on': True}
      connection.request('PUT', rurl, json.dumps(rparams))
      response = connection.getresponse()

      aparams = {'xy': converter.rgb_to_xy(ar,ag,ab), 'colormode': 'xy', 'bri': int(lla), 'on': True}
      connection.request('PUT', aurl, json.dumps(aparams))
      response = connection.getresponse()


      connection.close()
      counter=0
      else:
      os.system("curl -d '{\"on\":false}' -X PUT 192.168.0.21/api/6YhDQmlf6NqEMto72v8FW7sumlXi19JUyHhSMfnR/groups/0/action")
      break

      def calcLuminance(r,g,b):
      LUM_VALUE=20
      luminance=1
      if (r + g + b > 1):
      luminance= r + g + b + LUM_VALUE
      if (luminance>=255):
      luminance=254
      return luminance
      import time
      time.sleep(1)
      popen()


      und bekomme folgenden Log:
      Spoiler anzeigen


      [InitLog]
      start of log /home/elight-addons/.enigmalight/enigmalight.log
      [CConfig::LoadConfigFromFile] Opening /etc/enigmalight.conf
      [CConfig::CheckConfig] checking config lines
      [CConfig::CheckConfig] config lines valid
      [CConfig::LoadConfigFromFile] Opening /etc/enigmalight.conf
      [CConfig::BuildConfig] building config
      [CConfig::BuildConfig] built config successfully
      [main] Start device 1 from 1
      [CDevice::Process] ambilight: starting with output "python /home/elight-addons/wifilight/philips_hue/enigmalight_hue_1x.py"
      [CDevice::Process] ambilight: setting up
      [CEnigmaLight::SetColorSequence]Set colorsequence to RGB
      [CGuiServer::Process] Start GuiServerset adjust 0 0 0

      1[CGuiServer::Process] Opening listening socket for Enigma2 GUI on 127.0.0.1:6767
      [CDevice::Process] ambilight: setup succeeded
      [CFlagManager::SetVideoGamma] Gamma not set, using 2.2 since this is default for video
      [CMainLoop::Process] Starting grabber..
      [CGrabber::Setup] Lights: 1, Cluster leds: 1 as one led
      [CGrabber::Setup] Channels: 3
      [CGrabber::Setup] Interval: 0.10
      [CGrabber::Run] Mode -> Dynamic
      [CGrabber::Run] Framegrabber initialized
      [CGrabber::Run] Framegrabber Image initialized
      [CGrabber::Run] Blackbar Detection i
      nitialized
      [CFrameGrabber::Setup] Debug mode: enabled
      [CGrabber::Run] Framegrabber set up
      [CGrabber::Run] entering grabloop
      [CFrameGrabber::CheckRes] Set Scanrange to 120x67 (Source 538976288x538976288)


      [CBlackbarDetection::FindBounds]DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds


      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66


      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds


      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]
      DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66


      [CBlackbarDetection::FindBounds]DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66
      [CFrameGrabber::updateInfo] DBG -> gFPS:10.4 | Res:120x67 (538976288x538976288)


      [CBlackbarDetection::FindBounds]DBG -> FindBounds


      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66
      Traceback (most recent call last):
      File "/home/elight-addons/wifilight/philips_hue/enigmalight_hue_1x.py", line 82, in <module>
      popen()
      File "/home/elight-addons/wifilight/philips_hue/enigmalight_hue_1x.py", line 31, in popen
      lr,lg,lb,rr,rg,rb,ar,ag,ab,x = eingabe.split(' ')
      ValueError: need more than 4 values to unpack


      [CBlackbarDetection::FindBounds]
      DBG -> FindBounds
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Scanning top: 36 - 36, bottom: 36 - 36, left: 20 - 46, right: 20 - 46
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found top line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 1
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found left line: 1
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 119
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found right line: 119
      [CBlackbarDetection::ScanLine] DBG -> Scanning line 66
      [CBlackbarDetection::IsContent] DBG -> IsContent: Max : R{0}, G{1}, B{2}
      [CBlackbarDetection::FindBounds]DBG -> FindBounds: Found bottom line: 66
      root@vuultimo4k:~# [6n

      Meine Lampen reagieren also nicht und ich brauche Hilfe.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von sweet17051983 ()

    • Hallo zusammen,

      morgen bekomme ich meine LED Stripes und wollte sie auch über meine VU Box steuern. Ich habe Enigmalight installiert, habe gestern meine HUE einen Benutzernamen gegeben, damit ich morgen die benötigten Daten auslesen kann, wenn ich diese denn finde.

      Wie kann ich dann die benötigten Daten in meiner VU Box ändern, damit ich die ansteuern kann.

      sorry aber ich hab die Box zwar schon länger, aber an solche Einstellungen hab ich mich bis jetzt nicht gewagt.

      Über hilfe wäre ich sehr dankbar.

      Gruß Patrick
    • Hey,

      ich hab jetzt meine Stripes installiert und hab mich mit der Installation bei meiner VU Box beschäftigt. Aber irgendwas klappt nicht. folgende schritte hab ich gemacht:

      1. Installation Enigmalight
      2. HUE Bridge meinen Namen gegeben
      3. HUE Bridge ausgelesen. Die Stripes habe ich den Namen TV1 und TV2 über die iPhone App gegeben.
      4. in den Ordner /home/elight-addons/wifilight/philips_hue die detain enigmaliht_hue_4x.py und die rob_xy.py copiert
      5. in den Ordner etc enigmalight.conf kopiert.

      Ich weiß leider nicht, wo ich das Log finde. jedenfalls wenn ich in der EnigmaLight die Einstellung für den Ordner ändern möchte, dann startet die Box neu.
      Ich wäre um Hilfe echt dankbar.

      Gruß Patrick

      enigmalight_hue_4x.py:
      Spoiler anzeigen


      import sys
      import os
      import time
      import json
      import httplib
      from rgb_xy import Converter
      from rgb_xy import GamutC # or GamutA, GamutB (you must look for the type of your lamps in rgb_xy.py from line 42)
      counter = 12


      def popen():
      converter = Converter(GamutC)
      spidev = file( os.getcwd()+'/aufruf.log', "wb")
      key = "f1eceTOv03LrhJohH6SsLTMWDqVZF8uzE7qhNjm9"
      ip = "192.68.178.53"
      url = '/api/f1eceTOv03LrhJohH6SsLTMWDqVZF8uzE7qhNjm9/lights/'
      lurl = url + 'TV1/state' # die 1 ersetzen mit der Nummer deiner Leuchte
      rurl = url + 'TV2/state' # die 2 ersetzen mit der Nummer deiner Leuchte

      MINIMAL_VALUE=0.000000000

      while True:
      eingabe = sys.stdin.readline()

      if len(eingabe)>0:
      global counter
      counter += 1

      try:
      lr,lg,lb,rr,rg,rb,ar,ag,ab,br,bg,bb,x = eingabe.split(' ')
      except ValueError:
      spidev.write("Not enough input parameter, do you have the same amount of lights (channels) in your enigmalight config?")
      spidev.flush()
      raise

      lr = (float(lr))*255
      lg = (float(lg))*255
      lb = (float(lb))*255
      rr = (float(rr))*255
      rg = (float(rg))*255
      rb = (float(rb))*255
      ar = (float(ar))*255
      ag = (float(ag))*255
      ab = (float(ab))*255
      br = (float(br))*255
      bg = (float(bg))*255
      bb = (float(bb))*255

      lll = calcLuminance(lr,lg,lb)
      llr = calcLuminance(rr,rg,rb)
      lla = calcLuminance(ar,ag,ab)
      llb = calcLuminance(br,bg,bb)

      if (counter>=13):
      connection = httplib.HTTPConnection(ip, timeout=10)

      lparams = {'xy': converter.rgb_to_xy(lr,lg,lb), 'colormode': 'xy', 'bri': int(lll), 'on': True}
      connection.request('PUT', lurl, json.dumps(lparams))
      response = connection.getresponse()

      rparams = {'xy': converter.rgb_to_xy(rr,rg,rb), 'colormode': 'xy', 'bri': int(llr), 'on': True}
      connection.request('PUT', rurl, json.dumps(rparams))
      response = connection.getresponse()

      aparams = {'xy': converter.rgb_to_xy(ar,ag,ab), 'colormode': 'xy', 'bri': int(lla), 'on': True}
      connection.request('PUT', aurl, json.dumps(aparams))
      response = connection.getresponse()

      bparams = {'xy': converter.rgb_to_xy(br,bg,bb), 'colormode': 'xy', 'bri': int(llb), 'on': True}
      connection.request('PUT', burl, json.dumps(bparams))
      response = connection.getresponse()

      connection.close()
      counter=0
      else:
      os.system("curl -d '{\"on\":false}' -X PUT 192.168.178.53apif1eceTOv03LrhJohH6SsLTMWDqVZF8uzE7qhNjm9/groups/0/action")
      break


      def calcLuminance(r,g,b):
      LUM_VALUE=5
      luminance=1
      if (r + g + b > 1):
      luminance= r + g + b + LUM_VALUE
      if (luminance>=255):
      luminance=254

      return luminance

      import time
      time.sleep(1)
      popen()

      enigmalight.conf

      #[global]
      [device]
      name ambilight
      output python /home/elight-addons/wifilight/philips_hue/enigmalight_hue_4x.py
      channels 12
      type popen
      interval 200000
      debug off
      [color]
      name red
      rgb 0000FF
      [color]
      name green
      rgb 00FF00
      [color]
      name blue
      rgb FF0000
      [light]
      position left
      name 1HU
      color red ambilight 1
      color green ambilight 2
      color blue ambilight 3
      hscan 0 5
      vscan 10 90
      [light]
      position right
      name 2HU
      color red ambilight 4
      color green ambilight 5
      color blue ambilight 6
      hscan 95 100
      vscan 10 90

      [light]
      position top
      name TV1
      color red ambilight 7
      color green ambilight 8
      color blue ambilight 9
      hscan 10 90
      vscan 10 90

      [light]
      position top
      name TV2
      color red ambilight 10
      color green ambilight 11
      color blue ambilight 12
      hscan 10 90
      vscan 10 90

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von hgdo ()

    • lurl = url + 'TV1/state' # die 1 ersetzen mit der Nummer deiner Leuchte

      TV1 ist nicht die Nummer. Ich weiß ja nicht, wieviele Hue-Leuchten du bisher hattest, aber wenn du bis gestern 5 hattest, dürfte dein Strip heute die Nummer 6 sein (bei mir wurde stur durchnummeriert).
      Wieviele Lichter willst du steuern? 4? Dann kann der Counter so bleiben. Wenn du nur ein Licht (eine Stripe) steuern willst, muss du am besten die Dateien für ein Licht nehmen.
      Hast du Beitrag 1 überhaupt gelesen???
      Nicht der Apfel hat Schneewittchen vergiftet, sondern ihr blindes Vertrauen in Menschen...
    • Ah ok, mal versuchen.

      Ja ich hab mir alle Beiträge durchgelesen. Aber ich mach sowas das erste mal. Entschuldige, dass ich da nicht auf anhieb durchsteige.
    • @BarnyXX: Bist du schon weiter gekommen?
      Ich habe mich gestern nochmal versucht aber musste auch bei python-dev aufgeben. Die Version die ich mir besorgt habe war eine 2.7.9-11 und die spielt nicht mit den alten Python Paketen auf dem VTI Image. (Sind ja generell viele deprecated packages drin)
      Der Teufel stellte seine Sense in die Ecke und sprang auf den Rasenmäher, denn es war Krieg
    • Ne, ich hab erstmal aufgegeben. Wenn ich irgendwann mal mehr Zeit habe, würde ich mich nochmal dran versuchen. Aber in den Sommermonaten hab ich erstmal anderes zu tun ;) Wenns wieder kälter wird, schaue ich mir das auf jedenfall nochmal an, wenn nicht schon jemand anderes eine Lösung dafür hat.
    • Besser ists wohl. :)
      Wäre das Python Package n bisschen aktueller könnte man da wohl mehr machen...naja. :)

      Schöne Sommerzeit. :)
      Der Teufel stellte seine Sense in die Ecke und sprang auf den Rasenmäher, denn es war Krieg