Jump to content

ISY and Phillips Hue Integration Step-By-Step (For dummies...like me)


DualBandAid

Recommended Posts

I’m writing this because there are several scattered posts on how to control your Phillips Hue with your ISY.  But they all use terms and make assumptions-of-understanding that the laymen (like me) just don’t have.  So I wanted to leave behind a roadmap that anyone, with any level of understanding, can follow.  I will update this post as needed if anyone is confused by anything.  Please tell me if that’s the case.  Also, please note, there are other methods to control the Hue.  This method uses what is called a Network Module.  It is an additional piece of software that you need to purchase for the ISY.  To do so, open your ISY control panel and go to the Help menu and select Purchase Modules.  Follow the instructions to purchase the Network Module.


 


BEFORE YOU BEGIN…there are a few bits of information you need to get first before you start tinkering with your ISY.  This is the “hard” part, with lots of steps — but is something you only do once.


 


To get started, you need this info:


 


1) The IP Address of your Hue


2) Your Hue Bridge user name/ID


3) The name/ID of the lights, groups, or scenes in the Hue that you want to control (more on this later)


 


TASK 1 - Get the IP Address of your Hue


 


There are several methods to do this but I chose the one that uses the Hue app.  Specifically the iOS Hue app.  I imagine the Android app functions similarly (and could someone please confirm in the comments if that is the case?).  To get the IP address of your Hue Bridge:


 


a) Open the Hue app (and verify you can control your lights so you know you are connected)


b ) Go to settings (gear icon in the upper right hand corner)


c) Select “Hue bridges”


d) Select your Hue bridge (probably by tapping the little “i” for information)


e) Select Network Settings


f) Toggle the DHCP button to “off” — at which point you will see the IP address of your Hue - write it down and save it


g) Toggle the DHCP back to “on” — to put things back how they were


 


I will later call the IP address you wrote down MY-HUE-IP-ADDRESS.  If you see that anywhere, just use the IP address you wrote down.


 


TASK 2 - Get your Hue Bridge user name/ID


 


This requires using what everyone calls the “built-in Debug tool” which meant nothing to me.  What exactly is that?  Basically, you go to your web-browser and type in a specific URL (aka “web-page”) which then allows you to access your Hue bridge via your web-browser.  This “Debug tool” allows you to send commands directly to the Hue — but also will allow you to get information from it.  In this case, we are going to use the Debug tool to get the Hue Bridge user name/ID.  To do that:


 


a) Open your web-browser


b ) Enter this URL into your web-browser...



http://MY-HUE-IP-ADDRESS/debug/clip.html

(swap out MY-HUE-IP-ADDRESS for the IP address you got in Task 1)

c) In the "URL" section of the debugger (NOT the browser), make sure it says /api -- the default will be /api/1234 - and you don't need the /1234


d) In the “Message Body” section, enter this entire statement: {"devicetype":"my_hue_app#iphone peter"} -- brackets and all (and, yes, peter)


e) Press the physical button on top of your Hue Bridge (requiring physical interaction is a security feature)


f) Press the “post” button on the debugger in your browser


g) Copy down the username that appears - save it someplace


 


That is your Hue User name.  It is generated randomly by the Hue.  I believe you used to be able to create your own name.  Those days are over.  If you see MY-HUE-USER-NAME anywhere, just replace it with the username you wrote down.


 


TASK 3 - Get the names of your Hue lights, groups, or scenes that you wish to control in the ISY


 


Some background info is helpful here.  The Hue app breaks their system into lights, groups, and scenes.  “Lights” are the individual lights themselves.  “Groups” really should be called “rooms” IMHO — they are a collection of lights in one room.  And finally “scenes” which are the various settings for a group lights — i.e rainbow colors, all red, all blue, etc.


 


To get info about your lights, groups, or scenes, you use the Hue “built-in Debug tool” again.  You should already have it open from the prior task.  I will show you an example on how to get individual light info:


 


a) In the URL field, enter: /api/MY-HUE-USER-NAME/lights


b ) Push the GET button


c) The Command Response field will populate with a bunch of stuff that looks like this:



