Hello Stefano,
please make sure to include the "reconnect" option in your connection string, so that the pipe connection automatically tries to reconnect when the connection cannot be established initially (in case the Console hasn't been started, for example). You can further use the "reconnect.interval" option to specify the interval in which the library should initiate connection attempts:
pipe(reconnect="true", reconnect.interval="1s")
This is actually the default connection string of the SiAuto.Si object. So in case you haven't specified any additional options (such as the backlog, for example), you could also just use the default connection string.