henry-spanka / freeathome-api

Busch-Jaeger free@home API to control actuators
MIT License
45 stars 4 forks source link

API keeps crashing #22

Open foldericon opened 4 years ago

foldericon commented 4 years ago

I am running SysAp v. 2.4.0 and the API keeps crashing.

/11/2020, 7:11:07 PM - INFO: Starting free@home API
1/11/2020, 7:11:35 PM - ERR: Error: write EPIPE
/opt/freeathome-api/node_modules/freeathome-api/dist/appRunner.js:33
        throw up;
        ^

Error: Received error broadcast message, Error: write EPIPE
    at Application.broadcastMessage (/opt/freeathome-api/node_modules/freeathome-api/dist/lib/Application.js:166:19)
    at Client.client.on.err (/opt/freeathome-api/node_modules/freeathome-api/dist/lib/SystemAccessPoint.js:78:29)
    at Client.emit (events.js:203:15)
    at next.then.catch.err (/opt/freeathome-api/node_modules/@xmpp/middleware/index.js:19:28)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Any ideas?

henry-spanka commented 4 years ago

Are you sure that you can reach the system access point with the IP set in the configuration file? Try with curl http://IP.

foldericon commented 4 years ago

Yes, it is reachable and I managed to get it to work by commenting out line 33 in appRunner.js. I tested it on my macbook and it is working fine without that issue so my guess is, the limited performance of the pi zero I am using is responsible for it.

henry-spanka commented 4 years ago

It should also run on a Pi Zero. I thought of a race condition in the code but couldn't find anything. Please enable debug logging and post a log again.

foldericon commented 4 years ago

I'm on a trip this week and I can't access the device from here, so I'll post the log when I'm back next monday.

foldericon commented 4 years ago

So here is the full log

