mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Attempt to solve UnicodeEncodeError in HassIO when running on RPi
This commit is contained in:
		| @@ -102,12 +102,15 @@ def run_miniterm(config, port, escape=False): | |||||||
|  |  | ||||||
|     with serial.Serial(port, baudrate=baud_rate) as ser: |     with serial.Serial(port, baudrate=baud_rate) as ser: | ||||||
|         while True: |         while True: | ||||||
|             line = ser.readline() |             line = ser.readline().replace('\r', '').replace('\n', '') | ||||||
|             time = datetime.now().time().strftime('[%H:%M:%S]') |             time = datetime.now().time().strftime('[%H:%M:%S]') | ||||||
|             message = time + line.decode('unicode-escape').replace('\r', '').replace('\n', '') |             message = time + line | ||||||
|             if escape: |             if escape: | ||||||
|                 message = message.replace('\033', '\\033').encode('ascii', 'replace') |                 message = message.replace('\033', '\\033') | ||||||
|  |             try: | ||||||
|                 print(message) |                 print(message) | ||||||
|  |             except UnicodeEncodeError: | ||||||
|  |                 print(message.encode('ascii', 'backslashreplace')) | ||||||
|  |  | ||||||
|  |  | ||||||
| def write_cpp(config): | def write_cpp(config): | ||||||
|   | |||||||
| @@ -57,10 +57,13 @@ def show_logs(config, topic=None, username=None, password=None, client_id=None, | |||||||
|  |  | ||||||
|     def on_message(client, userdata, msg): |     def on_message(client, userdata, msg): | ||||||
|         time = datetime.now().time().strftime(u'[%H:%M:%S]') |         time = datetime.now().time().strftime(u'[%H:%M:%S]') | ||||||
|         message = msg.payload.decode('utf-8') |         message = time + msg.payload | ||||||
|         if escape: |         if escape: | ||||||
|             message = message.replace('\033', '\\033') |             message = message.replace('\033', '\\033') | ||||||
|         print(time + message) |         try: | ||||||
|  |             print(message) | ||||||
|  |         except UnicodeEncodeError: | ||||||
|  |             print(message.encode('ascii', 'backslashreplace')) | ||||||
|  |  | ||||||
|     return initialize(config, [topic], on_message, username, password, client_id) |     return initialize(config, [topic], on_message, username, password, client_id) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user