まぁ出尽くしたネタではあるが、、MQTTに投稿されたら、Node-REDでMQTTを読んでエアコンを制御するサンプルを実装
MQTTのトピックスは以下とした
<ホームID>/<デバイスID>/control
messageのPayloadはJSON形式で以下
{"control" : "pw_on"} or {"control" : "pw_off"}shiftrはID/PWDで認証するので、Node-REDでもMQTT購読設定時、ID/PWDを設定する


MQTTをウオッチして、制御が投稿されたらエアコンを制御するフローの例

状況を考慮せず、ひたすらエアコンのOn/Offを投げ続けるテストプログラム
#!/usr/bin/python3
import paho.mqtt.client as mqtt
import json
import pdb
HOST = "rainXXXX.cloud.shiftr.io"
ID ="rainXXXX"
PWD ="NhXXXXXXXX0a"
DEV_NAME = "controller00"
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("control/#")
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
client = mqtt.Client(DEV_NAME)
client.username_pw_set(ID, password = PWD)
client.on_connect = on_connect
client.on_message = on_message
client.tls_set()
client.connect(HOST, 8883, 60)
client.loop_start()
import time
count = 0
homeID = 'home0123'
deviceID = 'ac0123'
message = {'control' : 'pw_on',} # 機器制御は、pw_on,pw_offを指定
topic = f"{homeID}/{deviceID}/control"
power_sw = False
while True:
print("wait...")
time.sleep(1)
if count % 5 == 0:
if power_sw :
message['control'] = 'pw_on'
else:
message['control'] = 'pw_off'
client.publish(topic,json.dumps(message))
print(json.dumps(message))
power_sw = not power_sw
count += 1
client.loop_stop()
client.disconnect()
補足:制御対象は、ECHONET-Liteで制御できる機器を想定
shiftrのコンソール画面(MQTTでPublishして機器制御している状態)

■追記
HTTPSで投稿する方法
shiftrではHTTPSで記事を投稿することも可能であった。mqttでは認証とかかなり苦労したのだが。。HTTPSなら一発で動く。
curl -X POST 'https://<id>:<passwd>@rainXXXXX.cloud.shiftr.io/broker/home123/dev456/control' -d 'power_on'
HTTPSで投げ込めるので、Alexa --> IFTTT --> shiftr の経路でMQTTがポストできる
■参考URL
Topicの命名法
MQTT Topic and Payload Design Notes