1/20/2020, 10:47:39 PM - INFO: Starting free@home API
1/20/2020, 10:47:43 PM - DEBUG: Received new status:
1/20/2020, 10:47:43 PM - DEBUG: connecting
1/20/2020, 10:47:43 PM - DEBUG: Received new status:
1/20/2020, 10:47:43 PM - DEBUG: connect
1/20/2020, 10:47:43 PM - DEBUG: Received new status:
1/20/2020, 10:47:43 PM - DEBUG: opening
1/20/2020, 10:47:43 PM - DEBUG: Received new output data:
1/20/2020, 10:47:43 PM - DEBUG: <open version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="busch-jaeger.de"/>
1/20/2020, 10:47:43 PM - DEBUG: Received new input data:
1/20/2020, 10:47:43 PM - DEBUG: <open id="tinyxmppd217900" from="busch-jaeger.de" xml:lang="en" version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing"/>
1/20/2020, 10:47:43 PM - DEBUG: Received new input data:
1/20/2020, 10:47:43 PM - DEBUG: <features xmlns="http://etherx.jabber.org/streams"><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>SCRAM-SHA-256</mechanism><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></features>
1/20/2020, 10:47:44 PM - DEBUG: Received new output data:
1/20/2020, 10:47:44 PM - DEBUG: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">biwsbj02OTQ1ZGNlYy0xMjVmLTQxMWMtODJkZC0yOWNhNjZiOTVhOTkscj1iYTUwYTVhMjliNGZhZTkzZTMzODEwYTVmYTdkMGFiYg==</auth>
1/20/2020, 10:47:44 PM - DEBUG: Received new status:
1/20/2020, 10:47:44 PM - DEBUG: open
1/20/2020, 10:47:44 PM - DEBUG: Received new input data:
1/20/2020, 10:47:44 PM - DEBUG: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cj1iYTUwYTVhMjliNGZhZTkzZTMzODEwYTVmYTdkMGFiYm54Z3cvYTZhUldnPSxzPTlvbCt6dGlhdnZWN2tTcE1hUjdudFlNTVduNGRWbUQzMFlEVVVvV09FUlE9LGk9MTAwMDA=</challenge>
1/20/2020, 10:48:00 PM - DEBUG: Received new output data:
1/20/2020, 10:48:00 PM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">Yz1iaXdzLHI9YmE1MGE1YTI5YjRmYWU5M2UzMzgxMGE1ZmE3ZDBhYmJueGd3L2E2YVJXZz0scD1kSDlyeVJxQWtuTmF2QUVZZ0x2c2xPcnVDSGs9</response>1/20/2020, 10:48:00 PM - DEBUG: Received new input data:
1/20/2020, 10:48:00 PM - DEBUG: <close xmlns="urn:ietf:params:xml:ns:xmpp-framing"/>
1/20/2020, 10:48:00 PM - DEBUG: Received new status:
1/20/2020, 10:48:00 PM - DEBUG: close
1/20/2020, 10:48:00 PM - DEBUG: Received new status:
1/20/2020, 10:48:00 PM - DEBUG: disconnect
1/20/2020, 10:48:01 PM - DEBUG: Received new status:
1/20/2020, 10:48:01 PM - DEBUG: connecting
1/20/2020, 10:48:01 PM - DEBUG: Received new status:
1/20/2020, 10:48:01 PM - DEBUG: connect
1/20/2020, 10:48:01 PM - DEBUG: Received new status:
1/20/2020, 10:48:01 PM - DEBUG: opening
1/20/2020, 10:48:01 PM - DEBUG: Received new output data:
1/20/2020, 10:48:01 PM - DEBUG: <open version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="busch-jaeger.de"/>
1/20/2020, 10:48:01 PM - DEBUG: Received new input data:
1/20/2020, 10:48:01 PM - DEBUG: <open id="tinyxmppd217901" from="busch-jaeger.de" xml:lang="en" version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing"/>
1/20/2020, 10:48:01 PM - DEBUG: Received new input data:
1/20/2020, 10:48:01 PM - DEBUG: <features xmlns="http://etherx.jabber.org/streams"><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>SCRAM-SHA-256</mechanism><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></features>
1/20/2020, 10:48:01 PM - DEBUG: Received new output data:
1/20/2020, 10:48:01 PM - DEBUG: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">biwsbj02OTQ1ZGNlYy0xMjVmLTQxMWMtODJkZC0yOWNhNjZiOTVhOTkscj05YWU5YWNlNGRjNDIzMWFmNDA1MGJjNmIzN2RmMGZmZQ==</auth>
1/20/2020, 10:48:01 PM - DEBUG: Received new status:
1/20/2020, 10:48:01 PM - DEBUG: open
1/20/2020, 10:48:01 PM - DEBUG: Received new input data:
1/20/2020, 10:48:01 PM - DEBUG: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cj05YWU5YWNlNGRjNDIzMWFmNDA1MGJjNmIzN2RmMGZmZWJSQnpTZ3dQYWtBPSxzPTlvbCt6dGlhdnZWN2tTcE1hUjdudFlNTVduNGRWbUQzMFlEVVVvV09FUlE9LGk9MTAwMDA=</challenge>
1/20/2020, 10:48:04 PM - DEBUG: Received new output data:
1/20/2020, 10:48:04 PM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1"></response>
1/20/2020, 10:48:04 PM - DEBUG: Received new output data:
1/20/2020, 10:48:04 PM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">Yz1iaXdzLHI9OWFlOWFjZTRkYzQyMzFhZjQwNTBiYzZiMzdkZjBmZmViUkJ6U2d3UGFrQT0scD1iNnpscnpid1Z2d2x1YjU3bXhSWGZLTlRhdkU9</response>1/20/2020, 10:48:04 PM - DEBUG: Received new input data:
1/20/2020, 10:48:04 PM - DEBUG: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cj05YWU5YWNlNGRjNDIzMWFmNDA1MGJjNmIzN2RmMGZmZWJSQnpTZ3dQYWtBPSxzPTlvbCt6dGlhdnZWN2tTcE1hUjdudFlNTVduNGRWbUQzMFlEVVVvV09FUlE9LGk9MTAwMDA=</challenge>
1/20/2020, 10:48:04 PM - DEBUG: Received new input data:
1/20/2020, 10:48:04 PM - DEBUG: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dj1LN09vUjBweUppRUVuaHREYlR5ZWNPWjF2a3M9</success>
1/20/2020, 10:48:04 PM - DEBUG: Received new output data:
1/20/2020, 10:48:04 PM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1"></response>
1/20/2020, 10:48:04 PM - DEBUG: Received new output data:
1/20/2020, 10:48:04 PM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1"></response>
1/20/2020, 10:48:04 PM - DEBUG: Received new status:
1/20/2020, 10:48:04 PM - DEBUG: opening
1/20/2020, 10:48:04 PM - DEBUG: Received new status:
1/20/2020, 10:48:04 PM - DEBUG: opening
1/20/2020, 10:48:04 PM - ERR: Error: write EPIPE
/opt/freeathome-api/node_modules/freeathome-api/dist/appRunner.js:33
        throw up;
        ^