"1": {
"state": {
"on": false,
"bri": 252,
"hue": 47116,
"sat": 252,
"effect": "none",
"xy": [
0.169,
0.0428
],
"ct": 153,
"alert": "select",
"colormode": "xy",
"reachable": true
},
"type": "Extended color light",
"name": "Hue plant",
"modelid": "LCT007",
"manufacturername": "Philips",
"uniqueid": "00:17:88:01:10:4a:67:b8-0b",
"swversion": "5.38.1.14919"
},
"2": {
"state": {
"on": false,
"bri": 252,
"hue": 47116,
"sat": 252,
"effect": "none",
"xy": [
0.169,
0.0428
],
"ct": 153,
"alert": "select",
"colormode": "xy",
"reachable": true
},
"type": "Extended color light",
"name": "Hue corner",
"modelid": "LCT007",
"manufacturername": "Philips",
"uniqueid": "00:17:88:01:10:26:23:6f-0b",
"swversion": "5.38.1.14919"
},

d) The actually names of the lights are literally the 1, 2, 3, etc at the top of each section.  It’s as simple as that.  I believe they are ordered in the order you added the lights.  Hopefully you can pick out which light is which here by the "type" of light.  But it doesn’t matter.  You can trial and error the process in the ISY.  You really don't even need to do this process to get the light IDs...you can just trial and error it...but you DO need to do this to get the group and scene ID names, if that something you later try to do.


 


 


TASK 4 - Getting your ISY to talk to your Hue lights


 


This involves something called a Network Resource — which was gibberish to me at first.  As far as I can tell, it’s basically some data you enter in the ISY that helps you communicate with a third party device over the “network”.  Hence... it's called a Network Resource.  You have to create an individual Network Resource for every command you want to send.  To turn a group on, you need a Network Resource for that.  To turn a group off, you need a separate Network Resource to do that.  Yes, it's annoying.  To create your first Network Resource:


 


a) Open your ISY


b ) Next to “Main” and “Programs” is a tab called “Configuration” — select that.


c) Click on the “Network” sub-tab.  Then click on the “Network Resources” sub-tab under that.


d) Click on “Add” at the bottom of the screen - where you can instantly name your Network Resource.  Let’s call it Light 1 ON


e) Under the URL column, you might notice it says “select to edit content” — click on that field and a new data box appears


f) Enter or change this data…


 


—Change the “GET” box to “PUT”


—Put MY-HUE-IP-ADDRESS in the Host box.  No http.  No //.  Just 10.x.x.x (or whatever your Hue's IP address is)


—Change Mode to “Raw Text”


—In the Path field, put...



/api/MY-HUE-USER-NAME/lights/9/state

NOTE: in this case, the “9” is my 9th light — change that parameter to the light number you want


 


—In the Body section, put...



{"on":true, "bri":255, "sat":255, "hue":255, "transitiontime":5}

NOTE: the “bri”(ghtness) and “sat”(uration) numbers of 255 are all adjustable parameters .  Between 0 to 255.  The “hue” range is 0-65535.  That is the specific color of the light.  Transition time is how long it takes the light to turn on.  You do NOT need to specify all these parameters, just the ones you want.  I believe that the parameters you don’t specify will stay whatever they were at before the last time they were set.  So if you only specify, say, a brightness change, the color will be the same as it was before.


 


IMPORTANT NOTE: If you look back up to Task 3C, you can actually see these parameters reflected in the debugger window when you asked the Hue Bridge for info.  So if you are trying to figure out what numbers to put in for an individual light (color, brightness, etc) to get a desired result, try this: use your iOS Hue app to set your Hue light how you like it, then do Task 3C again to get info from the Hue Bridge.  The debugger window will fill up with the numbers you need to recreate a particular light/color combo.


 


g) Press Update — which will copy the data into the “actual” box so you can see it again


h) Press Save — which will close the box BUT!!!!  You need to press the SECOND SAVE BOX on the next screen


i) Press the “Test” button — at which point your Hue light should go to the setting you entered


 


NOTE: I have had the "Test" button NOT turn my Hue light on...but going on to Task 5 still works.  If you encounter this, try restarting your computer and trying again.  You can also just go on to Task 5 and see what happens.  Also, make sure you hit both SAVE buttons.  See 4h above.


 


 


TASK 5 - Invoking this “Network Resource”


 


The final task is how to activate this functionality you created.  The way you do that is via an ISY program.  I’m not going to go into too much detail about that…unless someone requests it.  The short answer is, there is a programmatic “action” called “Networking”.  You can then either select “Wake on LAN” or “Resource”.  If you select “Resource” a pop-up menu appears of all the Network Resources you created.


 


