Dynalite Antumbra Temperature Sensor

I want to extract the temperature from Dynalite Antumbra Switches. Most people don’t realise they even have thermistors in them - my installer didn’t I just happened to be reading the spec sheet.

If you send a Dynet1 packet with an opcode of 49 to an area you get a response from all Antumbra’s (maybe all temperature sensors) in the area with the temperature. e.g.

ID		Local Time		Data					 Description							Direction	Target Physical	Target Logical	
1746	14:25:13.497	1C 03 06 4A 00 53 FF 3F	 Area 3 Reply Temperature : 20.75 °C 	In			Area 3, All Channels, Join 0xFF	
1745	14:25:13.451	1C 03 06 49 7F 00 FF 14	 Area 3 Request Actual Temperature		Out			Area 3, All Channels, Join 0xFF

The payload is 4 times the value in C. In the above example 53 Hex is 83 Dec /4 = 20.75C.

I want to use the granular temperature readings to heat my kids bedrooms overnight without having to keep the AC on in the whole house and also make it generally more efficient by turning off zones in already warm rooms. However I reckon there are a lot of usecases and besides it is just interesting to see the varying temperature around your house.

Is there any way to access all the dynet messages and pump them into nodered or something?

EDIT: I massively edited this topic because the previous post was mostly redundant and I couldn’t figure out how to delete it.

Tried dynalite component ?

It can do this 100%, it communicates with dynalite via RS485 even though it is not implemented yet.
Lights, presets and covers work, still work to do but for sure it is possible.

I’ve got lights (dali via a dynalight controller) and relays working well. I’ve also got antumbra buttons visible in HA which is super cool.

I had a look at the library but I got lost pretty fast and couldn’t even find where the dynet messages are getting transcoded between dynet and mqtt. Is it possible to send all dynet messages to mqtt? Or if that would add too much noise maybe add user filters to look for specific message types.

There is probably a whole host of cool things one could do with all the info flowing around on a dynet network, it is archaically implemented but there is a lot of potential. Every device can store and run arbitrary assembler, generate messages, run scenes it’s just a PITA to program. Also the switches I have contain temperature, proximity and light sensor plus have a light wash and 6 button led’s that can be controlled.

No MQTT in latest Dynalite component.
Python script does the translation, it takes only what it understands, temperature is (still) not among understandable commands.
Not sure if component can be debuged, but certainly someone skillful can make it undertand more dynet commands :).
Archaic ? Not really, RS485 is very robust and still widely used protocol, not tha fast but very reliable.
There are better solutions but for this kind of system RS485 is perfect.
I also have both Antumbra and older Revolution keypads, so I’m aware of possibilities. Would be great to make them all work, but not really necessary.
Latest dynalite component, when it became official is pretty good and very usable, make sure to have that one and not older Troy or Ziv1234 components.

I wrote and maintain the dynalite, so appreciate the feedback
i tried getting into the antumbra, but was unsuccessful. dynalite documentation is extremely poor
how did you get the switches into HA? let me know and i can try to add these things to the standard component

1 Like

@askpete also interested in how you have the antumbra buttons visible in HA

I wasn’t successful in getting the buttons into HA.

In the new version (already merged to dev so I assume it will make 0.115) there is also an event every time there is a packet on the dynalite network, so will enable anyone to track it and if they can automate it, i will be happy to integrate it into the main code.

so far, i am not seeing any commands from the panels. When a button is pushed, it sends a command (e.g. area 3 preset 4), but i cannot tell which panel did it or which panel on which button

Hey Ziv, sorry about the slow reply. I haven’t had a chance to spend any time home hacking. Once I got it functional I moved on…

Great news about the events from packets. Will there be a way to inject a packet into the Dynalite network as well?

@thedezzaf The way I added buttons is a bit of a hack. I created a logical area with some “fake” devices and just programmed the buttons to switch them. Then added the corresponding entities to HA.

I have a copy of System Builder which is free but not freely available. As well as being able to program buttons (and run arbitrary assembler on most Dynalite equipment) it also has a couple of tools/recipes helpful for figuring out stuff. DM me if you need a copy.

Hi Guys,

I’ve been able to pull in temperature from the Antumbra panels into HA in 2 ways

  1. using node red
  2. using a custom Dynalite to MQTT docker container I’ve developed: https://github.com/matthew-larner/philips-dynalite-mqtt

The github repo isn’t well documented. It’s still a work in progress.

Hi Matt,
This would be super useful to me if I could pull the temperature from each room into HA. I am working on getting my air con integrated with HA ATM. Will this work with the PDEG gateway?
Thanks