Error: Received error broadcast message, Error: write EPIPE
    at Application.broadcastMessage (/opt/freeathome-api/node_modules/freeathome-api/dist/lib/Application.js:166:19)
    at Client.client.on.err (/opt/freeathome-api/node_modules/freeathome-api/dist/lib/SystemAccessPoint.js:78:29)
    at Client.emit (events.js:202:15)
    at next.then.catch.err (/opt/freeathome-api/node_modules/@xmpp/middleware/index.js:19:28)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)
henry-spanka commented 4 years ago

Hmm that doesn't look right. Have you created a separate user for the API? If so, what permission does it have?

foldericon commented 4 years ago

Yes I have, it has "Operation" level but I've tried an "Installation" account as well and the results were the same.

henry-spanka commented 4 years ago

Hi, mine is set to "Operation" too. Do you use special characters (including umlauts) in your username or password?

foldericon commented 4 years ago

No. As I said when I comment out line 33 in appRunner.js it is working fine. The only issue I have then is that accessories turn "not reachable" in the home app when sending too many commands at once (I am using your homebridge plugin as well). Not sure if that is normal, it's probably because of the jabber based protocol that creates a lot of overhead and noise on the socket.

henry-spanka commented 4 years ago

Sorry, I forgot that you mentioned it. Please also include a log with the line commented out.

