Poer thermostat/heating control integration in HomeAssistant

I have wrote to them countless times with the same effect. They are not interested in giving access to their api. Previously I was able to use their api to control the thermostats via this HA but they have changed authorization in their API :frowning:

I made the same via generic thermostat, but it’s not really reliable - sometimes it doesn’t change state via the Google home.

Thank you for the info! Let’s see if someone can help on this!

I am also interested if POER devices can be integrated

Hi I’m also interested. Since two days ago I was able to get data from their endpoint open.poersmart.com but now it return 403 error.
I write to their mail if it is possible to have public API or home assistant integration.

Another way can be to understand what endpoint the actual app use…

Why we not cooperate together on this task??

I write a messages on their WhatsApp at +86-15757611575 and they say Home Assistant is supported and the instructions are in the other services section of App. But I not find home assistant just Alexa and Google Assistant.
Do you find Home Assistant??

1 Like

Now they answer me it write wrong information the support is just for Alexa and Google Assistant. Please write to the number and ask about add support to Home Assistant. They ask me if there is request to add Home Assistant support and if there are people who use Home Assistant. So please write hoping they add support

@Dmitry_Skurikhin please can you explain me how do you do?

Are you writing about mqtt access?

Mqtt is accessible at open.poersmart.com:1883
If you use Mqtt Explorer you can read all topics but the data are unreadable…

I know that. Some time ago I was analyzing this data in HexEditor. It is possible to locate the gateway IP address in the local network, the number of devices and their MAC addresses. But the rest of the data is still unreadable.

So finally there is no way to use the poersmart with HA?? And trying to reverse engineering the android app? I think is flutter app

It encrypted , i think. It any web interface, or only android app?

No just android app and Alexa and Google Assistant integration. I’m thinking if is possible to get data from Google Assistant like Google Home app do.
In Google Home app I’m able to view the thermostat temperature and humidity… so if there are some Google Smart Home API we can get data from it, but I not find anything

I have write them on WhatsApp to ask for HA integration.

1 Like

Hi, any news?

regards

Yes! Im interested too!!

Any updates?

I’m interested too.
I have:

  • one POER Gateway PTG10
  • four POER PTV30 Smart Radiator Thermostat Valve
    They work fine with their app and everything is ok, but I want to integrate with Home Assistant to add all my thinks in one app and one tablet.
    Does anyone have an idea how they can all be integrated?
    Thank you in advance.

I can read current temperature from google Home!
We need

  1. GitHub - tronikos/google_assistant_sdk_custom: Fork of Google Assistant SDK integration to allow getting responses from commands to Google Assistant
  2. pyscipt
  3. Create custom script
def Set_With_Temp_Attributes(e, v, title):
	attr = {
				"unit_of_measurement": "°C",
				"device_class": "temperature",
				"icon": "mdi:thermometer",
				"friendly_name": title
			}
	
	state.set(e, value=v, new_attributes=attr)

def Parse_Poer_temp(a, list_p):
	import re
	
	for p in list_p:
		parsed = False
		r = re.findall(p, a)
		if len(r) == 1:
			if len(r[0]) == 2:
				parsed = {'floor1': float(r[0][1]), 'floor2': float(r[0][0])}
	
		if parsed:
			return parsed
			
	return parsed
	
@time_trigger('period(now, 30min)')
def Get_Poer_Info():
	q = "what is the temperature of floor 1 and what is the temperature of floor 2"
	p = [
		"Heating is set to 15 degrees on Floor 2, with a current temperature of (.*) degrees. It's currently (.*) degrees",
		"Heating is set to 15 degrees on Floor 2, with a current temperature of (.*) degrees. Heating is set to 17 degrees on the Floor 1, with a current temperature of (.*) degrees."
		]
	#a1 = Heating is set to 15 degrees on Floor 2, with a current temperature of 15.5 degrees. Heating is set to 17 degrees on the Floor 1, with a current temperature of 16.5 degrees.
	#a2 = Heating is set to 15 degrees on Floor 2, with a current temperature of 15.5 degrees. It's currently 16.5 degrees
	
	r = google_assistant_sdk_custom.send_text_command(command=q, return_response=True)
	try:
		Text = r['responses'][0]['text']
		parsed = Parse_Poer_temp(Text, p)			
		if parsed:
			Set_With_Temp_Attributes('sensor.poer_floor1_temperature', parsed['floor1'], "Floor 1")
			Set_With_Temp_Attributes('sensor.poer_floor2_temperature', parsed['floor2'], "Floor 2")
		else:
			log.info('Unparsed!!!!')
			log.info(Text)
	except Exception as err:
		e = f"Unexpected {err=}, {type(err)=}"
		log.info(e)
		log.info(r)

I have two devices in google home named “Floor 1” and “Floor 2”. Some times google send different answers, so multiple patterns are used.

After 20+ queries google stop working with message “Sorry, it looks like Poer Smart is unavailable right now.”
Hope it come back working shortly :slight_smile:

Some more useful queries. Some of them never work for me, but should

q = what is the mode of floor 1 and floor 2
# Floor 2 and the Floor 1 are set to heat.
# Floor 2 is set to heat. The Floor 1 is set to auto.

q = "what is the status of floor 1 and floor 2"
#  I can't reach the Floor 1 right now. Sorry, it looks like the Floor 1 isn't available right now.

q = "whats the floor 1 and floor 2 Humidity"
#  I can't reach the Floor 1 right now. Sorry, it looks like the Floor 1 isn't available right now.