Javascript 在家庭助手中嵌入的mqtt在JS测试前工作正常

Javascript 在家庭助手中嵌入的mqtt在JS测试前工作正常,javascript,mqtt,Javascript,Mqtt,我安装了Home Assistant,我有一些ESP模块,可以连接到wi-fi和MQTT服务器(嵌入在端口1883的HA中)。下面是configuration.yaml中的一些代码: mqtt: username: "homeassistant" password: "" light: - platform: mqtt_json name: mqtt_json_light_2 state_topic: "home/rgb1" command_topic

我安装了Home Assistant,我有一些ESP模块,可以连接到wi-fi和MQTT服务器(嵌入在端口1883的HA中)。下面是configuration.yaml中的一些代码:

mqtt:
    username: "homeassistant"
    password: ""
light:
  - platform: mqtt_json
    name: mqtt_json_light_2
    state_topic: "home/rgb1"
    command_topic: "home/rgb1/set"
    brightness: true
    rgb: true
    effect: true
    effect_list: [colorfade_slow, colorfade_fast, flash]
    optimistic: false
    qos: 0
一切正常,使用用户名和密码连接到MQTT(192.168.43.184:1883)也正常

之后,我使用paho-mqtt.js创建了用于在该服务器上测试的页面。我可以使用运行此页面。所以相同的服务器,但不是https,所以mb是此页面上没有连接的主要原因

简单的测试代码:


//示例HTML/JS脚本将在Google Chrome控制台中发布/订阅主题
//作者:Matthew Bordignon@Bordignon在推特上。
var wsbroker=“127.0.0.1”//支持mqtt websocket的代理
var wsport=1883;//或以上
var client=new Paho.MQTT.client(wsbroker、wsport、,
“myclientid_u2;”+parseInt(Math.random()*100,10));
client.onConnectionLost=函数(responseObject){
日志(“连接丢失:+responseObject.errorMessage”);
};
client.onMessageArrived=函数(消息){
log(message.destinationName,'--',message.payloadString);
};
变量选项={
超时时间:3,
用户名:“家庭助理”,
密码:“”,
onSuccess:函数(){
log(“mqtt已连接”);
},
onFailure:功能(消息){
日志(“连接失败:+message.errorMessage”);
}
};
函数init(){
client.connect(选项);
}
现在连接很好(8080端口解决了问题),但当我尝试发送消息时-我收到错误并失去连接:“AMQJS0005E内部错误。错误消息:未定义”这意味着我的JSON不好,但我从Home Assistant的dev mqtt页面复制了这个,所以它很好。我不知道为什么我现在不能通过js向MQTT发送消息。