Hi Erick, thanks for the quick response. It may take me a little while to stub a server together, nodejs is not my speciality! However below is request and response to a number of request types. Hope this helps.
Thanks, Phil
Programming the Daikin Heatpump
Using websockets (test using chrome websocket client)
Connect to endpoint: ws://192.168.86.40/mca
To get room temperature - send:
{“m2m:rqp”:{“op”:2,“to”:"/[0]/MNAE/1/Sensor/IndoorTemperature/la",“fr”:"/TarmoTest",“rqi”:“yssyq”}}
Response looks like:
{“m2m:rsp”:{“rsc”:2000,“rqi”:“yssyq”,“to”:"/TarmoTest",“fr”:"/[0]/MNAE/1/Sensor/IndoorTemperature/la",“pc”:{“m2m:cin”:{“rn”:“0000001e”,“ri”:“0007_0000001e”,“pi”:“0007”,“ty”:4,“ct”:“20191226T152000Z”,“lt”:“20191226T152000Z”,“st”:30,“con”:22.0000000000000000}}}}
(note the “con”:22.000000000 which is the room temperature)
To find power state:
{“m2m:rqp”:{“op”:2,“to”:"/[0]/MNAE/1/Operation/Power/la",“fr”:"/TarmoTest",“rqi”:“yssyq”}}
Response:
{“m2m:rsp”:{“rsc”:2000,“rqi”:“yssyq”,“to”:"/TarmoTest",“fr”:"/[0]/MNAE/1/Operation/Power/la",“pc”:{“m2m:cin”:{“rn”:“0000001a”,“ri”:“000d_0000001a”,“pi”:“000d”,“ty”:4,“ct”:“20191226T125102Z”,“lt”:“20191226T125102Z”,“st”:26,“con”:“standby”}}}}
Or:
{“m2m:rsp”:{“rsc”:2000,“rqi”:“yssyq”,“to”:"/TarmoTest",“fr”:"/[0]/MNAE/1/Operation/Power/la",“pc”:{“m2m:cin”:{“rn”:“0000001e”,“ri”:“000d_0000001e”,“pi”:“000d”,“ty”:4,“ct”:“20191226T181546Z”,“lt”:“20191226T181546Z”,“st”:30,“con”:“on”}}}}
To find target temperature:
{“m2m:rqp”:{“op”:2,“to”:"/[0]/MNAE/1/Operation/TargetTemperature/la",“fr”:"/TarmoTest",“rqi”:“yssyq”}}
Response:
{“m2m:rsp”:{“rsc”:2000,“rqi”:“yssyq”,“to”:"/TarmoTest",“fr”:"/[0]/MNAE/1/Operation/TargetTemperature/la",“pc”:{“m2m:cin”:{“rn”:“0000004c”,“ri”:“000f_0000004c”,“pi”:“000f”,“ty”:4,“ct”:“20191226T060002Z”,“lt”:“20191226T060002Z”,“st”:76,“con”:30.0000000000000000}}}}
Outdoor temperature:
{“m2m:rqp”:{“op”:2,“to”:"/[0]/MNAE/1/Sensor/OutdoorTemperature/la",“fr”:"/TarmoTest",“rqi”:“yssyq”}}
Response:
{“m2m:rsp”:{“rsc”:2000,“rqi”:“yssyq”,“to”:"/TarmoTest",“fr”:"/[0]/MNAE/1/Sensor/OutdoorTemperature/la",“pc”:{“m2m:cin”:{“rn”:“00002086”,“ri”:“0008_00002086”,“pi”:“0008”,“ty”:4,“ct”:“20191226T175944Z”,“lt”:“20191226T175944Z”,“st”:8326,“con”:9.0000000000000000}}}}
Turning unit on, off, and standby. First on:
{“m2m:rqp”:{“op”:1,“to”:"/[0]/MNAE/1/Operation/Power",“fr”:"/S",“rqi”:“qwxxl”,“ty”:4,“pc”:{“m2m:cin”:{“con”:“on”,“cnf”:“text/plain:0”}}}}
{“m2m:rsp”:{“rsc”:2001,“rqi”:“qwxxl”,“to”:"/S",“fr”:"/[0]/MNAE/1/Operation/Power"}}
Now off: (not sure this is a good idea!)
{“m2m:rqp”:{“op”:1,“to”:"/[0]/MNAE/1/Operation/Power",“fr”:"/S",“rqi”:“qwxxl”,“ty”:4,“pc”:{“m2m:cin”:{“con”:“off”,“cnf”:“text/plain:0”}}}}
{“m2m:rsp”:{“rsc”:4005,“rqi”:“qwxxl”,“to”:"/S",“fr”:"/[0]/MNAE/1/Operation/Power"}}
And standby:
{“m2m:rqp”:{“op”:1,“to”:"/[0]/MNAE/1/Operation/Power",“fr”:"/S",“rqi”:“qwxxl”,“ty”:4,“pc”:{“m2m:cin”:{“con”:“standby”,“cnf”:“text/plain:0”}}}}
{“m2m:rsp”:{“rsc”:2001,“rqi”:“qwxxl”,“to”:"/S",“fr”:"/[0]/MNAE/1/Operation/Power"}}
Setting the target temperature:
{“m2m:rqp”:{“op”:1,“to”:"/[0]/MNAE/1/Operation/TargetTemperature",“fr”:"/S",“rqi”:“qwxxl”,“ty”:4,“pc”:{“m2m:cin”:{“con”:27,“cnf”:“text/plain:0”}}}}
{“m2m:rsp”:{“rsc”:2001,“rqi”:“qwxxl”,“to”:"/S",“fr”:"/[0]/MNAE/1/Operation/TargetTemperature"}}
See:
https://community.homey.app/t/daikin-ai/158/109
https://community.openhab.org/t/how-to-integrate-daikin-altherma-lt-heat-pump/16488/16
https://community.openenergymonitor.org/t/hack-my-heat-pump-and-publish-data-onto-emoncms/2551/35