hey. I’ve been able to pull in temperature from the Antumbra panels and also 3-way sync of aircon with Antumbra, Daikin control system and HA. I’ve heavily used node red to get this done though. Are you familiar with Node Red?

Hey Matt,
I have downloaded the node red addon, and have been reading up on it as i haven’t used it before.
I have my entire Dynalite system functioning correctly through home assistant also with Siri integrated which is awesome.
Are you able to give me a run down on what to do to get the temperature out of the antumbras?
Thanks
Gareth

Hi Gareth, I’ve updated the repo to include a readme file now: https://github.com/matthew-larner/philips-dynalite-mqtt

Let me know how you go with it!

I am interested in getting temperatures from Antumbra. I’ve been playing around with them this morning and have found how to get them to broadcast the temperature at specified intervals as a dynet message.

Interestingly, when you request the temp, it is returned as a multiple of 4 times the temp in the 6th data field as @askpete discovered. 53 hex = 83 / 4 = 20.75C

However when it broadcasts the temp, it uses 5th and 6th data field to display hex values for the temp before and after the decimal place.
20.75C would be broadcast as 14…4B

Example of one of my messages:
1C 0B 0C 4A 13 1A FF 57

  • 0B = Area 11
  • 13 = 19 degrees
  • 1A = .26 degrees

I had to make a few changes with Dynalite System Builder to get this working.

I have no idea what to do with this info yet. I’m using the fully supported Dynalite component which I’m mostly happy with.

FYI: I can also get the temperature with this command:

http://192.xxx.xxx.xxx/GetDyNet.cgi?a=11&TEMPERATURE

response: t=19.26

I could always use rest to get the info I want

Any ideas how to get this as an integration?

OK This is where I got to. This may not be the best way to do it but it does make the temperature as a sensor.

# Rest sensor to get Antumbra temperature
rest:
  scan_interval: 60
  resource: http://XXX.XXX.XXX.XXX/GetDyNet.cgi?a=11&TEMPERATURE
  sensor:
    name: Antumbra Temperature
    value_template: "{{ value.split('=')[1] | float }}"
    unit_of_measurement: '°C'

I would need to create one for every switch. Would be good if I knew a way to loop from a config file.

Getting each switch to broadcast it’s temp is a much better solution but I’m pretty new to all this and beyond my current capability.

Hey @HoundDog I haven’t looked at this since my last post. I got my HA working well enough and have never got around to doing all the cool things I hoped to :frowning:

What did you do in systembuilder to get the periodic broadcast happening?

My plan was to get the broadcasts happening and then process them with nodered to control the zones on my really poorly balanced hvac. I honestly can’t remember where I got to before I moved on, I think I managed to read the messages (which I was generating manually in systembuilder) but that was it.

Your discrete polled temp sensor approach (whilst clunky in config) might actually be more the HA way but I have NFI if that’s true.

Please keep us informed as you go, I want to get back this but am slammed IRL at present.

@askpete Screenshot of System Builder config attached. Device properties for the switch. Make sure they are assigned to a Logical Address. Mine were not. It seems that temp is broadcast at the Max_Trigger_Time unless it has changed by more then the delta value and then it will use Min_Trigger_time. Some docs would be nice Mr Dynalite.

So a couple of months ago I actually got this working exactly how I wanted it with nodered thanks to the tip about broadcasting the temperature. I went through all the antumbra switches and set them to broadcast every 5 minutes or 1C change.

In nodered I listen for all dynalite packets, filter them on OP code 74 and set a temperature sensor per area with a giant nodered switch. Then I use this to set the zones of my heatpump to heat/cool each zone appropriately.

It took a huge amount of tinkering to catch all the edge cases in nodered land but got there in the end. Not sure if my specific solution would be useful to anyone but happy to confirm that you can make it work and happy to try and help if someone else is also struggling in integration hell.

Nice. This is similar to what I have. How are you ensuring you don’t switch off all of your zones and still leave the heatpump on? I wrote a python script which I call to check the state of the system. If the last zone gets turned off, it switches off the heatpump instead. I always thought there must have been an easier way.

In the end I didn’t bother because the return air is always way lower/higher than the setpoint by the time all the zones get there so it isn’t putting out much air and the valves are pretty leaky anyway. I’m in Sydney so it never really gets that cold and we only run the aircon when it is 30+.

You could count the zones on with every off call. Or keep a flow level variable with a count as you went and switch it off (I do that for setpoint and mode to avoid hitting the dodgy AC wifi interface). The hassle is more about turning it back on as I’d have to then track the previous mode because my unit doesn’t have an “on” option in the API - just heat, cool, dry etc

Just got a Tesla so next HA mission is to only charge it with solar power while the export price is low… Fun and games :slight_smile: