CyBear-Jinni / cbj_hub

🕸️ Easy to use open source Hub to control your smart devices from one app.
https://cybearjinni.com
GNU Affero General Public License v3.0
31 stars 21 forks source link

Error ESPHome on low power arm device #275

Closed guyluz11 closed 1 year ago

guyluz11 commented 1 year ago

After ESPHome got detected the python setup starting and it takes long time to complete, during that it crush.

Important to note that python commands run inside isolate using compute

Error finding ip of mdns record _esphomelib._tcp.local srv target guy.local , will add it with ip 0.0.0.0
SocketException: Failed host lookup: 'guy.local' (OS Error: Name or service not known, errno = -2)
Initializing shell...
Default settings for virtualenv...
Virtualenv settings finished.
Shell initialized.
Installing requirements...
Requirements installed.
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ 22:10:16.713 (+0:02:21.007956)
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
│ Disconnected
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Unhandled exception:
SocketException: Write failed (OS Error: Broken pipe, errno = 32), address = 127.0.0.1, port = 34540
#0      _NativeSocket.write (dart:io-patch/socket_patch.dart:1190:34)
#1      _RawSocket.write (dart:io-patch/socket_patch.dart:1916:15)
#2      _Socket._write (dart:io-patch/socket_patch.dart:2356:18)
#3      _SocketStreamConsumer.write (dart:io-patch/socket_patch.dart:2104:26)
#4      _SocketStreamConsumer.addStream.<anonymous closure> (dart:io-patch/socket_patch.dart:2078:11)
#5      _RootZone.runUnaryGuarded (dart:async/zone.dart:1586:10)
#6      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#7      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#8      _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:774:19)
#9      _StreamController._add (dart:async/stream_controller.dart:648:7)
#10     _StreamController.add (dart:async/stream_controller.dart:596:5)
#11     _StreamSinkImpl.add (dart:io/io_sink.dart:136:17)
#12     _Socket.add (dart:io-patch/socket_patch.dart:2203:38)
#13     MqttServerNormalConnection.send (package:mqtt_client/src/connectionhandling/server/mqtt_client_mqtt_server_normal_connection.dart:90:13)
#14     MqttConnectionHandlerBase.sendMessage (package:mqtt_client/src/connectionhandling/mqtt_client_mqtt_connection_handler_base.dart:167:18)
#15     PublishingManager.handlePublish (package:mqtt_client/src/mqtt_client_publishing_manager.dart:172:30)
#16     MqttConnectionHandlerBase.messageAvailable (package:mqtt_client/src/connectionhandling/mqtt_client_mqtt_connection_handler_base.dart:225:15)
#17     _RootZone.runUnaryGuarded (dart:async/zone.dart:1586:10)
#18     CastStreamSubscription._onData (dart:_internal/async_cast.dart:85:11)
#19     _RootZone.runUnaryGuarded (dart:async/zone.dart:1586:10)
#20     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#21     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#22     _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:123:11)
#23     _WhereStream._handleData (dart:async/stream_pipe.dart:195:12)
#24     _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:153:13)
#25     _RootZone.runUnaryGuarded (dart:async/zone.dart:1586:10)
#26     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#27     _DelayedData.perform (dart:async/stream_impl.dart:515:14)
#28     _PendingEvents.handleNext (dart:async/stream_impl.dart:620:11)
#29     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:591:7)
#30     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#31     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
#32     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:122:13)
#33     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:193:5)
guyluz11 commented 1 year ago

This pr will fix the issue, unfortunately getting all ESPHome entities does not seem to work on my pi variant, no errors are presented. I think the python commands are not getting completed inside the isolate (only there), on my Linux computer the same code works.

Tested got done without the use of the snap format.

guyluz11 commented 1 year ago

Pr got marged, will close the issue now