For example, I have a program running in the background that monitors whether I have turned a particular Insteon-device scene on.  If the scene turns on, the ISY will trigger the Network Resource “LIGHT 1 ON”.  When the scene turns off, another program triggers a second Network Resource to turn the light off.  Yes, you need to create an entirely new resource to turn a light off. So to turn my light on, I have something like this in the Body field:



{"on":true, "bri":255, "sat":255, "hue":255, "transitiontime":5}

To create a second Network Resource to turn the light off, everything is the same expect I have JUST this in the Body field...



{"on”:false}

You don’t need all those other parameters if you are just turning a light off.


 


 


 


ADDENDUM - Controlling Scenes and Groups (not just lights) 


 


Groups


 


In addition to individual lights, you can turn whole rooms on all at once (aka groups).  If you use this method to control the Hue lights, when you turn the group on, whatever settings it was set to before are what you will get (i.e. colors, saturation, etc).  This is how my Echo integration works.  I tell Alexa to turn the room on…and it just turns the Hue lights on to whatever they were set at before.  It has its uses.


 


Scenes


 


You can also turn Hue scenes on.  That will cause the Hue lights in your group/room to go to a preprogrammed level.  So you would create an Network Resource for each scene you want to invoke.  Unfortunately, you cannot turn scenes OFF via a network resource (at least, I don’t know how how).  But there is a simple workaround.  You CAN turn whole rooms or individual lights off.  In my case, I just create a Network Resource to turn the entire group/room off.


 


How To Do It


 


Go back to 3a above, where you asked the built-in Debug tool to give you info on the individual Hue lights.  Except instead of putting this in the URL field…



/api/MY-HUE-USER-NAME/lights

You swap out “lights” for either “groups” or “scenes” like so (pick one)…



/api/MY-HUE-USER-NAME/groups
/api/MY-HUE-USER-NAME/scenes

Then press GET.  As an example, let’s start with groups.  That will give you something like this in the debugger’s Message Body:



{
"1": {
"name": "Living room",
"lights": [
"2",
"4",
"3",
"6",
"1"

You don’t record the name Living Room.  All the ISY needs is the 1.  That is the name of my living room "group".  Then go up to Task 4F above to create a Network Resource in the ISY.  Everything is the same except the Path and the Body.


 


In the path field, enter:



/api/YOUR-HUE-USER-NAME/groups/###/action

Swap out your own user name in there.  And also, the ### is the number of the group you want to control.  Then, in the body, put:



{"on": true}

That turns the group on.  To turn it off, you have to create a totally separate Network Resource but put THIS in the body:



{"on": false}

Whatever you do, don’t forget to press save!  Twice!!!!


 


NOTE: If you use a group number of zero, then ALL the lights will be turned either on or off.


 


 


Back to Scenes...


 


So you want to turn whole scenes on.  You go into the debugger and enter this in the URL box, to get all the scene name to appear:



/api/MY-HUE-USER-NAME/scenes

Something like this comes up in the Command Response window:



{
"7fwrKuV56D9cvyA": {
"name": "Relax",
"lights": [
"1",
"2",
"3",
"4",
"6"
],
"owner": "70ed172f673e511b294419971348d598",
"recycle": false,
"locked": false,
"appdata": {
"version": 1,
"data": "NoG1L_r01_d01"
},
"picture": "",
"lastupdated": "2016-07-31T03:28:36",
"version": 2
},

NOTE: the scene name here is NOT Relax.  It’s actually 7fwrKuV56D9cvyA.  I will call that YOUR-SCENE-NAME in a moment.


 


To control the scene, go up to 4F above to create a Network Resource in the ISY.  As before, everything is the same except the Path and the Body.


 


In the path field, enter:



/api/YOUR-HUE-USER-NAME/groups/###/action

NOTE: This is the same data as if you are controlling a group — which makes sense, because a scene is something WITHIN a group (so you need to tell the Hue which group you are addressing).  It is only in the Body section that you specify the scene by typing this:



{"on": true, "scene": “YOUR-SCENE-NAME”}

IMPORTANT NOTE: Make sure you have the correct scene name corresponding to the correct group.  What I mean by that is, every single group has a default scene called Relax.  In my case, I have a Relax scene that controls Lights 1 through 6…



"7fwrKuV56D9cvyA": {
"name": "Relax",
"lights": [
"1",
"2",
"3",
"4",
"6"

…but also a Relax scene using Lights 8-9…



"rvqsYVVePr72KXh": {
"name": "Relax",
"lights": [
"8",
"9"

The first Relax scene is in Group 1.  The second Relax scene is in Group 2.  So you have to make sure you have the correct scene in the correct group.


 


That’s basically it.  I have done all of this, but I haven’t necessarily gone through my own instruction set and vetted it.  If ANYTHING isn’t clear, please post in the comments below and I will update the doc.


 


Thanks,


Steve


 

Oh, P.S. Special thanks to larryllix, troychasey, mwester, nridge, jkmonroe, Scottmichaelj, kohai, Brian H and I hope I didn’t leave anyone out!

Edited by DualBandAid
  • Like 5
Link to comment

A Raspberry Pi-Polygut for Dummies would be much appreciated...if anyone wants to collaborate on that.

 

For the uninitiated, I THINK that would allows Hue devices to just appear in the ISY as standard devices...which would be WAYYYY easier.  But who the hell knows how to do that?!  :)

  • Like 2
Link to comment

A Raspberry Pi-Polygut for Dummies would be much appreciated...if anyone wants to collaborate on that.

 

For the uninitiated, I THINK that would allows Hue devices to just appear in the ISY as standard devices...which would be WAYYYY easier.  But who the hell knows how to do that?!   :)

 

I agree I could use step by step instruction "Raspberry Pi-Polygut"

  • Like 1
Link to comment

For those wanting to try polyglot the instructions are here:

http://forum.universal-devices.com/topic/19091-polyglot-version-004-release/

 

This does require running a version of 5.x.x beta or alpha firmware.

 

Getting it installed from these instructions is doable. 

I did run into a couple things though. 

There is no feedback from polyglot when you hit the button to add a server. Just click on the left side of the page to see if it is running or not. The first time I tried I ended up with multiple nodes without realizing it.

I don't have it in front of me right now so I may be missing something.  If I remember and have time this weekend ill try to give more detail.

Link to comment

Thank you for the post, Dan.  I took a look at those instructions.  Not remotely doable for someone of my, um...shall we say, level of expertise (or lack thereof).  :)  I only have a vague inkling of what a Raspberry Pi is (that was after having to figure out that "RPi" was a reference to that). Much less how to hook one up to my computer (assuming I even have to do that, I don't know).  I also have no idea what I'm supposed to download from the github page.  Then the instructions say things like I'm supposed to enter this:

apt-get install python-git python-pip python3-pip libjpeg-dev

...somwhere.  I guess.  But if that's even right, I have no idea where I would enter that.  The list goes on.  There are probably about 15 steps that someone who was familiar with this world could do in about 5 minutes.  For me, with those instructions, it would probably take me 20 hours to figure out just what they were talking about.  When I said a "Guide for Dummies"...I wasn't kidding.  :)

Link to comment

Polyglot Guide For Dummies -- that's less a guide as it is a product.   As noted by DualBandAid above, there's a lot assumed in the current docs - but the problem is that what is assumed has nothing to with Polyglot, and everything to do with installing an operating system on a computer, setting up networking, etc, etc.  And there's not just one short guide already published for that, there are shelves full of that sort of documentation already.  My point is that for that group of users, what's needed is not Yet Another guide to follow (and frustrate).

 

Rather, what's needed is an appliance.  Someone needs to step up, and provide a "NodeServer CoProcessor for the ISY" (NoSCoPISY -- sounds like a medical procedure on your nose -- so we also need a better acronym).

 

Such a thing might be nothing more than a Raspberry Pi in a case, with a power supply and an ethernet card, prepackaged with a Raspbian operating system and Polyglot preloaded, with some startup scripts installed that prompt the user for some Polyglot/ISY setup information.

 

Now we just need someone to step up to create that package and market it...

  • Like 1
Link to comment

but the problem is that what is assumed has nothing to with Polyglot, and everything to do with installing an operating system on a computer, setting up networking, etc, etc. And there's not just one short guide already published for that, there are shelves full of that sort of documentation already

Well, that's the problem right there. There are shelves full of documentation -- probably thousands and thousands of pages? Spread out over several different topics, in several different books -- most of which contains information that isn't necessary. I imagine the entire process could be distilled down to 20-40 (or less) comprehensively explained steps in one place, getting right to the point. Does that guide exist anywhere? If so, I haven't been able to find it. But if you have some other links, I would be happy to check them out. :)

 

People here aren't looking for "Polyglot for Dummies" so much as "Hue on ISY (via Polyglot) for Dummies". :)

Edited by DualBandAid
Link to comment

Yeah there is a learning curve to it. I have this running on 5.0.2 and I was never able to get the autostart part working.

So I guess I probably wouldn't recommend installing the beta or alpha software either if this makes you uncomfortable.

I have a mix of network resources and polyglot useage. I mainly use polyglot to use voice commands for a couple hue bulbs.

 

I would say use this guide to get the hue going with network resources and learn from that process.

Polyglot will only mature as time goes on and likely become easier to install.

Link to comment
  • 2 weeks later...

Yeah, def not ready to install a beta/alpha. Just don't have the bandwidth to manage. But it is my understanding that, once 5.0 comes out, it opens the door for software-only "plug-ins" that would allow a kind of native device usage of Hue bulbs. Do you know anything about that?

That all happened about six months ago.

Link to comment

Not at all. I was only referring to what was quoted in post #13.

  • "once 5.0 comes out, it opens the door for software-only "plug-ins" that would allow a kind of native device usage of Hue bulbs"

V5.xx does all that, plug-ins are available, especially Polyglot, that allow native looking usage of Hue bulbs.

 

 

Having said that I don't use Polyglot yet, I do have Hue bulbs but I cannot post a screen shot of a Hue system device for you.

 

Perhaps somebody with Hue/Polyglot can post  a screen shot in this thread, or link,  that is worth 1000 words.

Link to comment

Here is a screen shot of NodeLink providing a plug-in, drop-in software module, with ISY v5.0.5, and my MiLight RGBW LED strips.

 

This isn't a Hue bulb but there is no Insteon or Zwave native communications involved.

 

 

  • "I don't see the difference! Do you see the difference?"  :)

post-4697-0-73856200-1471815753_thumb.jpg

Edited by larryllix
Link to comment

Below is a screenshot of a Hue bulb, as it appears in 5.0.2 using the current Polyglot/Hue node server.  The ONLY other way to integrate Hue is via network resources.

 

In other words: there is no software-only solution that does not require an outboard processor for the ISY -- basically because it is not possible to write software add-ons that run on the ISY itself.  Thus the Polyglot solution - UDI adds a means to make it possible to "proxy" nodes to an outboard computer, and software developers and hobbyists can safely write all the code they want on that outboard computer without compromising the ISY itself.  It's a beautiful thing.

 

Now I understand from our earlier conversation on this that some folks don't want to have to set up an outboard computer.  I get that.  Hence my suggestion that somebody (UDI?  mwester-devices-r-us.com?) package up the outboard computer, complete with cables and instructions to tell you to plug this there and that here, point your browser at this url, fill in these fields, and presto!  Now you can download apps from the UDI Polyglot App Store.  We're just not there yet.

 

 

 

 

Link to comment

Okay, some I'm getting conflicting information here.  Just to clarify:

 

I ASKED: "once 5.0 comes out, it opens the door for software-only 'plug-ins' that would allow a kind of native device usage of Hue bulbs. Do you know anything about that?"

 

LARRYLLIX: "That all happened about six months ago."

 

Except, as far as I understand things, that did NOT happen six months ago...as the Polyglot solution (which is what I believe larryllix is talking about) is not a software-only solution.  I pointed that out, to which larryllix post a screen-shot of something called a NodeLink plug-in, which does NOT work with a Hue bulb but DOES appear to be software only -- with the implication (I think?) that there is a software-only solution...for something?  Maybe the Hue?  I'm not sure.  Except when I googled NodeLink, it appears to require a Raspberry Pi, so is not a software only solution after all.

 

At which point mwester chimed in with the (correct?) answer to my original question:

 

MWESTER: "there is no software-only solution that does not require an outboard processor for the ISY -- basically because it is not possible to write software add-ons that run on the ISY itself"

 

That's pretty clear.  So mwester, may I ask you...is this the way it is going to be from here on out?  I was under the impression at some point, ISY would be allowing it to be possible to write plug-ins to run inside the ISY itself.  But are you saying that is not on any publicly-available roadmap at the moment?  Not allowing a Hue plug-in does not appear to be a technical limitation but a choice.

Edited by DualBandAid
Link to comment

No MWester was correct.

 

Apologies for misstating that. I forgot that extra hardware was required in answering your question and making those claims. V5 was available 6 months ago but not plug-in, stand-alone software.

 

ISY is reported to probably not ever accept other software plug-in as it has no user style OS but only enough specialised OS to handle the ISY logic engine, and a few other related tasks, like drivers for comms, and user access.

 

 

Think of a RPi as a second CPU that will become part of your ISY connected by an Ethernet port. They will act and become one multi-CPU environment.

Link to comment

Nice, well written resource. I'd suggest adding a part on how you actually go about creating groups, and adding and subtracting from them, as it's not well documented in the Hue API pages.

 

Also, I didn't see any mention of the 'bri_inc' command which allows dimming and brightening.

 

Finally, just for fun, I'd add in a bit on using effects. Both matching and offset color loop effects are quite popular in my house.

Link to comment

Hmmm...I wrote a response to your post builderb, but now I don't see it.  I'll repost.

 

Nice, well written resource. I'd suggest adding a part on how you actually go about creating groups, and adding and subtracting from them, as it's not well documented in the Hue API pages. 

 

Thank you.  As for groups, I have no idea how to do that outside of the iOS Hue app, which has it's own walk through.  But the app doesn't call them groups, they call groups "rooms" - if I understand it correctly.

 

Also, I didn't see any mention of the 'bri_inc' command which allows dimming and brightening. 

 

I am unfamiliar with that command.  Can you explain how it works and give an example?

 

Finally, just for fun, I'd add in a bit on using effects. Both matching and offset color loop effects are quite popular in my house.

 

Likewise, I'm unfamiliar with what "effects" are or do.  Can you give some background and some examples and I can add them to the top?

Link to comment

Hmmm...I wrote a response to your post builderb, but now I don't see it. I'll repost.

 

 

Thank you. As for groups, I have no idea how to do that outside of the iOS Hue app, which has it's own walk through. But the app doesn't call them groups, they call groups "rooms" - if I understand it correctly.

 

 

I am unfamiliar with that command. Can you explain how it works and give an example?

 

 

Likewise, I'm unfamiliar with what "effects" are or do. Can you give some background and some examples and I can add them to the top?

Forgive any errors, I'm writing this from my phone on lunch break.

 

So, bri_inc gets passed as a json object just like bri. It accepts values between -255 and 255. For example, {"bri_inc" : "-50"} will dim the light by about 20% from its current brightness. You can also add a transition time, similar to a ramp rate in Insteon. You could use {"bri_inc" : "-50", "transition_time" : "300"} to have the change in brightness occur over 5 minutes (300 seconds).

 

Effects work similarly, in that it also gets passed as a json object, accepting none and colorloop as arguments. For example, {"effect" : "colorloop"} will start the bulb running through all the colors. Use a transition_time argument here to speed up or slow down the process. Replace "effect" with "alert", and "colorloop" with "select", and the light will blink in its current state.

 

To create a group, send a POST command to /api/<username>/groups/:

 

{

"name" : "<groupname>",

"lights" : ["1", "5", "3"]

}

 

To find the group id number, send a GET command to /api/<username>/groups/.

 

 

To modify a group, send a PUT command to /api/<username>/groups/<group_id_number>/:

 

{

"name" : "<groupname>",

"lights" : ["1", "5", "3", "4"]

}

 

This would add Light #4 to the newly created group. Omit lights you way to remove from the group from the list.

 

To delete a group, send a DELETE command to /api/<usernames>/groups/<group_id_number>/.

Edited by builderb
Link to comment

 

So I tried following WIKI instructions...didn't work.  did you mean to put in "Peter" in the body to post?  Anyway my hue hub responds with 

 

 

 

starmanj ....

 

I had the same issue and it took me a little while to find the solution.

When you use the debug page, take a look at the URL.  Mine originally, by default, showed  "/api/1234"

Just make sure that the URL only contains:  "/api"

Press the hub button and get your results.

Link to comment
Guest
This topic is now closed to further replies.

  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

    • There are no registered users currently online
  • Forum Statistics

    • Total Topics
      36.9k
    • Total Posts
      370.6k
×
×
  • Create New...