Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Hilfe - Probleme Javaskript mit Hue API

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    849

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Hilfe - Probleme Javaskript mit Hue API

Scheduled Pinned Locked Moved Skripten / Logik
javascriptblockly
24 Posts 2 Posters 2.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    wrote on last edited by
    #4

    ist denn der Adapter grün ?

    1 Reply Last reply
    0
    • S Offline
      S Offline
      Stormbringer
      wrote on last edited by Stormbringer
      #5

      Jein, HUE Adapter bleibt grün. Skript Adapter springt ab und zu wieder auf rot lässt sich aber dann wieder starten und wird grün.

      Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

      1 Reply Last reply
      0
      • dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        wrote on last edited by
        #6

        starte doch mal ioBroker komplett neu und zeig mal Deine Einstellung vom Javascript Adapter

        1 Reply Last reply
        0
        • S Offline
          S Offline
          Stormbringer
          wrote on last edited by
          #7

          Danke hatte ich gerade vorhin gemacht... leider ohne Erfolg auch.

          Bildschirmfoto 2019-02-18 um 19.43.51.png

          Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

          dslraserD 1 Reply Last reply
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            wrote on last edited by
            #8

            hm, bis auf den Haken oben rechts identisch mit meinem...

            1 Reply Last reply
            0
            • S Stormbringer

              Danke hatte ich gerade vorhin gemacht... leider ohne Erfolg auch.

              Bildschirmfoto 2019-02-18 um 19.43.51.png

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              wrote on last edited by
              #9

              @Stormbringer
              zeig mal ein Script was Du verwendest

              1 Reply Last reply
              0
              • S Offline
                S Offline
                Stormbringer
                wrote on last edited by
                #10

                Der Skript ist ewig lange, der Schaltet bei allen unterschiedlichen Gegebenheiten (Jahreszeit, Tageszeit, Wetter, Arbeitstag, Urlaub) andere Szenen und die liefen ja bisher immer.

                Willst du dir den Skript wirklich antun?:relaxed:

                Meinst der Haken oben rechts hilft? Für was ist der gut?

                Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                dslraserD 1 Reply Last reply
                0
                • S Stormbringer

                  Der Skript ist ewig lange, der Schaltet bei allen unterschiedlichen Gegebenheiten (Jahreszeit, Tageszeit, Wetter, Arbeitstag, Urlaub) andere Szenen und die liefen ja bisher immer.

                  Willst du dir den Skript wirklich antun?:relaxed:

                  Meinst der Haken oben rechts hilft? Für was ist der gut?

                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  wrote on last edited by
                  #11

                  @Stormbringer
                  ja, zeige mal trotzdem das Script, kannst ja auch in eine Textdatei packen und per PN schicken.

                  S 1 Reply Last reply
                  0
                  • dslraserD dslraser

                    @Stormbringer
                    ja, zeige mal trotzdem das Script, kannst ja auch in eine Textdatei packen und per PN schicken.

                    S Offline
                    S Offline
                    Stormbringer
                    wrote on last edited by Stormbringer
                    #12

                    Hoffe das haut so hin, bin mit dem neuen schönen Forum noch ned so vertraut :-)

                    Blockly.docx

                    Der ist halt jetzt stellenweise schon geändert mit Aufruf direkt über die Szenenausleser Objekte (als Test) und nicht mehr über den Javacodeschnipsel zum Hue Szenen abrufen.

                    Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                    dslraserD 1 Reply Last reply
                    0
                    • dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      wrote on last edited by
                      #13

                      Warst Du schon in allen Bausteinen (die drei Punkte rechts anklicken) und den User angepasst ?
                      Den Rest mit der ID muß ich erstmal verstehen...
                      Bildschirmfoto 2019-02-18 um 20.05.54.png

                      S 1 Reply Last reply
                      0
                      • dslraserD dslraser

                        Warst Du schon in allen Bausteinen (die drei Punkte rechts anklicken) und den User angepasst ?
                        Den Rest mit der ID muß ich erstmal verstehen...
                        Bildschirmfoto 2019-02-18 um 20.05.54.png

                        S Offline
                        S Offline
                        Stormbringer
                        wrote on last edited by
                        #14

                        @dslraser

                        Dankeschön :o) Habs gerade gefunden... Eine Helper Variable war nach dem Neustart auf falsch und deswegen gings nicht.

                        Also des Rätselslösung ist wirklich überall den HUE User ändern :nauseated_face: Nen gelöschten User kann man ja nicht mehr herstellen oder?

                        Ähm mal leichte offtopic Frage. Kann man das irgendwo einstellen, auf welchen Wert Variablen springen sollen? Habe nach einem Neustart immer so ein paar versteckte Ostereier die mir ewigen Suchspaß bringen....

                        Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                        1 Reply Last reply
                        0
                        • S Stormbringer

                          Hoffe das haut so hin, bin mit dem neuen schönen Forum noch ned so vertraut :-)

                          Blockly.docx

                          Der ist halt jetzt stellenweise schon geändert mit Aufruf direkt über die Szenenausleser Objekte (als Test) und nicht mehr über den Javacodeschnipsel zum Hue Szenen abrufen.

                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          wrote on last edited by
                          #15

                          @Stormbringer
                          sind die Szenen mit diesem Script ausgelesen ?

                          var HueApi = require("node-hue-api").HueApi;
                          
                          // Replace IP and username!!!
                          var host = "192.168.180.15",
                              username = "xxxxx",
                              api = new HueApi(host, username);
                              
                          var groups_ = [],
                              lights_ = [],
                              objects_ = [];
                          
                          // Log JSON results
                          var displayResults = function(result) {
                              console.log('Reponse: '+JSON.stringify(result, null, 2));
                          };
                          
                          // Parse Light Group 0 (All Lights)
                          var parseGroup0 = function(result) {
                              if (!result.lights){return} // Empty group
                              
                              var id = result.id,
                                  lights = result.lights,
                                  name = "All Lights";
                              console.debug('group: '+name+', lights: '+lights);
                              groups_[lights] = name;
                          };
                          
                          // Parse Light Groups
                          var parseGroups = function(result) {
                              for (var i = 0; i < result.length; i++) {
                                  if (!result[i].lights){continue} // Empty group
                                  
                                  var id = result[i].id,
                                      lights = result[i].lights,
                                      name = result[i].name;
                                  console.debug('group: '+name+', lights: '+lights);
                                  groups_[lights] = name;
                              }
                          };
                          
                          // Parse Lights
                          var parseLights = function(result) {
                              for (var i = 0; i < result.length; i++) {
                                  var id = result[i].id,
                                      name = result[i].name;
                                  console.debug('light: '+name+', id: '+id);
                                  lights_[id] = name;
                              } 
                          };
                          
                          // Create States in ioBroker
                          var createStates = function(result) {
                              // Resync button
                              createState('PhilipsHue.Scenes.Resync', false, {role: "button", name: 'Resync Philips Hue Groups, Lights and Scenes'});
                          
                              for (var i = 0; i < result.length; i++) {
                                  if (!result[i].appdata.data){continue} // skip internal szenes
                          
                                  var id = result[i].id,
                                      lights = result[i].lights,
                                      name = result[i].name.replace(/"/g,''),
                                      pathname = name.replace(/ /g,'_');
                                  
                                  // Get light names
                                  var light_names = [];
                                  for (var j = 0; j < lights.length; j++) {
                                      var light_name = lights_[lights[j]];
                                      light_names.push(light_name);
                                  }
                          
                                  // Room, group or lights linked with scene
                                  var group = 'Group: '+groups_[lights] || 'Lights: '+light_names.join(", ");
                                  
                                  // Create States and skip duplicates
                                  if (!objects_[lights+pathname]){
                                      console.debug('scene: '+name+', '+group);
                                      createState('PhilipsHue.Scenes.'+pathname+'.'+id, false, {role: "button", name: 'Scene: '+name+' ('+group+')'});
                                      objects_[lights+pathname] = true;
                                  }
                              }
                          };
                          
                          // Delete States
                          function deleteStates(){
                              console.log('Deleting current objects for scenes...');
                              objects_ = [];
                              $('javascript.0.PhilipsHue.Scenes.*').each(function (id) {
                                  deleteState(id);
                              });
                          }
                          
                          // Fetch data from Hue API
                          function init(){
                              api.getGroup(0, function(err, group0) {
                                  if (err) throw err;
                                  console.log('Processing group 0...');
                                  //displayResults(group0);
                                  parseGroup0(group0);
                              });
                              api.groups(function(err, groups) {
                                  if (err) throw err;
                                  console.log('Processing ' + groups.length + ' groups...');
                                  //displayResults(groups);
                                  parseGroups(groups);
                              });
                          
                              api.lights(function(err, lights) {
                                  if (err) throw err;
                                  console.log('Processing ' + lights.lights.length + ' lights...');
                                  //displayResults(lights);
                                  parseLights(lights.lights);
                              });
                          
                              api.scenes(function(err, scenes) {
                                  if (err) throw err;
                                  console.log('Processing ' + scenes.length + ' scenes...');
                                  //displayResults(scenes);
                                  createStates(scenes);
                              });
                          }
                          
                          // Init on start
                          init();
                          
                          // Activate scene
                          on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) {
                              if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return}
                              sceneId = obj.id.split('.').pop();
                              console.log('Activating '+obj.name);
                              api.activateScene(sceneId, function(err, result) {
                                  if (err) throw err;
                                  displayResults(result);
                              });
                              setState(obj.id, false);
                          });
                          
                          // Resync
                          on({id: 'javascript.0.PhilipsHue.Scenes.Resync', val: true}, function (obj) {
                              console.log('Resync triggered...');
                              groups_ = [];
                              lights_ = [];
                              deleteStates();
                              init();
                          });
                          
                          schedule("0 3 * * *", function () {
                              console.log('Resync triggered...');
                              groups_ = [];
                              lights_ = [];
                              deleteStates();
                              init();
                          });
                          
                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            Stormbringer
                            wrote on last edited by Stormbringer
                            #16

                            Nein leider nicht sonst wärs einfach. Damals gabs den schönen Skript nicht... Habe die alle mit einer iOS App ausgelesen. Wenn ich jetzt alles ändern muß ändere ich es aber auf den Skript :relaxed:

                            Finde es schade, dass der Skript nicht in den Adapter integriert ist. Hätte mir damals viel Arbeit erspart und denke vielen Neulingen würde es auch enorm weiter helfen, weil soooo bekannt ist der Skript leider noch immer nicht.

                            Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                            1 Reply Last reply
                            0
                            • dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              wrote on last edited by
                              #17

                              In diesem Script haben die Datenpunkte der Szenen ja auch diese "kryptischen" ID

                              S 1 Reply Last reply
                              0
                              • dslraserD dslraser

                                In diesem Script haben die Datenpunkte der Szenen ja auch diese "kryptischen" ID

                                S Offline
                                S Offline
                                Stormbringer
                                wrote on last edited by
                                #18

                                @dslraser

                                Jep stimmt. Aber mit dem Skript muss man den User nur einmal ändern und man kann die Szenen mit einem "Knopfdruck" aufrufen. Also tausend mal leichter wie die alte Methode

                                Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  Stormbringer
                                  wrote on last edited by
                                  #19

                                  Du weißt aber ned zufällig auch wie man die Standard Werte nach einem Neustart setzt? Häkchen Standardwert gäbs ja.. Muß man den Haken nur setzen, wenn der Datenpunkt gerade den gewünschten Wert hat oder ist die Option für was anderes gedacht?

                                  Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                                  dslraserD 1 Reply Last reply
                                  0
                                  • S Stormbringer

                                    Du weißt aber ned zufällig auch wie man die Standard Werte nach einem Neustart setzt? Häkchen Standardwert gäbs ja.. Muß man den Haken nur setzen, wenn der Datenpunkt gerade den gewünschten Wert hat oder ist die Option für was anderes gedacht?

                                    dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    wrote on last edited by dslraser
                                    #20

                                    @Stormbringer sagte in Hilfe - Probleme Javaskript mit Hue API:

                                    Du weißt aber ned zufällig auch wie man die Standard Werte nach einem Neustart setzt? Häkchen Standardwert gäbs ja.. Muß man den Haken nur setzen, wenn der Datenpunkt gerade den gewünschten Wert hat oder ist die Option für was anderes gedacht?

                                    hm, weiß ich leider nicht. Ich weiß es nur beim Datenpunkt erstellen. (der initiale Wert-Initialisierung) Also beim erstellen true oder false.
                                    Bildschirmfoto 2019-02-18 um 20.29.56.png


                                    <xml xmlns="http://www.w3.org/1999/xhtml">
                                    <block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="-337" y="13">
                                    <mutation statements="false">
                                    <arg name="Name"></arg>
                                    <arg name="Initialisierung"></arg>
                                    <arg name="Beschreibung"></arg>
                                    <arg name="Type"></arg>
                                    <arg name="Rolle"></arg>
                                    <arg name="smartName"></arg>
                                    </mutation>
                                    <field name="NAME">Variablen anlegen</field>
                                    <field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIG5hbWU6IEJlc2NocmVpYnVuZywNCiAgcmVhZDogdHJ1ZSwgDQogIHdyaXRlOiB0cnVlLCANCiAgdHlwZTogVHlwZSwgDQogIGRlZjogZmFsc2UsDQogIHJvbGU6IFJvbGxlLA0KICBzbWFydE5hbWU6IHNtYXJ0TmFtZQ0KfSk7DQo=</field>
                                    <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                    </block>
                                    <block type="procedures_callcustomnoreturn" id="O45R/5Gw(j@)2M*_xdcB" x="-337" y="62">
                                    <mutation name="Variablen anlegen">
                                    <arg name="Name"></arg>
                                    <arg name="Initialisierung"></arg>
                                    <arg name="Beschreibung"></arg>
                                    <arg name="Type"></arg>
                                    <arg name="Rolle"></arg>
                                    <arg name="smartName"></arg>
                                    </mutation>
                                    <value name="ARG0">
                                    <block type="text" id="nSr7Hq~;DUU2#lB+Yj:}">
                                    <field name="TEXT">Eigene_Datenpunkte.TVSystem.Kino</field>
                                    </block>
                                    </value>
                                    <value name="ARG1">
                                    <block type="text" id="xlqa55O11o@{+#@Yj;%"> <field name="TEXT">true</field> </block> </value> <value name="ARG2"> <block type="text" id="yEhqZqxh*}Ip8?yzOW7I"> <field name="TEXT">Kino</field> </block> </value> <value name="ARG3"> <block type="text" id="sYAGk@@-Fz^fIDONX!/i"> <field name="TEXT">boolean</field> </block> </value> <value name="ARG4"> <block type="text" id="/t]#6;-K%9u+eD1jG09@"> <field name="TEXT">button</field> </block> </value> <value name="ARG5"> <block type="text" id="f?//#sV0P}x+|S.8nzy">
                                    <field name="TEXT">Kino</field>
                                    </block>
                                    </value>
                                    </block>
                                    </xml>

                                    S 1 Reply Last reply
                                    0
                                    • dslraserD dslraser

                                      @Stormbringer sagte in Hilfe - Probleme Javaskript mit Hue API:

                                      Du weißt aber ned zufällig auch wie man die Standard Werte nach einem Neustart setzt? Häkchen Standardwert gäbs ja.. Muß man den Haken nur setzen, wenn der Datenpunkt gerade den gewünschten Wert hat oder ist die Option für was anderes gedacht?

                                      hm, weiß ich leider nicht. Ich weiß es nur beim Datenpunkt erstellen. (der initiale Wert-Initialisierung) Also beim erstellen true oder false.
                                      Bildschirmfoto 2019-02-18 um 20.29.56.png


                                      <xml xmlns="http://www.w3.org/1999/xhtml">
                                      <block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="-337" y="13">
                                      <mutation statements="false">
                                      <arg name="Name"></arg>
                                      <arg name="Initialisierung"></arg>
                                      <arg name="Beschreibung"></arg>
                                      <arg name="Type"></arg>
                                      <arg name="Rolle"></arg>
                                      <arg name="smartName"></arg>
                                      </mutation>
                                      <field name="NAME">Variablen anlegen</field>
                                      <field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIG5hbWU6IEJlc2NocmVpYnVuZywNCiAgcmVhZDogdHJ1ZSwgDQogIHdyaXRlOiB0cnVlLCANCiAgdHlwZTogVHlwZSwgDQogIGRlZjogZmFsc2UsDQogIHJvbGU6IFJvbGxlLA0KICBzbWFydE5hbWU6IHNtYXJ0TmFtZQ0KfSk7DQo=</field>
                                      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                      </block>
                                      <block type="procedures_callcustomnoreturn" id="O45R/5Gw(j@)2M*_xdcB" x="-337" y="62">
                                      <mutation name="Variablen anlegen">
                                      <arg name="Name"></arg>
                                      <arg name="Initialisierung"></arg>
                                      <arg name="Beschreibung"></arg>
                                      <arg name="Type"></arg>
                                      <arg name="Rolle"></arg>
                                      <arg name="smartName"></arg>
                                      </mutation>
                                      <value name="ARG0">
                                      <block type="text" id="nSr7Hq~;DUU2#lB+Yj:}">
                                      <field name="TEXT">Eigene_Datenpunkte.TVSystem.Kino</field>
                                      </block>
                                      </value>
                                      <value name="ARG1">
                                      <block type="text" id="xlqa55O11o@{+#@Yj;%"> <field name="TEXT">true</field> </block> </value> <value name="ARG2"> <block type="text" id="yEhqZqxh*}Ip8?yzOW7I"> <field name="TEXT">Kino</field> </block> </value> <value name="ARG3"> <block type="text" id="sYAGk@@-Fz^fIDONX!/i"> <field name="TEXT">boolean</field> </block> </value> <value name="ARG4"> <block type="text" id="/t]#6;-K%9u+eD1jG09@"> <field name="TEXT">button</field> </block> </value> <value name="ARG5"> <block type="text" id="f?//#sV0P}x+|S.8nzy">
                                      <field name="TEXT">Kino</field>
                                      </block>
                                      </value>
                                      </block>
                                      </xml>

                                      S Offline
                                      S Offline
                                      Stormbringer
                                      wrote on last edited by
                                      #21

                                      @dslraser
                                      wow die Blöcke kannte ich noch gar nicht. Wo gibt es denn die? 🙃 Sie legen ja auch nen Punkt in den Objekten an oder nur im Skript? Ich mach das immer mit dem Pluszeichen in den Objekten 🙈😂

                                      Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                                      dslraserD 1 Reply Last reply
                                      0
                                      • S Stormbringer

                                        @dslraser
                                        wow die Blöcke kannte ich noch gar nicht. Wo gibt es denn die? 🙃 Sie legen ja auch nen Punkt in den Objekten an oder nur im Skript? Ich mach das immer mit dem Pluszeichen in den Objekten 🙈😂

                                        dslraserD Offline
                                        dslraserD Offline
                                        dslraser
                                        Forum Testing Most Active
                                        wrote on last edited by
                                        #22

                                        @Stormbringer sagte in Hilfe - Probleme Javaskript mit Hue API:

                                        @dslraser
                                        wow die Blöcke kannte ich noch gar nicht. Wo gibt es denn die? 🙃 Sie legen ja auch nen Punkt in den Objekten an oder nur im Skript? Ich mach das immer mit dem Pluszeichen in den Objekten 🙈😂

                                        Ich habe Dir einen Export des Blocklys in den Spoiler unten gepackt (Den Spoiler übersieht man fast)

                                        1 Reply Last reply
                                        0
                                        • S Offline
                                          S Offline
                                          Stormbringer
                                          wrote on last edited by
                                          #23

                                          Dankeschön 😉🤗

                                          Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          743

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe