reneklootwijk / node-mideahvac

MIT License
76 stars 7 forks source link

"No response received" error #19

Closed prekss closed 6 months ago

prekss commented 8 months ago

Thank you for this amazing repo! I have a Midea AC and I'm getting "No response received" error when I try to run your code.

I'm using my custom TCP-Serial bridge using the standard Aliexpress components which worked normally via Home Assistant app. However, since I would like to create my custom app for the control of my a/c and get rid of Home Assistant I decided to try your repo. So I used the exact same hardware, I just flashed ESP-Link to my ESP-01, added my wifi credentials and set my static ip 192.168.1.90.

However I keep getting above error, you can also find log with details to the bottom of my message.

When I connect it to the serial of my AC, the IP works normally, so I think that the only part missing is the connection between the ESP-01 and the AC. Since I use the exact same cable that I use with HA, connecting it to the exact same way as with HA app, the only I can think of is that maybe I did something wrong with the pin assignment within the settings of ESP-Link, where I chose the ESP-01 preset.

Is there any suggestion you can give me to help me about the pin assignment, as I really don't know what to change there? Or maybe do you have any other idea what I may did wrong?

Thank you in advance!

My code:

const appliances = require('node-mideahvac');

// Specify your specific information
const ac = appliances.createAppliance({
  communicationMethod: 'serialbridge',
  host: '192.168.1.90',
  port: '23'
});

// Any updated status properties will be printed
ac.on('status-update', data => {
  console.log(`Received updates: ${JSON.stringify(data)}`);
});

ac.initialize()
  .then(response => {
    console.log('Initialized, start polling');

    // The status will be polled each 30s, when properties are changed these will be emitted as a
    // status-update
    setInterval(() => {
      ac.getStatus()
        .catch(error => {
          console.log(`Error: ${error.message}`);
        });
    }, 30000);
  })
  .catch(error => {
    console.log(`Error: Failed to initialize (${error.message})`);
  });

const logger = require('winston')

logger.remove(logger.transports.Console)
logger.add(new logger.transports.Console({
  format: logger.format.combine(
    logger.format.timestamp(),
    logger.format.colorize(),
    logger.format.printf(event => {
      return `${event.timestamp}: ${event.message}`
    })
  ),
  level: 'silly'
}))

My log: 2023-11-11T01:46:36.571Z: SerialBridge._processQueue: Entering 2023-11-11T01:46:36.580Z: SerialBridge._processQueue: Sending 'sendNetworkStatusNotification' command 2023-11-11T01:46:38.589Z: SerialBridge._processQueue: No response received in time for 'sendNetworkStatusNotification' command 2023-11-11T01:46:38.590Z: SerialBridge.initialize: Failed to send network status notification for 192.168.1.90:23 - No response received 2023-11-11T01:46:38.591Z: AC.getCapabilities: Entering 2023-11-11T01:46:38.592Z: SerialBridge._processQueue: Entering 2023-11-11T01:46:38.592Z: SerialBridge._processQueue: Sending 'getCapabilities' command 2023-11-11T01:46:39.090Z: SerialBridge._processQueue: Entering 2023-11-11T01:46:39.091Z: SerialBridge._processQueue: Command in progress 2023-11-11T01:46:40.606Z: SerialBridge._processQueue: No response received in time for 'getCapabilities' command 2023-11-11T01:46:40.607Z: SerialBridge._write: Retry getCapabilities, 0 retries left 2023-11-11T01:46:41.109Z: SerialBridge._processQueue: Entering 2023-11-11T01:46:41.110Z: SerialBridge._processQueue: Sending 'getCapabilities' command 2023-11-11T01:46:43.113Z: SerialBridge._processQueue: No response received in time for 'getCapabilities' command 2023-11-11T01:46:43.114Z: SerialBridge.initialize: Failed to get capabilities of 192.168.1.90:23 - No response received 2023-11-11T01:46:43.116Z: AC.getStatus: Entering 2023-11-11T01:46:43.116Z: SerialBridge._processQueue: Entering 2023-11-11T01:46:43.117Z: SerialBridge._processQueue: Sending 'getStatus' command 2023-11-11T01:46:43.629Z: SerialBridge._processQueue: Entering 2023-11-11T01:46:43.630Z: SerialBridge._processQueue: Command in progress 2023-11-11T01:46:45.132Z: SerialBridge._processQueue: No response received in time for 'getStatus' command 2023-11-11T01:46:45.133Z: SerialBridge._write: Retry getStatus, 0 retries left 2023-11-11T01:46:45.647Z: SerialBridge._processQueue: Entering 2023-11-11T01:46:45.648Z: SerialBridge._processQueue: Sending 'getStatus' command 2023-11-11T01:46:47.661Z: SerialBridge._processQueue: No response received in time for 'getStatus' command 2023-11-11T01:46:47.662Z: SerialBridge.initialize: Failed to get current status of 192.168.1.90:23 - No response received Error: Failed to initialize (undefined)

reneklootwijk commented 7 months ago

Probably the pin assignment configuration in esp-link is wrong. Mine, but I use an ESP12, looks as follows: Reset: gpio12 ISP/Flash: gpio14 Conn LED: gpio0 Serial LED: gpio2/TX1 UART pins: normal RX pull-up: V

And did you set the uConsole to 9600 8N1?

svobol13 commented 6 months ago

Probably the pin assignment configuration in esp-link is wrong. Mine, but I use an ESP12, looks as follows: Reset: gpio12 ISP/Flash: gpio14 Conn LED: gpio0 Serial LED: gpio2/TX1 UART pins: normal RX pull-up: V

And did you set the uConsole to 9600 8N1?

had same problem, setting 9600 helped. Thanks!