switch back from radio
This commit is contained in:
		
							parent
							
								
									e4a5316133
								
							
						
					
					
						commit
						cf3005cdc0
					
				@ -41,6 +41,7 @@ def button_callback_3(channel):
 | 
				
			|||||||
        if time.time() - start_time >= 3:  # Check if 3 seconds have passed
 | 
					        if time.time() - start_time >= 3:  # Check if 3 seconds have passed
 | 
				
			||||||
            print("Button 3 held for 3 seconds! Sending RADIO2.")
 | 
					            print("Button 3 held for 3 seconds! Sending RADIO2.")
 | 
				
			||||||
            update_disc(client, ["ytmusic",disc_data['name'],disc_data['type'],"RESET"])
 | 
					            update_disc(client, ["ytmusic",disc_data['name'],disc_data['type'],"RESET"])
 | 
				
			||||||
 | 
					            control_player(client, "PLAY")
 | 
				
			||||||
            update_disc(client, ["ytmusic",disc_data['name'],disc_data['type'],disc_data['id']])
 | 
					            update_disc(client, ["ytmusic",disc_data['name'],disc_data['type'],disc_data['id']])
 | 
				
			||||||
            return  # Exit after sending RADIO2
 | 
					            return  # Exit after sending RADIO2
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										22
									
								
								lib/mqtt.py
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								lib/mqtt.py
									
									
									
									
									
								
							@ -1,6 +1,7 @@
 | 
				
			|||||||
import os
 | 
					import os
 | 
				
			||||||
import paho.mqtt.client as mqtt
 | 
					import paho.mqtt.client as mqtt
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
 | 
					import time
 | 
				
			||||||
from dotenv import load_dotenv
 | 
					from dotenv import load_dotenv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load the .env file
 | 
					# Load the .env file
 | 
				
			||||||
@ -228,29 +229,40 @@ def check_current_status(client: mqtt.Client) -> str:
 | 
				
			|||||||
    return userdata['message']
 | 
					    return userdata['message']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def update_disc(client: mqtt.Client, disc_message: dict) -> None:
 | 
					def update_disc(client: mqtt.Client, disc_message: list) -> None:
 | 
				
			||||||
    """Update current disc.
 | 
					    """Update current disc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Args:
 | 
					    Args:
 | 
				
			||||||
        client (mqtt.Client): MQTT Client
 | 
					        client (mqtt.Client): MQTT Client
 | 
				
			||||||
        disc_message (dict): Current disc information
 | 
					        disc_message (dict): Current disc information
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
 | 
					    # Publish disc name with QoS 1
 | 
				
			||||||
    client.publish(
 | 
					    client.publish(
 | 
				
			||||||
        "homeassistant/sensor/floppy_player/current_disc/state",
 | 
					        "homeassistant/sensor/floppy_player/current_disc/state",
 | 
				
			||||||
        disc_message[1],
 | 
					        disc_message[1],
 | 
				
			||||||
        retain=True,
 | 
					        qos=1,
 | 
				
			||||||
 | 
					        retain=True
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					    time.sleep(0.1)  # Small delay to ensure messages are sent in order
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Publish disc type with QoS 1
 | 
				
			||||||
    client.publish(
 | 
					    client.publish(
 | 
				
			||||||
        "homeassistant/sensor/floppy_player/current_disc_type/state",
 | 
					        "homeassistant/sensor/floppy_player/current_disc_type/state",
 | 
				
			||||||
        disc_message[2],
 | 
					        disc_message[2],
 | 
				
			||||||
        retain=True,
 | 
					        qos=1,
 | 
				
			||||||
 | 
					        retain=True
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					    time.sleep(0.1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Publish disc ID with QoS 1
 | 
				
			||||||
    client.publish(
 | 
					    client.publish(
 | 
				
			||||||
        "homeassistant/sensor/floppy_player/current_disc_id/state",
 | 
					        "homeassistant/sensor/floppy_player/current_disc_id/state",
 | 
				
			||||||
        disc_message[3],
 | 
					        disc_message[3],
 | 
				
			||||||
        retain=True,
 | 
					        qos=1,
 | 
				
			||||||
 | 
					        retain=True
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    print(f"Published current disc: {disc_message}")
 | 
					
 | 
				
			||||||
 | 
					    print(f"Published current disc with QoS 1: {disc_message}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def control_player(client: mqtt.Client, state: str) -> None:
 | 
					def control_player(client: mqtt.Client, state: str) -> None:
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user