Philips Dynalite lighting + switches

Hi all

New to all this HASS thing, and very much liking it from start.
I managed to do install it in my home, but since most of my lights are controlled by Philips Dynalite switches and dimmers, i really need to integrate it to Home Assistant.

Did some exploring, it looks possible.

Beside all relays and dimmers, i have device called Philips Dynalite Gateway in my system which acts as translator/parser for http <-> dynalite RS485 which is genuine communication protocol all devices are using pair of wires.
That serial is open and non codec so should be also possible with some USB - RS485 device but http calls look better.

Dynalite uses areas, channels and presets for rooms, devices, states.
For example, my living room is Area1, main light is C1 and it has states P1/2/3/4 which are ON 100% / dimmed 70% / dimmed 10%/ OFF.

With Gateway in my network i can call

It will set all C(hannel)4 in A(rea)1 to P(reset) 1

There is also option to get state of some channel:

Gateway would return:

I would much appreciate if someone could confirm this is possible to implement in HA.


Have you had a look at this Mqtt to dynalite bridge (google Mqtt dynalite)

1 Like

Looked into it, sounds interesting, but I’m way too much noob to understand how to run this.
Unfortunately, it looks this addon is not part of github repository any more, and I don’t know how to install it beside that.

But, wont stop trying :slight_smile:

Made it work.
It was more work to make, dynalite component was a breeze with latest version that authore posted recently.
Here is a link for best project (there are few similar, this one is best):

1 Like

Hi, I’m new to the whole hass thing too and I couldn’t really get this component working.
I have the original philips pdeg (dynet gateway) and i managed to control it manually using the cgi thing you referenced at the top but, from what i can tell the component you sent doesn’t use this method.
My device has these ports open: 21 23 80 95 96 and not the 12345 one and after trying to set the port to one of those it didn’t boot.
anyway I’m very confused. if you could explain it to me it would be much appreciated.


No, this component doesnt go by dynet cgi url’s, it uses IP->RS485 commands.
Try to install it and configure it as Troy explained at github, than get back if you have issues.
Mine uses port 50000 and AFAIR it is default.

Thanks for the reply.
I tried following to instructions but after adding the lines to configuration.yaml, the device did not boot.
I had to manually delete those lines before it could boot.
As i said, a TCP port scan showed that the only ports open on the device are 21 23 80 95 96.
I suspect that ports 96, 96 are what you are talking about but i tried both in the config with no luck.
Maybe I got it wrong and the ports are UDP?
Anyway, could you tell me what protocol the communication uses? so i can try sending it directly to those ports.
I know I’m not giving enough information but the truth is, i don’t know what info is useful.
I’m running on a RPI 3 B with the latest version of hass (installed from the rpi iso)
my gateway is the original Philips PDEG which is connected correctly (i can send commands via http).
let me know what more info / commands i should run to give you more info about the situation.


Have you tried port 50000 ?
I have never had a need to scan ports, from the begining it worked on standard settings.
Can you install and login via android Envision app ? Or iOS ?
AFAIR these demand same port to work, so you can first try with them.

If you have tried with config in yaml files and got no-boot, than you did something wrong, most probably in YAML formatting. Get some good YAML editor which will take care your configs are well formatted. Extra space can make a problem.

Then, when HASS boots with Dynalite componen in config you can see if it works. Until it doesnt boot, you need to find why it doesnt boot up. And HASS will start even if it doesnt find Dynalite gateway, so not finding PDEG is not a reason hass is stuck on boot.

Tried port 50000. it didn’t work (the port is not open)
I think my device is configured differently then yours.
I finally managed to understand what does those ports are doing.
They are a direct connection to the serial line!
after connecting to port 95, when i press a button to turn on a light, i see traffic! and if i record that traffic and send it to port 96 (as a replay) i can replicate the button’s action.
is that behavior similar to what port 50000 is doing, so i can use the same component?
or is it totally different, and I need to create my own component?

Hmm, really dont know.
Mine was working as planned, had no issues so dont know nothing about any other port.
Have you trid Envision software, for commisioning? It also uses port 5000

Greetings, I’ve been assessing HASS this past month also and have a fair bit of Dynalite experience. You’re correct in stating Port 50000 is setup as default as it’s used for software access locally or remotely. Additional ports can be setup for different uses such as AV or Control Systems but must be done via the configuration software. I plan to test this soon as well but just haven’t gotten around to it…

Thanks for clarifying.

I must say that Troys component is working great. No issues, non.
Even though it is limited to presets, it is possible to enhance possibilities with some trickery.
I’ve managed to make some dummy presets so for example now i’m able to turn on/off my AC with dynalite keypads.
Fake preset, dynalite component will see it in dynalite log, translate it to switch and turn on AC via Broadlink IR.
Of course, no confirmation, but still almost all i wanted from Dynalte - Smart home communications is possible.
Go for it, you wont be able to get back :slight_smile:

What kind of confirmation did you want?
Are you referring to the LEDs on the Dynalite switch?
I’ll get around to doing some testing, just been spending most free time I have with Node-RED

No confirmation if Broadlink really switched on Carrier AC split… :slight_smile:

It would be great to have better Dynalite component, channels, motion sensors… but this now, still very usabe. That was my point.

I used Troy Kelly as a basis to a component that can also add channels. I built it for my own home, but would love to get feedback if it works or has issues in other places.

1 Like

Mmmm, sounds great.
My config is pretty complicated, but I will certainly take some time to try your component.

One suggestion, i believe it would be best to make full translator from dynet to MQTT.
There is good documentation in dynet commands so i guess it is pretty easy to implement.
As much as i understand, this way it wouldn’t be necessary to either specify areas or channels, component could “collect” everything as soon as user use command.

Btw. my friend is Dynalite installater, he comes and programs my Dynalite systems often, if that can be of any help…
I dont have software, but he does :slight_smile:


You made more than channel changes. Configuration is different, yaml’s need to change, lots of spaces to add and places to f^%k up :slight_smile:

Still, will try today and let you know.

Not sure readme is OK.
Where do I need to put config, to sensor.yaml or configuration.yaml ?

Readme saids:
In root of sensor config put:

    - host:     # IP Address of IP to 485 Gateway
      port: 12345           # Port for gateway typically 12345
      autodiscover: true    # When new presets or channels are activated on the network, add them dynamically
      polltimer: 1          # When there is a command with a fade (e.g. raise blinds), poll interval to find current status until it settles
      areacreate: auto      # Automatically assign Home Assistant areas. Can be either 'auto', which creates the areas on the fly, 'assign', which assigns devices to areas if they already exist, and 'manual' which ignores the areas
      log_level: DEBUG      # Turn this off when you have things working

In configuration.yaml:

    - host:
      port: 12345
      autodiscover: true
      polltimer: 1
      areacreate: create
          name: Office
              name: Center
              name: East
              name: West
          name: Cinema
              type: switch
          name: Blind
          nodefault: true
          areaoverride: Office
              name: Blind
              type: cover
              factor: 0.73
              tilt: 0.02
          name: 'On'
          fade: 0
          name: 'Off'
          fade: 0
        fade: 0

When i do just that, without specifics for my config, i get errors when check config

Also, one should put discovery topic and device topic, but you don’t have that in readme.

Please, put some examples, thanks

this is in configuration.yaml. Not sure what is sensor config.

If you send me your configuration.yaml (or the relevant part), I can try and review it as well

If you use an empty configuration (no areas or channels) and autodiscover set to “true”, you will see everything appearing on the home assistant when you use it. However, the area / channel / preset names will be default value (e.g. “area 51 channel 7”)