Fireplace Thermostat with Node Red

I have an Empire Boulevard fireplace that comes equipped with a 433Mhz remote control/thermostat. I wanted to toss the remote and somehow integrate all the feature/function into HA. So, I grabbed a Broadlink RM Pro+ 315/433Mhz universal remote and learned the on and off codes for the fireplace.

I then created a switch for the on and off commands in HA, using the broadlink.send service. Next, I created an input_number to act as the user thermostat setting. I also happen to have a Aeon multisensor 6 in the same room as the fireplace, so this serves as my temperature sensor for comparison.

I employed Node Red for the automation and utilized a conditional entity card in lovelace to display the thermostat if an input_boolean for the thermostat is set to on. Node Red is triggered when the state changes on the fireplace switch, it then checks if the thermostat is enabled and if so, goes into a loop where a function is called to compare the input_number with the room temperature. This loop continues and turns the fireplace off when the input_number is less than or equal to the room temperature (it also checks if the thermostat is enabled on every loop). Likewise, if the inverse occurs, it is turned back on.

I also added a 2 hour safety timer into the automation to automatically turn the fireplace off if it is left on for that long.

Lastly, if the thermostat is disabled and then re-enabled, a state trigger will re-enter the loop.

Nothing crazy here but I couldn’t find anything like it in the forums, so I hope it helps someone :slight_smile:

Node-Red Export:

[{"id":"f2b6aa82.720788","type":"tab","label":"Fireplace","disabled":false,"info":""},{"id":"c3e58198.321b2","type":"api-current-state","z":"f2b6aa82.720788","name":"Thermostat Enabled?","server":"d262b87e.b0ac48","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.fireplace_therm_active","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":1220,"y":340,"wires":[["d6e53fcf.95334"]]},{"id":"d6e53fcf.95334","type":"switch","z":"f2b6aa82.720788","name":"Thermostat On/Off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1430,"y":340,"wires":[["c1635d8c.83173"],[]]},{"id":"3ac36460.4cddfc","type":"server-state-changed","z":"f2b6aa82.720788","name":"Fireplace Switch","server":"d262b87e.b0ac48","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.fireplace","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":100,"y":380,"wires":[["70ff2933.426048"]]},{"id":"be7c3ea4.f5aa1","type":"switch","z":"f2b6aa82.720788","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":380,"wires":[["a56414fb.8af2f8"],["e83febca.c8c788"]]},{"id":"82fe3e0c.ff4ec","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn on Helper","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.fireplace_helper","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":960,"y":340,"wires":[["c3e58198.321b2","4754b536.75219c"]]},{"id":"5f74dec8.8e0b3","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn off Helper","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.fireplace_helper","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":960,"y":420,"wires":[["5c9ee89d.e22558"]]},{"id":"4754b536.75219c","type":"stoptimer","z":"f2b6aa82.720788","duration":"2","units":"Hour","payloadtype":"num","payloadval":"0","name":"Safety Timer","x":1170,"y":240,"wires":[["5555369b.954d98"],[]]},{"id":"5555369b.954d98","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn off Helper","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.fireplace_helper","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1340,"y":240,"wires":[["32907d48.04a8c2"]]},{"id":"5c9ee89d.e22558","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn off Fireplace","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"broadlink","service":"send","entityId":"","data":"{\"host\":\"192.168.86.70\",\"packet\":\"eACgAigODRscGxsbHBsbDQ4NDhMoHBsODQ4NDg0bHBsODRsNDg8pGw0ODg0ODQ4NDg4bGw4NGw4NEigbDg0ODQ4NDg4NDg0ODg0ODQ4NGxIpGw0ODQ4ODQ4NGw4OGw0ODQ4bDykNDg4NGxsbDw0NDg0ODg0bDg0QKBsODRscDQ4bGw4NDg0ODRupKQ0OGxsbHBsbGxsODQ4NEigbGw4ODQ4ODRscGw0OGw0NECkaDg4ODQ4NDg0ODRscDQ4bDQ4PKRsODQ4NDg0ODg0ODQ4ODQ4NDg0bECgbDg0ODg0ODQ4bDg0bDg4NDhoQKA4ODQ4bGxsODg0ODQ4NDhsNDhMpGw0OGxsODRwbDg0ODQ4NG6koDg4bGxsbGxscGw0ODQ4PKBwbDg0ODg0NHBsbDg0bDg0SKBsODg0ODg0ODQ4NGxsODhoODg8pGw0ODg0ODQ4NDg0ODg0ODQ4NDhsPKRsODQ4NDg0ODhsNDhsODQ4NGxAoDg0ODhsbGw4NDg0ODg0OGw0ODygbDg4bGw0OGxsODQ4ODQ4bqygODhsbGxsbGxscDQ4NDg8oHBsODQ4NDg0cGxsODRsODQ8pGw4NDg0ODQ4ODQ4bGw4NGw4NECgbDg0ODg0ODg0NDg4NDg4NDg0OGhIpGw4NDg0ODQ4OGw0OGw4NDg0bECgODQ4NHBsbDg0ODQ4NDg4bDQ4PKRsNDhsbDg0bHA0ODQ4NDhupKA4NHBocGxscGxoODg0OESkbGw4NDg0ODhsbGw4NGw4NECgbDg0ODQ4NDg4NDhsbDg0bDg0QKBwNDg4NDQ4ODQ4NDg0ODQ4ODQ4aECkbDg0ODQ4NDg0cDQ4bDg0ODRsQKA4NDg0cGhwNDg0ODg0ODRsODhMoGw4NHBsODRsbDg0ODQ4OGwAF3AAAAAAAAAAA\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1150,"y":420,"wires":[[]]},{"id":"fe1149ef.b714e8","type":"api-current-state","z":"f2b6aa82.720788","name":"Get Helper","server":"d262b87e.b0ac48","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.fireplace_helper","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"entity_id","override_data":"msg","blockInputOverrides":false,"x":2630,"y":380,"wires":[["6e74f2b.3db9e0c"]]},{"id":"f9502ab7.c66548","type":"switch","z":"f2b6aa82.720788","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":2470,"y":560,"wires":[["c3e58198.321b2"],[]]},{"id":"c1635d8c.83173","type":"function","z":"f2b6aa82.720788","name":"Check Temp and Therm","func":"const states = global.get('homeassistant').homeAssistant.states;\nconst therm = states['input_number.therm_fireplace_setpoint'].state;\nconst temp = states['sensor.main_basement_stairs_sensor_temperature'].state;\nvar newMSG={};\nif (temp <= therm)\n{\n    newMSG.payload = \"low_on\"\n}\nelse\n{\n    newMSG.payload = \"high_off\"\n}\nreturn newMSG;\n","outputs":1,"noerr":0,"x":1650,"y":380,"wires":[["d0df23d2.07b26"]]},{"id":"d0df23d2.07b26","type":"switch","z":"f2b6aa82.720788","name":"Check Temp","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"low_on","vt":"str"},{"t":"eq","v":"high_off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1850,"y":380,"wires":[["51a1d75b.02b968"],["b3d3ffad.3b803"]],"outputLabels":["on","off"]},{"id":"41d48aa1.902394","type":"switch","z":"f2b6aa82.720788","name":"Node-Red On/Off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":770,"y":340,"wires":[["82fe3e0c.ff4ec"],[]]},{"id":"32907d48.04a8c2","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn off Fireplace","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"broadlink","service":"send","entityId":"","data":"{\"host\":\"192.168.86.70\",\"packet\":\"eACgAigODRscGxsbHBsbDQ4NDhMoHBsODQ4NDg0bHBsODRsNDg8pGw0ODg0ODQ4NDg4bGw4NGw4NEigbDg0ODQ4NDg4NDg0ODg0ODQ4NGxIpGw0ODQ4ODQ4NGw4OGw0ODQ4bDykNDg4NGxsbDw0NDg0ODg0bDg0QKBsODRscDQ4bGw4NDg0ODRupKQ0OGxsbHBsbGxsODQ4NEigbGw4ODQ4ODRscGw0OGw0NECkaDg4ODQ4NDg0ODRscDQ4bDQ4PKRsODQ4NDg0ODg0ODQ4ODQ4NDg0bECgbDg0ODg0ODQ4bDg0bDg4NDhoQKA4ODQ4bGxsODg0ODQ4NDhsNDhMpGw0OGxsODRwbDg0ODQ4NG6koDg4bGxsbGxscGw0ODQ4PKBwbDg0ODg0NHBsbDg0bDg0SKBsODg0ODg0ODQ4NGxsODhoODg8pGw0ODg0ODQ4NDg0ODg0ODQ4NDhsPKRsODQ4NDg0ODhsNDhsODQ4NGxAoDg0ODhsbGw4NDg0ODg0OGw0ODygbDg4bGw0OGxsODQ4ODQ4bqygODhsbGxsbGxscDQ4NDg8oHBsODQ4NDg0cGxsODRsODQ8pGw4NDg0ODQ4ODQ4bGw4NGw4NECgbDg0ODg0ODg0NDg4NDg4NDg0OGhIpGw4NDg0ODQ4OGw0OGw4NDg0bECgODQ4NHBsbDg0ODQ4NDg4bDQ4PKRsNDhsbDg0bHA0ODQ4NDhupKA4NHBocGxscGxoODg0OESkbGw4NDg0ODhsbGw4NGw4NECgbDg0ODQ4NDg4NDhsbDg0bDg0QKBwNDg4NDQ4ODQ4NDg0ODQ4ODQ4aECkbDg0ODQ4NDg0cDQ4bDg0ODRsQKA4NDg0cGhwNDg0ODg0ODRsODhMoGw4NHBsODRsbDg0ODQ4OGwAF3AAAAAAAAAAA\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1530,"y":240,"wires":[[]]},{"id":"fd67331c.4a937","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn off Fireplace","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"broadlink","service":"send","entityId":"","data":"{\"host\":\"192.168.86.70\",\"packet\":\"eACgAigODRscGxsbHBsbDQ4NDhMoHBsODQ4NDg0bHBsODRsNDg8pGw0ODg0ODQ4NDg4bGw4NGw4NEigbDg0ODQ4NDg4NDg0ODg0ODQ4NGxIpGw0ODQ4ODQ4NGw4OGw0ODQ4bDykNDg4NGxsbDw0NDg0ODg0bDg0QKBsODRscDQ4bGw4NDg0ODRupKQ0OGxsbHBsbGxsODQ4NEigbGw4ODQ4ODRscGw0OGw0NECkaDg4ODQ4NDg0ODRscDQ4bDQ4PKRsODQ4NDg0ODg0ODQ4ODQ4NDg0bECgbDg0ODg0ODQ4bDg0bDg4NDhoQKA4ODQ4bGxsODg0ODQ4NDhsNDhMpGw0OGxsODRwbDg0ODQ4NG6koDg4bGxsbGxscGw0ODQ4PKBwbDg0ODg0NHBsbDg0bDg0SKBsODg0ODg0ODQ4NGxsODhoODg8pGw0ODg0ODQ4NDg0ODg0ODQ4NDhsPKRsODQ4NDg0ODhsNDhsODQ4NGxAoDg0ODhsbGw4NDg0ODg0OGw0ODygbDg4bGw0OGxsODQ4ODQ4bqygODhsbGxsbGxscDQ4NDg8oHBsODQ4NDg0cGxsODRsODQ8pGw4NDg0ODQ4ODQ4bGw4NGw4NECgbDg0ODg0ODg0NDg4NDg4NDg0OGhIpGw4NDg0ODQ4OGw0OGw4NDg0bECgODQ4NHBsbDg0ODQ4NDg4bDQ4PKRsNDhsbDg0bHA0ODQ4NDhupKA4NHBocGxscGxoODg0OESkbGw4NDg0ODhsbGw4NGw4NECgbDg0ODQ4NDg4NDhsbDg0bDg0QKBwNDg4NDQ4ODQ4NDg0ODQ4ODQ4aECkbDg0ODQ4NDg0cDQ4bDg0ODRsQKA4NDg0cGhwNDg0ODg0ODRsODhMoGw4NHBsODRsbDg0ODQ4OGwAF3AAAAAAAAAAA\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":2110,"y":420,"wires":[["3ebf8fbb.5d107"]]},{"id":"d245f5e4.bbeb98","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn on Fireplace","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"broadlink","service":"send","entityId":"","data":"{     \"host\" : \"192.168.86.70\",      \"packet\" : \"eABAAg4ODQ4NDg4NGw4NHA0ODQ4bDygODhsODRscDQ4bGw4NGw4NFCgbDg4aHA0OGxsODQ4ODQ0cqSkODRsbGxscGxsbDg0ODRAoGxsODQ4NDg4bGxsODhoODhMoHA0ODQ4ODQ4NDg4aHA0OGw4NESkbDQ4NDg4NDg4NDhocDQ4bDg0QKBsODQ4ODQ4NDhsODRsODQ4NGxMoDQ4bDg4bGw0OGxsODRsODRAoGw4NGxwNDhsbDg0ODQ4OGqopDQ4bGxwaHBsbGw4NDg0QKBsbDg4NDg0OGxsbDg4aDg4SKBsODQ4NDg0ODg0OGxsODRsODRAoGw4NDg4NDg0ODQ4bGw4OGw0NECkbDQ4NDg4NDg0bDg0cDg0ODRsQKA4NGw4NGxwNDhsbDg0bDg0QKBsODRscDQ4bGw4NDg4NDhusKA4NHBsbGxsbHBsNDg0ODykbGw4NDg0ODRwbGw0OGw4NDykbDg0ODQ4NDg4NDhsbDg0bDg0QKBsODg0ODQ4NDg0OGxsODhsNDhIoGw4ODQ4NDg0OGw4NHA0NDg4bDykNDhsNDhsbDg0cGw0OGw0ODygcDQ4bGw4OGhwNDg4NDg0bqigODhsbGxsbHBsbDQ4ODRIoGxsODg0ODg0bGxwNDhsNDg8oHA0ODQ4NDg4NDg0cGw0OGw0ODykbDg0ODQ4NDg4NDhsbDg0bDg0QKBwNDg0ODQ4ODRsODRsODg0OGw8pDQ4bDQ4bGw4OGxsNDhsODRIoGw4OGxsNDhscDQ4NDg0OGwAF3AAAAAAAAAAA\" }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":2110,"y":340,"wires":[["95853228.6fc92"]]},{"id":"70ff2933.426048","type":"stoptimer","z":"f2b6aa82.720788","duration":"5","units":"Second","payloadtype":"num","payloadval":"0","name":"","x":280,"y":380,"wires":[["be7c3ea4.f5aa1"],[]]},{"id":"a8037a15.cbeb88","type":"switch","z":"f2b6aa82.720788","name":"Node-Red On/Off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":770,"y":420,"wires":[["5f74dec8.8e0b3"],[]]},{"id":"a56414fb.8af2f8","type":"api-current-state","z":"f2b6aa82.720788","name":"Check NR","server":"d262b87e.b0ac48","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.nodered_enable","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":590,"y":340,"wires":[["41d48aa1.902394"]]},{"id":"e83febca.c8c788","type":"api-current-state","z":"f2b6aa82.720788","name":"Check NR","server":"d262b87e.b0ac48","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.nodered_enable","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":590,"y":420,"wires":[["a8037a15.cbeb88"]]},{"id":"f5f6e571.6482b8","type":"server-state-changed","z":"f2b6aa82.720788","name":"Thermostat Enabled","server":"d262b87e.b0ac48","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.fireplace_therm_active","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":890,"y":500,"wires":[["8d9afb21.1a5b88"]]},{"id":"8d9afb21.1a5b88","type":"switch","z":"f2b6aa82.720788","name":"Thermostat On/Off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1090,"y":500,"wires":[["82e6e97a.306708"],[]]},{"id":"b3a5ab97.df6df8","type":"stoptimer","z":"f2b6aa82.720788","duration":"5","units":"Second","payloadtype":"num","payloadval":"0","name":"Slow Down","x":2330,"y":740,"wires":[[],[]]},{"id":"82e6e97a.306708","type":"api-current-state","z":"f2b6aa82.720788","name":"Get Helper","server":"d262b87e.b0ac48","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.fireplace_helper","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"entity_id","override_data":"msg","blockInputOverrides":false,"x":1270,"y":500,"wires":[["e0b073a4.05a32"]]},{"id":"e0b073a4.05a32","type":"switch","z":"f2b6aa82.720788","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1410,"y":500,"wires":[["c1635d8c.83173"],[]]},{"id":"51a1d75b.02b968","type":"api-current-state","z":"f2b6aa82.720788","name":"Get OnOff","server":"d262b87e.b0ac48","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.fireplace_onoff","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"entity_id","override_data":"msg","blockInputOverrides":false,"x":1960,"y":220,"wires":[["e7d58b87.c8f858"]]},{"id":"b3d3ffad.3b803","type":"api-current-state","z":"f2b6aa82.720788","name":"Get OnOff","server":"d262b87e.b0ac48","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.fireplace_onoff","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"entity_id","override_data":"msg","blockInputOverrides":false,"x":1960,"y":560,"wires":[["4d7729cc.1e03c8"]]},{"id":"3ebf8fbb.5d107","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn off OnOff","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.fireplace_onoff","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":2300,"y":420,"wires":[["fe1149ef.b714e8"]]},{"id":"95853228.6fc92","type":"api-call-service","z":"f2b6aa82.720788","name":"Turn on OnOff","server":"d262b87e.b0ac48","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.fireplace_onoff","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":2300,"y":340,"wires":[["fe1149ef.b714e8"]]},{"id":"e7d58b87.c8f858","type":"switch","z":"f2b6aa82.720788","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":2090,"y":220,"wires":[["fe1149ef.b714e8"],["d245f5e4.bbeb98"]]},{"id":"4d7729cc.1e03c8","type":"switch","z":"f2b6aa82.720788","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":2090,"y":560,"wires":[["fd67331c.4a937"],["fe1149ef.b714e8"]]},{"id":"6e74f2b.3db9e0c","type":"stoptimer","z":"f2b6aa82.720788","duration":"5","units":"Second","payloadtype":"num","payloadval":"0","name":"Slow Down","x":2790,"y":380,"wires":[["f9502ab7.c66548"],[]]},{"id":"d262b87e.b0ac48","type":"server","z":"","name":"Home Assistant","addon":true}]

image

Who makes the remote?