foldericon commented 4 years ago
1/22/2020, 11:31:29 AM - INFO: Starting free@home API
1/22/2020, 11:31:34 AM - DEBUG: Received new status:
1/22/2020, 11:31:34 AM - DEBUG: connecting
1/22/2020, 11:31:34 AM - DEBUG: Received new status:
1/22/2020, 11:31:34 AM - DEBUG: connect
1/22/2020, 11:31:34 AM - DEBUG: Received new status:
1/22/2020, 11:31:34 AM - DEBUG: opening
1/22/2020, 11:31:34 AM - DEBUG: Received new output data:
1/22/2020, 11:31:34 AM - DEBUG: <open version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="busch-jaeger.de"/>
1/22/2020, 11:31:34 AM - DEBUG: Received new input data:
1/22/2020, 11:31:34 AM - DEBUG: <open id="tinyxmppd22731" from="busch-jaeger.de" xml:lang="en" version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing"/>
1/22/2020, 11:31:35 AM - DEBUG: Received new input data:
1/22/2020, 11:31:35 AM - DEBUG: <features xmlns="http://etherx.jabber.org/streams"><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>SCRAM-SHA-256</mechanism><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></features>
1/22/2020, 11:31:35 AM - DEBUG: Received new output data:
1/22/2020, 11:31:35 AM - DEBUG: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">biwsbj02OTQ1ZGNlYy0xMjVmLTQxMWMtODJkZC0yOWNhNjZiOTVhOTkscj1iMWM2OGRjYTZlNWU1M2FkODgyNjdmNDhmMTg1NTRkZg==</auth>
1/22/2020, 11:31:35 AM - DEBUG: Received new status:
1/22/2020, 11:31:35 AM - DEBUG: open
1/22/2020, 11:31:35 AM - DEBUG: Received new input data:
1/22/2020, 11:31:35 AM - DEBUG: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cj1iMWM2OGRjYTZlNWU1M2FkODgyNjdmNDhmMTg1NTRkZk16KzlkMVY5WXl3PSxzPTlvbCt6dGlhdnZWN2tTcE1hUjdudFlNTVduNGRWbUQzMFlEVVVvV09FUlE9LGk9MTAwMDA=</challenge>
1/22/2020, 11:31:53 AM - DEBUG: Received new output data:
1/22/2020, 11:31:53 AM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">Yz1iaXdzLHI9YjFjNjhkY2E2ZTVlNTNhZDg4MjY3ZjQ4ZjE4NTU0ZGZNeis5ZDFWOVl5dz0scD0wT0pzQ3Z3WWpxY2RZZnRqVzl4K1gyMWNOajA9</response>
1/22/2020, 11:31:53 AM - DEBUG: Received new input data:
1/22/2020, 11:31:53 AM - DEBUG: <close xmlns="urn:ietf:params:xml:ns:xmpp-framing"/>
1/22/2020, 11:31:53 AM - DEBUG: Received new status:
1/22/2020, 11:31:53 AM - DEBUG: close
1/22/2020, 11:31:53 AM - DEBUG: Received new status:
1/22/2020, 11:31:53 AM - DEBUG: disconnect
1/22/2020, 11:31:54 AM - DEBUG: Received new status:
1/22/2020, 11:31:54 AM - DEBUG: connecting
1/22/2020, 11:31:54 AM - DEBUG: Received new status:
1/22/2020, 11:31:54 AM - DEBUG: connect
1/22/2020, 11:31:54 AM - DEBUG: Received new status:
1/22/2020, 11:31:54 AM - DEBUG: opening
1/22/2020, 11:31:54 AM - DEBUG: Received new output data:
1/22/2020, 11:31:54 AM - DEBUG: <open version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="busch-jaeger.de"/>
1/22/2020, 11:31:54 AM - DEBUG: Received new input data:
1/22/2020, 11:31:54 AM - DEBUG: <open id="tinyxmppd22732" from="busch-jaeger.de" xml:lang="en" version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing"/>
1/22/2020, 11:31:54 AM - DEBUG: Received new input data:
1/22/2020, 11:31:54 AM - DEBUG: <features xmlns="http://etherx.jabber.org/streams"><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>SCRAM-SHA-256</mechanism><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></features>
1/22/2020, 11:31:54 AM - DEBUG: Received new output data:
1/22/2020, 11:31:54 AM - DEBUG: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">biwsbj02OTQ1ZGNlYy0xMjVmLTQxMWMtODJkZC0yOWNhNjZiOTVhOTkscj1hYjMwODQxOGVlYmVmNTRjMTRjMzVmMjA1MTA4NTY5Yw==</auth>
1/22/2020, 11:31:54 AM - DEBUG: Received new status:
1/22/2020, 11:31:54 AM - DEBUG: open
1/22/2020, 11:31:54 AM - DEBUG: Received new input data:
1/22/2020, 11:31:54 AM - DEBUG: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cj1hYjMwODQxOGVlYmVmNTRjMTRjMzVmMjA1MTA4NTY5Y1dOT1VQSk80NnlvPSxzPTlvbCt6dGlhdnZWN2tTcE1hUjdudFlNTVduNGRWbUQzMFlEVVVvV09FUlE9LGk9MTAwMDA=</challenge>
1/22/2020, 11:31:57 AM - DEBUG: Received new output data:
1/22/2020, 11:31:57 AM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1"></response>
1/22/2020, 11:31:57 AM - DEBUG: Received new output data:
1/22/2020, 11:31:57 AM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">Yz1iaXdzLHI9YWIzMDg0MThlZWJlZjU0YzE0YzM1ZjIwNTEwODU2OWNXTk9VUEpPNDZ5bz0scD1wQ1hsWlBMSVB0ZEhtd3FONmVSWkJ1ZXQ1R0U9</response>
1/22/2020, 11:31:57 AM - DEBUG: Received new input data:
1/22/2020, 11:31:57 AM - DEBUG: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cj1hYjMwODQxOGVlYmVmNTRjMTRjMzVmMjA1MTA4NTY5Y1dOT1VQSk80NnlvPSxzPTlvbCt6dGlhdnZWN2tTcE1hUjdudFlNTVduNGRWbUQzMFlEVVVvV09FUlE9LGk9MTAwMDA=</challenge>
1/22/2020, 11:31:57 AM - DEBUG: Received new output data:
1/22/2020, 11:31:57 AM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1"></response>
1/22/2020, 11:31:57 AM - DEBUG: Received new output data:
1/22/2020, 11:31:57 AM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1"></response>
1/22/2020, 11:31:57 AM - DEBUG: Received new input data:
1/22/2020, 11:31:57 AM - DEBUG: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dj1kSXJzNmI0ZGhkaVFTeTZvY2RERUY2VUhyRjA9</success>
1/22/2020, 11:31:57 AM - DEBUG: Received new status:
1/22/2020, 11:31:57 AM - DEBUG: opening
1/22/2020, 11:31:57 AM - DEBUG: Received new status:
1/22/2020, 11:31:57 AM - DEBUG: opening
1/22/2020, 11:31:57 AM - ERR: Error: write EPIPE
1/22/2020, 11:31:57 AM - DEBUG: Received new status:
1/22/2020, 11:31:57 AM - DEBUG: disconnect
1/22/2020, 11:31:58 AM - DEBUG: Received new status:
1/22/2020, 11:31:58 AM - DEBUG: connecting
1/22/2020, 11:31:58 AM - DEBUG: Received new status:
1/22/2020, 11:31:58 AM - DEBUG: connect
1/22/2020, 11:31:58 AM - DEBUG: Received new status:
1/22/2020, 11:31:58 AM - DEBUG: opening
1/22/2020, 11:31:58 AM - DEBUG: Received new output data:
1/22/2020, 11:31:58 AM - DEBUG: <open version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="busch-jaeger.de"/>
1/22/2020, 11:31:58 AM - DEBUG: Received new input data:
1/22/2020, 11:31:58 AM - DEBUG: <open id="tinyxmppd22733" from="busch-jaeger.de" xml:lang="en" version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing"/>
1/22/2020, 11:31:58 AM - DEBUG: Received new input data:
1/22/2020, 11:31:58 AM - DEBUG: <features xmlns="http://etherx.jabber.org/streams"><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>SCRAM-SHA-256</mechanism><mechanism>SCRAM-SHA-1</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></features>
1/22/2020, 11:31:58 AM - DEBUG: Received new output data:
1/22/2020, 11:31:58 AM - DEBUG: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">biwsbj02OTQ1ZGNlYy0xMjVmLTQxMWMtODJkZC0yOWNhNjZiOTVhOTkscj1hZWI5OWU3YTgxYmFiZjJlMzJmMzQ1YTQ0ZTg5Mjc0OA==</auth>
1/22/2020, 11:31:58 AM - DEBUG: Received new status:
1/22/2020, 11:31:58 AM - DEBUG: open
1/22/2020, 11:31:58 AM - DEBUG: Received new input data:
1/22/2020, 11:31:58 AM - DEBUG: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cj1hZWI5OWU3YTgxYmFiZjJlMzJmMzQ1YTQ0ZTg5Mjc0OG8rMGtYNUl0Q0dVPSxzPTlvbCt6dGlhdnZWN2tTcE1hUjdudFlNTVduNGRWbUQzMFlEVVVvV09FUlE9LGk9MTAwMDA=</challenge>
1/22/2020, 11:32:01 AM - DEBUG: Received new output data:
1/22/2020, 11:32:01 AM - DEBUG: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">Yz1iaXdzLHI9YWViOTllN2E4MWJhYmYyZTMyZjM0NWE0NGU4OTI3NDhvKzBrWDVJdENHVT0scD01UXN2NWNJSDRnQVptMG1CQTQ0dFhFYWFVUjg9</response>
1/22/2020, 11:32:01 AM - DEBUG: Received new input data:
1/22/2020, 11:32:01 AM - DEBUG: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dj1LTWVZSnBxVlVmM09USDBYdStWaGVJUXBlOEE9</success>
1/22/2020, 11:32:01 AM - DEBUG: Received new status:
1/22/2020, 11:32:01 AM - DEBUG: opening
1/22/2020, 11:32:01 AM - DEBUG: Received new output data:
1/22/2020, 11:32:01 AM - DEBUG: <open version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="busch-jaeger.de"/>
1/22/2020, 11:32:01 AM - DEBUG: Received new input data:
1/22/2020, 11:32:01 AM - DEBUG: <open id="tinyxmppd22734" from="busch-jaeger.de" xml:lang="en" version="1.0" xmlns="urn:ietf:params:xml:ns:xmpp-framing"/>
1/22/2020, 11:32:01 AM - DEBUG: Received new input data:
1/22/2020, 11:32:01 AM - DEBUG: <features xmlns="http://etherx.jabber.org/streams"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><required/></bind></features>
1/22/2020, 11:32:01 AM - DEBUG: Received new output data:
1/22/2020, 11:32:01 AM - DEBUG: <iq type="set" id="ylnhh4s7eo" xmlns="jabber:client"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>freeathome-api</resource></bind></iq>
1/22/2020, 11:32:01 AM - DEBUG: Received new status:
1/22/2020, 11:32:01 AM - DEBUG: open
1/22/2020, 11:32:01 AM - DEBUG: Received new input data:
1/22/2020, 11:32:01 AM - DEBUG: <iq id="ylnhh4s7eo" type="result" xmlns="jabber:client"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>6945dcec-125f-411c-82dd-29ca66b95a99@busch-jaeger.de/freeathome-api</jid></bind></iq>
1/22/2020, 11:32:01 AM - DEBUG: Received stanza:
1/22/2020, 11:32:01 AM - DEBUG: Element {
  name: 'iq',
  parent: null,
  children:
   [ Element {
       name: 'bind',
       parent: [Circular],
       children: [Array],
       attrs: [Object] } ],
  attrs: { id: 'ylnhh4s7eo', type: 'result', xmlns: 'jabber:client' } }
1/22/2020, 11:32:01 AM - DEBUG: Received new status:
1/22/2020, 11:32:01 AM - DEBUG: online
1/22/2020, 11:32:01 AM - INFO: Connected as 6945dcec-125f-411c-82dd-29ca66b95a99@busch-jaeger.de/freeathome-api
1/22/2020, 11:32:01 AM - INFO: Websocket Server started
henry-spanka commented 4 years ago

Hmm. I'm not sure how to fix it. We could ignore the EPIPE error and let it reconnect automatically, however that would probably be bad in case a real error occurs. The API should exit properly when an error occurs so systemd can restart it (for example).

We need to to implement some error handling to automatically reconnect. I may consider this for a future update but at the moment I won't fix this. I think the real issue is a race condition in the XMPP library so even a fix from my side would just be a workaround.