nixos-configs/devices/homie/modules/home-assistant/netdaemon/HomeAssistantGenerated
matt1432 ce4f9c23ec
All checks were successful
Discord / discord commits (push) Has been skipped
feat(netd): add pause/unpause script
2024-12-02 11:03:43 -05:00

12721 lines
No EOL
764 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//------------------------------------------------------------------------------
// <auto-generated>
// Generated using NetDaemon CodeGenerator nd-codegen v24.43.0.0
// At: 2024-12-02T10:39:19.4163305-05:00
//
// *** Make sure the version of the codegen tool and your nugets NetDaemon.* have the same version.***
// You can use following command to keep it up to date with the latest version:
// dotnet tool update NetDaemon.HassModel.CodeGen
//
// To update this file with latest entities run this command in your project directory:
// dotnet tool run nd-codegen
//
// In the template projects we provided a convenience powershell script that will update
// the codegen and nugets to latest versions update_all_dependencies.ps1.
//
// For more information: https://netdaemon.xyz/docs/user/hass_model/hass_model_codegen
// For more information about NetDaemon: https://netdaemon.xyz/
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
using System;
using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using System.Text.Json;
using System.Text.Json.Serialization;
using NetDaemon.HassModel;
using NetDaemon.HassModel.Entities;
using NetDaemon.HassModel.Entities.Core;
namespace HomeAssistantGenerated;
public static class GeneratedExtensions
{
///<summary>Registers all injectable generated types in the serviceCollection</summary>
public static IServiceCollection AddHomeAssistantGenerated(this IServiceCollection serviceCollection)
{
serviceCollection.AddTransient<IEntityFactory, GeneratedEntityFactory>();
serviceCollection.AddTransient<Entities>();
serviceCollection.AddTransient<LightEntities>();
serviceCollection.AddTransient<MediaPlayerEntities>();
serviceCollection.AddTransient<AutomationEntities>();
serviceCollection.AddTransient<BinarySensorEntities>();
serviceCollection.AddTransient<ButtonEntities>();
serviceCollection.AddTransient<CalendarEntities>();
serviceCollection.AddTransient<ConversationEntities>();
serviceCollection.AddTransient<DeviceTrackerEntities>();
serviceCollection.AddTransient<InputBooleanEntities>();
serviceCollection.AddTransient<InputTextEntities>();
serviceCollection.AddTransient<LockEntities>();
serviceCollection.AddTransient<NumberEntities>();
serviceCollection.AddTransient<PersonEntities>();
serviceCollection.AddTransient<RemoteEntities>();
serviceCollection.AddTransient<ScriptEntities>();
serviceCollection.AddTransient<SelectEntities>();
serviceCollection.AddTransient<SensorEntities>();
serviceCollection.AddTransient<SensorEntities>();
serviceCollection.AddTransient<SttEntities>();
serviceCollection.AddTransient<SunEntities>();
serviceCollection.AddTransient<SwitchEntities>();
serviceCollection.AddTransient<TimerEntities>();
serviceCollection.AddTransient<TodoEntities>();
serviceCollection.AddTransient<TtsEntities>();
serviceCollection.AddTransient<WakeWordEntities>();
serviceCollection.AddTransient<WeatherEntities>();
serviceCollection.AddTransient<ZoneEntities>();
serviceCollection.AddTransient<AssistSatelliteEntities>();
serviceCollection.AddTransient<Services>();
serviceCollection.AddTransient<AndroidtvServices>();
serviceCollection.AddTransient<AssistSatelliteServices>();
serviceCollection.AddTransient<AutomationServices>();
serviceCollection.AddTransient<BackupServices>();
serviceCollection.AddTransient<ButtonServices>();
serviceCollection.AddTransient<CalendarServices>();
serviceCollection.AddTransient<CastServices>();
serviceCollection.AddTransient<ClimateServices>();
serviceCollection.AddTransient<ConversationServices>();
serviceCollection.AddTransient<CounterServices>();
serviceCollection.AddTransient<DeviceTrackerServices>();
serviceCollection.AddTransient<ExtendedOllamaConversationServices>();
serviceCollection.AddTransient<FfmpegServices>();
serviceCollection.AddTransient<FrontendServices>();
serviceCollection.AddTransient<HomeassistantServices>();
serviceCollection.AddTransient<InputBooleanServices>();
serviceCollection.AddTransient<InputButtonServices>();
serviceCollection.AddTransient<InputDatetimeServices>();
serviceCollection.AddTransient<InputNumberServices>();
serviceCollection.AddTransient<InputSelectServices>();
serviceCollection.AddTransient<InputTextServices>();
serviceCollection.AddTransient<IntentScriptServices>();
serviceCollection.AddTransient<LightServices>();
serviceCollection.AddTransient<LockServices>();
serviceCollection.AddTransient<LogbookServices>();
serviceCollection.AddTransient<LoggerServices>();
serviceCollection.AddTransient<LovelaceServices>();
serviceCollection.AddTransient<MediaPlayerServices>();
serviceCollection.AddTransient<NetdaemonServices>();
serviceCollection.AddTransient<NotifyServices>();
serviceCollection.AddTransient<NumberServices>();
serviceCollection.AddTransient<PersistentNotificationServices>();
serviceCollection.AddTransient<PersonServices>();
serviceCollection.AddTransient<RecorderServices>();
serviceCollection.AddTransient<RemoteServices>();
serviceCollection.AddTransient<RestServices>();
serviceCollection.AddTransient<SceneServices>();
serviceCollection.AddTransient<ScheduleServices>();
serviceCollection.AddTransient<ScriptServices>();
serviceCollection.AddTransient<SelectServices>();
serviceCollection.AddTransient<ShellCommandServices>();
serviceCollection.AddTransient<ShoppingListServices>();
serviceCollection.AddTransient<SpotifyplusServices>();
serviceCollection.AddTransient<SwitchServices>();
serviceCollection.AddTransient<SystemLogServices>();
serviceCollection.AddTransient<TemplateServices>();
serviceCollection.AddTransient<TimerServices>();
serviceCollection.AddTransient<TodoServices>();
serviceCollection.AddTransient<TtsServices>();
serviceCollection.AddTransient<WeatherServices>();
serviceCollection.AddTransient<YamahaSoundbarServices>();
serviceCollection.AddTransient<ZoneServices>();
return serviceCollection;
}
}
/// <summary>
/// Allows HassModel to instantiate the correct generated Entity types
/// </summary>
public class GeneratedEntityFactory : IEntityFactory
{
public Entity CreateEntity(IHaContext haContext, string entityId)
{
var dot = entityId.IndexOf('.', StringComparison.Ordinal);
var domain = dot < 0 ? entityId.AsSpan() : entityId[..dot];
return domain switch
{
"assist_satellite" => new AssistSatelliteEntity(haContext, entityId),
"automation" => new AutomationEntity(haContext, entityId),
"binary_sensor" => new BinarySensorEntity(haContext, entityId),
"button" => new ButtonEntity(haContext, entityId),
"calendar" => new CalendarEntity(haContext, entityId),
"conversation" => new ConversationEntity(haContext, entityId),
"device_tracker" => new DeviceTrackerEntity(haContext, entityId),
"input_boolean" => new InputBooleanEntity(haContext, entityId),
"input_text" => new InputTextEntity(haContext, entityId),
"light" => new LightEntity(haContext, entityId),
"lock" => new LockEntity(haContext, entityId),
"media_player" => new MediaPlayerEntity(haContext, entityId),
"number" => new NumberEntity(haContext, entityId),
"person" => new PersonEntity(haContext, entityId),
"remote" => new RemoteEntity(haContext, entityId),
"script" => new ScriptEntity(haContext, entityId),
"select" => new SelectEntity(haContext, entityId),
"sensor" when IsNumeric() => new NumericSensorEntity(haContext, entityId),
"sensor" => new SensorEntity(haContext, entityId),
"stt" => new SttEntity(haContext, entityId),
"sun" => new SunEntity(haContext, entityId),
"switch" => new SwitchEntity(haContext, entityId),
"timer" => new TimerEntity(haContext, entityId),
"todo" => new TodoEntity(haContext, entityId),
"tts" => new TtsEntity(haContext, entityId),
"wake_word" => new WakeWordEntity(haContext, entityId),
"weather" => new WeatherEntity(haContext, entityId),
"zone" => new ZoneEntity(haContext, entityId),
_ => new Entity(haContext, entityId)};
bool IsNumeric() => haContext.GetState(entityId)?.AttributesJson?.TryGetProperty("unit_of_measurement", out _) ?? false;
}
}
public interface IEntities
{
LightEntities Light { get; }
MediaPlayerEntities MediaPlayer { get; }
AutomationEntities Automation { get; }
BinarySensorEntities BinarySensor { get; }
ButtonEntities Button { get; }
CalendarEntities Calendar { get; }
ConversationEntities Conversation { get; }
DeviceTrackerEntities DeviceTracker { get; }
InputBooleanEntities InputBoolean { get; }
InputTextEntities InputText { get; }
LockEntities Lock { get; }
NumberEntities Number { get; }
PersonEntities Person { get; }
RemoteEntities Remote { get; }
ScriptEntities Script { get; }
SelectEntities Select { get; }
SensorEntities Sensor { get; }
SttEntities Stt { get; }
SunEntities Sun { get; }
SwitchEntities Switch { get; }
TimerEntities Timer { get; }
TodoEntities Todo { get; }
TtsEntities Tts { get; }
WakeWordEntities WakeWord { get; }
WeatherEntities Weather { get; }
ZoneEntities Zone { get; }
AssistSatelliteEntities AssistSatellite { get; }
}
public partial class Entities : IEntities
{
private readonly IHaContext _haContext;
public Entities(IHaContext haContext)
{
_haContext = haContext;
}
public LightEntities Light => new(_haContext);
public MediaPlayerEntities MediaPlayer => new(_haContext);
public AutomationEntities Automation => new(_haContext);
public BinarySensorEntities BinarySensor => new(_haContext);
public ButtonEntities Button => new(_haContext);
public CalendarEntities Calendar => new(_haContext);
public ConversationEntities Conversation => new(_haContext);
public DeviceTrackerEntities DeviceTracker => new(_haContext);
public InputBooleanEntities InputBoolean => new(_haContext);
public InputTextEntities InputText => new(_haContext);
public LockEntities Lock => new(_haContext);
public NumberEntities Number => new(_haContext);
public PersonEntities Person => new(_haContext);
public RemoteEntities Remote => new(_haContext);
public ScriptEntities Script => new(_haContext);
public SelectEntities Select => new(_haContext);
public SensorEntities Sensor => new(_haContext);
public SttEntities Stt => new(_haContext);
public SunEntities Sun => new(_haContext);
public SwitchEntities Switch => new(_haContext);
public TimerEntities Timer => new(_haContext);
public TodoEntities Todo => new(_haContext);
public TtsEntities Tts => new(_haContext);
public WakeWordEntities WakeWord => new(_haContext);
public WeatherEntities Weather => new(_haContext);
public ZoneEntities Zone => new(_haContext);
public AssistSatelliteEntities AssistSatellite => new(_haContext);
}
public partial class LightEntities
{
private readonly IHaContext _haContext;
public LightEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all light entities currently registered (at runtime) in Home Assistant as LightEntity</summary>
public IEnumerable<LightEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("light.")).Select(e => new LightEntity(e));
///<summary>M5Stack Atom Echo 31196c </summary>
public LightEntity M5stackAtomEcho31196cM5stackAtomEcho31196c => new(_haContext, "light.m5stack_atom_echo_31196c_m5stack_atom_echo_31196c");
}
public partial class MediaPlayerEntities
{
private readonly IHaContext _haContext;
public MediaPlayerEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all media_player entities currently registered (at runtime) in Home Assistant as MediaPlayerEntity</summary>
public IEnumerable<MediaPlayerEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("media_player.")).Select(e => new MediaPlayerEntity(e));
///<summary>Android TV 192.168.0.106</summary>
public MediaPlayerEntity AndroidTv1921680106 => new(_haContext, "media_player.android_tv_192_168_0_106");
///<summary>YAS_209</summary>
public MediaPlayerEntity LivingRoomSpeaker => new(_haContext, "media_player.living_room_speaker");
///<summary>UE Boom 2</summary>
public MediaPlayerEntity MusicPlayerDaemon => new(_haContext, "media_player.music_player_daemon");
///<summary>Living room TV</summary>
public MediaPlayerEntity Onn4kStreamingBox => new(_haContext, "media_player.onn_4k_streaming_box");
///<summary>Living room TV</summary>
public MediaPlayerEntity Onn4kStreamingBox2 => new(_haContext, "media_player.onn_4k_streaming_box_2");
///<summary>Spotify matt</summary>
public MediaPlayerEntity SpotifyMatt => new(_haContext, "media_player.spotify_matt");
///<summary>SpotifyPlus matt</summary>
public MediaPlayerEntity Spotifyplus => new(_haContext, "media_player.spotifyplus");
}
public partial class AutomationEntities
{
private readonly IHaContext _haContext;
public AutomationEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all automation entities currently registered (at runtime) in Home Assistant as AutomationEntity</summary>
public IEnumerable<AutomationEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("automation.")).Select(e => new AutomationEntity(e));
///<summary>Assist - TimerFinished</summary>
public AutomationEntity AssistTimerfinished => new(_haContext, "automation.assist_timerfinished");
///<summary>Assist - TimerReached</summary>
public AutomationEntity AssistTimerreached => new(_haContext, "automation.assist_timerreached");
///<summary>Turn On UE</summary>
public AutomationEntity TurnOnUe => new(_haContext, "automation.turn_on_ue");
}
public partial class BinarySensorEntities
{
private readonly IHaContext _haContext;
public BinarySensorEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all binary_sensor entities currently registered (at runtime) in Home Assistant as BinarySensorEntity</summary>
public IEnumerable<BinarySensorEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("binary_sensor.")).Select(e => new BinarySensorEntity(e));
///<summary>CODA-4680-FIZ WAN status</summary>
public BinarySensorEntity Coda4680FizWanStatus => new(_haContext, "binary_sensor.coda_4680_fiz_wan_status");
///<summary>M5Stack Atom Echo 31196c Button</summary>
public BinarySensorEntity M5stackAtomEcho131196cButton => new(_haContext, "binary_sensor.m5stack_atom_echo_1_31196c_button");
///<summary>Pixel 8 Bluetooth state</summary>
public BinarySensorEntity Pixel8BluetoothState => new(_haContext, "binary_sensor.pixel_8_bluetooth_state");
///<summary>Pixel 8 Headphones</summary>
public BinarySensorEntity Pixel8Headphones => new(_haContext, "binary_sensor.pixel_8_headphones");
///<summary>Pixel 8 Hotspot state</summary>
public BinarySensorEntity Pixel8HotspotState => new(_haContext, "binary_sensor.pixel_8_hotspot_state");
///<summary>Pixel 8 Is charging</summary>
public BinarySensorEntity Pixel8IsCharging => new(_haContext, "binary_sensor.pixel_8_is_charging");
///<summary>Pixel 8 Mic muted</summary>
public BinarySensorEntity Pixel8MicMuted => new(_haContext, "binary_sensor.pixel_8_mic_muted");
///<summary>Pixel 8 Mobile data</summary>
public BinarySensorEntity Pixel8MobileData => new(_haContext, "binary_sensor.pixel_8_mobile_data");
///<summary>Pixel 8 Mobile data roaming</summary>
public BinarySensorEntity Pixel8MobileDataRoaming => new(_haContext, "binary_sensor.pixel_8_mobile_data_roaming");
///<summary>Pixel 8 Music active</summary>
public BinarySensorEntity Pixel8MusicActive => new(_haContext, "binary_sensor.pixel_8_music_active");
///<summary>Pixel 8 NFC state</summary>
public BinarySensorEntity Pixel8NfcState => new(_haContext, "binary_sensor.pixel_8_nfc_state");
///<summary>Pixel 8 Speakerphone</summary>
public BinarySensorEntity Pixel8Speakerphone => new(_haContext, "binary_sensor.pixel_8_speakerphone");
///<summary>Pixel 8 WiFi state</summary>
public BinarySensorEntity Pixel8WifiState => new(_haContext, "binary_sensor.pixel_8_wifi_state");
}
public partial class ButtonEntities
{
private readonly IHaContext _haContext;
public ButtonEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all button entities currently registered (at runtime) in Home Assistant as ButtonEntity</summary>
public IEnumerable<ButtonEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("button.")).Select(e => new ButtonEntity(e));
///<summary>M5Stack Atom Echo 31196c Factory reset</summary>
public ButtonEntity M5stackAtomEcho131196cFactoryReset => new(_haContext, "button.m5stack_atom_echo_1_31196c_factory_reset");
///<summary>M5Stack Atom Echo 31196c Safe Mode Boot</summary>
public ButtonEntity M5stackAtomEcho31196cSafeModeBoot => new(_haContext, "button.m5stack_atom_echo_31196c_safe_mode_boot");
}
public partial class CalendarEntities
{
private readonly IHaContext _haContext;
public CalendarEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all calendar entities currently registered (at runtime) in Home Assistant as CalendarEntity</summary>
public IEnumerable<CalendarEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("calendar.")).Select(e => new CalendarEntity(e));
///<summary>Canada, QC</summary>
public CalendarEntity CanadaQc => new(_haContext, "calendar.canada_qc");
///<summary>Contact birthdays</summary>
public CalendarEntity ContactBirthdays => new(_haContext, "calendar.contact_birthdays");
///<summary>Personal</summary>
public CalendarEntity Personal => new(_haContext, "calendar.personal");
}
public partial class ConversationEntities
{
private readonly IHaContext _haContext;
public ConversationEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all conversation entities currently registered (at runtime) in Home Assistant as ConversationEntity</summary>
public IEnumerable<ConversationEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("conversation.")).Select(e => new ConversationEntity(e));
///<summary>Fallback Conversation Agent</summary>
public ConversationEntity FallbackConversationAgent => new(_haContext, "conversation.fallback_conversation_agent");
///<summary>Home Assistant</summary>
public ConversationEntity HomeAssistant => new(_haContext, "conversation.home_assistant");
}
public partial class DeviceTrackerEntities
{
private readonly IHaContext _haContext;
public DeviceTrackerEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all device_tracker entities currently registered (at runtime) in Home Assistant as DeviceTrackerEntity</summary>
public IEnumerable<DeviceTrackerEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("device_tracker.")).Select(e => new DeviceTrackerEntity(e));
public DeviceTrackerEntity Care4b6b => new(_haContext, "device_tracker.care_4b6b");
///<summary>Pixel 8</summary>
public DeviceTrackerEntity Pixel8 => new(_haContext, "device_tracker.pixel_8");
///<summary>Z Flip 6</summary>
public DeviceTrackerEntity SmF741w => new(_haContext, "device_tracker.sm_f741w");
}
public partial class InputBooleanEntities
{
private readonly IHaContext _haContext;
public InputBooleanEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all input_boolean entities currently registered (at runtime) in Home Assistant as InputBooleanEntity</summary>
public IEnumerable<InputBooleanEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("input_boolean.")).Select(e => new InputBooleanEntity(e));
///<summary>netdaemon_net_daemon_config_apps_spotify_play_album_play_album</summary>
public InputBooleanEntity NetdaemonNetDaemonConfigAppsSpotifyPlayAlbumPlayAlbum => new(_haContext, "input_boolean.netdaemon_net_daemon_config_apps_spotify_play_album_play_album");
///<summary>netdaemon_net_daemon_config_apps_spotify_play_artist_play_artist</summary>
public InputBooleanEntity NetdaemonNetDaemonConfigAppsSpotifyPlayArtistPlayArtist => new(_haContext, "input_boolean.netdaemon_net_daemon_config_apps_spotify_play_artist_play_artist");
///<summary>netdaemon_net_daemon_config_apps_spotify_play_playlist_play_playlist</summary>
public InputBooleanEntity NetdaemonNetDaemonConfigAppsSpotifyPlayPlaylistPlayPlaylist => new(_haContext, "input_boolean.netdaemon_net_daemon_config_apps_spotify_play_playlist_play_playlist");
///<summary>netdaemon_net_daemon_config_apps_spotify_play_song_play_song</summary>
public InputBooleanEntity NetdaemonNetDaemonConfigAppsSpotifyPlaySongPlaySong => new(_haContext, "input_boolean.netdaemon_net_daemon_config_apps_spotify_play_song_play_song");
}
public partial class InputTextEntities
{
private readonly IHaContext _haContext;
public InputTextEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all input_text entities currently registered (at runtime) in Home Assistant as InputTextEntity</summary>
public IEnumerable<InputTextEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("input_text.")).Select(e => new InputTextEntity(e));
///<summary>Assist - Timer 1 Location</summary>
public InputTextEntity AssistTimer1Location => new(_haContext, "input_text.assist_timer1_location");
///<summary>Assist - Timer 2 Location</summary>
public InputTextEntity AssistTimer2Location => new(_haContext, "input_text.assist_timer2_location");
///<summary>Assist - Timer 3 Location</summary>
public InputTextEntity AssistTimer3Location => new(_haContext, "input_text.assist_timer3_location");
}
public partial class LockEntities
{
private readonly IHaContext _haContext;
public LockEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all lock entities currently registered (at runtime) in Home Assistant as LockEntity</summary>
public IEnumerable<LockEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("lock.")).Select(e => new LockEntity(e));
///<summary>Smartplug1 Child lock</summary>
public LockEntity Smartplug1ChildLock => new(_haContext, "lock.smartplug_1_child_lock");
///<summary>Smartplug2 Child lock</summary>
public LockEntity Smartplug2ChildLock => new(_haContext, "lock.smartplug2_child_lock");
///<summary>Smartplug3 Child lock</summary>
public LockEntity Smartplug3ChildLock => new(_haContext, "lock.smartplug3_child_lock");
}
public partial class NumberEntities
{
private readonly IHaContext _haContext;
public NumberEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all number entities currently registered (at runtime) in Home Assistant as NumberEntity</summary>
public IEnumerable<NumberEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("number.")).Select(e => new NumberEntity(e));
///<summary>Smartplug1 Timer</summary>
public NumberEntity Smartplug1Timer => new(_haContext, "number.smartplug_1_timer");
///<summary>Smartplug2 Timer</summary>
public NumberEntity Smartplug2Timer => new(_haContext, "number.smartplug2_timer");
///<summary>Smartplug3 Timer</summary>
public NumberEntity Smartplug3Timer => new(_haContext, "number.smartplug3_timer");
}
public partial class PersonEntities
{
private readonly IHaContext _haContext;
public PersonEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all person entities currently registered (at runtime) in Home Assistant as PersonEntity</summary>
public IEnumerable<PersonEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("person.")).Select(e => new PersonEntity(e));
///<summary>Matt</summary>
public PersonEntity Matt => new(_haContext, "person.matt");
///<summary>Wifey &lt;3</summary>
public PersonEntity Wifey => new(_haContext, "person.wifey");
}
public partial class RemoteEntities
{
private readonly IHaContext _haContext;
public RemoteEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all remote entities currently registered (at runtime) in Home Assistant as RemoteEntity</summary>
public IEnumerable<RemoteEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("remote.")).Select(e => new RemoteEntity(e));
///<summary>Android TV 192.168.0.106</summary>
public RemoteEntity AndroidTv1921680106 => new(_haContext, "remote.android_tv_192_168_0_106");
///<summary>Living room TV</summary>
public RemoteEntity Onn4kStreamingBox => new(_haContext, "remote.onn_4k_streaming_box");
}
public partial class ScriptEntities
{
private readonly IHaContext _haContext;
public ScriptEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all script entities currently registered (at runtime) in Home Assistant as ScriptEntity</summary>
public IEnumerable<ScriptEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("script.")).Select(e => new ScriptEntity(e));
///<summary>Assist - TimerPause</summary>
public ScriptEntity AssistTimerpause => new(_haContext, "script.assist_timerpause");
///<summary>Assist - TimerStart</summary>
public ScriptEntity AssistTimerstart => new(_haContext, "script.assist_timerstart");
///<summary>Assist - TimerStop</summary>
public ScriptEntity AssistTimerstop => new(_haContext, "script.assist_timerstop");
///<summary>Music - TurnOnUE</summary>
public ScriptEntity TurnOnUe => new(_haContext, "script.turn_on_ue");
}
public partial class SelectEntities
{
private readonly IHaContext _haContext;
public SelectEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all select entities currently registered (at runtime) in Home Assistant as SelectEntity</summary>
public IEnumerable<SelectEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("select.")).Select(e => new SelectEntity(e));
///<summary>M5Stack Atom Echo 31196c Assistant</summary>
public SelectEntity M5stackAtomEcho131196cAssistPipeline => new(_haContext, "select.m5stack_atom_echo_1_31196c_assist_pipeline");
///<summary>M5Stack Atom Echo 31196c Finished speaking detection</summary>
public SelectEntity M5stackAtomEcho131196cFinishedSpeakingDetection => new(_haContext, "select.m5stack_atom_echo_1_31196c_finished_speaking_detection");
///<summary>M5Stack Atom Echo 31196c Wake word engine location</summary>
public SelectEntity M5stackAtomEcho131196cWakeWordEngineLocation => new(_haContext, "select.m5stack_atom_echo_1_31196c_wake_word_engine_location");
///<summary>Smartplug1 Initial state</summary>
public SelectEntity Smartplug1InitialState => new(_haContext, "select.smartplug_1_initial_state");
///<summary>Smartplug1 Light mode</summary>
public SelectEntity Smartplug1LightMode => new(_haContext, "select.smartplug_1_light_mode");
///<summary>Smartplug2 Initial state</summary>
public SelectEntity Smartplug2InitialState => new(_haContext, "select.smartplug2_initial_state");
///<summary>Smartplug2 Light mode</summary>
public SelectEntity Smartplug2LightMode => new(_haContext, "select.smartplug2_light_mode");
///<summary>Smartplug3 Initial state</summary>
public SelectEntity Smartplug3InitialState => new(_haContext, "select.smartplug3_initial_state");
///<summary>Smartplug3 Light mode</summary>
public SelectEntity Smartplug3LightMode => new(_haContext, "select.smartplug3_light_mode");
}
public partial class SensorEntities
{
private readonly IHaContext _haContext;
public SensorEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all sensor entities currently registered (at runtime) in Home Assistant as SensorEntity</summary>
public IEnumerable<SensorEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("sensor.")).Select(e => new SensorEntity(e));
/// <summary>Enumerates all non-numeric sensor entities currently registered (at runtime) in Home Assistant as SensorEntity</summary>
public IEnumerable<SensorEntity> EnumerateAllNonNumeric() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("sensor.") && !(e.EntityState?.AttributesJson?.TryGetProperty("unit_of_measurement", out _) ?? false)).Select(e => new SensorEntity(e));
/// <summary>Enumerates all numeric sensor entities currently registered (at runtime) in Home Assistant as NumericSensorEntity</summary>
public IEnumerable<NumericSensorEntity> EnumerateAllNumeric() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("sensor.") && (e.EntityState?.AttributesJson?.TryGetProperty("unit_of_measurement", out _) ?? false)).Select(e => new NumericSensorEntity(e));
///<summary>CODA-4680-FIZ External IP</summary>
public SensorEntity Coda4680FizExternalIp => new(_haContext, "sensor.coda_4680_fiz_external_ip");
///<summary>Fallback Conversation Agent Result</summary>
public SensorEntity FallbackConversationAgentResult => new(_haContext, "sensor.fallback_conversation_agent_result");
///<summary>Material Rounded Base Color Matt</summary>
public SensorEntity MaterialRoundedBaseColorMatt => new(_haContext, "sensor.material_rounded_base_color_matt");
///<summary>Pixel 8 Accent color</summary>
public SensorEntity Pixel8AccentColor => new(_haContext, "sensor.pixel_8_accent_color");
///<summary>Pixel 8 Audio mode</summary>
public SensorEntity Pixel8AudioMode => new(_haContext, "sensor.pixel_8_audio_mode");
///<summary>Pixel 8 Battery health</summary>
public SensorEntity Pixel8BatteryHealth => new(_haContext, "sensor.pixel_8_battery_health");
///<summary>Pixel 8 Battery state</summary>
public SensorEntity Pixel8BatteryState => new(_haContext, "sensor.pixel_8_battery_state");
///<summary>Pixel 8 Beacon monitor</summary>
public SensorEntity Pixel8BeaconMonitor => new(_haContext, "sensor.pixel_8_beacon_monitor");
///<summary>Pixel 8 BLE transmitter</summary>
public SensorEntity Pixel8BleTransmitter => new(_haContext, "sensor.pixel_8_ble_transmitter");
///<summary>Pixel 8 Charger type</summary>
public SensorEntity Pixel8ChargerType => new(_haContext, "sensor.pixel_8_charger_type");
///<summary>Pixel 8 Current version</summary>
public SensorEntity Pixel8CurrentVersion => new(_haContext, "sensor.pixel_8_current_version");
///<summary>Pixel 8 Do Not Disturb sensor</summary>
public SensorEntity Pixel8DoNotDisturbSensor => new(_haContext, "sensor.pixel_8_do_not_disturb_sensor");
///<summary>Pixel 8 Last notification</summary>
public SensorEntity Pixel8LastNotification => new(_haContext, "sensor.pixel_8_last_notification");
///<summary>Pixel 8 Last reboot</summary>
public SensorEntity Pixel8LastReboot => new(_haContext, "sensor.pixel_8_last_reboot");
///<summary>Pixel 8 Last removed notification</summary>
public SensorEntity Pixel8LastRemovedNotification => new(_haContext, "sensor.pixel_8_last_removed_notification");
///<summary>Pixel 8 Last update trigger</summary>
public SensorEntity Pixel8LastUpdateTrigger => new(_haContext, "sensor.pixel_8_last_update_trigger");
///<summary>Pixel 8 Last used app</summary>
public SensorEntity Pixel8LastUsedApp => new(_haContext, "sensor.pixel_8_last_used_app");
///<summary>Pixel 8 Media session</summary>
public SensorEntity Pixel8MediaSession => new(_haContext, "sensor.pixel_8_media_session");
///<summary>Pixel 8 Network type</summary>
public SensorEntity Pixel8NetworkType => new(_haContext, "sensor.pixel_8_network_type");
///<summary>Pixel 8 Next alarm</summary>
public SensorEntity Pixel8NextAlarm => new(_haContext, "sensor.pixel_8_next_alarm");
///<summary>Pixel 8 OS version</summary>
public SensorEntity Pixel8OsVersion => new(_haContext, "sensor.pixel_8_os_version");
///<summary>Pixel 8 Public IP address</summary>
public SensorEntity Pixel8PublicIpAddress => new(_haContext, "sensor.pixel_8_public_ip_address");
///<summary>Pixel 8 Ringer mode</summary>
public SensorEntity Pixel8RingerMode => new(_haContext, "sensor.pixel_8_ringer_mode");
///<summary>Pixel 8 Screen brightness</summary>
public SensorEntity Pixel8ScreenBrightness => new(_haContext, "sensor.pixel_8_screen_brightness");
///<summary>Pixel 8 Volume level accessibility</summary>
public SensorEntity Pixel8VolumeLevelAccessibility => new(_haContext, "sensor.pixel_8_volume_level_accessibility");
///<summary>Pixel 8 Volume level alarm</summary>
public SensorEntity Pixel8VolumeLevelAlarm => new(_haContext, "sensor.pixel_8_volume_level_alarm");
///<summary>Pixel 8 Volume level call</summary>
public SensorEntity Pixel8VolumeLevelCall => new(_haContext, "sensor.pixel_8_volume_level_call");
///<summary>Pixel 8 Volume level DTMF</summary>
public SensorEntity Pixel8VolumeLevelDtmf => new(_haContext, "sensor.pixel_8_volume_level_dtmf");
///<summary>Pixel 8 Volume level music</summary>
public SensorEntity Pixel8VolumeLevelMusic => new(_haContext, "sensor.pixel_8_volume_level_music");
///<summary>Pixel 8 Volume level notification</summary>
public SensorEntity Pixel8VolumeLevelNotification => new(_haContext, "sensor.pixel_8_volume_level_notification");
///<summary>Pixel 8 Volume level ringer</summary>
public SensorEntity Pixel8VolumeLevelRinger => new(_haContext, "sensor.pixel_8_volume_level_ringer");
///<summary>Pixel 8 Volume level system</summary>
public SensorEntity Pixel8VolumeLevelSystem => new(_haContext, "sensor.pixel_8_volume_level_system");
///<summary>Pixel 8 WiFi BSSID</summary>
public SensorEntity Pixel8WifiBssid => new(_haContext, "sensor.pixel_8_wifi_bssid");
///<summary>Pixel 8 WiFi connection</summary>
public SensorEntity Pixel8WifiConnection => new(_haContext, "sensor.pixel_8_wifi_connection");
///<summary>Pixel 8 WiFi IP address</summary>
public SensorEntity Pixel8WifiIpAddress => new(_haContext, "sensor.pixel_8_wifi_ip_address");
///<summary>Z Flip 6 Battery state</summary>
public SensorEntity SmF741wBatteryState => new(_haContext, "sensor.sm_f741w_battery_state");
///<summary>Z Flip 6 Charger type</summary>
public SensorEntity SmF741wChargerType => new(_haContext, "sensor.sm_f741w_charger_type");
///<summary>Sun Next dawn</summary>
public SensorEntity SunNextDawn => new(_haContext, "sensor.sun_next_dawn");
///<summary>Sun Next dusk</summary>
public SensorEntity SunNextDusk => new(_haContext, "sensor.sun_next_dusk");
///<summary>Sun Next midnight</summary>
public SensorEntity SunNextMidnight => new(_haContext, "sensor.sun_next_midnight");
///<summary>Sun Next noon</summary>
public SensorEntity SunNextNoon => new(_haContext, "sensor.sun_next_noon");
///<summary>Sun Next rising</summary>
public SensorEntity SunNextRising => new(_haContext, "sensor.sun_next_rising");
///<summary>Sun Next setting</summary>
public SensorEntity SunNextSetting => new(_haContext, "sensor.sun_next_setting");
///<summary>Estimated distance</summary>
public NumericSensorEntity Care4b6bEstimatedDistance => new(_haContext, "sensor.care_4b6b_estimated_distance");
///<summary>CODA-4680-FIZ Data received</summary>
public NumericSensorEntity Coda4680FizDataReceived => new(_haContext, "sensor.coda_4680_fiz_data_received");
///<summary>CODA-4680-FIZ Data sent</summary>
public NumericSensorEntity Coda4680FizDataSent => new(_haContext, "sensor.coda_4680_fiz_data_sent");
///<summary>CODA-4680-FIZ Download speed</summary>
public NumericSensorEntity Coda4680FizDownloadSpeed => new(_haContext, "sensor.coda_4680_fiz_download_speed");
///<summary>CODA-4680-FIZ Upload speed</summary>
public NumericSensorEntity Coda4680FizUploadSpeed => new(_haContext, "sensor.coda_4680_fiz_upload_speed");
///<summary>Pixel 8 Battery level</summary>
public NumericSensorEntity Pixel8BatteryLevel => new(_haContext, "sensor.pixel_8_battery_level");
///<summary>Pixel 8 Battery power</summary>
public NumericSensorEntity Pixel8BatteryPower => new(_haContext, "sensor.pixel_8_battery_power");
///<summary>Pixel 8 Battery temperature</summary>
public NumericSensorEntity Pixel8BatteryTemperature => new(_haContext, "sensor.pixel_8_battery_temperature");
///<summary>Pixel 8 Bluetooth connection</summary>
public NumericSensorEntity Pixel8BluetoothConnection => new(_haContext, "sensor.pixel_8_bluetooth_connection");
///<summary>Pixel 8 IPv6 addresses</summary>
public NumericSensorEntity Pixel8Ipv6Addresses => new(_haContext, "sensor.pixel_8_ipv6_addresses");
///<summary>Pixel 8 Light sensor</summary>
public NumericSensorEntity Pixel8LightSensor => new(_haContext, "sensor.pixel_8_light_sensor");
///<summary>Pixel 8 Remaining charge time</summary>
public NumericSensorEntity Pixel8RemainingChargeTime => new(_haContext, "sensor.pixel_8_remaining_charge_time");
///<summary>Pixel 8 WiFi frequency</summary>
public NumericSensorEntity Pixel8WifiFrequency => new(_haContext, "sensor.pixel_8_wifi_frequency");
///<summary>Pixel 8 WiFi link speed</summary>
public NumericSensorEntity Pixel8WifiLinkSpeed => new(_haContext, "sensor.pixel_8_wifi_link_speed");
///<summary>Pixel 8 WiFi signal strength</summary>
public NumericSensorEntity Pixel8WifiSignalStrength => new(_haContext, "sensor.pixel_8_wifi_signal_strength");
///<summary>Z Flip 6 Battery level</summary>
public NumericSensorEntity SmF741wBatteryLevel => new(_haContext, "sensor.sm_f741w_battery_level");
///<summary>Spotify matt Song tempo</summary>
public NumericSensorEntity SpotifyMattSongTempo => new(_haContext, "sensor.spotify_matt_song_tempo");
}
public partial class SttEntities
{
private readonly IHaContext _haContext;
public SttEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all stt entities currently registered (at runtime) in Home Assistant as SttEntity</summary>
public IEnumerable<SttEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("stt.")).Select(e => new SttEntity(e));
///<summary>faster-whisper</summary>
public SttEntity FasterWhisper => new(_haContext, "stt.faster_whisper");
}
public partial class SunEntities
{
private readonly IHaContext _haContext;
public SunEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all sun entities currently registered (at runtime) in Home Assistant as SunEntity</summary>
public IEnumerable<SunEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("sun.")).Select(e => new SunEntity(e));
///<summary>Sun</summary>
public SunEntity Sun => new(_haContext, "sun.sun");
}
public partial class SwitchEntities
{
private readonly IHaContext _haContext;
public SwitchEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all switch entities currently registered (at runtime) in Home Assistant as SwitchEntity</summary>
public IEnumerable<SwitchEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("switch.")).Select(e => new SwitchEntity(e));
///<summary>M5Stack Atom Echo 31196c Use listen light</summary>
public SwitchEntity M5stackAtomEcho131196cUseListenLight => new(_haContext, "switch.m5stack_atom_echo_1_31196c_use_listen_light");
///<summary>M5Stack Atom Echo 31196c Use wake word</summary>
public SwitchEntity M5stackAtomEcho31196cUseWakeWord => new(_haContext, "switch.m5stack_atom_echo_31196c_use_wake_word");
///<summary>Salon Lamp</summary>
public SwitchEntity Smartplug1 => new(_haContext, "switch.smartplug1");
///<summary>Smartplug2 None</summary>
public SwitchEntity Smartplug2 => new(_haContext, "switch.smartplug2");
///<summary>Office Lamp</summary>
public SwitchEntity Smartplug3 => new(_haContext, "switch.smartplug3");
}
public partial class TimerEntities
{
private readonly IHaContext _haContext;
public TimerEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all timer entities currently registered (at runtime) in Home Assistant as TimerEntity</summary>
public IEnumerable<TimerEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("timer.")).Select(e => new TimerEntity(e));
///<summary>Assist - Timer 1</summary>
public TimerEntity AssistTimer1 => new(_haContext, "timer.assist_timer1");
///<summary>Assist - Timer 2</summary>
public TimerEntity AssistTimer2 => new(_haContext, "timer.assist_timer2");
///<summary>Assist - Timer 3</summary>
public TimerEntity AssistTimer3 => new(_haContext, "timer.assist_timer3");
}
public partial class TodoEntities
{
private readonly IHaContext _haContext;
public TodoEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all todo entities currently registered (at runtime) in Home Assistant as TodoEntity</summary>
public IEnumerable<TodoEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("todo.")).Select(e => new TodoEntity(e));
///<summary>Shopping List</summary>
public TodoEntity ShoppingList => new(_haContext, "todo.shopping_list");
}
public partial class TtsEntities
{
private readonly IHaContext _haContext;
public TtsEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all tts entities currently registered (at runtime) in Home Assistant as TtsEntity</summary>
public IEnumerable<TtsEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("tts.")).Select(e => new TtsEntity(e));
///<summary>piper</summary>
public TtsEntity Piper => new(_haContext, "tts.piper");
}
public partial class WakeWordEntities
{
private readonly IHaContext _haContext;
public WakeWordEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all wake_word entities currently registered (at runtime) in Home Assistant as WakeWordEntity</summary>
public IEnumerable<WakeWordEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("wake_word.")).Select(e => new WakeWordEntity(e));
///<summary>openwakeword</summary>
public WakeWordEntity Openwakeword => new(_haContext, "wake_word.openwakeword");
}
public partial class WeatherEntities
{
private readonly IHaContext _haContext;
public WeatherEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all weather entities currently registered (at runtime) in Home Assistant as WeatherEntity</summary>
public IEnumerable<WeatherEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("weather.")).Select(e => new WeatherEntity(e));
///<summary>Forecast Home</summary>
public WeatherEntity ForecastHome => new(_haContext, "weather.forecast_home");
}
public partial class ZoneEntities
{
private readonly IHaContext _haContext;
public ZoneEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all zone entities currently registered (at runtime) in Home Assistant as ZoneEntity</summary>
public IEnumerable<ZoneEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("zone.")).Select(e => new ZoneEntity(e));
///<summary>Home</summary>
public ZoneEntity Home => new(_haContext, "zone.home");
}
public partial class AssistSatelliteEntities
{
private readonly IHaContext _haContext;
public AssistSatelliteEntities(IHaContext haContext)
{
_haContext = haContext;
}
/// <summary>Enumerates all assist_satellite entities currently registered (at runtime) in Home Assistant as AssistSatelliteEntity</summary>
public IEnumerable<AssistSatelliteEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("assist_satellite.")).Select(e => new AssistSatelliteEntity(e));
///<summary>M5Stack Atom Echo 31196c Assist satellite</summary>
public AssistSatelliteEntity M5stackAtomEcho31196cAssistSatellite => new(_haContext, "assist_satellite.m5stack_atom_echo_31196c_assist_satellite");
}
public partial record LightEntity : Entity<LightEntity, EntityState<LightAttributes>, LightAttributes>, ILightEntityCore
{
public LightEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public LightEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record LightAttributes
{
[JsonPropertyName("supported_color_modes")]
public IReadOnlyList<string>? SupportedColorModes { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
[JsonPropertyName("color_mode")]
public string? ColorMode { get; init; }
[JsonPropertyName("min_color_temp_kelvin")]
public double? MinColorTempKelvin { get; init; }
[JsonPropertyName("max_color_temp_kelvin")]
public double? MaxColorTempKelvin { get; init; }
[JsonPropertyName("min_mireds")]
public double? MinMireds { get; init; }
[JsonPropertyName("max_mireds")]
public double? MaxMireds { get; init; }
[JsonPropertyName("brightness")]
public double? Brightness { get; init; }
[JsonPropertyName("color_temp_kelvin")]
public double? ColorTempKelvin { get; init; }
[JsonPropertyName("color_temp")]
public double? ColorTemp { get; init; }
[JsonPropertyName("hs_color")]
public IReadOnlyList<double>? HsColor { get; init; }
[JsonPropertyName("rgb_color")]
public IReadOnlyList<double>? RgbColor { get; init; }
[JsonPropertyName("xy_color")]
public IReadOnlyList<double>? XyColor { get; init; }
[JsonPropertyName("entity_id")]
public IReadOnlyList<string>? EntityId { get; init; }
[JsonPropertyName("effect_list")]
public IReadOnlyList<string>? EffectList { get; init; }
[JsonPropertyName("color")]
public object? Color { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("effect")]
public string? Effect { get; init; }
}
public partial record MediaPlayerEntity : Entity<MediaPlayerEntity, EntityState<MediaPlayerAttributes>, MediaPlayerAttributes>, IMediaPlayerEntityCore
{
public MediaPlayerEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public MediaPlayerEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record MediaPlayerAttributes
{
[JsonPropertyName("app_id")]
public string? AppId { get; init; }
[JsonPropertyName("app_name")]
public string? AppName { get; init; }
[JsonPropertyName("device_class")]
public string? DeviceClass { get; init; }
[JsonPropertyName("entity_picture_local")]
public string? EntityPictureLocal { get; init; }
[JsonPropertyName("entity_picture")]
public string? EntityPicture { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
[JsonPropertyName("volume_level")]
public double? VolumeLevel { get; init; }
[JsonPropertyName("is_volume_muted")]
public bool? IsVolumeMuted { get; init; }
[JsonPropertyName("media_content_id")]
public string? MediaContentId { get; init; }
[JsonPropertyName("media_content_type")]
public string? MediaContentType { get; init; }
[JsonPropertyName("media_duration")]
public double? MediaDuration { get; init; }
[JsonPropertyName("media_position")]
public double? MediaPosition { get; init; }
[JsonPropertyName("media_position_updated_at")]
public string? MediaPositionUpdatedAt { get; init; }
[JsonPropertyName("media_title")]
public string? MediaTitle { get; init; }
[JsonPropertyName("media_album_name")]
public string? MediaAlbumName { get; init; }
[JsonPropertyName("media_image_url")]
public string? MediaImageUrl { get; init; }
[JsonPropertyName("media_artist")]
public string? MediaArtist { get; init; }
[JsonPropertyName("sound_mode_list")]
public IReadOnlyList<string>? SoundModeList { get; init; }
[JsonPropertyName("media_track")]
public object? MediaTrack { get; init; }
[JsonPropertyName("shuffle")]
public bool? Shuffle { get; init; }
[JsonPropertyName("repeat")]
public string? Repeat { get; init; }
[JsonPropertyName("source_list")]
public IReadOnlyList<string>? SourceList { get; init; }
[JsonPropertyName("source")]
public string? Source { get; init; }
[JsonPropertyName("adb_response")]
public object? AdbResponse { get; init; }
[JsonPropertyName("hdmi_input")]
public object? HdmiInput { get; init; }
[JsonPropertyName("sound_mode")]
public string? SoundMode { get; init; }
[JsonPropertyName("sound_mode_raw")]
public string? SoundModeRaw { get; init; }
[JsonPropertyName("assumed_state")]
public bool? AssumedState { get; init; }
[JsonPropertyName("sp_device_id")]
public object? SpDeviceId { get; init; }
[JsonPropertyName("sp_device_name")]
public object? SpDeviceName { get; init; }
[JsonPropertyName("sp_device_is_brand_sonos")]
public bool? SpDeviceIsBrandSonos { get; init; }
[JsonPropertyName("sp_item_type")]
public string? SpItemType { get; init; }
[JsonPropertyName("sp_user_country")]
public string? SpUserCountry { get; init; }
[JsonPropertyName("sp_user_display_name")]
public string? SpUserDisplayName { get; init; }
[JsonPropertyName("sp_user_email")]
public string? SpUserEmail { get; init; }
[JsonPropertyName("sp_user_id")]
public string? SpUserId { get; init; }
[JsonPropertyName("sp_user_product")]
public string? SpUserProduct { get; init; }
[JsonPropertyName("sp_user_uri")]
public string? SpUserUri { get; init; }
[JsonPropertyName("media_playlist")]
public string? MediaPlaylist { get; init; }
[JsonPropertyName("group_members")]
public object? GroupMembers { get; init; }
[JsonPropertyName("master")]
public bool? Master { get; init; }
[JsonPropertyName("uuid")]
public string? Uuid { get; init; }
[JsonPropertyName("tts_active")]
public bool? TtsActive { get; init; }
[JsonPropertyName("snapshot_active")]
public bool? SnapshotActive { get; init; }
[JsonPropertyName("snapshot_spotify")]
public bool? SnapshotSpotify { get; init; }
[JsonPropertyName("media_position_mass")]
public double? MediaPositionMass { get; init; }
[JsonPropertyName("debug_info")]
public string? DebugInfo { get; init; }
[JsonPropertyName("firmware")]
public string? Firmware { get; init; }
[JsonPropertyName("sp_track_is_explicit")]
public bool? SpTrackIsExplicit { get; init; }
[JsonPropertyName("restored")]
public bool? Restored { get; init; }
}
public partial record AutomationEntity : Entity<AutomationEntity, EntityState<AutomationAttributes>, AutomationAttributes>, IAutomationEntityCore
{
public AutomationEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public AutomationEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record AutomationAttributes
{
[JsonPropertyName("last_triggered")]
public string? LastTriggered { get; init; }
[JsonPropertyName("mode")]
public string? Mode { get; init; }
[JsonPropertyName("current")]
public double? Current { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("id")]
public string? Id { get; init; }
[JsonPropertyName("max")]
public double? Max { get; init; }
}
public partial record BinarySensorEntity : Entity<BinarySensorEntity, EntityState<BinarySensorAttributes>, BinarySensorAttributes>, IBinarySensorEntityCore
{
public BinarySensorEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public BinarySensorEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record BinarySensorAttributes
{
[JsonPropertyName("device_class")]
public string? DeviceClass { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
}
public partial record ButtonEntity : Entity<ButtonEntity, EntityState<ButtonAttributes>, ButtonAttributes>, IButtonEntityCore
{
public ButtonEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public ButtonEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record ButtonAttributes
{
[JsonPropertyName("device_class")]
public string? DeviceClass { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record CalendarEntity : Entity<CalendarEntity, EntityState<CalendarAttributes>, CalendarAttributes>, ICalendarEntityCore
{
public CalendarEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public CalendarEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record CalendarAttributes
{
[JsonPropertyName("message")]
public string? Message { get; init; }
[JsonPropertyName("all_day")]
public bool? AllDay { get; init; }
[JsonPropertyName("start_time")]
public string? StartTime { get; init; }
[JsonPropertyName("end_time")]
public string? EndTime { get; init; }
[JsonPropertyName("location")]
public string? Location { get; init; }
[JsonPropertyName("description")]
public string? Description { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record ConversationEntity : Entity<ConversationEntity, EntityState<ConversationAttributes>, ConversationAttributes>
{
public ConversationEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public ConversationEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record ConversationAttributes
{
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
}
public partial record DeviceTrackerEntity : Entity<DeviceTrackerEntity, EntityState<DeviceTrackerAttributes>, DeviceTrackerAttributes>, IDeviceTrackerEntityCore
{
public DeviceTrackerEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public DeviceTrackerEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record DeviceTrackerAttributes
{
[JsonPropertyName("source_type")]
public string? SourceType { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("latitude")]
public double? Latitude { get; init; }
[JsonPropertyName("longitude")]
public double? Longitude { get; init; }
[JsonPropertyName("gps_accuracy")]
public double? GpsAccuracy { get; init; }
[JsonPropertyName("altitude")]
public double? Altitude { get; init; }
[JsonPropertyName("course")]
public double? Course { get; init; }
[JsonPropertyName("speed")]
public double? Speed { get; init; }
[JsonPropertyName("vertical_accuracy")]
public double? VerticalAccuracy { get; init; }
[JsonPropertyName("restored")]
public bool? Restored { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
}
public partial record InputBooleanEntity : Entity<InputBooleanEntity, EntityState<InputBooleanAttributes>, InputBooleanAttributes>, IInputBooleanEntityCore
{
public InputBooleanEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public InputBooleanEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record InputBooleanAttributes
{
[JsonPropertyName("editable")]
public bool? Editable { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record InputTextEntity : Entity<InputTextEntity, EntityState<InputTextAttributes>, InputTextAttributes>, IInputTextEntityCore
{
public InputTextEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public InputTextEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record InputTextAttributes
{
[JsonPropertyName("editable")]
public bool? Editable { get; init; }
[JsonPropertyName("min")]
public double? Min { get; init; }
[JsonPropertyName("max")]
public double? Max { get; init; }
[JsonPropertyName("pattern")]
public object? Pattern { get; init; }
[JsonPropertyName("mode")]
public string? Mode { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record LockEntity : Entity<LockEntity, EntityState<LockAttributes>, LockAttributes>, ILockEntityCore
{
public LockEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public LockEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record LockAttributes
{
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
}
public partial record NumberEntity : NumericEntity<NumberEntity, NumericEntityState<NumberAttributes>, NumberAttributes>, INumberEntityCore
{
public NumberEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public NumberEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record NumberAttributes
{
[JsonPropertyName("min")]
public double? Min { get; init; }
[JsonPropertyName("max")]
public double? Max { get; init; }
[JsonPropertyName("step")]
public double? Step { get; init; }
[JsonPropertyName("mode")]
public string? Mode { get; init; }
[JsonPropertyName("unit_of_measurement")]
public string? UnitOfMeasurement { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record PersonEntity : Entity<PersonEntity, EntityState<PersonAttributes>, PersonAttributes>, IPersonEntityCore
{
public PersonEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public PersonEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record PersonAttributes
{
[JsonPropertyName("editable")]
public bool? Editable { get; init; }
[JsonPropertyName("id")]
public string? Id { get; init; }
[JsonPropertyName("device_trackers")]
public IReadOnlyList<string>? DeviceTrackers { get; init; }
[JsonPropertyName("user_id")]
public string? UserId { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("latitude")]
public double? Latitude { get; init; }
[JsonPropertyName("longitude")]
public double? Longitude { get; init; }
[JsonPropertyName("gps_accuracy")]
public double? GpsAccuracy { get; init; }
[JsonPropertyName("source")]
public string? Source { get; init; }
}
public partial record RemoteEntity : Entity<RemoteEntity, EntityState<RemoteAttributes>, RemoteAttributes>, IRemoteEntityCore
{
public RemoteEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public RemoteEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record RemoteAttributes
{
[JsonPropertyName("activity_list")]
public IReadOnlyList<object>? ActivityList { get; init; }
[JsonPropertyName("current_activity")]
public string? CurrentActivity { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
[JsonPropertyName("restored")]
public bool? Restored { get; init; }
}
public partial record ScriptEntity : Entity<ScriptEntity, EntityState<ScriptAttributes>, ScriptAttributes>, IScriptEntityCore
{
public ScriptEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public ScriptEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record ScriptAttributes
{
[JsonPropertyName("last_triggered")]
public string? LastTriggered { get; init; }
[JsonPropertyName("mode")]
public string? Mode { get; init; }
[JsonPropertyName("current")]
public double? Current { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("settings")]
public object? Settings { get; init; }
}
public partial record SelectEntity : Entity<SelectEntity, EntityState<SelectAttributes>, SelectAttributes>, ISelectEntityCore
{
public SelectEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public SelectEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record SelectAttributes
{
[JsonPropertyName("options")]
public IReadOnlyList<string>? Options { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
}
public partial record SensorEntity : Entity<SensorEntity, EntityState<SensorAttributes>, SensorAttributes>, ISensorEntityCore
{
public SensorEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public SensorEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record SensorAttributes
{
[JsonPropertyName("device_class")]
public string? DeviceClass { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("options")]
public IReadOnlyList<string>? Options { get; init; }
[JsonPropertyName("Advertise mode")]
public string? Advertisemode { get; init; }
[JsonPropertyName("Measured power")]
public double? Measuredpower { get; init; }
[JsonPropertyName("Supports transmitter")]
public bool? Supportstransmitter { get; init; }
[JsonPropertyName("Transmitting power")]
public string? Transmittingpower { get; init; }
[JsonPropertyName("id")]
public string? Id { get; init; }
[JsonPropertyName("automatic")]
public bool? Automatic { get; init; }
[JsonPropertyName("Label")]
public string? Label { get; init; }
[JsonPropertyName("Local Time")]
public string? LocalTime { get; init; }
[JsonPropertyName("Time in Milliseconds")]
public double? TimeinMilliseconds { get; init; }
[JsonPropertyName("is_hidden")]
public bool? IsHidden { get; init; }
[JsonPropertyName("metered")]
public bool? Metered { get; init; }
[JsonPropertyName("rgb_color")]
public IReadOnlyList<double>? RgbColor { get; init; }
[JsonPropertyName("album_com.spotify.music")]
public string? AlbumCom_spotify_music { get; init; }
[JsonPropertyName("artist_com.spotify.music")]
public string? ArtistCom_spotify_music { get; init; }
[JsonPropertyName("duration_com.spotify.music")]
public double? DurationCom_spotify_music { get; init; }
[JsonPropertyName("media_id_com.spotify.music")]
public string? MediaIdCom_spotify_music { get; init; }
[JsonPropertyName("playback_position_com.spotify.music")]
public double? PlaybackPositionCom_spotify_music { get; init; }
[JsonPropertyName("playback_state_com.spotify.music")]
public string? PlaybackStateCom_spotify_music { get; init; }
[JsonPropertyName("title_com.spotify.music")]
public string? TitleCom_spotify_music { get; init; }
[JsonPropertyName("total_media_session_count")]
public double? TotalMediaSessionCount { get; init; }
[JsonPropertyName("74278bda-b644-4520-8f0c-720eaf059935_0_53140")]
public double? _74278bdab64445208f0c720eaf059935053140 { get; init; }
[JsonPropertyName("album_org.kde.kdeconnect_tp")]
public string? AlbumOrg_kde_kdeconnectTp { get; init; }
[JsonPropertyName("artist_org.kde.kdeconnect_tp")]
public string? ArtistOrg_kde_kdeconnectTp { get; init; }
[JsonPropertyName("duration_org.kde.kdeconnect_tp")]
public double? DurationOrg_kde_kdeconnectTp { get; init; }
[JsonPropertyName("media_id_org.kde.kdeconnect_tp")]
public string? MediaIdOrg_kde_kdeconnectTp { get; init; }
[JsonPropertyName("playback_position_org.kde.kdeconnect_tp")]
public double? PlaybackPositionOrg_kde_kdeconnectTp { get; init; }
[JsonPropertyName("playback_state_org.kde.kdeconnect_tp")]
public string? PlaybackStateOrg_kde_kdeconnectTp { get; init; }
[JsonPropertyName("title_org.kde.kdeconnect_tp")]
public string? TitleOrg_kde_kdeconnectTp { get; init; }
[JsonPropertyName("speech")]
public object? Speech { get; init; }
[JsonPropertyName("card")]
public object? Card { get; init; }
[JsonPropertyName("language")]
public string? Language { get; init; }
[JsonPropertyName("response_type")]
public string? ResponseType { get; init; }
[JsonPropertyName("data")]
public object? Data { get; init; }
[JsonPropertyName("Full State")]
public string? FullState { get; init; }
}
public partial record NumericSensorEntity : NumericEntity<NumericSensorEntity, NumericEntityState<NumericSensorAttributes>, NumericSensorAttributes>, ISensorEntityCore
{
public NumericSensorEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public NumericSensorEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record NumericSensorAttributes
{
[JsonPropertyName("state_class")]
public string? StateClass { get; init; }
[JsonPropertyName("unit_of_measurement")]
public string? UnitOfMeasurement { get; init; }
[JsonPropertyName("device_class")]
public string? DeviceClass { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("current")]
public double? Current { get; init; }
[JsonPropertyName("voltage")]
public double? Voltage { get; init; }
[JsonPropertyName("connected_not_paired_devices")]
public IReadOnlyList<object>? ConnectedNotPairedDevices { get; init; }
[JsonPropertyName("connected_paired_devices")]
public IReadOnlyList<object>? ConnectedPairedDevices { get; init; }
[JsonPropertyName("paired_devices")]
public IReadOnlyList<string>? PairedDevices { get; init; }
[JsonPropertyName("ip6_addresses")]
public object? Ip6Addresses { get; init; }
[JsonPropertyName("restored")]
public bool? Restored { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
}
public partial record SttEntity : Entity<SttEntity, EntityState<SttAttributes>, SttAttributes>
{
public SttEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public SttEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record SttAttributes
{
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record SunEntity : Entity<SunEntity, EntityState<SunAttributes>, SunAttributes>, ISunEntityCore
{
public SunEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public SunEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record SunAttributes
{
[JsonPropertyName("next_dawn")]
public string? NextDawn { get; init; }
[JsonPropertyName("next_dusk")]
public string? NextDusk { get; init; }
[JsonPropertyName("next_midnight")]
public string? NextMidnight { get; init; }
[JsonPropertyName("next_noon")]
public string? NextNoon { get; init; }
[JsonPropertyName("next_rising")]
public string? NextRising { get; init; }
[JsonPropertyName("next_setting")]
public string? NextSetting { get; init; }
[JsonPropertyName("elevation")]
public double? Elevation { get; init; }
[JsonPropertyName("azimuth")]
public double? Azimuth { get; init; }
[JsonPropertyName("rising")]
public bool? Rising { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record SwitchEntity : Entity<SwitchEntity, EntityState<SwitchAttributes>, SwitchAttributes>, ISwitchEntityCore
{
public SwitchEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public SwitchEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record SwitchAttributes
{
[JsonPropertyName("cyclic_schedule")]
public string? CyclicSchedule { get; init; }
[JsonPropertyName("random_schedule")]
public string? RandomSchedule { get; init; }
[JsonPropertyName("inching")]
public string? Inching { get; init; }
[JsonPropertyName("device_class")]
public string? DeviceClass { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record TimerEntity : Entity<TimerEntity, EntityState<TimerAttributes>, TimerAttributes>, ITimerEntityCore
{
public TimerEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public TimerEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record TimerAttributes
{
[JsonPropertyName("duration")]
public string? Duration { get; init; }
[JsonPropertyName("editable")]
public bool? Editable { get; init; }
[JsonPropertyName("restore")]
public bool? Restore { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record TodoEntity : Entity<TodoEntity, EntityState<TodoAttributes>, TodoAttributes>
{
public TodoEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public TodoEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record TodoAttributes
{
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
}
public partial record TtsEntity : Entity<TtsEntity, EntityState<TtsAttributes>, TtsAttributes>
{
public TtsEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public TtsEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record TtsAttributes
{
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record WakeWordEntity : Entity<WakeWordEntity, EntityState<WakeWordAttributes>, WakeWordAttributes>
{
public WakeWordEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public WakeWordEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record WakeWordAttributes
{
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record WeatherEntity : Entity<WeatherEntity, EntityState<WeatherAttributes>, WeatherAttributes>, IWeatherEntityCore
{
public WeatherEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public WeatherEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record WeatherAttributes
{
[JsonPropertyName("temperature")]
public double? Temperature { get; init; }
[JsonPropertyName("dew_point")]
public double? DewPoint { get; init; }
[JsonPropertyName("temperature_unit")]
public string? TemperatureUnit { get; init; }
[JsonPropertyName("humidity")]
public double? Humidity { get; init; }
[JsonPropertyName("cloud_coverage")]
public double? CloudCoverage { get; init; }
[JsonPropertyName("pressure")]
public double? Pressure { get; init; }
[JsonPropertyName("pressure_unit")]
public string? PressureUnit { get; init; }
[JsonPropertyName("wind_bearing")]
public double? WindBearing { get; init; }
[JsonPropertyName("wind_speed")]
public double? WindSpeed { get; init; }
[JsonPropertyName("wind_speed_unit")]
public string? WindSpeedUnit { get; init; }
[JsonPropertyName("visibility_unit")]
public string? VisibilityUnit { get; init; }
[JsonPropertyName("precipitation_unit")]
public string? PrecipitationUnit { get; init; }
[JsonPropertyName("attribution")]
public string? Attribution { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
[JsonPropertyName("uv_index")]
public double? UvIndex { get; init; }
}
public partial record ZoneEntity : Entity<ZoneEntity, EntityState<ZoneAttributes>, ZoneAttributes>, IZoneEntityCore
{
public ZoneEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public ZoneEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record ZoneAttributes
{
[JsonPropertyName("latitude")]
public double? Latitude { get; init; }
[JsonPropertyName("longitude")]
public double? Longitude { get; init; }
[JsonPropertyName("radius")]
public double? Radius { get; init; }
[JsonPropertyName("passive")]
public bool? Passive { get; init; }
[JsonPropertyName("persons")]
public object? Persons { get; init; }
[JsonPropertyName("editable")]
public bool? Editable { get; init; }
[JsonPropertyName("icon")]
public string? Icon { get; init; }
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
}
public partial record AssistSatelliteEntity : Entity<AssistSatelliteEntity, EntityState<AssistSatelliteAttributes>, AssistSatelliteAttributes>
{
public AssistSatelliteEntity(IHaContext haContext, string entityId) : base(haContext, entityId)
{
}
public AssistSatelliteEntity(IEntityCore entity) : base(entity)
{
}
}
public partial record AssistSatelliteAttributes
{
[JsonPropertyName("friendly_name")]
public string? FriendlyName { get; init; }
[JsonPropertyName("supported_features")]
public double? SupportedFeatures { get; init; }
}
public interface IServices
{
AndroidtvServices Androidtv { get; }
AssistSatelliteServices AssistSatellite { get; }
AutomationServices Automation { get; }
BackupServices Backup { get; }
ButtonServices Button { get; }
CalendarServices Calendar { get; }
CastServices Cast { get; }
ClimateServices Climate { get; }
ConversationServices Conversation { get; }
CounterServices Counter { get; }
DeviceTrackerServices DeviceTracker { get; }
ExtendedOllamaConversationServices ExtendedOllamaConversation { get; }
FfmpegServices Ffmpeg { get; }
FrontendServices Frontend { get; }
HomeassistantServices Homeassistant { get; }
InputBooleanServices InputBoolean { get; }
InputButtonServices InputButton { get; }
InputDatetimeServices InputDatetime { get; }
InputNumberServices InputNumber { get; }
InputSelectServices InputSelect { get; }
InputTextServices InputText { get; }
IntentScriptServices IntentScript { get; }
LightServices Light { get; }
LockServices Lock { get; }
LogbookServices Logbook { get; }
LoggerServices Logger { get; }
LovelaceServices Lovelace { get; }
MediaPlayerServices MediaPlayer { get; }
NetdaemonServices Netdaemon { get; }
NotifyServices Notify { get; }
NumberServices Number { get; }
PersistentNotificationServices PersistentNotification { get; }
PersonServices Person { get; }
RecorderServices Recorder { get; }
RemoteServices Remote { get; }
RestServices Rest { get; }
SceneServices Scene { get; }
ScheduleServices Schedule { get; }
ScriptServices Script { get; }
SelectServices Select { get; }
ShellCommandServices ShellCommand { get; }
ShoppingListServices ShoppingList { get; }
SpotifyplusServices Spotifyplus { get; }
SwitchServices Switch { get; }
SystemLogServices SystemLog { get; }
TemplateServices Template { get; }
TimerServices Timer { get; }
TodoServices Todo { get; }
TtsServices Tts { get; }
WeatherServices Weather { get; }
YamahaSoundbarServices YamahaSoundbar { get; }
ZoneServices Zone { get; }
}
public partial class Services : IServices
{
private readonly IHaContext _haContext;
public Services(IHaContext haContext)
{
_haContext = haContext;
}
public AndroidtvServices Androidtv => new(_haContext);
public AssistSatelliteServices AssistSatellite => new(_haContext);
public AutomationServices Automation => new(_haContext);
public BackupServices Backup => new(_haContext);
public ButtonServices Button => new(_haContext);
public CalendarServices Calendar => new(_haContext);
public CastServices Cast => new(_haContext);
public ClimateServices Climate => new(_haContext);
public ConversationServices Conversation => new(_haContext);
public CounterServices Counter => new(_haContext);
public DeviceTrackerServices DeviceTracker => new(_haContext);
public ExtendedOllamaConversationServices ExtendedOllamaConversation => new(_haContext);
public FfmpegServices Ffmpeg => new(_haContext);
public FrontendServices Frontend => new(_haContext);
public HomeassistantServices Homeassistant => new(_haContext);
public InputBooleanServices InputBoolean => new(_haContext);
public InputButtonServices InputButton => new(_haContext);
public InputDatetimeServices InputDatetime => new(_haContext);
public InputNumberServices InputNumber => new(_haContext);
public InputSelectServices InputSelect => new(_haContext);
public InputTextServices InputText => new(_haContext);
public IntentScriptServices IntentScript => new(_haContext);
public LightServices Light => new(_haContext);
public LockServices Lock => new(_haContext);
public LogbookServices Logbook => new(_haContext);
public LoggerServices Logger => new(_haContext);
public LovelaceServices Lovelace => new(_haContext);
public MediaPlayerServices MediaPlayer => new(_haContext);
public NetdaemonServices Netdaemon => new(_haContext);
public NotifyServices Notify => new(_haContext);
public NumberServices Number => new(_haContext);
public PersistentNotificationServices PersistentNotification => new(_haContext);
public PersonServices Person => new(_haContext);
public RecorderServices Recorder => new(_haContext);
public RemoteServices Remote => new(_haContext);
public RestServices Rest => new(_haContext);
public SceneServices Scene => new(_haContext);
public ScheduleServices Schedule => new(_haContext);
public ScriptServices Script => new(_haContext);
public SelectServices Select => new(_haContext);
public ShellCommandServices ShellCommand => new(_haContext);
public ShoppingListServices ShoppingList => new(_haContext);
public SpotifyplusServices Spotifyplus => new(_haContext);
public SwitchServices Switch => new(_haContext);
public SystemLogServices SystemLog => new(_haContext);
public TemplateServices Template => new(_haContext);
public TimerServices Timer => new(_haContext);
public TodoServices Todo => new(_haContext);
public TtsServices Tts => new(_haContext);
public WeatherServices Weather => new(_haContext);
public YamahaSoundbarServices YamahaSoundbar => new(_haContext);
public ZoneServices Zone => new(_haContext);
}
public partial class AndroidtvServices
{
private readonly IHaContext _haContext;
public AndroidtvServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Sends an ADB command to an Android / Fire TV device.</summary>
///<param name="target">The target for this service call</param>
public void AdbCommand(ServiceTarget target, AndroidtvAdbCommandParameters data)
{
_haContext.CallService("androidtv", "adb_command", target, data);
}
///<summary>Sends an ADB command to an Android / Fire TV device.</summary>
///<param name="command">Either a key command or an ADB shell command. eg: HOME</param>
public void AdbCommand(ServiceTarget target, string command)
{
_haContext.CallService("androidtv", "adb_command", target, new AndroidtvAdbCommandParameters { Command = command });
}
///<summary>Downloads a file from your Android / Fire TV device to your Home Assistant instance.</summary>
///<param name="target">The target for this service call</param>
public void Download(ServiceTarget target, AndroidtvDownloadParameters data)
{
_haContext.CallService("androidtv", "download", target, data);
}
///<summary>Downloads a file from your Android / Fire TV device to your Home Assistant instance.</summary>
///<param name="devicePath">The filepath on the Android / Fire TV device. eg: /storage/emulated/0/Download/example.txt</param>
///<param name="localPath">The filepath on your Home Assistant instance. eg: /config/www/example.txt</param>
public void Download(ServiceTarget target, string devicePath, string localPath)
{
_haContext.CallService("androidtv", "download", target, new AndroidtvDownloadParameters { DevicePath = devicePath, LocalPath = localPath });
}
///<summary>Translates a key press on a remote into ADB &apos;sendevent&apos; commands. You must press one button on the remote within 8 seconds of performing this action.</summary>
///<param name="target">The target for this service call</param>
public void LearnSendevent(ServiceTarget target, object? data = null)
{
_haContext.CallService("androidtv", "learn_sendevent", target, data);
}
///<summary>Uploads a file from your Home Assistant instance to an Android / Fire TV device.</summary>
///<param name="target">The target for this service call</param>
public void Upload(ServiceTarget target, AndroidtvUploadParameters data)
{
_haContext.CallService("androidtv", "upload", target, data);
}
///<summary>Uploads a file from your Home Assistant instance to an Android / Fire TV device.</summary>
///<param name="devicePath">The filepath on the Android / Fire TV device. eg: /storage/emulated/0/Download/example.txt</param>
///<param name="localPath">The filepath on your Home Assistant instance. eg: /config/www/example.txt</param>
public void Upload(ServiceTarget target, string devicePath, string localPath)
{
_haContext.CallService("androidtv", "upload", target, new AndroidtvUploadParameters { DevicePath = devicePath, LocalPath = localPath });
}
}
public partial record AndroidtvAdbCommandParameters
{
///<summary>Either a key command or an ADB shell command. eg: HOME</summary>
[JsonPropertyName("command")]
public string? Command { get; init; }
}
public partial record AndroidtvDownloadParameters
{
///<summary>The filepath on the Android / Fire TV device. eg: /storage/emulated/0/Download/example.txt</summary>
[JsonPropertyName("device_path")]
public string? DevicePath { get; init; }
///<summary>The filepath on your Home Assistant instance. eg: /config/www/example.txt</summary>
[JsonPropertyName("local_path")]
public string? LocalPath { get; init; }
}
public partial record AndroidtvUploadParameters
{
///<summary>The filepath on the Android / Fire TV device. eg: /storage/emulated/0/Download/example.txt</summary>
[JsonPropertyName("device_path")]
public string? DevicePath { get; init; }
///<summary>The filepath on your Home Assistant instance. eg: /config/www/example.txt</summary>
[JsonPropertyName("local_path")]
public string? LocalPath { get; init; }
}
public partial class AssistSatelliteServices
{
private readonly IHaContext _haContext;
public AssistSatelliteServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Let the satellite announce a message.</summary>
///<param name="target">The target for this service call</param>
public void Announce(ServiceTarget target, AssistSatelliteAnnounceParameters data)
{
_haContext.CallService("assist_satellite", "announce", target, data);
}
///<summary>Let the satellite announce a message.</summary>
///<param name="message">The message to announce. eg: Time to wake up!</param>
///<param name="mediaId">The media ID to announce instead of using text-to-speech.</param>
public void Announce(ServiceTarget target, string? message = null, string? mediaId = null)
{
_haContext.CallService("assist_satellite", "announce", target, new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId });
}
}
public partial record AssistSatelliteAnnounceParameters
{
///<summary>The message to announce. eg: Time to wake up!</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary>The media ID to announce instead of using text-to-speech.</summary>
[JsonPropertyName("media_id")]
public string? MediaId { get; init; }
}
public partial class AutomationServices
{
private readonly IHaContext _haContext;
public AutomationServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads the automation configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("automation", "reload", null, data);
}
///<summary>Toggles (enable / disable) an automation.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("automation", "toggle", target, data);
}
///<summary>Triggers the actions of an automation.</summary>
///<param name="target">The target for this service call</param>
public void Trigger(ServiceTarget target, AutomationTriggerParameters data)
{
_haContext.CallService("automation", "trigger", target, data);
}
///<summary>Triggers the actions of an automation.</summary>
///<param name="skipCondition">Defines whether or not the conditions will be skipped.</param>
public void Trigger(ServiceTarget target, bool? skipCondition = null)
{
_haContext.CallService("automation", "trigger", target, new AutomationTriggerParameters { SkipCondition = skipCondition });
}
///<summary>Disables an automation.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, AutomationTurnOffParameters data)
{
_haContext.CallService("automation", "turn_off", target, data);
}
///<summary>Disables an automation.</summary>
///<param name="stopActions">Stops currently running actions.</param>
public void TurnOff(ServiceTarget target, bool? stopActions = null)
{
_haContext.CallService("automation", "turn_off", target, new AutomationTurnOffParameters { StopActions = stopActions });
}
///<summary>Enables an automation.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, object? data = null)
{
_haContext.CallService("automation", "turn_on", target, data);
}
}
public partial record AutomationTriggerParameters
{
///<summary>Defines whether or not the conditions will be skipped.</summary>
[JsonPropertyName("skip_condition")]
public bool? SkipCondition { get; init; }
}
public partial record AutomationTurnOffParameters
{
///<summary>Stops currently running actions.</summary>
[JsonPropertyName("stop_actions")]
public bool? StopActions { get; init; }
}
public partial class BackupServices
{
private readonly IHaContext _haContext;
public BackupServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Creates a new backup.</summary>
public void Create(object? data = null)
{
_haContext.CallService("backup", "create", null, data);
}
}
public partial class ButtonServices
{
private readonly IHaContext _haContext;
public ButtonServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Press the button entity.</summary>
///<param name="target">The target for this service call</param>
public void Press(ServiceTarget target, object? data = null)
{
_haContext.CallService("button", "press", target, data);
}
}
public partial class CalendarServices
{
private readonly IHaContext _haContext;
public CalendarServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Adds a new calendar event.</summary>
///<param name="target">The target for this service call</param>
public void CreateEvent(ServiceTarget target, CalendarCreateEventParameters data)
{
_haContext.CallService("calendar", "create_event", target, data);
}
///<summary>Adds a new calendar event.</summary>
///<param name="summary">Defines the short summary or subject for the event. eg: Department Party</param>
///<param name="description">A more complete description of the event than the one provided by the summary. eg: Meeting to provide technical review for &apos;Phoenix&apos; design.</param>
///<param name="startDateTime">The date and time the event should start. eg: 2022-03-22 20:00:00</param>
///<param name="endDateTime">The date and time the event should end. eg: 2022-03-22 22:00:00</param>
///<param name="startDate">The date the all-day event should start. eg: 2022-03-22</param>
///<param name="endDate">The date the all-day event should end (exclusive). eg: 2022-03-23</param>
///<param name="in">Days or weeks that you want to create the event in. eg: {&quot;days&quot;: 2} or {&quot;weeks&quot;: 2}</param>
///<param name="location">The location of the event. eg: Conference Room - F123, Bldg. 002</param>
public void CreateEvent(ServiceTarget target, string summary, string? description = null, DateTime? startDateTime = null, DateTime? endDateTime = null, DateOnly? startDate = null, DateOnly? endDate = null, object? @in = null, string? location = null)
{
_haContext.CallService("calendar", "create_event", target, new CalendarCreateEventParameters { Summary = summary, Description = description, StartDateTime = startDateTime, EndDateTime = endDateTime, StartDate = startDate, EndDate = endDate, In = @in, Location = location });
}
///<summary>Get events on a calendar within a time range.</summary>
///<param name="target">The target for this service call</param>
public void GetEvents(ServiceTarget target, CalendarGetEventsParameters data)
{
_haContext.CallService("calendar", "get_events", target, data);
}
///<summary>Get events on a calendar within a time range.</summary>
///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param>
///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param>
///<param name="duration">Returns active events from Start time for the specified duration.</param>
public void GetEvents(ServiceTarget target, DateTime? startDateTime = null, DateTime? endDateTime = null, object? duration = null)
{
_haContext.CallService("calendar", "get_events", target, new CalendarGetEventsParameters { StartDateTime = startDateTime, EndDateTime = endDateTime, Duration = duration });
}
///<summary>Get events on a calendar within a time range.</summary>
///<param name="target">The target for this service call</param>
public Task<JsonElement?> GetEventsAsync(ServiceTarget target, CalendarGetEventsParameters data)
{
return _haContext.CallServiceWithResponseAsync("calendar", "get_events", target, data);
}
///<summary>Get events on a calendar within a time range.</summary>
///<param name="target">The target for this service call</param>
///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param>
///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param>
///<param name="duration">Returns active events from Start time for the specified duration.</param>
public Task<JsonElement?> GetEventsAsync(ServiceTarget target, DateTime? startDateTime = null, DateTime? endDateTime = null, object? duration = null)
{
return _haContext.CallServiceWithResponseAsync("calendar", "get_events", target, new CalendarGetEventsParameters { StartDateTime = startDateTime, EndDateTime = endDateTime, Duration = duration });
}
}
public partial record CalendarCreateEventParameters
{
///<summary>Defines the short summary or subject for the event. eg: Department Party</summary>
[JsonPropertyName("summary")]
public string? Summary { get; init; }
///<summary>A more complete description of the event than the one provided by the summary. eg: Meeting to provide technical review for &apos;Phoenix&apos; design.</summary>
[JsonPropertyName("description")]
public string? Description { get; init; }
///<summary>The date and time the event should start. eg: 2022-03-22 20:00:00</summary>
[JsonPropertyName("start_date_time")]
public DateTime? StartDateTime { get; init; }
///<summary>The date and time the event should end. eg: 2022-03-22 22:00:00</summary>
[JsonPropertyName("end_date_time")]
public DateTime? EndDateTime { get; init; }
///<summary>The date the all-day event should start. eg: 2022-03-22</summary>
[JsonPropertyName("start_date")]
public DateOnly? StartDate { get; init; }
///<summary>The date the all-day event should end (exclusive). eg: 2022-03-23</summary>
[JsonPropertyName("end_date")]
public DateOnly? EndDate { get; init; }
///<summary>Days or weeks that you want to create the event in. eg: {&quot;days&quot;: 2} or {&quot;weeks&quot;: 2}</summary>
[JsonPropertyName("in")]
public object? In { get; init; }
///<summary>The location of the event. eg: Conference Room - F123, Bldg. 002</summary>
[JsonPropertyName("location")]
public string? Location { get; init; }
}
public partial record CalendarGetEventsParameters
{
///<summary>Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</summary>
[JsonPropertyName("start_date_time")]
public DateTime? StartDateTime { get; init; }
///<summary>Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</summary>
[JsonPropertyName("end_date_time")]
public DateTime? EndDateTime { get; init; }
///<summary>Returns active events from Start time for the specified duration.</summary>
[JsonPropertyName("duration")]
public object? Duration { get; init; }
}
public partial class CastServices
{
private readonly IHaContext _haContext;
public CastServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Shows a dashboard view on a Chromecast device.</summary>
public void ShowLovelaceView(CastShowLovelaceViewParameters data)
{
_haContext.CallService("cast", "show_lovelace_view", null, data);
}
///<summary>Shows a dashboard view on a Chromecast device.</summary>
///<param name="entityId">Media player entity to show the dashboard view on.</param>
///<param name="dashboardPath">The URL path of the dashboard to show. eg: lovelace-cast</param>
///<param name="viewPath">The URL path of the dashboard view to show. eg: downstairs</param>
public void ShowLovelaceView(string entityId, string dashboardPath, string? viewPath = null)
{
_haContext.CallService("cast", "show_lovelace_view", null, new CastShowLovelaceViewParameters { EntityId = entityId, DashboardPath = dashboardPath, ViewPath = viewPath });
}
}
public partial record CastShowLovelaceViewParameters
{
///<summary>Media player entity to show the dashboard view on.</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The URL path of the dashboard to show. eg: lovelace-cast</summary>
[JsonPropertyName("dashboard_path")]
public string? DashboardPath { get; init; }
///<summary>The URL path of the dashboard view to show. eg: downstairs</summary>
[JsonPropertyName("view_path")]
public string? ViewPath { get; init; }
}
public partial class ClimateServices
{
private readonly IHaContext _haContext;
public ClimateServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Turns auxiliary heater on/off.</summary>
///<param name="target">The target for this service call</param>
public void SetAuxHeat(ServiceTarget target, ClimateSetAuxHeatParameters data)
{
_haContext.CallService("climate", "set_aux_heat", target, data);
}
///<summary>Turns auxiliary heater on/off.</summary>
///<param name="auxHeat">New value of auxiliary heater.</param>
public void SetAuxHeat(ServiceTarget target, bool auxHeat)
{
_haContext.CallService("climate", "set_aux_heat", target, new ClimateSetAuxHeatParameters { AuxHeat = auxHeat });
}
///<summary>Sets fan operation mode.</summary>
///<param name="target">The target for this service call</param>
public void SetFanMode(ServiceTarget target, ClimateSetFanModeParameters data)
{
_haContext.CallService("climate", "set_fan_mode", target, data);
}
///<summary>Sets fan operation mode.</summary>
///<param name="fanMode">Fan operation mode. eg: low</param>
public void SetFanMode(ServiceTarget target, string fanMode)
{
_haContext.CallService("climate", "set_fan_mode", target, new ClimateSetFanModeParameters { FanMode = fanMode });
}
///<summary>Sets target humidity.</summary>
///<param name="target">The target for this service call</param>
public void SetHumidity(ServiceTarget target, ClimateSetHumidityParameters data)
{
_haContext.CallService("climate", "set_humidity", target, data);
}
///<summary>Sets target humidity.</summary>
///<param name="humidity">Target humidity.</param>
public void SetHumidity(ServiceTarget target, double humidity)
{
_haContext.CallService("climate", "set_humidity", target, new ClimateSetHumidityParameters { Humidity = humidity });
}
///<summary>Sets HVAC operation mode.</summary>
///<param name="target">The target for this service call</param>
public void SetHvacMode(ServiceTarget target, ClimateSetHvacModeParameters data)
{
_haContext.CallService("climate", "set_hvac_mode", target, data);
}
///<summary>Sets HVAC operation mode.</summary>
///<param name="hvacMode">HVAC operation mode.</param>
public void SetHvacMode(ServiceTarget target, object? hvacMode = null)
{
_haContext.CallService("climate", "set_hvac_mode", target, new ClimateSetHvacModeParameters { HvacMode = hvacMode });
}
///<summary>Sets preset mode.</summary>
///<param name="target">The target for this service call</param>
public void SetPresetMode(ServiceTarget target, ClimateSetPresetModeParameters data)
{
_haContext.CallService("climate", "set_preset_mode", target, data);
}
///<summary>Sets preset mode.</summary>
///<param name="presetMode">Preset mode. eg: away</param>
public void SetPresetMode(ServiceTarget target, string presetMode)
{
_haContext.CallService("climate", "set_preset_mode", target, new ClimateSetPresetModeParameters { PresetMode = presetMode });
}
///<summary>Sets swing operation mode.</summary>
///<param name="target">The target for this service call</param>
public void SetSwingMode(ServiceTarget target, ClimateSetSwingModeParameters data)
{
_haContext.CallService("climate", "set_swing_mode", target, data);
}
///<summary>Sets swing operation mode.</summary>
///<param name="swingMode">Swing operation mode. eg: horizontal</param>
public void SetSwingMode(ServiceTarget target, string swingMode)
{
_haContext.CallService("climate", "set_swing_mode", target, new ClimateSetSwingModeParameters { SwingMode = swingMode });
}
///<summary>Sets target temperature.</summary>
///<param name="target">The target for this service call</param>
public void SetTemperature(ServiceTarget target, ClimateSetTemperatureParameters data)
{
_haContext.CallService("climate", "set_temperature", target, data);
}
///<summary>Sets target temperature.</summary>
///<param name="temperature">Target temperature.</param>
///<param name="targetTempHigh">High target temperature.</param>
///<param name="targetTempLow">Low target temperature.</param>
///<param name="hvacMode">HVAC operation mode.</param>
public void SetTemperature(ServiceTarget target, double? temperature = null, double? targetTempHigh = null, double? targetTempLow = null, object? hvacMode = null)
{
_haContext.CallService("climate", "set_temperature", target, new ClimateSetTemperatureParameters { Temperature = temperature, TargetTempHigh = targetTempHigh, TargetTempLow = targetTempLow, HvacMode = hvacMode });
}
///<summary>Toggles climate device, from on to off, or off to on.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("climate", "toggle", target, data);
}
///<summary>Turns climate device off.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, object? data = null)
{
_haContext.CallService("climate", "turn_off", target, data);
}
///<summary>Turns climate device on.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, object? data = null)
{
_haContext.CallService("climate", "turn_on", target, data);
}
}
public partial record ClimateSetAuxHeatParameters
{
///<summary>New value of auxiliary heater.</summary>
[JsonPropertyName("aux_heat")]
public bool? AuxHeat { get; init; }
}
public partial record ClimateSetFanModeParameters
{
///<summary>Fan operation mode. eg: low</summary>
[JsonPropertyName("fan_mode")]
public string? FanMode { get; init; }
}
public partial record ClimateSetHumidityParameters
{
///<summary>Target humidity.</summary>
[JsonPropertyName("humidity")]
public double? Humidity { get; init; }
}
public partial record ClimateSetHvacModeParameters
{
///<summary>HVAC operation mode.</summary>
[JsonPropertyName("hvac_mode")]
public object? HvacMode { get; init; }
}
public partial record ClimateSetPresetModeParameters
{
///<summary>Preset mode. eg: away</summary>
[JsonPropertyName("preset_mode")]
public string? PresetMode { get; init; }
}
public partial record ClimateSetSwingModeParameters
{
///<summary>Swing operation mode. eg: horizontal</summary>
[JsonPropertyName("swing_mode")]
public string? SwingMode { get; init; }
}
public partial record ClimateSetTemperatureParameters
{
///<summary>Target temperature.</summary>
[JsonPropertyName("temperature")]
public double? Temperature { get; init; }
///<summary>High target temperature.</summary>
[JsonPropertyName("target_temp_high")]
public double? TargetTempHigh { get; init; }
///<summary>Low target temperature.</summary>
[JsonPropertyName("target_temp_low")]
public double? TargetTempLow { get; init; }
///<summary>HVAC operation mode.</summary>
[JsonPropertyName("hvac_mode")]
public object? HvacMode { get; init; }
}
public partial class ConversationServices
{
private readonly IHaContext _haContext;
public ConversationServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Launches a conversation from a transcribed text.</summary>
public void Process(ConversationProcessParameters data)
{
_haContext.CallService("conversation", "process", null, data);
}
///<summary>Launches a conversation from a transcribed text.</summary>
///<param name="text">Transcribed text input. eg: Turn all lights on</param>
///<param name="language">Language of text. Defaults to server language. eg: NL</param>
///<param name="agentId">Conversation agent to process your request. The conversation agent is the brains of your assistant. It processes the incoming text commands. eg: homeassistant</param>
///<param name="conversationId">ID of the conversation, to be able to continue a previous conversation eg: my_conversation_1</param>
public void Process(string text, string? language = null, object? agentId = null, string? conversationId = null)
{
_haContext.CallService("conversation", "process", null, new ConversationProcessParameters { Text = text, Language = language, AgentId = agentId, ConversationId = conversationId });
}
///<summary>Launches a conversation from a transcribed text.</summary>
public Task<JsonElement?> ProcessAsync(ConversationProcessParameters data)
{
return _haContext.CallServiceWithResponseAsync("conversation", "process", null, data);
}
///<summary>Launches a conversation from a transcribed text.</summary>
///<param name="text">Transcribed text input. eg: Turn all lights on</param>
///<param name="language">Language of text. Defaults to server language. eg: NL</param>
///<param name="agentId">Conversation agent to process your request. The conversation agent is the brains of your assistant. It processes the incoming text commands. eg: homeassistant</param>
///<param name="conversationId">ID of the conversation, to be able to continue a previous conversation eg: my_conversation_1</param>
public Task<JsonElement?> ProcessAsync(string text, string? language = null, object? agentId = null, string? conversationId = null)
{
return _haContext.CallServiceWithResponseAsync("conversation", "process", null, new ConversationProcessParameters { Text = text, Language = language, AgentId = agentId, ConversationId = conversationId });
}
///<summary>Reloads the intent configuration.</summary>
public void Reload(ConversationReloadParameters data)
{
_haContext.CallService("conversation", "reload", null, data);
}
///<summary>Reloads the intent configuration.</summary>
///<param name="language">Language to clear cached intents for. Defaults to server language. eg: NL</param>
///<param name="agentId">Conversation agent to reload. eg: homeassistant</param>
public void Reload(string? language = null, object? agentId = null)
{
_haContext.CallService("conversation", "reload", null, new ConversationReloadParameters { Language = language, AgentId = agentId });
}
}
public partial record ConversationProcessParameters
{
///<summary>Transcribed text input. eg: Turn all lights on</summary>
[JsonPropertyName("text")]
public string? Text { get; init; }
///<summary>Language of text. Defaults to server language. eg: NL</summary>
[JsonPropertyName("language")]
public string? Language { get; init; }
///<summary>Conversation agent to process your request. The conversation agent is the brains of your assistant. It processes the incoming text commands. eg: homeassistant</summary>
[JsonPropertyName("agent_id")]
public object? AgentId { get; init; }
///<summary>ID of the conversation, to be able to continue a previous conversation eg: my_conversation_1</summary>
[JsonPropertyName("conversation_id")]
public string? ConversationId { get; init; }
}
public partial record ConversationReloadParameters
{
///<summary>Language to clear cached intents for. Defaults to server language. eg: NL</summary>
[JsonPropertyName("language")]
public string? Language { get; init; }
///<summary>Conversation agent to reload. eg: homeassistant</summary>
[JsonPropertyName("agent_id")]
public object? AgentId { get; init; }
}
public partial class CounterServices
{
private readonly IHaContext _haContext;
public CounterServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Decrements a counter.</summary>
///<param name="target">The target for this service call</param>
public void Decrement(ServiceTarget target, object? data = null)
{
_haContext.CallService("counter", "decrement", target, data);
}
///<summary>Increments a counter.</summary>
///<param name="target">The target for this service call</param>
public void Increment(ServiceTarget target, object? data = null)
{
_haContext.CallService("counter", "increment", target, data);
}
///<summary>Resets a counter.</summary>
///<param name="target">The target for this service call</param>
public void Reset(ServiceTarget target, object? data = null)
{
_haContext.CallService("counter", "reset", target, data);
}
///<summary>Sets the counter value.</summary>
///<param name="target">The target for this service call</param>
public void SetValue(ServiceTarget target, CounterSetValueParameters data)
{
_haContext.CallService("counter", "set_value", target, data);
}
///<summary>Sets the counter value.</summary>
///<param name="value">The new counter value the entity should be set to.</param>
public void SetValue(ServiceTarget target, double value)
{
_haContext.CallService("counter", "set_value", target, new CounterSetValueParameters { Value = value });
}
}
public partial record CounterSetValueParameters
{
///<summary>The new counter value the entity should be set to.</summary>
[JsonPropertyName("value")]
public double? Value { get; init; }
}
public partial class DeviceTrackerServices
{
private readonly IHaContext _haContext;
public DeviceTrackerServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Manually update the records of a seen legacy device tracker in the known_devices.yaml file.</summary>
public void See(DeviceTrackerSeeParameters data)
{
_haContext.CallService("device_tracker", "see", null, data);
}
///<summary>Manually update the records of a seen legacy device tracker in the known_devices.yaml file.</summary>
///<param name="mac">MAC address of the device. eg: FF:FF:FF:FF:FF:FF</param>
///<param name="devId">ID of the device (find the ID in `known_devices.yaml`). eg: phonedave</param>
///<param name="hostName">Hostname of the device. eg: Dave</param>
///<param name="locationName">Name of the location where the device is located. The options are: `home`, `not_home`, or the name of the zone. eg: home</param>
///<param name="gps">GPS coordinates where the device is located, specified by latitude and longitude (for example: [51.513845, -0.100539]). eg: [51.509802, -0.086692]</param>
///<param name="gpsAccuracy">Accuracy of the GPS coordinates.</param>
///<param name="battery">Battery level of the device.</param>
public void See(string? mac = null, string? devId = null, string? hostName = null, string? locationName = null, object? gps = null, double? gpsAccuracy = null, double? battery = null)
{
_haContext.CallService("device_tracker", "see", null, new DeviceTrackerSeeParameters { Mac = mac, DevId = devId, HostName = hostName, LocationName = locationName, Gps = gps, GpsAccuracy = gpsAccuracy, Battery = battery });
}
}
public partial record DeviceTrackerSeeParameters
{
///<summary>MAC address of the device. eg: FF:FF:FF:FF:FF:FF</summary>
[JsonPropertyName("mac")]
public string? Mac { get; init; }
///<summary>ID of the device (find the ID in `known_devices.yaml`). eg: phonedave</summary>
[JsonPropertyName("dev_id")]
public string? DevId { get; init; }
///<summary>Hostname of the device. eg: Dave</summary>
[JsonPropertyName("host_name")]
public string? HostName { get; init; }
///<summary>Name of the location where the device is located. The options are: `home`, `not_home`, or the name of the zone. eg: home</summary>
[JsonPropertyName("location_name")]
public string? LocationName { get; init; }
///<summary>GPS coordinates where the device is located, specified by latitude and longitude (for example: [51.513845, -0.100539]). eg: [51.509802, -0.086692]</summary>
[JsonPropertyName("gps")]
public object? Gps { get; init; }
///<summary>Accuracy of the GPS coordinates.</summary>
[JsonPropertyName("gps_accuracy")]
public double? GpsAccuracy { get; init; }
///<summary>Battery level of the device.</summary>
[JsonPropertyName("battery")]
public double? Battery { get; init; }
}
public partial class ExtendedOllamaConversationServices
{
private readonly IHaContext _haContext;
public ExtendedOllamaConversationServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Take in images and answer questions about them</summary>
public void QueryImage(ExtendedOllamaConversationQueryImageParameters data)
{
_haContext.CallService("extended_ollama_conversation", "query_image", null, data);
}
///<summary>Take in images and answer questions about them</summary>
///<param name="configEntry">The config entry to use for this service</param>
///<param name="model">The model eg: gpt-4-vision-preview</param>
///<param name="prompt">The text to ask about image eg: Whats in this image?</param>
///<param name="images">A list of images that would be asked eg: {&quot;url&quot;: &quot;https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg&quot;}</param>
///<param name="maxTokens">The maximum tokens eg: 300</param>
public void QueryImage(object configEntry, string prompt, object images, string? model = null, double? maxTokens = null)
{
_haContext.CallService("extended_ollama_conversation", "query_image", null, new ExtendedOllamaConversationQueryImageParameters { ConfigEntry = configEntry, Model = model, Prompt = prompt, Images = images, MaxTokens = maxTokens });
}
///<summary>Take in images and answer questions about them</summary>
public Task<JsonElement?> QueryImageAsync(ExtendedOllamaConversationQueryImageParameters data)
{
return _haContext.CallServiceWithResponseAsync("extended_ollama_conversation", "query_image", null, data);
}
///<summary>Take in images and answer questions about them</summary>
///<param name="configEntry">The config entry to use for this service</param>
///<param name="model">The model eg: gpt-4-vision-preview</param>
///<param name="prompt">The text to ask about image eg: Whats in this image?</param>
///<param name="images">A list of images that would be asked eg: {&quot;url&quot;: &quot;https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg&quot;}</param>
///<param name="maxTokens">The maximum tokens eg: 300</param>
public Task<JsonElement?> QueryImageAsync(object configEntry, string prompt, object images, string? model = null, double? maxTokens = null)
{
return _haContext.CallServiceWithResponseAsync("extended_ollama_conversation", "query_image", null, new ExtendedOllamaConversationQueryImageParameters { ConfigEntry = configEntry, Model = model, Prompt = prompt, Images = images, MaxTokens = maxTokens });
}
}
public partial record ExtendedOllamaConversationQueryImageParameters
{
///<summary>The config entry to use for this service</summary>
[JsonPropertyName("config_entry")]
public object? ConfigEntry { get; init; }
///<summary>The model eg: gpt-4-vision-preview</summary>
[JsonPropertyName("model")]
public string? Model { get; init; }
///<summary>The text to ask about image eg: Whats in this image?</summary>
[JsonPropertyName("prompt")]
public string? Prompt { get; init; }
///<summary>A list of images that would be asked eg: {&quot;url&quot;: &quot;https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg&quot;}</summary>
[JsonPropertyName("images")]
public object? Images { get; init; }
///<summary>The maximum tokens eg: 300</summary>
[JsonPropertyName("max_tokens")]
public double? MaxTokens { get; init; }
}
public partial class FfmpegServices
{
private readonly IHaContext _haContext;
public FfmpegServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Sends a restart command to a ffmpeg based sensor.</summary>
public void Restart(FfmpegRestartParameters data)
{
_haContext.CallService("ffmpeg", "restart", null, data);
}
///<summary>Sends a restart command to a ffmpeg based sensor.</summary>
///<param name="entityId">Name of entity that will restart. Platform dependent.</param>
public void Restart(string? entityId = null)
{
_haContext.CallService("ffmpeg", "restart", null, new FfmpegRestartParameters { EntityId = entityId });
}
///<summary>Sends a start command to a ffmpeg based sensor.</summary>
public void Start(FfmpegStartParameters data)
{
_haContext.CallService("ffmpeg", "start", null, data);
}
///<summary>Sends a start command to a ffmpeg based sensor.</summary>
///<param name="entityId">Name of entity that will start. Platform dependent.</param>
public void Start(string? entityId = null)
{
_haContext.CallService("ffmpeg", "start", null, new FfmpegStartParameters { EntityId = entityId });
}
///<summary>Sends a stop command to a ffmpeg based sensor.</summary>
public void Stop(FfmpegStopParameters data)
{
_haContext.CallService("ffmpeg", "stop", null, data);
}
///<summary>Sends a stop command to a ffmpeg based sensor.</summary>
///<param name="entityId">Name of entity that will stop. Platform dependent.</param>
public void Stop(string? entityId = null)
{
_haContext.CallService("ffmpeg", "stop", null, new FfmpegStopParameters { EntityId = entityId });
}
}
public partial record FfmpegRestartParameters
{
///<summary>Name of entity that will restart. Platform dependent.</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
}
public partial record FfmpegStartParameters
{
///<summary>Name of entity that will start. Platform dependent.</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
}
public partial record FfmpegStopParameters
{
///<summary>Name of entity that will stop. Platform dependent.</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
}
public partial class FrontendServices
{
private readonly IHaContext _haContext;
public FrontendServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads themes from the YAML-configuration.</summary>
public void ReloadThemes(object? data = null)
{
_haContext.CallService("frontend", "reload_themes", null, data);
}
///<summary>Sets the default theme Home Assistant uses. Can be overridden by a user.</summary>
public void SetTheme(FrontendSetThemeParameters data)
{
_haContext.CallService("frontend", "set_theme", null, data);
}
///<summary>Sets the default theme Home Assistant uses. Can be overridden by a user.</summary>
///<param name="name">Name of a theme. eg: default</param>
///<param name="mode">Theme mode.</param>
public void SetTheme(object name, object? mode = null)
{
_haContext.CallService("frontend", "set_theme", null, new FrontendSetThemeParameters { Name = name, Mode = mode });
}
}
public partial record FrontendSetThemeParameters
{
///<summary>Name of a theme. eg: default</summary>
[JsonPropertyName("name")]
public object? Name { get; init; }
///<summary>Theme mode.</summary>
[JsonPropertyName("mode")]
public object? Mode { get; init; }
}
public partial class HomeassistantServices
{
private readonly IHaContext _haContext;
public HomeassistantServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Checks the Home Assistant YAML-configuration files for errors. Errors will be shown in the Home Assistant logs.</summary>
public void CheckConfig(object? data = null)
{
_haContext.CallService("homeassistant", "check_config", null, data);
}
///<summary>Reload all YAML configuration that can be reloaded without restarting Home Assistant.</summary>
public void ReloadAll(object? data = null)
{
_haContext.CallService("homeassistant", "reload_all", null, data);
}
///<summary>Reloads the specified config entry.</summary>
///<param name="target">The target for this service call</param>
public void ReloadConfigEntry(ServiceTarget target, HomeassistantReloadConfigEntryParameters data)
{
_haContext.CallService("homeassistant", "reload_config_entry", target, data);
}
///<summary>Reloads the specified config entry.</summary>
///<param name="entryId">The configuration entry ID of the entry to be reloaded. eg: 8955375327824e14ba89e4b29cc3ec9a</param>
public void ReloadConfigEntry(ServiceTarget target, string? entryId = null)
{
_haContext.CallService("homeassistant", "reload_config_entry", target, new HomeassistantReloadConfigEntryParameters { EntryId = entryId });
}
///<summary>Reloads the core configuration from the YAML-configuration.</summary>
public void ReloadCoreConfig(object? data = null)
{
_haContext.CallService("homeassistant", "reload_core_config", null, data);
}
///<summary>Reloads Jinja2 templates found in the `custom_templates` folder in your config. New values will be applied on the next render of the template.</summary>
public void ReloadCustomTemplates(object? data = null)
{
_haContext.CallService("homeassistant", "reload_custom_templates", null, data);
}
///<summary>Restarts Home Assistant.</summary>
public void Restart(object? data = null)
{
_haContext.CallService("homeassistant", "restart", null, data);
}
///<summary>Saves the persistent states immediately. Maintains the normal periodic saving interval.</summary>
public void SavePersistentStates(object? data = null)
{
_haContext.CallService("homeassistant", "save_persistent_states", null, data);
}
///<summary>Updates the Home Assistant location.</summary>
public void SetLocation(HomeassistantSetLocationParameters data)
{
_haContext.CallService("homeassistant", "set_location", null, data);
}
///<summary>Updates the Home Assistant location.</summary>
///<param name="latitude">Latitude of your location. eg: 32.87336</param>
///<param name="longitude">Longitude of your location. eg: 117.22743</param>
///<param name="elevation">Elevation of your location. eg: 120</param>
public void SetLocation(double latitude, double longitude, double? elevation = null)
{
_haContext.CallService("homeassistant", "set_location", null, new HomeassistantSetLocationParameters { Latitude = latitude, Longitude = longitude, Elevation = elevation });
}
///<summary>Stops Home Assistant.</summary>
public void Stop(object? data = null)
{
_haContext.CallService("homeassistant", "stop", null, data);
}
///<summary>Generic action to toggle devices on/off under any domain.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("homeassistant", "toggle", target, data);
}
///<summary>Generic action to turn devices off under any domain.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, object? data = null)
{
_haContext.CallService("homeassistant", "turn_off", target, data);
}
///<summary>Generic action to turn devices on under any domain.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, object? data = null)
{
_haContext.CallService("homeassistant", "turn_on", target, data);
}
///<summary>Forces one or more entities to update its data.</summary>
public void UpdateEntity(HomeassistantUpdateEntityParameters data)
{
_haContext.CallService("homeassistant", "update_entity", null, data);
}
///<summary>Forces one or more entities to update its data.</summary>
///<param name="entityId">List of entities to force update.</param>
public void UpdateEntity(IEnumerable<string> entityId)
{
_haContext.CallService("homeassistant", "update_entity", null, new HomeassistantUpdateEntityParameters { EntityId = entityId });
}
}
public partial record HomeassistantReloadConfigEntryParameters
{
///<summary>The configuration entry ID of the entry to be reloaded. eg: 8955375327824e14ba89e4b29cc3ec9a</summary>
[JsonPropertyName("entry_id")]
public string? EntryId { get; init; }
}
public partial record HomeassistantSetLocationParameters
{
///<summary>Latitude of your location. eg: 32.87336</summary>
[JsonPropertyName("latitude")]
public double? Latitude { get; init; }
///<summary>Longitude of your location. eg: 117.22743</summary>
[JsonPropertyName("longitude")]
public double? Longitude { get; init; }
///<summary>Elevation of your location. eg: 120</summary>
[JsonPropertyName("elevation")]
public double? Elevation { get; init; }
}
public partial record HomeassistantUpdateEntityParameters
{
///<summary>List of entities to force update.</summary>
[JsonPropertyName("entity_id")]
public IEnumerable<string>? EntityId { get; init; }
}
public partial class InputBooleanServices
{
private readonly IHaContext _haContext;
public InputBooleanServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads helpers from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("input_boolean", "reload", null, data);
}
///<summary>Toggles the helper on/off.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("input_boolean", "toggle", target, data);
}
///<summary>Turns off the helper.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, object? data = null)
{
_haContext.CallService("input_boolean", "turn_off", target, data);
}
///<summary>Turns on the helper.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, object? data = null)
{
_haContext.CallService("input_boolean", "turn_on", target, data);
}
}
public partial class InputButtonServices
{
private readonly IHaContext _haContext;
public InputButtonServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Mimics the physical button press on the device.</summary>
///<param name="target">The target for this service call</param>
public void Press(ServiceTarget target, object? data = null)
{
_haContext.CallService("input_button", "press", target, data);
}
///<summary>Reloads helpers from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("input_button", "reload", null, data);
}
}
public partial class InputDatetimeServices
{
private readonly IHaContext _haContext;
public InputDatetimeServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads helpers from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("input_datetime", "reload", null, data);
}
///<summary>Sets the date and/or time.</summary>
///<param name="target">The target for this service call</param>
public void SetDatetime(ServiceTarget target, InputDatetimeSetDatetimeParameters data)
{
_haContext.CallService("input_datetime", "set_datetime", target, data);
}
///<summary>Sets the date and/or time.</summary>
///<param name="date">The target date. eg: &quot;2019-04-20&quot;</param>
///<param name="time">The target time. eg: &quot;05:04:20&quot;</param>
///<param name="datetime">The target date &amp; time. eg: &quot;2019-04-20 05:04:20&quot;</param>
///<param name="timestamp">The target date &amp; time, expressed by a UNIX timestamp.</param>
public void SetDatetime(ServiceTarget target, string? date = null, TimeOnly? time = null, string? datetime = null, double? timestamp = null)
{
_haContext.CallService("input_datetime", "set_datetime", target, new InputDatetimeSetDatetimeParameters { Date = date, Time = time, Datetime = datetime, Timestamp = timestamp });
}
}
public partial record InputDatetimeSetDatetimeParameters
{
///<summary>The target date. eg: &quot;2019-04-20&quot;</summary>
[JsonPropertyName("date")]
public string? Date { get; init; }
///<summary>The target time. eg: &quot;05:04:20&quot;</summary>
[JsonPropertyName("time")]
public TimeOnly? Time { get; init; }
///<summary>The target date &amp; time. eg: &quot;2019-04-20 05:04:20&quot;</summary>
[JsonPropertyName("datetime")]
public string? Datetime { get; init; }
///<summary>The target date &amp; time, expressed by a UNIX timestamp.</summary>
[JsonPropertyName("timestamp")]
public double? Timestamp { get; init; }
}
public partial class InputNumberServices
{
private readonly IHaContext _haContext;
public InputNumberServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Decrements the current value by 1 step.</summary>
///<param name="target">The target for this service call</param>
public void Decrement(ServiceTarget target, object? data = null)
{
_haContext.CallService("input_number", "decrement", target, data);
}
///<summary>Increments the current value by 1 step.</summary>
///<param name="target">The target for this service call</param>
public void Increment(ServiceTarget target, object? data = null)
{
_haContext.CallService("input_number", "increment", target, data);
}
///<summary>Reloads helpers from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("input_number", "reload", null, data);
}
///<summary>Sets the value.</summary>
///<param name="target">The target for this service call</param>
public void SetValue(ServiceTarget target, InputNumberSetValueParameters data)
{
_haContext.CallService("input_number", "set_value", target, data);
}
///<summary>Sets the value.</summary>
///<param name="value">The target value.</param>
public void SetValue(ServiceTarget target, double value)
{
_haContext.CallService("input_number", "set_value", target, new InputNumberSetValueParameters { Value = value });
}
}
public partial record InputNumberSetValueParameters
{
///<summary>The target value.</summary>
[JsonPropertyName("value")]
public double? Value { get; init; }
}
public partial class InputSelectServices
{
private readonly IHaContext _haContext;
public InputSelectServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads helpers from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("input_select", "reload", null, data);
}
///<summary>Selects the first option.</summary>
///<param name="target">The target for this service call</param>
public void SelectFirst(ServiceTarget target, object? data = null)
{
_haContext.CallService("input_select", "select_first", target, data);
}
///<summary>Selects the last option.</summary>
///<param name="target">The target for this service call</param>
public void SelectLast(ServiceTarget target, object? data = null)
{
_haContext.CallService("input_select", "select_last", target, data);
}
///<summary>Select the next option.</summary>
///<param name="target">The target for this service call</param>
public void SelectNext(ServiceTarget target, InputSelectSelectNextParameters data)
{
_haContext.CallService("input_select", "select_next", target, data);
}
///<summary>Select the next option.</summary>
///<param name="cycle">If the option should cycle from the last to the first option on the list.</param>
public void SelectNext(ServiceTarget target, bool? cycle = null)
{
_haContext.CallService("input_select", "select_next", target, new InputSelectSelectNextParameters { Cycle = cycle });
}
///<summary>Selects an option.</summary>
///<param name="target">The target for this service call</param>
public void SelectOption(ServiceTarget target, InputSelectSelectOptionParameters data)
{
_haContext.CallService("input_select", "select_option", target, data);
}
///<summary>Selects an option.</summary>
///<param name="option">Option to be selected. eg: &quot;Item A&quot;</param>
public void SelectOption(ServiceTarget target, string option)
{
_haContext.CallService("input_select", "select_option", target, new InputSelectSelectOptionParameters { Option = option });
}
///<summary>Selects the previous option.</summary>
///<param name="target">The target for this service call</param>
public void SelectPrevious(ServiceTarget target, InputSelectSelectPreviousParameters data)
{
_haContext.CallService("input_select", "select_previous", target, data);
}
///<summary>Selects the previous option.</summary>
///<param name="cycle">If the option should cycle from the last to the first option on the list.</param>
public void SelectPrevious(ServiceTarget target, bool? cycle = null)
{
_haContext.CallService("input_select", "select_previous", target, new InputSelectSelectPreviousParameters { Cycle = cycle });
}
///<summary>Sets the options.</summary>
///<param name="target">The target for this service call</param>
public void SetOptions(ServiceTarget target, InputSelectSetOptionsParameters data)
{
_haContext.CallService("input_select", "set_options", target, data);
}
///<summary>Sets the options.</summary>
///<param name="options">List of options. eg: [&quot;Item A&quot;, &quot;Item B&quot;, &quot;Item C&quot;]</param>
public void SetOptions(ServiceTarget target, IEnumerable<string> options)
{
_haContext.CallService("input_select", "set_options", target, new InputSelectSetOptionsParameters { Options = options });
}
}
public partial record InputSelectSelectNextParameters
{
///<summary>If the option should cycle from the last to the first option on the list.</summary>
[JsonPropertyName("cycle")]
public bool? Cycle { get; init; }
}
public partial record InputSelectSelectOptionParameters
{
///<summary>Option to be selected. eg: &quot;Item A&quot;</summary>
[JsonPropertyName("option")]
public string? Option { get; init; }
}
public partial record InputSelectSelectPreviousParameters
{
///<summary>If the option should cycle from the last to the first option on the list.</summary>
[JsonPropertyName("cycle")]
public bool? Cycle { get; init; }
}
public partial record InputSelectSetOptionsParameters
{
///<summary>List of options. eg: [&quot;Item A&quot;, &quot;Item B&quot;, &quot;Item C&quot;]</summary>
[JsonPropertyName("options")]
public IEnumerable<string>? Options { get; init; }
}
public partial class InputTextServices
{
private readonly IHaContext _haContext;
public InputTextServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads helpers from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("input_text", "reload", null, data);
}
///<summary>Sets the value.</summary>
///<param name="target">The target for this service call</param>
public void SetValue(ServiceTarget target, InputTextSetValueParameters data)
{
_haContext.CallService("input_text", "set_value", target, data);
}
///<summary>Sets the value.</summary>
///<param name="value">The target value. eg: This is an example text</param>
public void SetValue(ServiceTarget target, string value)
{
_haContext.CallService("input_text", "set_value", target, new InputTextSetValueParameters { Value = value });
}
}
public partial record InputTextSetValueParameters
{
///<summary>The target value. eg: This is an example text</summary>
[JsonPropertyName("value")]
public string? Value { get; init; }
}
public partial class IntentScriptServices
{
private readonly IHaContext _haContext;
public IntentScriptServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads the intent script from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("intent_script", "reload", null, data);
}
}
public partial class LightServices
{
private readonly IHaContext _haContext;
public LightServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Toggles one or more lights, from on to off, or, off to on, based on their current state.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, LightToggleParameters data)
{
_haContext.CallService("light", "toggle", target, data);
}
///<summary>Toggles one or more lights, from on to off, or, off to on, based on their current state.</summary>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="rgbColor">The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100]</param>
///<param name="kelvin">Color temperature in Kelvin.</param>
///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param>
///<param name="effect">Light effect.</param>
///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param>
///<param name="rgbwwColor"> eg: [255, 100, 100, 50, 70]</param>
///<param name="colorName"></param>
///<param name="hsColor"> eg: [300, 70]</param>
///<param name="xyColor"> eg: [0.52, 0.43]</param>
///<param name="colorTemp"></param>
///<param name="brightness"></param>
///<param name="white"></param>
///<param name="profile"> eg: relax</param>
///<param name="flash"></param>
public void Toggle(ServiceTarget target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null)
{
_haContext.CallService("light", "toggle", target, new LightToggleParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash });
}
///<summary>Turn off one or more lights.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, LightTurnOffParameters data)
{
_haContext.CallService("light", "turn_off", target, data);
}
///<summary>Turn off one or more lights.</summary>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="flash"></param>
public void TurnOff(ServiceTarget target, double? transition = null, object? flash = null)
{
_haContext.CallService("light", "turn_off", target, new LightTurnOffParameters { Transition = transition, Flash = flash });
}
///<summary>Turn on one or more lights and adjust properties of the light, even when they are turned on already.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, LightTurnOnParameters data)
{
_haContext.CallService("light", "turn_on", target, data);
}
///<summary>Turn on one or more lights and adjust properties of the light, even when they are turned on already.</summary>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="rgbColor">The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100]</param>
///<param name="kelvin">Color temperature in Kelvin.</param>
///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param>
///<param name="brightnessStepPct">Change brightness by a percentage.</param>
///<param name="effect">Light effect.</param>
///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param>
///<param name="rgbwwColor"> eg: [255, 100, 100, 50, 70]</param>
///<param name="colorName"></param>
///<param name="hsColor"> eg: [300, 70]</param>
///<param name="xyColor"> eg: [0.52, 0.43]</param>
///<param name="colorTemp"></param>
///<param name="brightness"></param>
///<param name="brightnessStep"></param>
///<param name="white"></param>
///<param name="profile"> eg: relax</param>
///<param name="flash"></param>
public void TurnOn(ServiceTarget target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null)
{
_haContext.CallService("light", "turn_on", target, new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash });
}
}
public partial record LightToggleParameters
{
///<summary>Duration it takes to get to next state.</summary>
[JsonPropertyName("transition")]
public double? Transition { get; init; }
///<summary>The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100]</summary>
[JsonPropertyName("rgb_color")]
public IReadOnlyCollection<int>? RgbColor { get; init; }
///<summary>Color temperature in Kelvin.</summary>
[JsonPropertyName("kelvin")]
public object? Kelvin { get; init; }
///<summary>Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</summary>
[JsonPropertyName("brightness_pct")]
public double? BrightnessPct { get; init; }
///<summary>Light effect.</summary>
[JsonPropertyName("effect")]
public string? Effect { get; init; }
///<summary> eg: [255, 100, 100, 50]</summary>
[JsonPropertyName("rgbw_color")]
public object? RgbwColor { get; init; }
///<summary> eg: [255, 100, 100, 50, 70]</summary>
[JsonPropertyName("rgbww_color")]
public object? RgbwwColor { get; init; }
[JsonPropertyName("color_name")]
public object? ColorName { get; init; }
///<summary> eg: [300, 70]</summary>
[JsonPropertyName("hs_color")]
public object? HsColor { get; init; }
///<summary> eg: [0.52, 0.43]</summary>
[JsonPropertyName("xy_color")]
public object? XyColor { get; init; }
[JsonPropertyName("color_temp")]
public object? ColorTemp { get; init; }
[JsonPropertyName("brightness")]
public double? Brightness { get; init; }
[JsonPropertyName("white")]
public object? White { get; init; }
///<summary> eg: relax</summary>
[JsonPropertyName("profile")]
public string? Profile { get; init; }
[JsonPropertyName("flash")]
public object? Flash { get; init; }
}
public partial record LightTurnOffParameters
{
///<summary>Duration it takes to get to next state.</summary>
[JsonPropertyName("transition")]
public double? Transition { get; init; }
[JsonPropertyName("flash")]
public object? Flash { get; init; }
}
public partial record LightTurnOnParameters
{
///<summary>Duration it takes to get to next state.</summary>
[JsonPropertyName("transition")]
public double? Transition { get; init; }
///<summary>The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100]</summary>
[JsonPropertyName("rgb_color")]
public IReadOnlyCollection<int>? RgbColor { get; init; }
///<summary>Color temperature in Kelvin.</summary>
[JsonPropertyName("kelvin")]
public object? Kelvin { get; init; }
///<summary>Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</summary>
[JsonPropertyName("brightness_pct")]
public double? BrightnessPct { get; init; }
///<summary>Change brightness by a percentage.</summary>
[JsonPropertyName("brightness_step_pct")]
public double? BrightnessStepPct { get; init; }
///<summary>Light effect.</summary>
[JsonPropertyName("effect")]
public string? Effect { get; init; }
///<summary> eg: [255, 100, 100, 50]</summary>
[JsonPropertyName("rgbw_color")]
public object? RgbwColor { get; init; }
///<summary> eg: [255, 100, 100, 50, 70]</summary>
[JsonPropertyName("rgbww_color")]
public object? RgbwwColor { get; init; }
[JsonPropertyName("color_name")]
public object? ColorName { get; init; }
///<summary> eg: [300, 70]</summary>
[JsonPropertyName("hs_color")]
public object? HsColor { get; init; }
///<summary> eg: [0.52, 0.43]</summary>
[JsonPropertyName("xy_color")]
public object? XyColor { get; init; }
[JsonPropertyName("color_temp")]
public object? ColorTemp { get; init; }
[JsonPropertyName("brightness")]
public double? Brightness { get; init; }
[JsonPropertyName("brightness_step")]
public double? BrightnessStep { get; init; }
[JsonPropertyName("white")]
public object? White { get; init; }
///<summary> eg: relax</summary>
[JsonPropertyName("profile")]
public string? Profile { get; init; }
[JsonPropertyName("flash")]
public object? Flash { get; init; }
}
public partial class LockServices
{
private readonly IHaContext _haContext;
public LockServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Locks a lock.</summary>
///<param name="target">The target for this service call</param>
public void Lock(ServiceTarget target, LockLockParameters data)
{
_haContext.CallService("lock", "lock", target, data);
}
///<summary>Locks a lock.</summary>
///<param name="code">Code used to lock the lock. eg: 1234</param>
public void Lock(ServiceTarget target, string? code = null)
{
_haContext.CallService("lock", "lock", target, new LockLockParameters { Code = code });
}
///<summary>Opens a lock.</summary>
///<param name="target">The target for this service call</param>
public void Open(ServiceTarget target, LockOpenParameters data)
{
_haContext.CallService("lock", "open", target, data);
}
///<summary>Opens a lock.</summary>
///<param name="code">Code used to open the lock. eg: 1234</param>
public void Open(ServiceTarget target, string? code = null)
{
_haContext.CallService("lock", "open", target, new LockOpenParameters { Code = code });
}
///<summary>Unlocks a lock.</summary>
///<param name="target">The target for this service call</param>
public void Unlock(ServiceTarget target, LockUnlockParameters data)
{
_haContext.CallService("lock", "unlock", target, data);
}
///<summary>Unlocks a lock.</summary>
///<param name="code">Code used to unlock the lock. eg: 1234</param>
public void Unlock(ServiceTarget target, string? code = null)
{
_haContext.CallService("lock", "unlock", target, new LockUnlockParameters { Code = code });
}
}
public partial record LockLockParameters
{
///<summary>Code used to lock the lock. eg: 1234</summary>
[JsonPropertyName("code")]
public string? Code { get; init; }
}
public partial record LockOpenParameters
{
///<summary>Code used to open the lock. eg: 1234</summary>
[JsonPropertyName("code")]
public string? Code { get; init; }
}
public partial record LockUnlockParameters
{
///<summary>Code used to unlock the lock. eg: 1234</summary>
[JsonPropertyName("code")]
public string? Code { get; init; }
}
public partial class LogbookServices
{
private readonly IHaContext _haContext;
public LogbookServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Creates a custom entry in the logbook.</summary>
public void Log(LogbookLogParameters data)
{
_haContext.CallService("logbook", "log", null, data);
}
///<summary>Creates a custom entry in the logbook.</summary>
///<param name="name">Custom name for an entity, can be referenced using an `entity_id`. eg: Kitchen</param>
///<param name="message">Message of the logbook entry. eg: is being used</param>
///<param name="entityId">Entity to reference in the logbook entry.</param>
///<param name="domain">Determines which icon is used in the logbook entry. The icon illustrates the integration domain related to this logbook entry. eg: light</param>
public void Log(string name, string message, string? entityId = null, string? domain = null)
{
_haContext.CallService("logbook", "log", null, new LogbookLogParameters { Name = name, Message = message, EntityId = entityId, Domain = domain });
}
}
public partial record LogbookLogParameters
{
///<summary>Custom name for an entity, can be referenced using an `entity_id`. eg: Kitchen</summary>
[JsonPropertyName("name")]
public string? Name { get; init; }
///<summary>Message of the logbook entry. eg: is being used</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary>Entity to reference in the logbook entry.</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>Determines which icon is used in the logbook entry. The icon illustrates the integration domain related to this logbook entry. eg: light</summary>
[JsonPropertyName("domain")]
public string? Domain { get; init; }
}
public partial class LoggerServices
{
private readonly IHaContext _haContext;
public LoggerServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Sets the default log level for integrations.</summary>
public void SetDefaultLevel(LoggerSetDefaultLevelParameters data)
{
_haContext.CallService("logger", "set_default_level", null, data);
}
///<summary>Sets the default log level for integrations.</summary>
///<param name="level">Default severity level for all integrations.</param>
public void SetDefaultLevel(object? level = null)
{
_haContext.CallService("logger", "set_default_level", null, new LoggerSetDefaultLevelParameters { Level = level });
}
///<summary>Sets the log level for one or more integrations.</summary>
public void SetLevel(object? data = null)
{
_haContext.CallService("logger", "set_level", null, data);
}
}
public partial record LoggerSetDefaultLevelParameters
{
///<summary>Default severity level for all integrations.</summary>
[JsonPropertyName("level")]
public object? Level { get; init; }
}
public partial class LovelaceServices
{
private readonly IHaContext _haContext;
public LovelaceServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads dashboard resources from the YAML-configuration.</summary>
public void ReloadResources(object? data = null)
{
_haContext.CallService("lovelace", "reload_resources", null, data);
}
}
public partial class MediaPlayerServices
{
private readonly IHaContext _haContext;
public MediaPlayerServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Clears the playlist.</summary>
///<param name="target">The target for this service call</param>
public void ClearPlaylist(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "clear_playlist", target, data);
}
///<summary>Groups media players together for synchronous playback. Only works on supported multiroom audio systems.</summary>
///<param name="target">The target for this service call</param>
public void Join(ServiceTarget target, MediaPlayerJoinParameters data)
{
_haContext.CallService("media_player", "join", target, data);
}
///<summary>Groups media players together for synchronous playback. Only works on supported multiroom audio systems.</summary>
///<param name="groupMembers">The players which will be synced with the playback specified in `target`. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 </param>
public void Join(ServiceTarget target, IEnumerable<string> groupMembers)
{
_haContext.CallService("media_player", "join", target, new MediaPlayerJoinParameters { GroupMembers = groupMembers });
}
///<summary>Selects the next track.</summary>
///<param name="target">The target for this service call</param>
public void MediaNextTrack(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "media_next_track", target, data);
}
///<summary>Pauses.</summary>
///<param name="target">The target for this service call</param>
public void MediaPause(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "media_pause", target, data);
}
///<summary>Starts playing.</summary>
///<param name="target">The target for this service call</param>
public void MediaPlay(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "media_play", target, data);
}
///<summary>Toggles play/pause.</summary>
///<param name="target">The target for this service call</param>
public void MediaPlayPause(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "media_play_pause", target, data);
}
///<summary>Selects the previous track.</summary>
///<param name="target">The target for this service call</param>
public void MediaPreviousTrack(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "media_previous_track", target, data);
}
///<summary>Allows you to go to a different part of the media that is currently playing.</summary>
///<param name="target">The target for this service call</param>
public void MediaSeek(ServiceTarget target, MediaPlayerMediaSeekParameters data)
{
_haContext.CallService("media_player", "media_seek", target, data);
}
///<summary>Allows you to go to a different part of the media that is currently playing.</summary>
///<param name="seekPosition">Target position in the currently playing media. The format is platform dependent.</param>
public void MediaSeek(ServiceTarget target, double seekPosition)
{
_haContext.CallService("media_player", "media_seek", target, new MediaPlayerMediaSeekParameters { SeekPosition = seekPosition });
}
///<summary>Stops playing.</summary>
///<param name="target">The target for this service call</param>
public void MediaStop(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "media_stop", target, data);
}
///<summary>Starts playing specified media.</summary>
///<param name="target">The target for this service call</param>
public void PlayMedia(ServiceTarget target, MediaPlayerPlayMediaParameters data)
{
_haContext.CallService("media_player", "play_media", target, data);
}
///<summary>Starts playing specified media.</summary>
///<param name="mediaContentId">The ID of the content to play. Platform dependent. eg: https://home-assistant.io/images/cast/splash.png</param>
///<param name="mediaContentType">The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist. eg: music</param>
///<param name="enqueue">If the content should be played now or be added to the queue.</param>
///<param name="announce">If the media should be played as an announcement. eg: true</param>
public void PlayMedia(ServiceTarget target, string mediaContentId, string mediaContentType, object? enqueue = null, bool? announce = null)
{
_haContext.CallService("media_player", "play_media", target, new MediaPlayerPlayMediaParameters { MediaContentId = mediaContentId, MediaContentType = mediaContentType, Enqueue = enqueue, Announce = announce });
}
///<summary>Playback mode that plays the media in a loop.</summary>
///<param name="target">The target for this service call</param>
public void RepeatSet(ServiceTarget target, MediaPlayerRepeatSetParameters data)
{
_haContext.CallService("media_player", "repeat_set", target, data);
}
///<summary>Playback mode that plays the media in a loop.</summary>
///<param name="repeat">Repeat mode to set.</param>
public void RepeatSet(ServiceTarget target, object repeat)
{
_haContext.CallService("media_player", "repeat_set", target, new MediaPlayerRepeatSetParameters { Repeat = repeat });
}
///<summary>Selects a specific sound mode.</summary>
///<param name="target">The target for this service call</param>
public void SelectSoundMode(ServiceTarget target, MediaPlayerSelectSoundModeParameters data)
{
_haContext.CallService("media_player", "select_sound_mode", target, data);
}
///<summary>Selects a specific sound mode.</summary>
///<param name="soundMode">Name of the sound mode to switch to. eg: Music</param>
public void SelectSoundMode(ServiceTarget target, string? soundMode = null)
{
_haContext.CallService("media_player", "select_sound_mode", target, new MediaPlayerSelectSoundModeParameters { SoundMode = soundMode });
}
///<summary>Sends the media player the command to change input source.</summary>
///<param name="target">The target for this service call</param>
public void SelectSource(ServiceTarget target, MediaPlayerSelectSourceParameters data)
{
_haContext.CallService("media_player", "select_source", target, data);
}
///<summary>Sends the media player the command to change input source.</summary>
///<param name="source">Name of the source to switch to. Platform dependent. eg: video1</param>
public void SelectSource(ServiceTarget target, string source)
{
_haContext.CallService("media_player", "select_source", target, new MediaPlayerSelectSourceParameters { Source = source });
}
///<summary>Playback mode that selects the media in randomized order.</summary>
///<param name="target">The target for this service call</param>
public void ShuffleSet(ServiceTarget target, MediaPlayerShuffleSetParameters data)
{
_haContext.CallService("media_player", "shuffle_set", target, data);
}
///<summary>Playback mode that selects the media in randomized order.</summary>
///<param name="shuffle">Whether or not shuffle mode is enabled.</param>
public void ShuffleSet(ServiceTarget target, bool shuffle)
{
_haContext.CallService("media_player", "shuffle_set", target, new MediaPlayerShuffleSetParameters { Shuffle = shuffle });
}
///<summary>Toggles a media player on/off.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "toggle", target, data);
}
///<summary>Turns off the power of the media player.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "turn_off", target, data);
}
///<summary>Turns on the power of the media player.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "turn_on", target, data);
}
///<summary>Removes the player from a group. Only works on platforms which support player groups.</summary>
///<param name="target">The target for this service call</param>
public void Unjoin(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "unjoin", target, data);
}
///<summary>Turns down the volume.</summary>
///<param name="target">The target for this service call</param>
public void VolumeDown(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "volume_down", target, data);
}
///<summary>Mutes or unmutes the media player.</summary>
///<param name="target">The target for this service call</param>
public void VolumeMute(ServiceTarget target, MediaPlayerVolumeMuteParameters data)
{
_haContext.CallService("media_player", "volume_mute", target, data);
}
///<summary>Mutes or unmutes the media player.</summary>
///<param name="isVolumeMuted">Defines whether or not it is muted.</param>
public void VolumeMute(ServiceTarget target, bool isVolumeMuted)
{
_haContext.CallService("media_player", "volume_mute", target, new MediaPlayerVolumeMuteParameters { IsVolumeMuted = isVolumeMuted });
}
///<summary>Sets the volume level.</summary>
///<param name="target">The target for this service call</param>
public void VolumeSet(ServiceTarget target, MediaPlayerVolumeSetParameters data)
{
_haContext.CallService("media_player", "volume_set", target, data);
}
///<summary>Sets the volume level.</summary>
///<param name="volumeLevel">The volume. 0 is inaudible, 1 is the maximum volume.</param>
public void VolumeSet(ServiceTarget target, double volumeLevel)
{
_haContext.CallService("media_player", "volume_set", target, new MediaPlayerVolumeSetParameters { VolumeLevel = volumeLevel });
}
///<summary>Turns up the volume.</summary>
///<param name="target">The target for this service call</param>
public void VolumeUp(ServiceTarget target, object? data = null)
{
_haContext.CallService("media_player", "volume_up", target, data);
}
}
public partial record MediaPlayerJoinParameters
{
///<summary>The players which will be synced with the playback specified in `target`. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 </summary>
[JsonPropertyName("group_members")]
public IEnumerable<string>? GroupMembers { get; init; }
}
public partial record MediaPlayerMediaSeekParameters
{
///<summary>Target position in the currently playing media. The format is platform dependent.</summary>
[JsonPropertyName("seek_position")]
public double? SeekPosition { get; init; }
}
public partial record MediaPlayerPlayMediaParameters
{
///<summary>The ID of the content to play. Platform dependent. eg: https://home-assistant.io/images/cast/splash.png</summary>
[JsonPropertyName("media_content_id")]
public string? MediaContentId { get; init; }
///<summary>The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist. eg: music</summary>
[JsonPropertyName("media_content_type")]
public string? MediaContentType { get; init; }
///<summary>If the content should be played now or be added to the queue.</summary>
[JsonPropertyName("enqueue")]
public object? Enqueue { get; init; }
///<summary>If the media should be played as an announcement. eg: true</summary>
[JsonPropertyName("announce")]
public bool? Announce { get; init; }
}
public partial record MediaPlayerRepeatSetParameters
{
///<summary>Repeat mode to set.</summary>
[JsonPropertyName("repeat")]
public object? Repeat { get; init; }
}
public partial record MediaPlayerSelectSoundModeParameters
{
///<summary>Name of the sound mode to switch to. eg: Music</summary>
[JsonPropertyName("sound_mode")]
public string? SoundMode { get; init; }
}
public partial record MediaPlayerSelectSourceParameters
{
///<summary>Name of the source to switch to. Platform dependent. eg: video1</summary>
[JsonPropertyName("source")]
public string? Source { get; init; }
}
public partial record MediaPlayerShuffleSetParameters
{
///<summary>Whether or not shuffle mode is enabled.</summary>
[JsonPropertyName("shuffle")]
public bool? Shuffle { get; init; }
}
public partial record MediaPlayerVolumeMuteParameters
{
///<summary>Defines whether or not it is muted.</summary>
[JsonPropertyName("is_volume_muted")]
public bool? IsVolumeMuted { get; init; }
}
public partial record MediaPlayerVolumeSetParameters
{
///<summary>The volume. 0 is inaudible, 1 is the maximum volume.</summary>
[JsonPropertyName("volume_level")]
public double? VolumeLevel { get; init; }
}
public partial class NetdaemonServices
{
private readonly IHaContext _haContext;
public NetdaemonServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Create an entity</summary>
public void EntityCreate(NetdaemonEntityCreateParameters data)
{
_haContext.CallService("netdaemon", "entity_create", null, data);
}
///<summary>Create an entity</summary>
///<param name="entityId">The entity ID of the entity eg: sensor.awesome</param>
///<param name="state">The state of the entity eg: Lorem ipsum</param>
///<param name="icon">The icon for the entity eg: mdi:rocket-launch-outline</param>
///<param name="unit">The unit of measurement for the entity</param>
///<param name="options">List of options for a select entity</param>
///<param name="attributes">The attributes of the entity</param>
public void EntityCreate(object? entityId = null, object? state = null, object? icon = null, object? unit = null, object? options = null, object? attributes = null)
{
_haContext.CallService("netdaemon", "entity_create", null, new NetdaemonEntityCreateParameters { EntityId = entityId, State = state, Icon = icon, Unit = unit, Options = options, Attributes = attributes });
}
///<summary>Remove an entity</summary>
public void EntityRemove(NetdaemonEntityRemoveParameters data)
{
_haContext.CallService("netdaemon", "entity_remove", null, data);
}
///<summary>Remove an entity</summary>
///<param name="entityId">The entity ID of the entity eg: sensor.awesome</param>
public void EntityRemove(object? entityId = null)
{
_haContext.CallService("netdaemon", "entity_remove", null, new NetdaemonEntityRemoveParameters { EntityId = entityId });
}
///<summary>Update an entity</summary>
public void EntityUpdate(NetdaemonEntityUpdateParameters data)
{
_haContext.CallService("netdaemon", "entity_update", null, data);
}
///<summary>Update an entity</summary>
///<param name="entityId">The entity ID of the entity eg: sensor.awesome</param>
///<param name="state">The state of the entity eg: Lorem ipsum</param>
///<param name="icon">The icon for the entity eg: mdi:rocket-launch-outline</param>
///<param name="unit">The unit of measurement for the entity</param>
///<param name="options">List of options for a select entity</param>
///<param name="attributes">The attributes of the entity</param>
public void EntityUpdate(object? entityId = null, object? state = null, object? icon = null, object? unit = null, object? options = null, object? attributes = null)
{
_haContext.CallService("netdaemon", "entity_update", null, new NetdaemonEntityUpdateParameters { EntityId = entityId, State = state, Icon = icon, Unit = unit, Options = options, Attributes = attributes });
}
///<summary>Register a new service for netdaemon, used by the daemon and not to be used by users</summary>
public void RegisterService(NetdaemonRegisterServiceParameters data)
{
_haContext.CallService("netdaemon", "register_service", null, data);
}
///<summary>Register a new service for netdaemon, used by the daemon and not to be used by users</summary>
///<param name="service">The name of the service to register</param>
///<param name="class">The class that implements the service call</param>
///<param name="method">The method to call</param>
public void RegisterService(object? service = null, object? @class = null, object? @method = null)
{
_haContext.CallService("netdaemon", "register_service", null, new NetdaemonRegisterServiceParameters { Service = service, Class = @class, Method = @method });
}
public void ReloadApps(object? data = null)
{
_haContext.CallService("netdaemon", "reload_apps", null, data);
}
public void SpotifyPlayAlbum(object? data = null)
{
_haContext.CallService("netdaemon", "spotify_play_album", null, data);
}
public void SpotifyPlayArtist(object? data = null)
{
_haContext.CallService("netdaemon", "spotify_play_artist", null, data);
}
public void SpotifyPlayPlaylist(object? data = null)
{
_haContext.CallService("netdaemon", "spotify_play_playlist", null, data);
}
public void SpotifyPlaySong(object? data = null)
{
_haContext.CallService("netdaemon", "spotify_play_song", null, data);
}
}
public partial record NetdaemonEntityCreateParameters
{
///<summary>The entity ID of the entity eg: sensor.awesome</summary>
[JsonPropertyName("entity_id")]
public object? EntityId { get; init; }
///<summary>The state of the entity eg: Lorem ipsum</summary>
[JsonPropertyName("state")]
public object? State { get; init; }
///<summary>The icon for the entity eg: mdi:rocket-launch-outline</summary>
[JsonPropertyName("icon")]
public object? Icon { get; init; }
///<summary>The unit of measurement for the entity</summary>
[JsonPropertyName("unit")]
public object? Unit { get; init; }
///<summary>List of options for a select entity</summary>
[JsonPropertyName("options")]
public object? Options { get; init; }
///<summary>The attributes of the entity</summary>
[JsonPropertyName("attributes")]
public object? Attributes { get; init; }
}
public partial record NetdaemonEntityRemoveParameters
{
///<summary>The entity ID of the entity eg: sensor.awesome</summary>
[JsonPropertyName("entity_id")]
public object? EntityId { get; init; }
}
public partial record NetdaemonEntityUpdateParameters
{
///<summary>The entity ID of the entity eg: sensor.awesome</summary>
[JsonPropertyName("entity_id")]
public object? EntityId { get; init; }
///<summary>The state of the entity eg: Lorem ipsum</summary>
[JsonPropertyName("state")]
public object? State { get; init; }
///<summary>The icon for the entity eg: mdi:rocket-launch-outline</summary>
[JsonPropertyName("icon")]
public object? Icon { get; init; }
///<summary>The unit of measurement for the entity</summary>
[JsonPropertyName("unit")]
public object? Unit { get; init; }
///<summary>List of options for a select entity</summary>
[JsonPropertyName("options")]
public object? Options { get; init; }
///<summary>The attributes of the entity</summary>
[JsonPropertyName("attributes")]
public object? Attributes { get; init; }
}
public partial record NetdaemonRegisterServiceParameters
{
///<summary>The name of the service to register</summary>
[JsonPropertyName("service")]
public object? Service { get; init; }
///<summary>The class that implements the service call</summary>
[JsonPropertyName("class")]
public object? Class { get; init; }
///<summary>The method to call</summary>
[JsonPropertyName("method")]
public object? Method { get; init; }
}
public partial class NotifyServices
{
private readonly IHaContext _haContext;
public NotifyServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Sends a notification message using the mobile_app_pixel_8 integration.</summary>
public void MobileAppPixel8(NotifyMobileAppPixel8Parameters data)
{
_haContext.CallService("notify", "mobile_app_pixel_8", null, data);
}
///<summary>Sends a notification message using the mobile_app_pixel_8 integration.</summary>
///<param name="message"> eg: The garage door has been open for 10 minutes.</param>
///<param name="title"> eg: Your Garage Door Friend</param>
///<param name="target"> eg: platform specific</param>
///<param name="data"> eg: platform specific</param>
public void MobileAppPixel8(string message, string? title = null, object? target = null, object? data = null)
{
_haContext.CallService("notify", "mobile_app_pixel_8", null, new NotifyMobileAppPixel8Parameters { Message = message, Title = title, Target = target, Data = data });
}
///<summary>Sends a notification message using the mobile_app_z_flip_6 integration.</summary>
public void MobileAppZFlip6(NotifyMobileAppZFlip6Parameters data)
{
_haContext.CallService("notify", "mobile_app_z_flip_6", null, data);
}
///<summary>Sends a notification message using the mobile_app_z_flip_6 integration.</summary>
///<param name="message"> eg: The garage door has been open for 10 minutes.</param>
///<param name="title"> eg: Your Garage Door Friend</param>
///<param name="target"> eg: platform specific</param>
///<param name="data"> eg: platform specific</param>
public void MobileAppZFlip6(string message, string? title = null, object? target = null, object? data = null)
{
_haContext.CallService("notify", "mobile_app_z_flip_6", null, new NotifyMobileAppZFlip6Parameters { Message = message, Title = title, Target = target, Data = data });
}
///<summary>Sends a notification message using the notify service.</summary>
public void Notify(NotifyNotifyParameters data)
{
_haContext.CallService("notify", "notify", null, data);
}
///<summary>Sends a notification message using the notify service.</summary>
///<param name="message"> eg: The garage door has been open for 10 minutes.</param>
///<param name="title"> eg: Your Garage Door Friend</param>
///<param name="target"> eg: platform specific</param>
///<param name="data"> eg: platform specific</param>
public void Notify(string message, string? title = null, object? target = null, object? data = null)
{
_haContext.CallService("notify", "notify", null, new NotifyNotifyParameters { Message = message, Title = title, Target = target, Data = data });
}
///<summary>Sends a notification that is visible in the notifications panel.</summary>
public void PersistentNotification(NotifyPersistentNotificationParameters data)
{
_haContext.CallService("notify", "persistent_notification", null, data);
}
///<summary>Sends a notification that is visible in the notifications panel.</summary>
///<param name="message">Message body of the notification. eg: The garage door has been open for 10 minutes.</param>
///<param name="title">Title of the notification. eg: Your Garage Door Friend</param>
///<param name="data">Some integrations provide extended functionality. For information on how to use _data_, refer to the integration documentation.. eg: platform specific</param>
public void PersistentNotification(string message, string? title = null, object? data = null)
{
_haContext.CallService("notify", "persistent_notification", null, new NotifyPersistentNotificationParameters { Message = message, Title = title, Data = data });
}
///<summary>Sends a notification message.</summary>
///<param name="target">The target for this service call</param>
public void SendMessage(ServiceTarget target, NotifySendMessageParameters data)
{
_haContext.CallService("notify", "send_message", target, data);
}
///<summary>Sends a notification message.</summary>
///<param name="message">Your notification message.</param>
///<param name="title">Title for your notification message.</param>
public void SendMessage(ServiceTarget target, string message, string? title = null)
{
_haContext.CallService("notify", "send_message", target, new NotifySendMessageParameters { Message = message, Title = title });
}
}
public partial record NotifyMobileAppPixel8Parameters
{
///<summary> eg: The garage door has been open for 10 minutes.</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary> eg: Your Garage Door Friend</summary>
[JsonPropertyName("title")]
public string? Title { get; init; }
///<summary> eg: platform specific</summary>
[JsonPropertyName("target")]
public object? Target { get; init; }
///<summary> eg: platform specific</summary>
[JsonPropertyName("data")]
public object? Data { get; init; }
}
public partial record NotifyMobileAppZFlip6Parameters
{
///<summary> eg: The garage door has been open for 10 minutes.</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary> eg: Your Garage Door Friend</summary>
[JsonPropertyName("title")]
public string? Title { get; init; }
///<summary> eg: platform specific</summary>
[JsonPropertyName("target")]
public object? Target { get; init; }
///<summary> eg: platform specific</summary>
[JsonPropertyName("data")]
public object? Data { get; init; }
}
public partial record NotifyNotifyParameters
{
///<summary> eg: The garage door has been open for 10 minutes.</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary> eg: Your Garage Door Friend</summary>
[JsonPropertyName("title")]
public string? Title { get; init; }
///<summary> eg: platform specific</summary>
[JsonPropertyName("target")]
public object? Target { get; init; }
///<summary> eg: platform specific</summary>
[JsonPropertyName("data")]
public object? Data { get; init; }
}
public partial record NotifyPersistentNotificationParameters
{
///<summary>Message body of the notification. eg: The garage door has been open for 10 minutes.</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary>Title of the notification. eg: Your Garage Door Friend</summary>
[JsonPropertyName("title")]
public string? Title { get; init; }
///<summary>Some integrations provide extended functionality. For information on how to use _data_, refer to the integration documentation.. eg: platform specific</summary>
[JsonPropertyName("data")]
public object? Data { get; init; }
}
public partial record NotifySendMessageParameters
{
///<summary>Your notification message.</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary>Title for your notification message.</summary>
[JsonPropertyName("title")]
public string? Title { get; init; }
}
public partial class NumberServices
{
private readonly IHaContext _haContext;
public NumberServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Sets the value of a number.</summary>
///<param name="target">The target for this service call</param>
public void SetValue(ServiceTarget target, NumberSetValueParameters data)
{
_haContext.CallService("number", "set_value", target, data);
}
///<summary>Sets the value of a number.</summary>
///<param name="value">The target value to set. eg: 42</param>
public void SetValue(ServiceTarget target, string? value = null)
{
_haContext.CallService("number", "set_value", target, new NumberSetValueParameters { Value = value });
}
}
public partial record NumberSetValueParameters
{
///<summary>The target value to set. eg: 42</summary>
[JsonPropertyName("value")]
public string? Value { get; init; }
}
public partial class PersistentNotificationServices
{
private readonly IHaContext _haContext;
public PersistentNotificationServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Shows a notification on the notifications panel.</summary>
public void Create(PersistentNotificationCreateParameters data)
{
_haContext.CallService("persistent_notification", "create", null, data);
}
///<summary>Shows a notification on the notifications panel.</summary>
///<param name="message">Message body of the notification. eg: Please check your configuration.yaml.</param>
///<param name="title">Optional title of the notification. eg: Test notification</param>
///<param name="notificationId">ID of the notification. This new notification will overwrite an existing notification with the same ID. eg: 1234</param>
public void Create(string message, string? title = null, string? notificationId = null)
{
_haContext.CallService("persistent_notification", "create", null, new PersistentNotificationCreateParameters { Message = message, Title = title, NotificationId = notificationId });
}
///<summary>Removes a notification from the notifications panel.</summary>
public void Dismiss(PersistentNotificationDismissParameters data)
{
_haContext.CallService("persistent_notification", "dismiss", null, data);
}
///<summary>Removes a notification from the notifications panel.</summary>
///<param name="notificationId">ID of the notification to be removed. eg: 1234</param>
public void Dismiss(string notificationId)
{
_haContext.CallService("persistent_notification", "dismiss", null, new PersistentNotificationDismissParameters { NotificationId = notificationId });
}
///<summary>Removes all notifications from the notifications panel.</summary>
public void DismissAll(object? data = null)
{
_haContext.CallService("persistent_notification", "dismiss_all", null, data);
}
}
public partial record PersistentNotificationCreateParameters
{
///<summary>Message body of the notification. eg: Please check your configuration.yaml.</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary>Optional title of the notification. eg: Test notification</summary>
[JsonPropertyName("title")]
public string? Title { get; init; }
///<summary>ID of the notification. This new notification will overwrite an existing notification with the same ID. eg: 1234</summary>
[JsonPropertyName("notification_id")]
public string? NotificationId { get; init; }
}
public partial record PersistentNotificationDismissParameters
{
///<summary>ID of the notification to be removed. eg: 1234</summary>
[JsonPropertyName("notification_id")]
public string? NotificationId { get; init; }
}
public partial class PersonServices
{
private readonly IHaContext _haContext;
public PersonServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads persons from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("person", "reload", null, data);
}
}
public partial class RecorderServices
{
private readonly IHaContext _haContext;
public RecorderServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Stops the recording of events and state changes.</summary>
public void Disable(object? data = null)
{
_haContext.CallService("recorder", "disable", null, data);
}
///<summary>Starts the recording of events and state changes.</summary>
public void Enable(object? data = null)
{
_haContext.CallService("recorder", "enable", null, data);
}
///<summary>Starts purge task - to clean up old data from your database.</summary>
public void Purge(RecorderPurgeParameters data)
{
_haContext.CallService("recorder", "purge", null, data);
}
///<summary>Starts purge task - to clean up old data from your database.</summary>
///<param name="keepDays">Number of days to keep the data in the database. Starting today, counting backward. A value of `7` means that everything older than a week will be purged.</param>
///<param name="repack">Attempt to save disk space by rewriting the entire database file.</param>
///<param name="applyFilter">Apply `entity_id` and `event_type` filters in addition to time-based purge.</param>
public void Purge(double? keepDays = null, bool? repack = null, bool? applyFilter = null)
{
_haContext.CallService("recorder", "purge", null, new RecorderPurgeParameters { KeepDays = keepDays, Repack = repack, ApplyFilter = applyFilter });
}
///<summary>Starts a purge task to remove the data related to specific entities from your database.</summary>
public void PurgeEntities(RecorderPurgeEntitiesParameters data)
{
_haContext.CallService("recorder", "purge_entities", null, data);
}
///<summary>Starts a purge task to remove the data related to specific entities from your database.</summary>
///<param name="entityId">List of entities for which the data is to be removed from the recorder database.</param>
///<param name="domains">List of domains for which the data needs to be removed from the recorder database. eg: sun</param>
///<param name="entityGlobs">List of glob patterns used to select the entities for which the data is to be removed from the recorder database. eg: domain*.object_id*</param>
///<param name="keepDays">Number of days to keep the data for rows matching the filter. Starting today, counting backward. A value of `7` means that everything older than a week will be purged. The default of 0 days will remove all matching rows immediately.</param>
public void PurgeEntities(IEnumerable<string>? entityId = null, object? domains = null, object? entityGlobs = null, double? keepDays = null)
{
_haContext.CallService("recorder", "purge_entities", null, new RecorderPurgeEntitiesParameters { EntityId = entityId, Domains = domains, EntityGlobs = entityGlobs, KeepDays = keepDays });
}
}
public partial record RecorderPurgeParameters
{
///<summary>Number of days to keep the data in the database. Starting today, counting backward. A value of `7` means that everything older than a week will be purged.</summary>
[JsonPropertyName("keep_days")]
public double? KeepDays { get; init; }
///<summary>Attempt to save disk space by rewriting the entire database file.</summary>
[JsonPropertyName("repack")]
public bool? Repack { get; init; }
///<summary>Apply `entity_id` and `event_type` filters in addition to time-based purge.</summary>
[JsonPropertyName("apply_filter")]
public bool? ApplyFilter { get; init; }
}
public partial record RecorderPurgeEntitiesParameters
{
///<summary>List of entities for which the data is to be removed from the recorder database.</summary>
[JsonPropertyName("entity_id")]
public IEnumerable<string>? EntityId { get; init; }
///<summary>List of domains for which the data needs to be removed from the recorder database. eg: sun</summary>
[JsonPropertyName("domains")]
public object? Domains { get; init; }
///<summary>List of glob patterns used to select the entities for which the data is to be removed from the recorder database. eg: domain*.object_id*</summary>
[JsonPropertyName("entity_globs")]
public object? EntityGlobs { get; init; }
///<summary>Number of days to keep the data for rows matching the filter. Starting today, counting backward. A value of `7` means that everything older than a week will be purged. The default of 0 days will remove all matching rows immediately.</summary>
[JsonPropertyName("keep_days")]
public double? KeepDays { get; init; }
}
public partial class RemoteServices
{
private readonly IHaContext _haContext;
public RemoteServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Deletes a command or a list of commands from the database.</summary>
///<param name="target">The target for this service call</param>
public void DeleteCommand(ServiceTarget target, RemoteDeleteCommandParameters data)
{
_haContext.CallService("remote", "delete_command", target, data);
}
///<summary>Deletes a command or a list of commands from the database.</summary>
///<param name="device">Device from which commands will be deleted. eg: television</param>
///<param name="command">The single command or the list of commands to be deleted. eg: Mute</param>
public void DeleteCommand(ServiceTarget target, object command, string? device = null)
{
_haContext.CallService("remote", "delete_command", target, new RemoteDeleteCommandParameters { Device = device, Command = command });
}
///<summary>Learns a command or a list of commands from a device.</summary>
///<param name="target">The target for this service call</param>
public void LearnCommand(ServiceTarget target, RemoteLearnCommandParameters data)
{
_haContext.CallService("remote", "learn_command", target, data);
}
///<summary>Learns a command or a list of commands from a device.</summary>
///<param name="device">Device ID to learn command from. eg: television</param>
///<param name="command">A single command or a list of commands to learn. eg: Turn on</param>
///<param name="commandType">The type of command to be learned.</param>
///<param name="alternative">If code must be stored as an alternative. This is useful for discrete codes. Discrete codes are used for toggles that only perform one function. For example, a code to only turn a device on. If it is on already, sending the code won&apos;t change the state.</param>
///<param name="timeout">Timeout for the command to be learned.</param>
public void LearnCommand(ServiceTarget target, string? device = null, object? command = null, object? commandType = null, bool? alternative = null, long? timeout = null)
{
_haContext.CallService("remote", "learn_command", target, new RemoteLearnCommandParameters { Device = device, Command = command, CommandType = commandType, Alternative = alternative, Timeout = timeout });
}
///<summary>Sends a command or a list of commands to a device.</summary>
///<param name="target">The target for this service call</param>
public void SendCommand(ServiceTarget target, RemoteSendCommandParameters data)
{
_haContext.CallService("remote", "send_command", target, data);
}
///<summary>Sends a command or a list of commands to a device.</summary>
///<param name="device">Device ID to send command to. eg: 32756745</param>
///<param name="command">A single command or a list of commands to send. eg: Play</param>
///<param name="numRepeats">The number of times you want to repeat the commands.</param>
///<param name="delaySecs">The time you want to wait in between repeated commands.</param>
///<param name="holdSecs">The time you want to have it held before the release is send.</param>
public void SendCommand(ServiceTarget target, object command, string? device = null, double? numRepeats = null, double? delaySecs = null, double? holdSecs = null)
{
_haContext.CallService("remote", "send_command", target, new RemoteSendCommandParameters { Device = device, Command = command, NumRepeats = numRepeats, DelaySecs = delaySecs, HoldSecs = holdSecs });
}
///<summary>Toggles a device on/off.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("remote", "toggle", target, data);
}
///<summary>Turns the device off.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, object? data = null)
{
_haContext.CallService("remote", "turn_off", target, data);
}
///<summary>Sends the power on command.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, RemoteTurnOnParameters data)
{
_haContext.CallService("remote", "turn_on", target, data);
}
///<summary>Sends the power on command.</summary>
///<param name="activity">Activity ID or activity name to be started. eg: BedroomTV</param>
public void TurnOn(ServiceTarget target, string? activity = null)
{
_haContext.CallService("remote", "turn_on", target, new RemoteTurnOnParameters { Activity = activity });
}
}
public partial record RemoteDeleteCommandParameters
{
///<summary>Device from which commands will be deleted. eg: television</summary>
[JsonPropertyName("device")]
public string? Device { get; init; }
///<summary>The single command or the list of commands to be deleted. eg: Mute</summary>
[JsonPropertyName("command")]
public object? Command { get; init; }
}
public partial record RemoteLearnCommandParameters
{
///<summary>Device ID to learn command from. eg: television</summary>
[JsonPropertyName("device")]
public string? Device { get; init; }
///<summary>A single command or a list of commands to learn. eg: Turn on</summary>
[JsonPropertyName("command")]
public object? Command { get; init; }
///<summary>The type of command to be learned.</summary>
[JsonPropertyName("command_type")]
public object? CommandType { get; init; }
///<summary>If code must be stored as an alternative. This is useful for discrete codes. Discrete codes are used for toggles that only perform one function. For example, a code to only turn a device on. If it is on already, sending the code won&apos;t change the state.</summary>
[JsonPropertyName("alternative")]
public bool? Alternative { get; init; }
///<summary>Timeout for the command to be learned.</summary>
[JsonPropertyName("timeout")]
public long? Timeout { get; init; }
}
public partial record RemoteSendCommandParameters
{
///<summary>Device ID to send command to. eg: 32756745</summary>
[JsonPropertyName("device")]
public string? Device { get; init; }
///<summary>A single command or a list of commands to send. eg: Play</summary>
[JsonPropertyName("command")]
public object? Command { get; init; }
///<summary>The number of times you want to repeat the commands.</summary>
[JsonPropertyName("num_repeats")]
public double? NumRepeats { get; init; }
///<summary>The time you want to wait in between repeated commands.</summary>
[JsonPropertyName("delay_secs")]
public double? DelaySecs { get; init; }
///<summary>The time you want to have it held before the release is send.</summary>
[JsonPropertyName("hold_secs")]
public double? HoldSecs { get; init; }
}
public partial record RemoteTurnOnParameters
{
///<summary>Activity ID or activity name to be started. eg: BedroomTV</summary>
[JsonPropertyName("activity")]
public string? Activity { get; init; }
}
public partial class RestServices
{
private readonly IHaContext _haContext;
public RestServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads REST entities from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("rest", "reload", null, data);
}
}
public partial class SceneServices
{
private readonly IHaContext _haContext;
public SceneServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Activates a scene with configuration.</summary>
public void Apply(SceneApplyParameters data)
{
_haContext.CallService("scene", "apply", null, data);
}
///<summary>Activates a scene with configuration.</summary>
///<param name="entities">List of entities and their target state. eg: light.kitchen: &quot;on&quot; light.ceiling: state: &quot;on&quot; brightness: 80 </param>
///<param name="transition">Time it takes the devices to transition into the states defined in the scene.</param>
public void Apply(object entities, double? transition = null)
{
_haContext.CallService("scene", "apply", null, new SceneApplyParameters { Entities = entities, Transition = transition });
}
///<summary>Creates a new scene.</summary>
public void Create(SceneCreateParameters data)
{
_haContext.CallService("scene", "create", null, data);
}
///<summary>Creates a new scene.</summary>
///<param name="sceneId">The entity ID of the new scene. eg: all_lights</param>
///<param name="entities">List of entities and their target state. If your entities are already in the target state right now, use `snapshot_entities` instead. eg: light.tv_back_light: &quot;on&quot; light.ceiling: state: &quot;on&quot; brightness: 200 </param>
///<param name="snapshotEntities">List of entities to be included in the snapshot. By taking a snapshot, you record the current state of those entities. If you do not want to use the current state of all your entities for this scene, you can combine the `snapshot_entities` with `entities`. eg: - light.ceiling - light.kitchen </param>
public void Create(string sceneId, object? entities = null, IEnumerable<string>? snapshotEntities = null)
{
_haContext.CallService("scene", "create", null, new SceneCreateParameters { SceneId = sceneId, Entities = entities, SnapshotEntities = snapshotEntities });
}
///<summary>Deletes a dynamically created scene.</summary>
///<param name="target">The target for this service call</param>
public void Delete(ServiceTarget target, object? data = null)
{
_haContext.CallService("scene", "delete", target, data);
}
///<summary>Reloads the scenes from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("scene", "reload", null, data);
}
///<summary>Activates a scene.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, SceneTurnOnParameters data)
{
_haContext.CallService("scene", "turn_on", target, data);
}
///<summary>Activates a scene.</summary>
///<param name="transition">Time it takes the devices to transition into the states defined in the scene.</param>
public void TurnOn(ServiceTarget target, double? transition = null)
{
_haContext.CallService("scene", "turn_on", target, new SceneTurnOnParameters { Transition = transition });
}
}
public partial record SceneApplyParameters
{
///<summary>List of entities and their target state. eg: light.kitchen: &quot;on&quot; light.ceiling: state: &quot;on&quot; brightness: 80 </summary>
[JsonPropertyName("entities")]
public object? Entities { get; init; }
///<summary>Time it takes the devices to transition into the states defined in the scene.</summary>
[JsonPropertyName("transition")]
public double? Transition { get; init; }
}
public partial record SceneCreateParameters
{
///<summary>The entity ID of the new scene. eg: all_lights</summary>
[JsonPropertyName("scene_id")]
public string? SceneId { get; init; }
///<summary>List of entities and their target state. If your entities are already in the target state right now, use `snapshot_entities` instead. eg: light.tv_back_light: &quot;on&quot; light.ceiling: state: &quot;on&quot; brightness: 200 </summary>
[JsonPropertyName("entities")]
public object? Entities { get; init; }
///<summary>List of entities to be included in the snapshot. By taking a snapshot, you record the current state of those entities. If you do not want to use the current state of all your entities for this scene, you can combine the `snapshot_entities` with `entities`. eg: - light.ceiling - light.kitchen </summary>
[JsonPropertyName("snapshot_entities")]
public IEnumerable<string>? SnapshotEntities { get; init; }
}
public partial record SceneTurnOnParameters
{
///<summary>Time it takes the devices to transition into the states defined in the scene.</summary>
[JsonPropertyName("transition")]
public double? Transition { get; init; }
}
public partial class ScheduleServices
{
private readonly IHaContext _haContext;
public ScheduleServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads schedules from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("schedule", "reload", null, data);
}
}
public partial class ScriptServices
{
private readonly IHaContext _haContext;
public ScriptServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Script for pausing a timer using HA Assist.</summary>
public void AssistTimerpause(object? data = null)
{
_haContext.CallService("script", "assist_timerpause", null, data);
}
///<summary>Script for pausing a timer using HA Assist.</summary>
public Task<JsonElement?> AssistTimerpauseAsync(object? data = null)
{
return _haContext.CallServiceWithResponseAsync("script", "assist_timerpause", null, data);
}
///<summary>Script for starting a timer using HA Assist.</summary>
public void AssistTimerstart(object? data = null)
{
_haContext.CallService("script", "assist_timerstart", null, data);
}
///<summary>Script for starting a timer using HA Assist.</summary>
public Task<JsonElement?> AssistTimerstartAsync(object? data = null)
{
return _haContext.CallServiceWithResponseAsync("script", "assist_timerstart", null, data);
}
///<summary>Script for stopping a timer using HA Assist.</summary>
public void AssistTimerstop(object? data = null)
{
_haContext.CallService("script", "assist_timerstop", null, data);
}
///<summary>Script for stopping a timer using HA Assist.</summary>
public Task<JsonElement?> AssistTimerstopAsync(object? data = null)
{
return _haContext.CallServiceWithResponseAsync("script", "assist_timerstop", null, data);
}
///<summary>Reloads all the available scripts.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("script", "reload", null, data);
}
///<summary>Toggle a script. Starts it, if isn&apos;t running, stops it otherwise.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("script", "toggle", target, data);
}
///<summary>Stops a running script.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, object? data = null)
{
_haContext.CallService("script", "turn_off", target, data);
}
///<summary>Runs the sequence of actions defined in a script.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, object? data = null)
{
_haContext.CallService("script", "turn_on", target, data);
}
///<summary>Script for turning on the UE Boom 2 speaker.</summary>
public void TurnOnUe(object? data = null)
{
_haContext.CallService("script", "turn_on_ue", null, data);
}
///<summary>Script for turning on the UE Boom 2 speaker.</summary>
public Task<JsonElement?> TurnOnUeAsync(object? data = null)
{
return _haContext.CallServiceWithResponseAsync("script", "turn_on_ue", null, data);
}
}
public partial class SelectServices
{
private readonly IHaContext _haContext;
public SelectServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Selects the first option.</summary>
///<param name="target">The target for this service call</param>
public void SelectFirst(ServiceTarget target, object? data = null)
{
_haContext.CallService("select", "select_first", target, data);
}
///<summary>Selects the last option.</summary>
///<param name="target">The target for this service call</param>
public void SelectLast(ServiceTarget target, object? data = null)
{
_haContext.CallService("select", "select_last", target, data);
}
///<summary>Selects the next option.</summary>
///<param name="target">The target for this service call</param>
public void SelectNext(ServiceTarget target, SelectSelectNextParameters data)
{
_haContext.CallService("select", "select_next", target, data);
}
///<summary>Selects the next option.</summary>
///<param name="cycle">If the option should cycle from the last to the first.</param>
public void SelectNext(ServiceTarget target, bool? cycle = null)
{
_haContext.CallService("select", "select_next", target, new SelectSelectNextParameters { Cycle = cycle });
}
///<summary>Selects an option.</summary>
///<param name="target">The target for this service call</param>
public void SelectOption(ServiceTarget target, SelectSelectOptionParameters data)
{
_haContext.CallService("select", "select_option", target, data);
}
///<summary>Selects an option.</summary>
///<param name="option">Option to be selected. eg: &quot;Item A&quot;</param>
public void SelectOption(ServiceTarget target, string option)
{
_haContext.CallService("select", "select_option", target, new SelectSelectOptionParameters { Option = option });
}
///<summary>Selects the previous option.</summary>
///<param name="target">The target for this service call</param>
public void SelectPrevious(ServiceTarget target, SelectSelectPreviousParameters data)
{
_haContext.CallService("select", "select_previous", target, data);
}
///<summary>Selects the previous option.</summary>
///<param name="cycle">If the option should cycle from the first to the last.</param>
public void SelectPrevious(ServiceTarget target, bool? cycle = null)
{
_haContext.CallService("select", "select_previous", target, new SelectSelectPreviousParameters { Cycle = cycle });
}
}
public partial record SelectSelectNextParameters
{
///<summary>If the option should cycle from the last to the first.</summary>
[JsonPropertyName("cycle")]
public bool? Cycle { get; init; }
}
public partial record SelectSelectOptionParameters
{
///<summary>Option to be selected. eg: &quot;Item A&quot;</summary>
[JsonPropertyName("option")]
public string? Option { get; init; }
}
public partial record SelectSelectPreviousParameters
{
///<summary>If the option should cycle from the first to the last.</summary>
[JsonPropertyName("cycle")]
public bool? Cycle { get; init; }
}
public partial class ShellCommandServices
{
private readonly IHaContext _haContext;
public ShellCommandServices(IHaContext haContext)
{
_haContext = haContext;
}
public void TurnOnUe(object? data = null)
{
_haContext.CallService("shell_command", "turn_on_ue", null, data);
}
public Task<JsonElement?> TurnOnUeAsync(object? data = null)
{
return _haContext.CallServiceWithResponseAsync("shell_command", "turn_on_ue", null, data);
}
}
public partial class ShoppingListServices
{
private readonly IHaContext _haContext;
public ShoppingListServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Adds an item to the shopping list.</summary>
public void AddItem(ShoppingListAddItemParameters data)
{
_haContext.CallService("shopping_list", "add_item", null, data);
}
///<summary>Adds an item to the shopping list.</summary>
///<param name="name">The name of the item to add. eg: Beer</param>
public void AddItem(string name)
{
_haContext.CallService("shopping_list", "add_item", null, new ShoppingListAddItemParameters { Name = name });
}
///<summary>Clears completed items from the shopping list.</summary>
public void ClearCompletedItems(object? data = null)
{
_haContext.CallService("shopping_list", "clear_completed_items", null, data);
}
///<summary>Marks all items as completed in the shopping list (without removing them from the list).</summary>
public void CompleteAll(object? data = null)
{
_haContext.CallService("shopping_list", "complete_all", null, data);
}
///<summary>Marks the first item with matching name as completed in the shopping list.</summary>
public void CompleteItem(ShoppingListCompleteItemParameters data)
{
_haContext.CallService("shopping_list", "complete_item", null, data);
}
///<summary>Marks the first item with matching name as completed in the shopping list.</summary>
///<param name="name">The name of the item to mark as completed (without removing). eg: Beer</param>
public void CompleteItem(string name)
{
_haContext.CallService("shopping_list", "complete_item", null, new ShoppingListCompleteItemParameters { Name = name });
}
///<summary>Marks all items as incomplete in the shopping list.</summary>
public void IncompleteAll(object? data = null)
{
_haContext.CallService("shopping_list", "incomplete_all", null, data);
}
///<summary>Marks the first item with matching name as incomplete in the shopping list.</summary>
public void IncompleteItem(ShoppingListIncompleteItemParameters data)
{
_haContext.CallService("shopping_list", "incomplete_item", null, data);
}
///<summary>Marks the first item with matching name as incomplete in the shopping list.</summary>
///<param name="name">The name of the item to mark as incomplete. eg: Beer</param>
public void IncompleteItem(string name)
{
_haContext.CallService("shopping_list", "incomplete_item", null, new ShoppingListIncompleteItemParameters { Name = name });
}
///<summary>Removes the first item with matching name from the shopping list.</summary>
public void RemoveItem(ShoppingListRemoveItemParameters data)
{
_haContext.CallService("shopping_list", "remove_item", null, data);
}
///<summary>Removes the first item with matching name from the shopping list.</summary>
///<param name="name">The name of the item to remove. eg: Beer</param>
public void RemoveItem(string name)
{
_haContext.CallService("shopping_list", "remove_item", null, new ShoppingListRemoveItemParameters { Name = name });
}
///<summary>Sorts all items by name in the shopping list.</summary>
public void Sort(ShoppingListSortParameters data)
{
_haContext.CallService("shopping_list", "sort", null, data);
}
///<summary>Sorts all items by name in the shopping list.</summary>
///<param name="reverse">Whether to sort in reverse (descending) order.</param>
public void Sort(bool? reverse = null)
{
_haContext.CallService("shopping_list", "sort", null, new ShoppingListSortParameters { Reverse = reverse });
}
}
public partial record ShoppingListAddItemParameters
{
///<summary>The name of the item to add. eg: Beer</summary>
[JsonPropertyName("name")]
public string? Name { get; init; }
}
public partial record ShoppingListCompleteItemParameters
{
///<summary>The name of the item to mark as completed (without removing). eg: Beer</summary>
[JsonPropertyName("name")]
public string? Name { get; init; }
}
public partial record ShoppingListIncompleteItemParameters
{
///<summary>The name of the item to mark as incomplete. eg: Beer</summary>
[JsonPropertyName("name")]
public string? Name { get; init; }
}
public partial record ShoppingListRemoveItemParameters
{
///<summary>The name of the item to remove. eg: Beer</summary>
[JsonPropertyName("name")]
public string? Name { get; init; }
}
public partial record ShoppingListSortParameters
{
///<summary>Whether to sort in reverse (descending) order.</summary>
[JsonPropertyName("reverse")]
public bool? Reverse { get; init; }
}
public partial class SpotifyplusServices
{
private readonly IHaContext _haContext;
public SpotifyplusServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Add one or more items to the end of the user&apos;s current Spotify Player playback queue.</summary>
public void AddPlayerQueueItems(SpotifyplusAddPlayerQueueItemsParameters data)
{
_haContext.CallService("spotifyplus", "add_player_queue_items", null, data);
}
///<summary>Add one or more items to the end of the user&apos;s current Spotify Player playback queue.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="uris">A list of Spotify track or episode URIs to add to the queue (spotify:track:6zd8T1PBe9JFHmuVnurdRp, spotify:track:1kWUud3vY5ij5r62zxpTRy); values can be track or episode URIs. All URIs must be of the same type - you cannot mix and match tracks and episodes. An unlimited number of items can be added in one request, but the more items the longer it will take. eg: spotify:track:6zd8T1PBe9JFHmuVnurdRp</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="verifyDeviceId">True to verify a device id is active; otherwise, false to assume that a device id is already active. Default is True. eg: True</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the add request (if necessary). This delay will give the spotify web api time to process the change before another command is issued. Default is 0.15; value range is 0 - 10. eg: 0.15</param>
public void AddPlayerQueueItems(string entityId, string uris, string? deviceId = null, bool? verifyDeviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "add_player_queue_items", null, new SpotifyplusAddPlayerQueueItemsParameters { EntityId = entityId, Uris = uris, DeviceId = deviceId, VerifyDeviceId = verifyDeviceId, Delay = delay });
}
///<summary>Check if one or more albums (or the currently playing album) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public void CheckAlbumFavorites(SpotifyplusCheckAlbumFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "check_album_favorites", null, data);
}
///<summary>Check if one or more albums (or the currently playing album) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify album id&apos;s (e.g. `6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX</param>
public void CheckAlbumFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "check_album_favorites", null, new SpotifyplusCheckAlbumFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more albums (or the currently playing album) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public Task<JsonElement?> CheckAlbumFavoritesAsync(SpotifyplusCheckAlbumFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_album_favorites", null, data);
}
///<summary>Check if one or more albums (or the currently playing album) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify album id&apos;s (e.g. `6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX</param>
public Task<JsonElement?> CheckAlbumFavoritesAsync(string entityId, string? ids = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_album_favorites", null, new SpotifyplusCheckAlbumFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more artists (or the currently playing artists) is followed in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public void CheckArtistsFollowing(SpotifyplusCheckArtistsFollowingParameters data)
{
_haContext.CallService("spotifyplus", "check_artists_following", null, data);
}
///<summary>Check if one or more artists (or the currently playing artists) is followed in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify artist id&apos;s (e.g. `2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track artist uri id value is used. eg: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk</param>
public void CheckArtistsFollowing(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "check_artists_following", null, new SpotifyplusCheckArtistsFollowingParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more artists (or the currently playing artists) is followed in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public Task<JsonElement?> CheckArtistsFollowingAsync(SpotifyplusCheckArtistsFollowingParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_artists_following", null, data);
}
///<summary>Check if one or more artists (or the currently playing artists) is followed in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify artist id&apos;s (e.g. `2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track artist uri id value is used. eg: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk</param>
public Task<JsonElement?> CheckArtistsFollowingAsync(string entityId, string? ids = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_artists_following", null, new SpotifyplusCheckArtistsFollowingParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more audiobooks (or the currently playing audiobook) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public void CheckAudiobookFavorites(SpotifyplusCheckAudiobookFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "check_audiobook_favorites", null, data);
}
///<summary>Check if one or more audiobooks (or the currently playing audiobook) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify audiobook id&apos;s (e.g. `3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing audiobook uri id value is used. eg: 3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe</param>
public void CheckAudiobookFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "check_audiobook_favorites", null, new SpotifyplusCheckAudiobookFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more audiobooks (or the currently playing audiobook) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public Task<JsonElement?> CheckAudiobookFavoritesAsync(SpotifyplusCheckAudiobookFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_audiobook_favorites", null, data);
}
///<summary>Check if one or more audiobooks (or the currently playing audiobook) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify audiobook id&apos;s (e.g. `3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing audiobook uri id value is used. eg: 3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe</param>
public Task<JsonElement?> CheckAudiobookFavoritesAsync(string entityId, string? ids = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_audiobook_favorites", null, new SpotifyplusCheckAudiobookFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more episodes (or the currently playing episode) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public void CheckEpisodeFavorites(SpotifyplusCheckEpisodeFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "check_episode_favorites", null, data);
}
///<summary>Check if one or more episodes (or the currently playing episode) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify episode id&apos;s (e.g. `3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing episode uri id value is used. eg: 3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4</param>
public void CheckEpisodeFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "check_episode_favorites", null, new SpotifyplusCheckEpisodeFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more episodes (or the currently playing episode) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public Task<JsonElement?> CheckEpisodeFavoritesAsync(SpotifyplusCheckEpisodeFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_episode_favorites", null, data);
}
///<summary>Check if one or more episodes (or the currently playing episode) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify episode id&apos;s (e.g. `3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing episode uri id value is used. eg: 3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4</param>
public Task<JsonElement?> CheckEpisodeFavoritesAsync(string entityId, string? ids = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_episode_favorites", null, new SpotifyplusCheckEpisodeFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check to see if the current user is following a specified playlist.</summary>
public void CheckPlaylistFollowers(SpotifyplusCheckPlaylistFollowersParameters data)
{
_haContext.CallService("spotifyplus", "check_playlist_followers", null, data);
}
///<summary>Check to see if the current user is following a specified playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). eg: 3cEYpjA9oz9GiPac4AsH4n</param>
///<param name="userIds">Deprecated - must contain the current user&apos;s Spotify Username; Maximum of 1 id. Omit to default to current user name.</param>
public void CheckPlaylistFollowers(string entityId, string playlistId, string? userIds = null)
{
_haContext.CallService("spotifyplus", "check_playlist_followers", null, new SpotifyplusCheckPlaylistFollowersParameters { EntityId = entityId, PlaylistId = playlistId, UserIds = userIds });
}
///<summary>Check to see if the current user is following a specified playlist.</summary>
public Task<JsonElement?> CheckPlaylistFollowersAsync(SpotifyplusCheckPlaylistFollowersParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_playlist_followers", null, data);
}
///<summary>Check to see if the current user is following a specified playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). eg: 3cEYpjA9oz9GiPac4AsH4n</param>
///<param name="userIds">Deprecated - must contain the current user&apos;s Spotify Username; Maximum of 1 id. Omit to default to current user name.</param>
public Task<JsonElement?> CheckPlaylistFollowersAsync(string entityId, string playlistId, string? userIds = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_playlist_followers", null, new SpotifyplusCheckPlaylistFollowersParameters { EntityId = entityId, PlaylistId = playlistId, UserIds = userIds });
}
///<summary>Check if one or more shows (or the currently playing show) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public void CheckShowFavorites(SpotifyplusCheckShowFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "check_show_favorites", null, data);
}
///<summary>Check if one or more shows (or the currently playing show) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify show id&apos;s (e.g. `6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk</param>
public void CheckShowFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "check_show_favorites", null, new SpotifyplusCheckShowFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more shows (or the currently playing show) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public Task<JsonElement?> CheckShowFavoritesAsync(SpotifyplusCheckShowFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_show_favorites", null, data);
}
///<summary>Check if one or more shows (or the currently playing show) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify show id&apos;s (e.g. `6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk</param>
public Task<JsonElement?> CheckShowFavoritesAsync(string entityId, string? ids = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_show_favorites", null, new SpotifyplusCheckShowFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more tracks (or the currently playing track) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public void CheckTrackFavorites(SpotifyplusCheckTrackFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "check_track_favorites", null, data);
}
///<summary>Check if one or more tracks (or the currently playing track) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify track id&apos;s (e.g. `1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing context uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK</param>
public void CheckTrackFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "check_track_favorites", null, new SpotifyplusCheckTrackFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check if one or more tracks (or the currently playing track) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
public Task<JsonElement?> CheckTrackFavoritesAsync(SpotifyplusCheckTrackFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_track_favorites", null, data);
}
///<summary>Check if one or more tracks (or the currently playing track) exists in the current user&apos;s &apos;Your Library&apos; favorites.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify track id&apos;s (e.g. `1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing context uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK</param>
public Task<JsonElement?> CheckTrackFavoritesAsync(string entityId, string? ids = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_track_favorites", null, new SpotifyplusCheckTrackFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check to see if the current user is following one or more users.</summary>
public void CheckUsersFollowing(SpotifyplusCheckUsersFollowingParameters data)
{
_haContext.CallService("spotifyplus", "check_users_following", null, data);
}
///<summary>Check to see if the current user is following one or more users.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify user ID&apos;s to check (e.g. `smedjan, 7piUznRWxNyKpaPvmOSdiZ`). A maximum of 50 ID&apos;s can be specified. eg: smedjan, 7piUznRWxNyKpaPvmOSdiZ</param>
public void CheckUsersFollowing(string entityId, string ids)
{
_haContext.CallService("spotifyplus", "check_users_following", null, new SpotifyplusCheckUsersFollowingParameters { EntityId = entityId, Ids = ids });
}
///<summary>Check to see if the current user is following one or more users.</summary>
public Task<JsonElement?> CheckUsersFollowingAsync(SpotifyplusCheckUsersFollowingParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_users_following", null, data);
}
///<summary>Check to see if the current user is following one or more users.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify user ID&apos;s to check (e.g. `smedjan, 7piUznRWxNyKpaPvmOSdiZ`). A maximum of 50 ID&apos;s can be specified. eg: smedjan, 7piUznRWxNyKpaPvmOSdiZ</param>
public Task<JsonElement?> CheckUsersFollowingAsync(string entityId, string ids)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "check_users_following", null, new SpotifyplusCheckUsersFollowingParameters { EntityId = entityId, Ids = ids });
}
///<summary>Add the current user as a follower of one or more artists.</summary>
public void FollowArtists(SpotifyplusFollowArtistsParameters data)
{
_haContext.CallService("spotifyplus", "follow_artists", null, data);
}
///<summary>Add the current user as a follower of one or more artists.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify artist id&apos;s (e.g. `2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track artist uri id value is used. eg: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk</param>
public void FollowArtists(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "follow_artists", null, new SpotifyplusFollowArtistsParameters { EntityId = entityId, Ids = ids });
}
///<summary>Add the current user as a follower of a playlist.</summary>
public void FollowPlaylist(SpotifyplusFollowPlaylistParameters data)
{
_haContext.CallService("spotifyplus", "follow_playlist", null, data);
}
///<summary>Add the current user as a follower of a playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). If omitted, the currently playing playlist uri id value is used. eg: 3cEYpjA9oz9GiPac4AsH4n</param>
///<param name="public">If true the playlist will be included in user&apos;s public playlists, if false it will remain private. eg: True</param>
public void FollowPlaylist(string entityId, string? playlistId = null, bool? @public = null)
{
_haContext.CallService("spotifyplus", "follow_playlist", null, new SpotifyplusFollowPlaylistParameters { EntityId = entityId, PlaylistId = playlistId, Public = @public });
}
///<summary>Add the current user as a follower of one or more users.</summary>
public void FollowUsers(SpotifyplusFollowUsersParameters data)
{
_haContext.CallService("spotifyplus", "follow_users", null, data);
}
///<summary>Add the current user as a follower of one or more users.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of the Spotify user IDs (e.g. &apos;smedjan,3758dfdsfjk435hjk6k79lm0n3c4&apos;). A maximum of 50 IDs can be sent in one request. eg: smedjan,3758dfdsfjk435hjk6k79lm0n3c4</param>
public void FollowUsers(string entityId, string ids)
{
_haContext.CallService("spotifyplus", "follow_users", null, new SpotifyplusFollowUsersParameters { EntityId = entityId, Ids = ids });
}
///<summary>Get Spotify catalog information for a single album.</summary>
public void GetAlbum(SpotifyplusGetAlbumParameters data)
{
_haContext.CallService("spotifyplus", "get_album", null, data);
}
///<summary>Get Spotify catalog information for a single album.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="albumId">The Spotify ID of the album. If omitted, the currently playing album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public void GetAlbum(string entityId, string? albumId = null, string? market = null)
{
_haContext.CallService("spotifyplus", "get_album", null, new SpotifyplusGetAlbumParameters { EntityId = entityId, AlbumId = albumId, Market = market });
}
///<summary>Get Spotify catalog information for a single album.</summary>
public Task<JsonElement?> GetAlbumAsync(SpotifyplusGetAlbumParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_album", null, data);
}
///<summary>Get Spotify catalog information for a single album.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="albumId">The Spotify ID of the album. If omitted, the currently playing album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public Task<JsonElement?> GetAlbumAsync(string entityId, string? albumId = null, string? market = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_album", null, new SpotifyplusGetAlbumParameters { EntityId = entityId, AlbumId = albumId, Market = market });
}
///<summary>Get a list of the albums saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public void GetAlbumFavorites(SpotifyplusGetAlbumFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "get_album_favorites", null, data);
}
///<summary>Get a list of the albums saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetAlbumFavorites(string entityId, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_album_favorites", null, new SpotifyplusGetAlbumFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of the albums saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public Task<JsonElement?> GetAlbumFavoritesAsync(SpotifyplusGetAlbumFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_album_favorites", null, data);
}
///<summary>Get a list of the albums saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetAlbumFavoritesAsync(string entityId, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_album_favorites", null, new SpotifyplusGetAlbumFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of new album releases featured in Spotify.</summary>
public void GetAlbumNewReleases(SpotifyplusGetAlbumNewReleasesParameters data)
{
_haContext.CallService("spotifyplus", "get_album_new_releases", null, data);
}
///<summary>Get a list of new album releases featured in Spotify.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="country">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetAlbumNewReleases(string entityId, double? limit = null, double? offset = null, string? country = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_album_new_releases", null, new SpotifyplusGetAlbumNewReleasesParameters { EntityId = entityId, Limit = limit, Offset = offset, Country = country, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of new album releases featured in Spotify.</summary>
public Task<JsonElement?> GetAlbumNewReleasesAsync(SpotifyplusGetAlbumNewReleasesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_album_new_releases", null, data);
}
///<summary>Get a list of new album releases featured in Spotify.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="country">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetAlbumNewReleasesAsync(string entityId, double? limit = null, double? offset = null, string? country = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_album_new_releases", null, new SpotifyplusGetAlbumNewReleasesParameters { EntityId = entityId, Limit = limit, Offset = offset, Country = country, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get Spotify catalog information about an album&apos;s tracks.</summary>
public void GetAlbumTracks(SpotifyplusGetAlbumTracksParameters data)
{
_haContext.CallService("spotifyplus", "get_album_tracks", null, data);
}
///<summary>Get Spotify catalog information about an album&apos;s tracks.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="albumId">The Spotify ID of the album (e.g. `6vc9OTcyd3hyzabCmsdnwE`). If null, the currently playing album uri id value is used; a Spotify Free or Premium account is required to correctly read the currently playing context. eg: 6vc9OTcyd3hyzabCmsdnwE</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void GetAlbumTracks(string entityId, string? albumId = null, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "get_album_tracks", null, new SpotifyplusGetAlbumTracksParameters { EntityId = entityId, AlbumId = albumId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about an album&apos;s tracks.</summary>
public Task<JsonElement?> GetAlbumTracksAsync(SpotifyplusGetAlbumTracksParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_album_tracks", null, data);
}
///<summary>Get Spotify catalog information about an album&apos;s tracks.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="albumId">The Spotify ID of the album (e.g. `6vc9OTcyd3hyzabCmsdnwE`). If null, the currently playing album uri id value is used; a Spotify Free or Premium account is required to correctly read the currently playing context. eg: 6vc9OTcyd3hyzabCmsdnwE</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> GetAlbumTracksAsync(string entityId, string? albumId = null, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_album_tracks", null, new SpotifyplusGetAlbumTracksParameters { EntityId = entityId, AlbumId = albumId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information for a single artist.</summary>
public void GetArtist(SpotifyplusGetArtistParameters data)
{
_haContext.CallService("spotifyplus", "get_artist", null, data);
}
///<summary>Get Spotify catalog information for a single artist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
public void GetArtist(string entityId, string? artistId = null)
{
_haContext.CallService("spotifyplus", "get_artist", null, new SpotifyplusGetArtistParameters { EntityId = entityId, ArtistId = artistId });
}
///<summary>Get Spotify catalog information for a single artist.</summary>
public Task<JsonElement?> GetArtistAsync(SpotifyplusGetArtistParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist", null, data);
}
///<summary>Get Spotify catalog information for a single artist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
public Task<JsonElement?> GetArtistAsync(string entityId, string? artistId = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist", null, new SpotifyplusGetArtistParameters { EntityId = entityId, ArtistId = artistId });
}
///<summary>Get Spotify catalog information about an artist&apos;s albums.</summary>
public void GetArtistAlbums(SpotifyplusGetArtistAlbumsParameters data)
{
_haContext.CallService("spotifyplus", "get_artist_albums", null, data);
}
///<summary>Get Spotify catalog information about an artist&apos;s albums.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
///<param name="includeGroups">A comma-separated list of keywords that will be used to filter the response. If not supplied, only `album` types will be returned. Valid values are `album`, `single`, `appears_on`, `compilation`. eg: album</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetArtistAlbums(string entityId, string? artistId = null, string? includeGroups = null, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_artist_albums", null, new SpotifyplusGetArtistAlbumsParameters { EntityId = entityId, ArtistId = artistId, IncludeGroups = includeGroups, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get Spotify catalog information about an artist&apos;s albums.</summary>
public Task<JsonElement?> GetArtistAlbumsAsync(SpotifyplusGetArtistAlbumsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist_albums", null, data);
}
///<summary>Get Spotify catalog information about an artist&apos;s albums.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
///<param name="includeGroups">A comma-separated list of keywords that will be used to filter the response. If not supplied, only `album` types will be returned. Valid values are `album`, `single`, `appears_on`, `compilation`. eg: album</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetArtistAlbumsAsync(string entityId, string? artistId = null, string? includeGroups = null, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist_albums", null, new SpotifyplusGetArtistAlbumsParameters { EntityId = entityId, ArtistId = artistId, IncludeGroups = includeGroups, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get artist about information from the Spotify Artist Biography page for the specified Spotify artist ID.</summary>
public void GetArtistInfo(SpotifyplusGetArtistInfoParameters data)
{
_haContext.CallService("spotifyplus", "get_artist_info", null, data);
}
///<summary>Get artist about information from the Spotify Artist Biography page for the specified Spotify artist ID.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
public void GetArtistInfo(string entityId, string? artistId = null)
{
_haContext.CallService("spotifyplus", "get_artist_info", null, new SpotifyplusGetArtistInfoParameters { EntityId = entityId, ArtistId = artistId });
}
///<summary>Get artist about information from the Spotify Artist Biography page for the specified Spotify artist ID.</summary>
public Task<JsonElement?> GetArtistInfoAsync(SpotifyplusGetArtistInfoParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist_info", null, data);
}
///<summary>Get artist about information from the Spotify Artist Biography page for the specified Spotify artist ID.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
public Task<JsonElement?> GetArtistInfoAsync(string entityId, string? artistId = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist_info", null, new SpotifyplusGetArtistInfoParameters { EntityId = entityId, ArtistId = artistId });
}
///<summary>Get Spotify catalog information about artists similar to a given artist. Similarity is based on analysis of the Spotify community&apos;s listening history.</summary>
public void GetArtistRelatedArtists(SpotifyplusGetArtistRelatedArtistsParameters data)
{
_haContext.CallService("spotifyplus", "get_artist_related_artists", null, data);
}
///<summary>Get Spotify catalog information about artists similar to a given artist. Similarity is based on analysis of the Spotify community&apos;s listening history.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetArtistRelatedArtists(string entityId, string? artistId = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_artist_related_artists", null, new SpotifyplusGetArtistRelatedArtistsParameters { EntityId = entityId, ArtistId = artistId, SortResult = sortResult });
}
///<summary>Get Spotify catalog information about artists similar to a given artist. Similarity is based on analysis of the Spotify community&apos;s listening history.</summary>
public Task<JsonElement?> GetArtistRelatedArtistsAsync(SpotifyplusGetArtistRelatedArtistsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist_related_artists", null, data);
}
///<summary>Get Spotify catalog information about artists similar to a given artist. Similarity is based on analysis of the Spotify community&apos;s listening history.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetArtistRelatedArtistsAsync(string entityId, string? artistId = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist_related_artists", null, new SpotifyplusGetArtistRelatedArtistsParameters { EntityId = entityId, ArtistId = artistId, SortResult = sortResult });
}
///<summary>Get Spotify catalog information about an artist&apos;s top tracks by country.</summary>
public void GetArtistTopTracks(SpotifyplusGetArtistTopTracksParameters data)
{
_haContext.CallService("spotifyplus", "get_artist_top_tracks", null, data);
}
///<summary>Get Spotify catalog information about an artist&apos;s top tracks by country.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetArtistTopTracks(string entityId, string? artistId = null, string? market = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_artist_top_tracks", null, new SpotifyplusGetArtistTopTracksParameters { EntityId = entityId, ArtistId = artistId, Market = market, SortResult = sortResult });
}
///<summary>Get Spotify catalog information about an artist&apos;s top tracks by country.</summary>
public Task<JsonElement?> GetArtistTopTracksAsync(SpotifyplusGetArtistTopTracksParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist_top_tracks", null, data);
}
///<summary>Get Spotify catalog information about an artist&apos;s top tracks by country.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="artistId">The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetArtistTopTracksAsync(string entityId, string? artistId = null, string? market = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artist_top_tracks", null, new SpotifyplusGetArtistTopTracksParameters { EntityId = entityId, ArtistId = artistId, Market = market, SortResult = sortResult });
}
///<summary>Get the current user&apos;s followed artists.</summary>
public void GetArtistsFollowed(SpotifyplusGetArtistsFollowedParameters data)
{
_haContext.CallService("spotifyplus", "get_artists_followed", null, data);
}
///<summary>Get the current user&apos;s followed artists.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="after">The last artist ID retrieved from the previous request, or null for the first request. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetArtistsFollowed(string entityId, string? after = null, double? limit = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_artists_followed", null, new SpotifyplusGetArtistsFollowedParameters { EntityId = entityId, After = after, Limit = limit, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get the current user&apos;s followed artists.</summary>
public Task<JsonElement?> GetArtistsFollowedAsync(SpotifyplusGetArtistsFollowedParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artists_followed", null, data);
}
///<summary>Get the current user&apos;s followed artists.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="after">The last artist ID retrieved from the previous request, or null for the first request. eg: 6APm8EjxOHSYM5B4i3vT3q</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetArtistsFollowedAsync(string entityId, string? after = null, double? limit = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_artists_followed", null, new SpotifyplusGetArtistsFollowedParameters { EntityId = entityId, After = after, Limit = limit, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get Spotify catalog information for a single audiobook.</summary>
public void GetAudiobook(SpotifyplusGetAudiobookParameters data)
{
_haContext.CallService("spotifyplus", "get_audiobook", null, data);
}
///<summary>Get Spotify catalog information for a single audiobook.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="audiobookId">The Spotify ID for the audiobook (e.g. `74aydHJKgYz3AIq3jjBSv1`). If null, the currently playing audiobook uri id value is used. eg: 74aydHJKgYz3AIq3jjBSv1</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public void GetAudiobook(string entityId, string? audiobookId = null, string? market = null)
{
_haContext.CallService("spotifyplus", "get_audiobook", null, new SpotifyplusGetAudiobookParameters { EntityId = entityId, AudiobookId = audiobookId, Market = market });
}
///<summary>Get Spotify catalog information for a single audiobook.</summary>
public Task<JsonElement?> GetAudiobookAsync(SpotifyplusGetAudiobookParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_audiobook", null, data);
}
///<summary>Get Spotify catalog information for a single audiobook.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="audiobookId">The Spotify ID for the audiobook (e.g. `74aydHJKgYz3AIq3jjBSv1`). If null, the currently playing audiobook uri id value is used. eg: 74aydHJKgYz3AIq3jjBSv1</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public Task<JsonElement?> GetAudiobookAsync(string entityId, string? audiobookId = null, string? market = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_audiobook", null, new SpotifyplusGetAudiobookParameters { EntityId = entityId, AudiobookId = audiobookId, Market = market });
}
///<summary>Get Spotify catalog information about an audiobook&apos;s chapters.</summary>
public void GetAudiobookChapters(SpotifyplusGetAudiobookChaptersParameters data)
{
_haContext.CallService("spotifyplus", "get_audiobook_chapters", null, data);
}
///<summary>Get Spotify catalog information about an audiobook&apos;s chapters.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="audiobookId">The Spotify ID for the audiobook (e.g. `74aydHJKgYz3AIq3jjBSv1`). If null, the currently playing audiobook uri id value is used. eg: 74aydHJKgYz3AIq3jjBSv1</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void GetAudiobookChapters(string entityId, string? audiobookId = null, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "get_audiobook_chapters", null, new SpotifyplusGetAudiobookChaptersParameters { EntityId = entityId, AudiobookId = audiobookId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about an audiobook&apos;s chapters.</summary>
public Task<JsonElement?> GetAudiobookChaptersAsync(SpotifyplusGetAudiobookChaptersParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_audiobook_chapters", null, data);
}
///<summary>Get Spotify catalog information about an audiobook&apos;s chapters.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="audiobookId">The Spotify ID for the audiobook (e.g. `74aydHJKgYz3AIq3jjBSv1`). If null, the currently playing audiobook uri id value is used. eg: 74aydHJKgYz3AIq3jjBSv1</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> GetAudiobookChaptersAsync(string entityId, string? audiobookId = null, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_audiobook_chapters", null, new SpotifyplusGetAudiobookChaptersParameters { EntityId = entityId, AudiobookId = audiobookId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal });
}
///<summary>Get a list of the audiobooks saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public void GetAudiobookFavorites(SpotifyplusGetAudiobookFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "get_audiobook_favorites", null, data);
}
///<summary>Get a list of the audiobooks saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetAudiobookFavorites(string entityId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_audiobook_favorites", null, new SpotifyplusGetAudiobookFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of the audiobooks saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public Task<JsonElement?> GetAudiobookFavoritesAsync(SpotifyplusGetAudiobookFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_audiobook_favorites", null, data);
}
///<summary>Get a list of the audiobooks saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetAudiobookFavoritesAsync(string entityId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_audiobook_favorites", null, new SpotifyplusGetAudiobookFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a sorted list of ALL categories used to tag items in Spotify.</summary>
public void GetBrowseCategorysList(SpotifyplusGetBrowseCategorysListParameters data)
{
_haContext.CallService("spotifyplus", "get_browse_categorys_list", null, data);
}
///<summary>Get a sorted list of ALL categories used to tag items in Spotify.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="country">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="locale">The desired language, consisting of a lowercase ISO 639-1 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore. For example `es_MX`, meaning `Spanish (Mexico)`. Provide this parameter if you want the results returned in a particular language (where available). Note that if locale is not supplied, or if the specified language is not available, all strings will be returned in the Spotify default language (American English). eg: es_MX</param>
///<param name="refresh">True to return real-time information from the spotify web api and update the cache; otherwise, False to just return the cached value. eg: False</param>
public void GetBrowseCategorysList(string entityId, string? country = null, string? locale = null, bool? refresh = null)
{
_haContext.CallService("spotifyplus", "get_browse_categorys_list", null, new SpotifyplusGetBrowseCategorysListParameters { EntityId = entityId, Country = country, Locale = locale, Refresh = refresh });
}
///<summary>Get a sorted list of ALL categories used to tag items in Spotify.</summary>
public Task<JsonElement?> GetBrowseCategorysListAsync(SpotifyplusGetBrowseCategorysListParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_browse_categorys_list", null, data);
}
///<summary>Get a sorted list of ALL categories used to tag items in Spotify.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="country">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="locale">The desired language, consisting of a lowercase ISO 639-1 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore. For example `es_MX`, meaning `Spanish (Mexico)`. Provide this parameter if you want the results returned in a particular language (where available). Note that if locale is not supplied, or if the specified language is not available, all strings will be returned in the Spotify default language (American English). eg: es_MX</param>
///<param name="refresh">True to return real-time information from the spotify web api and update the cache; otherwise, False to just return the cached value. eg: False</param>
public Task<JsonElement?> GetBrowseCategorysListAsync(string entityId, string? country = null, string? locale = null, bool? refresh = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_browse_categorys_list", null, new SpotifyplusGetBrowseCategorysListParameters { EntityId = entityId, Country = country, Locale = locale, Refresh = refresh });
}
///<summary>Get a list of Spotify playlists tagged with a particular category.</summary>
public void GetCategoryPlaylists(SpotifyplusGetCategoryPlaylistsParameters data)
{
_haContext.CallService("spotifyplus", "get_category_playlists", null, data);
}
///<summary>Get a list of Spotify playlists tagged with a particular category.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="categoryId">The Spotify category ID (not name) for the category. eg: dinner</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="country">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetCategoryPlaylists(string entityId, string categoryId, double? limit = null, double? offset = null, string? country = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_category_playlists", null, new SpotifyplusGetCategoryPlaylistsParameters { EntityId = entityId, CategoryId = categoryId, Limit = limit, Offset = offset, Country = country, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of Spotify playlists tagged with a particular category.</summary>
public Task<JsonElement?> GetCategoryPlaylistsAsync(SpotifyplusGetCategoryPlaylistsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_category_playlists", null, data);
}
///<summary>Get a list of Spotify playlists tagged with a particular category.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="categoryId">The Spotify category ID (not name) for the category. eg: dinner</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="country">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetCategoryPlaylistsAsync(string entityId, string categoryId, double? limit = null, double? offset = null, string? country = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_category_playlists", null, new SpotifyplusGetCategoryPlaylistsParameters { EntityId = entityId, CategoryId = categoryId, Limit = limit, Offset = offset, Country = country, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get Spotify catalog information for a single chapter.</summary>
public void GetChapter(SpotifyplusGetChapterParameters data)
{
_haContext.CallService("spotifyplus", "get_chapter", null, data);
}
///<summary>Get Spotify catalog information for a single chapter.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="chapterId">The Spotify ID of the chapter. If omitted, the currently playing chapter uri id value is used. eg: 3V0yw9UDrYAfkhAvTrvt9Y</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public void GetChapter(string entityId, string? chapterId = null, string? market = null)
{
_haContext.CallService("spotifyplus", "get_chapter", null, new SpotifyplusGetChapterParameters { EntityId = entityId, ChapterId = chapterId, Market = market });
}
///<summary>Get Spotify catalog information for a single chapter.</summary>
public Task<JsonElement?> GetChapterAsync(SpotifyplusGetChapterParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_chapter", null, data);
}
///<summary>Get Spotify catalog information for a single chapter.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="chapterId">The Spotify ID of the chapter. If omitted, the currently playing chapter uri id value is used. eg: 3V0yw9UDrYAfkhAvTrvt9Y</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public Task<JsonElement?> GetChapterAsync(string entityId, string? chapterId = null, string? market = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_chapter", null, new SpotifyplusGetChapterParameters { EntityId = entityId, ChapterId = chapterId, Market = market });
}
///<summary>Get Spotify catalog information for a single episode.</summary>
public void GetEpisode(SpotifyplusGetEpisodeParameters data)
{
_haContext.CallService("spotifyplus", "get_episode", null, data);
}
///<summary>Get Spotify catalog information for a single episode.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="episodeId">The Spotify ID of the episode. If omitted, the currently playing episode uri id value is used. eg: 26c0zVyOv1lzfYpBXdh1zC</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public void GetEpisode(string entityId, string? episodeId = null, string? market = null)
{
_haContext.CallService("spotifyplus", "get_episode", null, new SpotifyplusGetEpisodeParameters { EntityId = entityId, EpisodeId = episodeId, Market = market });
}
///<summary>Get Spotify catalog information for a single episode.</summary>
public Task<JsonElement?> GetEpisodeAsync(SpotifyplusGetEpisodeParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_episode", null, data);
}
///<summary>Get Spotify catalog information for a single episode.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="episodeId">The Spotify ID of the episode. If omitted, the currently playing episode uri id value is used. eg: 26c0zVyOv1lzfYpBXdh1zC</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public Task<JsonElement?> GetEpisodeAsync(string entityId, string? episodeId = null, string? market = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_episode", null, new SpotifyplusGetEpisodeParameters { EntityId = entityId, EpisodeId = episodeId, Market = market });
}
///<summary>Get a list of the episodes saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public void GetEpisodeFavorites(SpotifyplusGetEpisodeFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "get_episode_favorites", null, data);
}
///<summary>Get a list of the episodes saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetEpisodeFavorites(string entityId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_episode_favorites", null, new SpotifyplusGetEpisodeFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of the episodes saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public Task<JsonElement?> GetEpisodeFavoritesAsync(SpotifyplusGetEpisodeFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_episode_favorites", null, data);
}
///<summary>Get a list of the episodes saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetEpisodeFavoritesAsync(string entityId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_episode_favorites", null, new SpotifyplusGetEpisodeFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of Spotify featured playlists.</summary>
public void GetFeaturedPlaylists(SpotifyplusGetFeaturedPlaylistsParameters data)
{
_haContext.CallService("spotifyplus", "get_featured_playlists", null, data);
}
///<summary>Get a list of Spotify featured playlists.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="country">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="locale">The desired language, consisting of a lowercase ISO 639-1 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore. For example `es_MX`, meaning `Spanish (Mexico)`. Provide this parameter if you want the results returned in a particular language (where available). Note that if locale is not supplied, or if the specified language is not available, all strings will be returned in the Spotify default language (American English). eg: es_MX</param>
///<param name="timestamp">A timestamp in ISO 8601 format (yyyy-MM-ddTHH:mm:ss). Use this parameter to specify the user&apos;s local time to get results tailored for that specific date and time in the day. If not provided, the response defaults to the current UTC time. eg: 2023-10-23T09:00:00</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetFeaturedPlaylists(string entityId, double? limit = null, double? offset = null, string? country = null, string? locale = null, string? timestamp = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_featured_playlists", null, new SpotifyplusGetFeaturedPlaylistsParameters { EntityId = entityId, Limit = limit, Offset = offset, Country = country, Locale = locale, Timestamp = timestamp, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of Spotify featured playlists.</summary>
public Task<JsonElement?> GetFeaturedPlaylistsAsync(SpotifyplusGetFeaturedPlaylistsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_featured_playlists", null, data);
}
///<summary>Get a list of Spotify featured playlists.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="country">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="locale">The desired language, consisting of a lowercase ISO 639-1 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore. For example `es_MX`, meaning `Spanish (Mexico)`. Provide this parameter if you want the results returned in a particular language (where available). Note that if locale is not supplied, or if the specified language is not available, all strings will be returned in the Spotify default language (American English). eg: es_MX</param>
///<param name="timestamp">A timestamp in ISO 8601 format (yyyy-MM-ddTHH:mm:ss). Use this parameter to specify the user&apos;s local time to get results tailored for that specific date and time in the day. If not provided, the response defaults to the current UTC time. eg: 2023-10-23T09:00:00</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetFeaturedPlaylistsAsync(string entityId, double? limit = null, double? offset = null, string? country = null, string? locale = null, string? timestamp = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_featured_playlists", null, new SpotifyplusGetFeaturedPlaylistsParameters { EntityId = entityId, Limit = limit, Offset = offset, Country = country, Locale = locale, Timestamp = timestamp, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get information about a user&apos;s available Spotify Connect player devices. Some device models are not supported and will not be listed in the API response.</summary>
public void GetPlayerDevices(SpotifyplusGetPlayerDevicesParameters data)
{
_haContext.CallService("spotifyplus", "get_player_devices", null, data);
}
///<summary>Get information about a user&apos;s available Spotify Connect player devices. Some device models are not supported and will not be listed in the API response.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="refresh">True to return real-time information from the spotify web api and update the cache; otherwise, False to just return the cached value. eg: True</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetPlayerDevices(string entityId, bool? refresh = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_player_devices", null, new SpotifyplusGetPlayerDevicesParameters { EntityId = entityId, Refresh = refresh, SortResult = sortResult });
}
///<summary>Get information about a user&apos;s available Spotify Connect player devices. Some device models are not supported and will not be listed in the API response.</summary>
public Task<JsonElement?> GetPlayerDevicesAsync(SpotifyplusGetPlayerDevicesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_devices", null, data);
}
///<summary>Get information about a user&apos;s available Spotify Connect player devices. Some device models are not supported and will not be listed in the API response.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="refresh">True to return real-time information from the spotify web api and update the cache; otherwise, False to just return the cached value. eg: True</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetPlayerDevicesAsync(string entityId, bool? refresh = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_devices", null, new SpotifyplusGetPlayerDevicesParameters { EntityId = entityId, Refresh = refresh, SortResult = sortResult });
}
///<summary>Get the object currently being played on the user&apos;s Spotify account.</summary>
public void GetPlayerNowPlaying(SpotifyplusGetPlayerNowPlayingParameters data)
{
_haContext.CallService("spotifyplus", "get_player_now_playing", null, data);
}
///<summary>Get the object currently being played on the user&apos;s Spotify account.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="additionalTypes">A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</param>
public void GetPlayerNowPlaying(string entityId, string? market = null, string? additionalTypes = null)
{
_haContext.CallService("spotifyplus", "get_player_now_playing", null, new SpotifyplusGetPlayerNowPlayingParameters { EntityId = entityId, Market = market, AdditionalTypes = additionalTypes });
}
///<summary>Get the object currently being played on the user&apos;s Spotify account.</summary>
public Task<JsonElement?> GetPlayerNowPlayingAsync(SpotifyplusGetPlayerNowPlayingParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_now_playing", null, data);
}
///<summary>Get the object currently being played on the user&apos;s Spotify account.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="additionalTypes">A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</param>
public Task<JsonElement?> GetPlayerNowPlayingAsync(string entityId, string? market = null, string? additionalTypes = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_now_playing", null, new SpotifyplusGetPlayerNowPlayingParameters { EntityId = entityId, Market = market, AdditionalTypes = additionalTypes });
}
///<summary>Get information about the user&apos;s current playback state, including track or episode, progress, and active device.</summary>
public void GetPlayerPlaybackState(SpotifyplusGetPlayerPlaybackStateParameters data)
{
_haContext.CallService("spotifyplus", "get_player_playback_state", null, data);
}
///<summary>Get information about the user&apos;s current playback state, including track or episode, progress, and active device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="additionalTypes">A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</param>
public void GetPlayerPlaybackState(string entityId, string? market = null, string? additionalTypes = null)
{
_haContext.CallService("spotifyplus", "get_player_playback_state", null, new SpotifyplusGetPlayerPlaybackStateParameters { EntityId = entityId, Market = market, AdditionalTypes = additionalTypes });
}
///<summary>Get information about the user&apos;s current playback state, including track or episode, progress, and active device.</summary>
public Task<JsonElement?> GetPlayerPlaybackStateAsync(SpotifyplusGetPlayerPlaybackStateParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_playback_state", null, data);
}
///<summary>Get information about the user&apos;s current playback state, including track or episode, progress, and active device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="additionalTypes">A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</param>
public Task<JsonElement?> GetPlayerPlaybackStateAsync(string entityId, string? market = null, string? additionalTypes = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_playback_state", null, new SpotifyplusGetPlayerPlaybackStateParameters { EntityId = entityId, Market = market, AdditionalTypes = additionalTypes });
}
///<summary>Get the list of objects that make up the user&apos;s playback queue.</summary>
public void GetPlayerQueueInfo(SpotifyplusGetPlayerQueueInfoParameters data)
{
_haContext.CallService("spotifyplus", "get_player_queue_info", null, data);
}
///<summary>Get the list of objects that make up the user&apos;s playback queue.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
public void GetPlayerQueueInfo(string entityId)
{
_haContext.CallService("spotifyplus", "get_player_queue_info", null, new SpotifyplusGetPlayerQueueInfoParameters { EntityId = entityId });
}
///<summary>Get the list of objects that make up the user&apos;s playback queue.</summary>
public Task<JsonElement?> GetPlayerQueueInfoAsync(SpotifyplusGetPlayerQueueInfoParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_queue_info", null, data);
}
///<summary>Get the list of objects that make up the user&apos;s playback queue.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
public Task<JsonElement?> GetPlayerQueueInfoAsync(string entityId)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_queue_info", null, new SpotifyplusGetPlayerQueueInfoParameters { EntityId = entityId });
}
///<summary>Get tracks from the current user&apos;s recently played tracks; currently doesn&apos;t support podcast episodes, and only 50 items may be returned due to spotify limits.</summary>
public void GetPlayerRecentTracks(SpotifyplusGetPlayerRecentTracksParameters data)
{
_haContext.CallService("spotifyplus", "get_player_recent_tracks", null, data);
}
///<summary>Get tracks from the current user&apos;s recently played tracks; currently doesn&apos;t support podcast episodes, and only 50 items may be returned due to spotify limits.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="after">Returns all items after (but not including) this cursor position, which is a Unix timestamp in milliseconds. If `after` is specified, `before` must not be specified. Use with limit to get the next set of items. Default is `0` (the first item). eg: 1706218456821</param>
///<param name="before">Returns all items before (but not including) this cursor position, which is a Unix timestamp in milliseconds. If `before` is specified, `after` must not be specified. Use with limit to get the next set of items. Default is `0` (the first item). eg: 1706218467821</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void GetPlayerRecentTracks(string entityId, double? limit = null, double? after = null, double? before = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "get_player_recent_tracks", null, new SpotifyplusGetPlayerRecentTracksParameters { EntityId = entityId, Limit = limit, After = after, Before = before, LimitTotal = limitTotal });
}
///<summary>Get tracks from the current user&apos;s recently played tracks; currently doesn&apos;t support podcast episodes, and only 50 items may be returned due to spotify limits.</summary>
public Task<JsonElement?> GetPlayerRecentTracksAsync(SpotifyplusGetPlayerRecentTracksParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_recent_tracks", null, data);
}
///<summary>Get tracks from the current user&apos;s recently played tracks; currently doesn&apos;t support podcast episodes, and only 50 items may be returned due to spotify limits.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="after">Returns all items after (but not including) this cursor position, which is a Unix timestamp in milliseconds. If `after` is specified, `before` must not be specified. Use with limit to get the next set of items. Default is `0` (the first item). eg: 1706218456821</param>
///<param name="before">Returns all items before (but not including) this cursor position, which is a Unix timestamp in milliseconds. If `before` is specified, `after` must not be specified. Use with limit to get the next set of items. Default is `0` (the first item). eg: 1706218467821</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> GetPlayerRecentTracksAsync(string entityId, double? limit = null, double? after = null, double? before = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_player_recent_tracks", null, new SpotifyplusGetPlayerRecentTracksParameters { EntityId = entityId, Limit = limit, After = after, Before = before, LimitTotal = limitTotal });
}
///<summary>Get a playlist owned by a Spotify user.</summary>
public void GetPlaylist(SpotifyplusGetPlaylistParameters data)
{
_haContext.CallService("spotifyplus", "get_playlist", null, data);
}
///<summary>Get a playlist owned by a Spotify user.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist. If omitted, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="fields">A comma-separated list of fields to return from the Spotify Web API. All fields are returned if omitted. eg: description,id,name,public,snapshot_id,type,uri,tracks(limit,next,offset,previous,total,items(track(id,name,track_number,type,uri,album(id,images,name,total_tracks,type,uri,artists(id,name,type,uri)))))</param>
///<param name="additionalTypes">A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</param>
public void GetPlaylist(string entityId, string? playlistId = null, string? market = null, string? fields = null, string? additionalTypes = null)
{
_haContext.CallService("spotifyplus", "get_playlist", null, new SpotifyplusGetPlaylistParameters { EntityId = entityId, PlaylistId = playlistId, Market = market, Fields = fields, AdditionalTypes = additionalTypes });
}
///<summary>Get a playlist owned by a Spotify user.</summary>
public Task<JsonElement?> GetPlaylistAsync(SpotifyplusGetPlaylistParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlist", null, data);
}
///<summary>Get a playlist owned by a Spotify user.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist. If omitted, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="fields">A comma-separated list of fields to return from the Spotify Web API. All fields are returned if omitted. eg: description,id,name,public,snapshot_id,type,uri,tracks(limit,next,offset,previous,total,items(track(id,name,track_number,type,uri,album(id,images,name,total_tracks,type,uri,artists(id,name,type,uri)))))</param>
///<param name="additionalTypes">A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</param>
public Task<JsonElement?> GetPlaylistAsync(string entityId, string? playlistId = null, string? market = null, string? fields = null, string? additionalTypes = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlist", null, new SpotifyplusGetPlaylistParameters { EntityId = entityId, PlaylistId = playlistId, Market = market, Fields = fields, AdditionalTypes = additionalTypes });
}
///<summary>Get the current image associated with a specific playlist.</summary>
public void GetPlaylistCoverImage(SpotifyplusGetPlaylistCoverImageParameters data)
{
_haContext.CallService("spotifyplus", "get_playlist_cover_image", null, data);
}
///<summary>Get the current image associated with a specific playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5v5ETK9WFXAnGQ3MRubKuE). If omitted, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</param>
public void GetPlaylistCoverImage(string entityId, string? playlistId = null)
{
_haContext.CallService("spotifyplus", "get_playlist_cover_image", null, new SpotifyplusGetPlaylistCoverImageParameters { EntityId = entityId, PlaylistId = playlistId });
}
///<summary>Get the current image associated with a specific playlist.</summary>
public Task<JsonElement?> GetPlaylistCoverImageAsync(SpotifyplusGetPlaylistCoverImageParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlist_cover_image", null, data);
}
///<summary>Get the current image associated with a specific playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5v5ETK9WFXAnGQ3MRubKuE). If omitted, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</param>
public Task<JsonElement?> GetPlaylistCoverImageAsync(string entityId, string? playlistId = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlist_cover_image", null, new SpotifyplusGetPlaylistCoverImageParameters { EntityId = entityId, PlaylistId = playlistId });
}
///<summary>Get a list of the playlists owned or followed by the current Spotify user.</summary>
public void GetPlaylistFavorites(SpotifyplusGetPlaylistFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "get_playlist_favorites", null, data);
}
///<summary>Get a list of the playlists owned or followed by the current Spotify user.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetPlaylistFavorites(string entityId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_playlist_favorites", null, new SpotifyplusGetPlaylistFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of the playlists owned or followed by the current Spotify user.</summary>
public Task<JsonElement?> GetPlaylistFavoritesAsync(SpotifyplusGetPlaylistFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlist_favorites", null, data);
}
///<summary>Get a list of the playlists owned or followed by the current Spotify user.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetPlaylistFavoritesAsync(string entityId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlist_favorites", null, new SpotifyplusGetPlaylistFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get full details of the items of a playlist owned by a Spotify user.</summary>
public void GetPlaylistItems(SpotifyplusGetPlaylistItemsParameters data)
{
_haContext.CallService("spotifyplus", "get_playlist_items", null, data);
}
///<summary>Get full details of the items of a playlist owned by a Spotify user.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5v5ETK9WFXAnGQ3MRubKuE). If null, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="fields">Filters for the query; a comma-separated list of the fields to return. If omitted, all fields are returned. For example, specify &apos;fields=description,uri&apos; to get just the playlist&apos;s description and URI. eg: items(track(name,uri,album(name,uri)))</param>
///<param name="additionalTypes">A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: track</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void GetPlaylistItems(string entityId, string playlistId, double? limit = null, double? offset = null, string? market = null, string? fields = null, string? additionalTypes = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "get_playlist_items", null, new SpotifyplusGetPlaylistItemsParameters { EntityId = entityId, PlaylistId = playlistId, Limit = limit, Offset = offset, Market = market, Fields = fields, AdditionalTypes = additionalTypes, LimitTotal = limitTotal });
}
///<summary>Get full details of the items of a playlist owned by a Spotify user.</summary>
public Task<JsonElement?> GetPlaylistItemsAsync(SpotifyplusGetPlaylistItemsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlist_items", null, data);
}
///<summary>Get full details of the items of a playlist owned by a Spotify user.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5v5ETK9WFXAnGQ3MRubKuE). If null, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="fields">Filters for the query; a comma-separated list of the fields to return. If omitted, all fields are returned. For example, specify &apos;fields=description,uri&apos; to get just the playlist&apos;s description and URI. eg: items(track(name,uri,album(name,uri)))</param>
///<param name="additionalTypes">A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: track</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> GetPlaylistItemsAsync(string entityId, string playlistId, double? limit = null, double? offset = null, string? market = null, string? fields = null, string? additionalTypes = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlist_items", null, new SpotifyplusGetPlaylistItemsParameters { EntityId = entityId, PlaylistId = playlistId, Limit = limit, Offset = offset, Market = market, Fields = fields, AdditionalTypes = additionalTypes, LimitTotal = limitTotal });
}
///<summary>Get a list of the playlists owned or followed by the current Spotify user.</summary>
public void GetPlaylistsForUser(SpotifyplusGetPlaylistsForUserParameters data)
{
_haContext.CallService("spotifyplus", "get_playlists_for_user", null, data);
}
///<summary>Get a list of the playlists owned or followed by the current Spotify user.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="userId">The user&apos;s Spotify user ID (e.g. `smedjan`). eg: smedjan</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetPlaylistsForUser(string entityId, string userId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_playlists_for_user", null, new SpotifyplusGetPlaylistsForUserParameters { EntityId = entityId, UserId = userId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of the playlists owned or followed by the current Spotify user.</summary>
public Task<JsonElement?> GetPlaylistsForUserAsync(SpotifyplusGetPlaylistsForUserParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlists_for_user", null, data);
}
///<summary>Get a list of the playlists owned or followed by the current Spotify user.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="userId">The user&apos;s Spotify user ID (e.g. `smedjan`). eg: smedjan</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetPlaylistsForUserAsync(string entityId, string userId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_playlists_for_user", null, new SpotifyplusGetPlaylistsForUserParameters { EntityId = entityId, UserId = userId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get Spotify catalog information for a single show.</summary>
public void GetShow(SpotifyplusGetShowParameters data)
{
_haContext.CallService("spotifyplus", "get_show", null, data);
}
///<summary>Get Spotify catalog information for a single show.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="showId">The Spotify ID of the show. If omitted, the currently playing show uri id value is used. eg: 5CfCWKI5pZ28U0uOzXkDHe</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public void GetShow(string entityId, string? showId = null, string? market = null)
{
_haContext.CallService("spotifyplus", "get_show", null, new SpotifyplusGetShowParameters { EntityId = entityId, ShowId = showId, Market = market });
}
///<summary>Get Spotify catalog information for a single show.</summary>
public Task<JsonElement?> GetShowAsync(SpotifyplusGetShowParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_show", null, data);
}
///<summary>Get Spotify catalog information for a single show.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="showId">The Spotify ID of the show. If omitted, the currently playing show uri id value is used. eg: 5CfCWKI5pZ28U0uOzXkDHe</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
public Task<JsonElement?> GetShowAsync(string entityId, string? showId = null, string? market = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_show", null, new SpotifyplusGetShowParameters { EntityId = entityId, ShowId = showId, Market = market });
}
///<summary>Get Spotify catalog information about a show&apos;s episodes.</summary>
public void GetShowEpisodes(SpotifyplusGetShowEpisodesParameters data)
{
_haContext.CallService("spotifyplus", "get_show_episodes", null, data);
}
///<summary>Get Spotify catalog information about a show&apos;s episodes.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="showId">The Spotify ID for the show. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void GetShowEpisodes(string entityId, string? showId = null, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "get_show_episodes", null, new SpotifyplusGetShowEpisodesParameters { EntityId = entityId, ShowId = showId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about a show&apos;s episodes.</summary>
public Task<JsonElement?> GetShowEpisodesAsync(SpotifyplusGetShowEpisodesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_show_episodes", null, data);
}
///<summary>Get Spotify catalog information about a show&apos;s episodes.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="showId">The Spotify ID for the show. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> GetShowEpisodesAsync(string entityId, string? showId = null, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_show_episodes", null, new SpotifyplusGetShowEpisodesParameters { EntityId = entityId, ShowId = showId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal });
}
///<summary>Get a list of the shows saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public void GetShowFavorites(SpotifyplusGetShowFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "get_show_favorites", null, data);
}
///<summary>Get a list of the shows saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
///<param name="excludeAudiobooks">True (default) to exclude audiobook shows from the returned list, leaving only podcast shows; otherwise, False to include all results returned by the Spotify Web API. eg: True</param>
public void GetShowFavorites(string entityId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null, bool? excludeAudiobooks = null)
{
_haContext.CallService("spotifyplus", "get_show_favorites", null, new SpotifyplusGetShowFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult, ExcludeAudiobooks = excludeAudiobooks });
}
///<summary>Get a list of the shows saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public Task<JsonElement?> GetShowFavoritesAsync(SpotifyplusGetShowFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_show_favorites", null, data);
}
///<summary>Get a list of the shows saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
///<param name="excludeAudiobooks">True (default) to exclude audiobook shows from the returned list, leaving only podcast shows; otherwise, False to include all results returned by the Spotify Web API. eg: True</param>
public Task<JsonElement?> GetShowFavoritesAsync(string entityId, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null, bool? excludeAudiobooks = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_show_favorites", null, new SpotifyplusGetShowFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult, ExcludeAudiobooks = excludeAudiobooks });
}
///<summary>Get information about a specific Spotify Connect player device, and (optionally) activate the device if it requires it.</summary>
public void GetSpotifyConnectDevice(SpotifyplusGetSpotifyConnectDeviceParameters data)
{
_haContext.CallService("spotifyplus", "get_spotify_connect_device", null, data);
}
///<summary>Get information about a specific Spotify Connect player device, and (optionally) activate the device if it requires it.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceValue">The id (e.g. &apos;30fbc80e35598f3c242f2120413c943dfd9715fe&apos;) or name (e.g. &apos;Office&apos;) of the Spotify Connect Player device this command is targeting. If an &apos;*&apos; is specified, then the SpotifyPlus default device is used. eg: Bose-ST10-1</param>
///<param name="verifyUserContext">If True, the active user context of the resolved device is checked to ensure it matches the Spotify Connect user context specified in the SpotifyPlus configuration options. If False, the user context will not be checked. Default is True. eg: True</param>
///<param name="verifyTimeout">Maximum time to wait (in seconds) for the device to become active in the Spotify Connect device list. This value is only used if a Connect command has to be issued to activate the device. Default is 5; value range is 0 - 10. eg: 0.50</param>
///<param name="refreshDeviceList">True to refresh the Spotify Connect device list; otherwise, False to use the Spotify Connect device list cache. Default is True. eg: True</param>
///<param name="activateDevice">True to activate the device if necessary; otherwise, False. eg: True</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing any command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.25; value range is 0 - 10. eg: 0.25</param>
public void GetSpotifyConnectDevice(string entityId, string deviceValue, bool? verifyUserContext = null, double? verifyTimeout = null, bool? refreshDeviceList = null, bool? activateDevice = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "get_spotify_connect_device", null, new SpotifyplusGetSpotifyConnectDeviceParameters { EntityId = entityId, DeviceValue = deviceValue, VerifyUserContext = verifyUserContext, VerifyTimeout = verifyTimeout, RefreshDeviceList = refreshDeviceList, ActivateDevice = activateDevice, Delay = delay });
}
///<summary>Get information about a specific Spotify Connect player device, and (optionally) activate the device if it requires it.</summary>
public Task<JsonElement?> GetSpotifyConnectDeviceAsync(SpotifyplusGetSpotifyConnectDeviceParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_spotify_connect_device", null, data);
}
///<summary>Get information about a specific Spotify Connect player device, and (optionally) activate the device if it requires it.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceValue">The id (e.g. &apos;30fbc80e35598f3c242f2120413c943dfd9715fe&apos;) or name (e.g. &apos;Office&apos;) of the Spotify Connect Player device this command is targeting. If an &apos;*&apos; is specified, then the SpotifyPlus default device is used. eg: Bose-ST10-1</param>
///<param name="verifyUserContext">If True, the active user context of the resolved device is checked to ensure it matches the Spotify Connect user context specified in the SpotifyPlus configuration options. If False, the user context will not be checked. Default is True. eg: True</param>
///<param name="verifyTimeout">Maximum time to wait (in seconds) for the device to become active in the Spotify Connect device list. This value is only used if a Connect command has to be issued to activate the device. Default is 5; value range is 0 - 10. eg: 0.50</param>
///<param name="refreshDeviceList">True to refresh the Spotify Connect device list; otherwise, False to use the Spotify Connect device list cache. Default is True. eg: True</param>
///<param name="activateDevice">True to activate the device if necessary; otherwise, False. eg: True</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing any command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.25; value range is 0 - 10. eg: 0.25</param>
public Task<JsonElement?> GetSpotifyConnectDeviceAsync(string entityId, string deviceValue, bool? verifyUserContext = null, double? verifyTimeout = null, bool? refreshDeviceList = null, bool? activateDevice = null, double? delay = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_spotify_connect_device", null, new SpotifyplusGetSpotifyConnectDeviceParameters { EntityId = entityId, DeviceValue = deviceValue, VerifyUserContext = verifyUserContext, VerifyTimeout = verifyTimeout, RefreshDeviceList = refreshDeviceList, ActivateDevice = activateDevice, Delay = delay });
}
///<summary>Get information about all available Spotify Connect player (both static and dynamic) devices.</summary>
public void GetSpotifyConnectDevices(SpotifyplusGetSpotifyConnectDevicesParameters data)
{
_haContext.CallService("spotifyplus", "get_spotify_connect_devices", null, data);
}
///<summary>Get information about all available Spotify Connect player (both static and dynamic) devices.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="refresh">True (default) to return real-time information from the spotify zeroconf api and update the cache; otherwise, False to just return the cached value. eg: True</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetSpotifyConnectDevices(string entityId, bool? refresh = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_spotify_connect_devices", null, new SpotifyplusGetSpotifyConnectDevicesParameters { EntityId = entityId, Refresh = refresh, SortResult = sortResult });
}
///<summary>Get information about all available Spotify Connect player (both static and dynamic) devices.</summary>
public Task<JsonElement?> GetSpotifyConnectDevicesAsync(SpotifyplusGetSpotifyConnectDevicesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_spotify_connect_devices", null, data);
}
///<summary>Get information about all available Spotify Connect player (both static and dynamic) devices.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="refresh">True (default) to return real-time information from the spotify zeroconf api and update the cache; otherwise, False to just return the cached value. eg: True</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetSpotifyConnectDevicesAsync(string entityId, bool? refresh = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_spotify_connect_devices", null, new SpotifyplusGetSpotifyConnectDevicesParameters { EntityId = entityId, Refresh = refresh, SortResult = sortResult });
}
///<summary>Get Spotify catalog information for a single track.</summary>
public void GetTrack(SpotifyplusGetTrackParameters data)
{
_haContext.CallService("spotifyplus", "get_track", null, data);
}
///<summary>Get Spotify catalog information for a single track.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="trackId">The Spotify ID of the track. If omitted, the currently playing track uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy</param>
public void GetTrack(string entityId, string? trackId = null)
{
_haContext.CallService("spotifyplus", "get_track", null, new SpotifyplusGetTrackParameters { EntityId = entityId, TrackId = trackId });
}
///<summary>Get Spotify catalog information for a single track.</summary>
public Task<JsonElement?> GetTrackAsync(SpotifyplusGetTrackParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_track", null, data);
}
///<summary>Get Spotify catalog information for a single track.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="trackId">The Spotify ID of the track. If omitted, the currently playing track uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy</param>
public Task<JsonElement?> GetTrackAsync(string entityId, string? trackId = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_track", null, new SpotifyplusGetTrackParameters { EntityId = entityId, TrackId = trackId });
}
///<summary>Get a list of the tracks saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public void GetTrackFavorites(SpotifyplusGetTrackFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "get_track_favorites", null, data);
}
///<summary>Get a list of the tracks saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetTrackFavorites(string entityId, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_track_favorites", null, new SpotifyplusGetTrackFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get a list of the tracks saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
public Task<JsonElement?> GetTrackFavoritesAsync(SpotifyplusGetTrackFavoritesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_track_favorites", null, data);
}
///<summary>Get a list of the tracks saved in the current Spotify user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetTrackFavoritesAsync(string entityId, double? limit = null, double? offset = null, string? market = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_track_favorites", null, new SpotifyplusGetTrackFavoritesParameters { EntityId = entityId, Limit = limit, Offset = offset, Market = market, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get track recommendations for specified criteria.</summary>
public void GetTrackRecommendations(SpotifyplusGetTrackRecommendationsParameters data)
{
_haContext.CallService("spotifyplus", "get_track_recommendations", null, data);
}
///<summary>Get track recommendations for specified criteria.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="seedArtists">A comma separated list of Spotify IDs for seed artists (e.g. 4NHQUGzhtTLFvgF5SZesLK). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedGenres and seedTracks are not set.</param>
///<param name="seedGenres">A comma separated list of any genres in the set of available genre seeds (e.g. classical,country). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedArtists and seedTracks are not set. eg: rock,hard-rock,rock-n-roll</param>
///<param name="seedTracks">A comma separated list of Spotify IDs for a seed track (e.g. 0c6xIDDpzE81m2q797ordA). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedArtists and seedGenres are not set.</param>
///<param name="minAcousticness">Restrict results to only those tracks whose acousticness level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxAcousticness">Restrict results to only those tracks whose acousticness level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetAcousticness">Restrict results to only those tracks whose acousticness level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minDanceability">Restrict results to only those tracks whose danceability level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxDanceability">Restrict results to only those tracks whose danceability level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetDanceability">Restrict results to only those tracks whose acousticness is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minDurationMs">Restrict results to only those tracks whose duration is greater than the specified value in milliseconds.</param>
///<param name="maxDurationMs">Restrict results to only those tracks whose duration is less than the specified value in milliseconds.</param>
///<param name="targetDurationMs">Restrict results to only those tracks whose duration is equal to the specified value in milliseconds.</param>
///<param name="minEnergy">Restrict results to only those tracks whose energy level is greater than the specified value. Range is `0` - `1`. eg: 0.975</param>
///<param name="maxEnergy">Restrict results to only those tracks whose energy level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetEnergy">Restrict results to only those tracks whose energy level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minInstrumentalness">Restrict results to only those tracks whose instrumentalness level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxInstrumentalness">Restrict results to only those tracks whose instrumentalness level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetInstrumentalness">Restrict results to only those tracks whose instrumentalness level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minKey">Restrict results to only those tracks whose key level is greater than the specified value. Range is `0` - `11`.</param>
///<param name="maxKey">Restrict results to only those tracks whose key level is less than the specified value. Range is `0` - `11`.</param>
///<param name="targetKey">Restrict results to only those tracks whose key level is equal to the specified value. Range is `0` - `11`.</param>
///<param name="minLiveness">Restrict results to only those tracks whose liveness level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxLiveness">Restrict results to only those tracks whose liveness level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetLiveness">Restrict results to only those tracks whose liveness level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minLoudness">Restrict results to only those tracks whose loudness level is greater than the specified value. eg: -9.201</param>
///<param name="maxLoudness">Restrict results to only those tracks whose loudness level is less than the specified value.</param>
///<param name="targetLoudness">Restrict results to only those tracks whose loudness level is equal to the specified value.</param>
///<param name="minMode">Restrict results to only those tracks whose mode level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxMode">Restrict results to only those tracks whose mode level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetMode">Restrict results to only those tracks whose mode level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minPopularity">Restrict results to only those tracks whose popularity level is greater than the specified value. Range is `0` - `100`.</param>
///<param name="maxPopularity">Restrict results to only those tracks whose popularity level is less than the specified value. Range is `0` - `100`.</param>
///<param name="targetPopularity">Restrict results to only those tracks whose popularity level is equal to the specified value. Range is `0` - `100`.</param>
///<param name="minSpeechiness">Restrict results to only those tracks whose speechiness level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxSpeechiness">Restrict results to only those tracks whose speechiness level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetSpeechiness">Restrict results to only those tracks whose speechiness level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minTempo">Restrict results to only those tracks with a tempo greater than the specified number of beats per minute.</param>
///<param name="maxTempo">Restrict results to only those tracks with a tempo less than the specified number of beats per minute.</param>
///<param name="targetTempo">Restrict results to only those tracks with a tempo equal to the specified number of beats per minute.</param>
///<param name="minTimeSignature">Restrict results to only those tracks whose time signature is greater than the specified value. Range is `0` - `11`. eg: 4</param>
///<param name="maxTimeSignature">Restrict results to only those tracks whose time signature is less than the specified value. Range is `0` - `11`.</param>
///<param name="targetTimeSignature">Restrict results to only those tracks whose time signature is equal to the specified value. Range is `0` - `11`.</param>
///<param name="minValence">Restrict results to only those tracks whose valence level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxValence">Restrict results to only those tracks whose valence level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetValence">Restrict results to only those tracks whose valence level is equal to the specified value. Range is `0` - `1`.</param>
public void GetTrackRecommendations(string entityId, double? limit = null, string? market = null, string? seedArtists = null, string? seedGenres = null, string? seedTracks = null, double? minAcousticness = null, double? maxAcousticness = null, double? targetAcousticness = null, double? minDanceability = null, double? maxDanceability = null, double? targetDanceability = null, double? minDurationMs = null, double? maxDurationMs = null, double? targetDurationMs = null, double? minEnergy = null, double? maxEnergy = null, double? targetEnergy = null, double? minInstrumentalness = null, double? maxInstrumentalness = null, double? targetInstrumentalness = null, double? minKey = null, double? maxKey = null, double? targetKey = null, double? minLiveness = null, double? maxLiveness = null, double? targetLiveness = null, double? minLoudness = null, double? maxLoudness = null, double? targetLoudness = null, double? minMode = null, double? maxMode = null, double? targetMode = null, double? minPopularity = null, double? maxPopularity = null, double? targetPopularity = null, double? minSpeechiness = null, double? maxSpeechiness = null, double? targetSpeechiness = null, double? minTempo = null, double? maxTempo = null, double? targetTempo = null, double? minTimeSignature = null, double? maxTimeSignature = null, double? targetTimeSignature = null, double? minValence = null, double? maxValence = null, double? targetValence = null)
{
_haContext.CallService("spotifyplus", "get_track_recommendations", null, new SpotifyplusGetTrackRecommendationsParameters { EntityId = entityId, Limit = limit, Market = market, SeedArtists = seedArtists, SeedGenres = seedGenres, SeedTracks = seedTracks, MinAcousticness = minAcousticness, MaxAcousticness = maxAcousticness, TargetAcousticness = targetAcousticness, MinDanceability = minDanceability, MaxDanceability = maxDanceability, TargetDanceability = targetDanceability, MinDurationMs = minDurationMs, MaxDurationMs = maxDurationMs, TargetDurationMs = targetDurationMs, MinEnergy = minEnergy, MaxEnergy = maxEnergy, TargetEnergy = targetEnergy, MinInstrumentalness = minInstrumentalness, MaxInstrumentalness = maxInstrumentalness, TargetInstrumentalness = targetInstrumentalness, MinKey = minKey, MaxKey = maxKey, TargetKey = targetKey, MinLiveness = minLiveness, MaxLiveness = maxLiveness, TargetLiveness = targetLiveness, MinLoudness = minLoudness, MaxLoudness = maxLoudness, TargetLoudness = targetLoudness, MinMode = minMode, MaxMode = maxMode, TargetMode = targetMode, MinPopularity = minPopularity, MaxPopularity = maxPopularity, TargetPopularity = targetPopularity, MinSpeechiness = minSpeechiness, MaxSpeechiness = maxSpeechiness, TargetSpeechiness = targetSpeechiness, MinTempo = minTempo, MaxTempo = maxTempo, TargetTempo = targetTempo, MinTimeSignature = minTimeSignature, MaxTimeSignature = maxTimeSignature, TargetTimeSignature = targetTimeSignature, MinValence = minValence, MaxValence = maxValence, TargetValence = targetValence });
}
///<summary>Get track recommendations for specified criteria.</summary>
public Task<JsonElement?> GetTrackRecommendationsAsync(SpotifyplusGetTrackRecommendationsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_track_recommendations", null, data);
}
///<summary>Get track recommendations for specified criteria.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</param>
///<param name="seedArtists">A comma separated list of Spotify IDs for seed artists (e.g. 4NHQUGzhtTLFvgF5SZesLK). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedGenres and seedTracks are not set.</param>
///<param name="seedGenres">A comma separated list of any genres in the set of available genre seeds (e.g. classical,country). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedArtists and seedTracks are not set. eg: rock,hard-rock,rock-n-roll</param>
///<param name="seedTracks">A comma separated list of Spotify IDs for a seed track (e.g. 0c6xIDDpzE81m2q797ordA). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedArtists and seedGenres are not set.</param>
///<param name="minAcousticness">Restrict results to only those tracks whose acousticness level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxAcousticness">Restrict results to only those tracks whose acousticness level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetAcousticness">Restrict results to only those tracks whose acousticness level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minDanceability">Restrict results to only those tracks whose danceability level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxDanceability">Restrict results to only those tracks whose danceability level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetDanceability">Restrict results to only those tracks whose acousticness is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minDurationMs">Restrict results to only those tracks whose duration is greater than the specified value in milliseconds.</param>
///<param name="maxDurationMs">Restrict results to only those tracks whose duration is less than the specified value in milliseconds.</param>
///<param name="targetDurationMs">Restrict results to only those tracks whose duration is equal to the specified value in milliseconds.</param>
///<param name="minEnergy">Restrict results to only those tracks whose energy level is greater than the specified value. Range is `0` - `1`. eg: 0.975</param>
///<param name="maxEnergy">Restrict results to only those tracks whose energy level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetEnergy">Restrict results to only those tracks whose energy level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minInstrumentalness">Restrict results to only those tracks whose instrumentalness level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxInstrumentalness">Restrict results to only those tracks whose instrumentalness level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetInstrumentalness">Restrict results to only those tracks whose instrumentalness level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minKey">Restrict results to only those tracks whose key level is greater than the specified value. Range is `0` - `11`.</param>
///<param name="maxKey">Restrict results to only those tracks whose key level is less than the specified value. Range is `0` - `11`.</param>
///<param name="targetKey">Restrict results to only those tracks whose key level is equal to the specified value. Range is `0` - `11`.</param>
///<param name="minLiveness">Restrict results to only those tracks whose liveness level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxLiveness">Restrict results to only those tracks whose liveness level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetLiveness">Restrict results to only those tracks whose liveness level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minLoudness">Restrict results to only those tracks whose loudness level is greater than the specified value. eg: -9.201</param>
///<param name="maxLoudness">Restrict results to only those tracks whose loudness level is less than the specified value.</param>
///<param name="targetLoudness">Restrict results to only those tracks whose loudness level is equal to the specified value.</param>
///<param name="minMode">Restrict results to only those tracks whose mode level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxMode">Restrict results to only those tracks whose mode level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetMode">Restrict results to only those tracks whose mode level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minPopularity">Restrict results to only those tracks whose popularity level is greater than the specified value. Range is `0` - `100`.</param>
///<param name="maxPopularity">Restrict results to only those tracks whose popularity level is less than the specified value. Range is `0` - `100`.</param>
///<param name="targetPopularity">Restrict results to only those tracks whose popularity level is equal to the specified value. Range is `0` - `100`.</param>
///<param name="minSpeechiness">Restrict results to only those tracks whose speechiness level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxSpeechiness">Restrict results to only those tracks whose speechiness level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetSpeechiness">Restrict results to only those tracks whose speechiness level is equal to the specified value. Range is `0` - `1`.</param>
///<param name="minTempo">Restrict results to only those tracks with a tempo greater than the specified number of beats per minute.</param>
///<param name="maxTempo">Restrict results to only those tracks with a tempo less than the specified number of beats per minute.</param>
///<param name="targetTempo">Restrict results to only those tracks with a tempo equal to the specified number of beats per minute.</param>
///<param name="minTimeSignature">Restrict results to only those tracks whose time signature is greater than the specified value. Range is `0` - `11`. eg: 4</param>
///<param name="maxTimeSignature">Restrict results to only those tracks whose time signature is less than the specified value. Range is `0` - `11`.</param>
///<param name="targetTimeSignature">Restrict results to only those tracks whose time signature is equal to the specified value. Range is `0` - `11`.</param>
///<param name="minValence">Restrict results to only those tracks whose valence level is greater than the specified value. Range is `0` - `1`.</param>
///<param name="maxValence">Restrict results to only those tracks whose valence level is less than the specified value. Range is `0` - `1`.</param>
///<param name="targetValence">Restrict results to only those tracks whose valence level is equal to the specified value. Range is `0` - `1`.</param>
public Task<JsonElement?> GetTrackRecommendationsAsync(string entityId, double? limit = null, string? market = null, string? seedArtists = null, string? seedGenres = null, string? seedTracks = null, double? minAcousticness = null, double? maxAcousticness = null, double? targetAcousticness = null, double? minDanceability = null, double? maxDanceability = null, double? targetDanceability = null, double? minDurationMs = null, double? maxDurationMs = null, double? targetDurationMs = null, double? minEnergy = null, double? maxEnergy = null, double? targetEnergy = null, double? minInstrumentalness = null, double? maxInstrumentalness = null, double? targetInstrumentalness = null, double? minKey = null, double? maxKey = null, double? targetKey = null, double? minLiveness = null, double? maxLiveness = null, double? targetLiveness = null, double? minLoudness = null, double? maxLoudness = null, double? targetLoudness = null, double? minMode = null, double? maxMode = null, double? targetMode = null, double? minPopularity = null, double? maxPopularity = null, double? targetPopularity = null, double? minSpeechiness = null, double? maxSpeechiness = null, double? targetSpeechiness = null, double? minTempo = null, double? maxTempo = null, double? targetTempo = null, double? minTimeSignature = null, double? maxTimeSignature = null, double? targetTimeSignature = null, double? minValence = null, double? maxValence = null, double? targetValence = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_track_recommendations", null, new SpotifyplusGetTrackRecommendationsParameters { EntityId = entityId, Limit = limit, Market = market, SeedArtists = seedArtists, SeedGenres = seedGenres, SeedTracks = seedTracks, MinAcousticness = minAcousticness, MaxAcousticness = maxAcousticness, TargetAcousticness = targetAcousticness, MinDanceability = minDanceability, MaxDanceability = maxDanceability, TargetDanceability = targetDanceability, MinDurationMs = minDurationMs, MaxDurationMs = maxDurationMs, TargetDurationMs = targetDurationMs, MinEnergy = minEnergy, MaxEnergy = maxEnergy, TargetEnergy = targetEnergy, MinInstrumentalness = minInstrumentalness, MaxInstrumentalness = maxInstrumentalness, TargetInstrumentalness = targetInstrumentalness, MinKey = minKey, MaxKey = maxKey, TargetKey = targetKey, MinLiveness = minLiveness, MaxLiveness = maxLiveness, TargetLiveness = targetLiveness, MinLoudness = minLoudness, MaxLoudness = maxLoudness, TargetLoudness = targetLoudness, MinMode = minMode, MaxMode = maxMode, TargetMode = targetMode, MinPopularity = minPopularity, MaxPopularity = maxPopularity, TargetPopularity = targetPopularity, MinSpeechiness = minSpeechiness, MaxSpeechiness = maxSpeechiness, TargetSpeechiness = targetSpeechiness, MinTempo = minTempo, MaxTempo = maxTempo, TargetTempo = targetTempo, MinTimeSignature = minTimeSignature, MaxTimeSignature = maxTimeSignature, TargetTimeSignature = targetTimeSignature, MinValence = minValence, MaxValence = maxValence, TargetValence = targetValence });
}
///<summary>Get audio features for multiple tracks based on their Spotify IDs.</summary>
public void GetTracksAudioFeatures(SpotifyplusGetTracksAudioFeaturesParameters data)
{
_haContext.CallService("spotifyplus", "get_tracks_audio_features", null, data);
}
///<summary>Get audio features for multiple tracks based on their Spotify IDs.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of the Spotify track IDs. Maximum of 100 IDs. Example `7ouMYWpwJ422jRcDASZB7P,4VqPOruhp5EdPBeR92t6lQ,2takcwOaAZWiXQijPHIx7B`. eg: 7ouMYWpwJ422jRcDASZB7P,4VqPOruhp5EdPBeR92t6lQ,2takcwOaAZWiXQijPHIx7B</param>
public void GetTracksAudioFeatures(string entityId, string ids)
{
_haContext.CallService("spotifyplus", "get_tracks_audio_features", null, new SpotifyplusGetTracksAudioFeaturesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Get audio features for multiple tracks based on their Spotify IDs.</summary>
public Task<JsonElement?> GetTracksAudioFeaturesAsync(SpotifyplusGetTracksAudioFeaturesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_tracks_audio_features", null, data);
}
///<summary>Get audio features for multiple tracks based on their Spotify IDs.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of the Spotify track IDs. Maximum of 100 IDs. Example `7ouMYWpwJ422jRcDASZB7P,4VqPOruhp5EdPBeR92t6lQ,2takcwOaAZWiXQijPHIx7B`. eg: 7ouMYWpwJ422jRcDASZB7P,4VqPOruhp5EdPBeR92t6lQ,2takcwOaAZWiXQijPHIx7B</param>
public Task<JsonElement?> GetTracksAudioFeaturesAsync(string entityId, string ids)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_tracks_audio_features", null, new SpotifyplusGetTracksAudioFeaturesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Get the current user&apos;s top artists based on calculated affinity.</summary>
public void GetUsersTopArtists(SpotifyplusGetUsersTopArtistsParameters data)
{
_haContext.CallService("spotifyplus", "get_users_top_artists", null, data);
}
///<summary>Get the current user&apos;s top artists based on calculated affinity.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="timeRange">Over what time frame the affinities are computed. Valid values are `long_term` (calculated from several years of data and including all new data as it becomes available), `medium_term` (approximately last 6 months), and `short_term` (approximately last 4 weeks). eg: long_term</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetUsersTopArtists(string entityId, string? timeRange = null, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_users_top_artists", null, new SpotifyplusGetUsersTopArtistsParameters { EntityId = entityId, TimeRange = timeRange, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get the current user&apos;s top artists based on calculated affinity.</summary>
public Task<JsonElement?> GetUsersTopArtistsAsync(SpotifyplusGetUsersTopArtistsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_users_top_artists", null, data);
}
///<summary>Get the current user&apos;s top artists based on calculated affinity.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="timeRange">Over what time frame the affinities are computed. Valid values are `long_term` (calculated from several years of data and including all new data as it becomes available), `medium_term` (approximately last 6 months), and `short_term` (approximately last 4 weeks). eg: long_term</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetUsersTopArtistsAsync(string entityId, string? timeRange = null, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_users_top_artists", null, new SpotifyplusGetUsersTopArtistsParameters { EntityId = entityId, TimeRange = timeRange, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get the current user&apos;s top tracks based on calculated affinity.</summary>
public void GetUsersTopTracks(SpotifyplusGetUsersTopTracksParameters data)
{
_haContext.CallService("spotifyplus", "get_users_top_tracks", null, data);
}
///<summary>Get the current user&apos;s top tracks based on calculated affinity.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="timeRange">Over what time frame the affinities are computed. Valid values are `long_term` (calculated from several years of data and including all new data as it becomes available), `medium_term` (approximately last 6 months), and `short_term` (approximately last 4 weeks). eg: long_term</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public void GetUsersTopTracks(string entityId, string? timeRange = null, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
_haContext.CallService("spotifyplus", "get_users_top_tracks", null, new SpotifyplusGetUsersTopTracksParameters { EntityId = entityId, TimeRange = timeRange, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Get the current user&apos;s top tracks based on calculated affinity.</summary>
public Task<JsonElement?> GetUsersTopTracksAsync(SpotifyplusGetUsersTopTracksParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_users_top_tracks", null, data);
}
///<summary>Get the current user&apos;s top tracks based on calculated affinity.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="timeRange">Over what time frame the affinities are computed. Valid values are `long_term` (calculated from several years of data and including all new data as it becomes available), `medium_term` (approximately last 6 months), and `short_term` (approximately last 4 weeks). eg: long_term</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
///<param name="sortResult">True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</param>
public Task<JsonElement?> GetUsersTopTracksAsync(string entityId, string? timeRange = null, double? limit = null, double? offset = null, double? limitTotal = null, bool? sortResult = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "get_users_top_tracks", null, new SpotifyplusGetUsersTopTracksParameters { EntityId = entityId, TimeRange = timeRange, Limit = limit, Offset = offset, LimitTotal = limitTotal, SortResult = sortResult });
}
///<summary>Activates all Spotify Connect player devices, and (optionally) switches the active user context to the current user context.</summary>
public void PlayerActivateDevices(SpotifyplusPlayerActivateDevicesParameters data)
{
_haContext.CallService("spotifyplus", "player_activate_devices", null, data);
}
///<summary>Activates all Spotify Connect player devices, and (optionally) switches the active user context to the current user context.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="verifyUserContext">If True, the active user context of the resolved device is checked to ensure it matches the specified Spotify Connect user context. If False, the user context will not be checked. Default is False. eg: True</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerActivateDevices(string entityId, bool? verifyUserContext = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_activate_devices", null, new SpotifyplusPlayerActivateDevicesParameters { EntityId = entityId, VerifyUserContext = verifyUserContext, Delay = delay });
}
///<summary>Activates all Spotify Connect player devices, and (optionally) switches the active user context to the current user context.</summary>
public Task<JsonElement?> PlayerActivateDevicesAsync(SpotifyplusPlayerActivateDevicesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "player_activate_devices", null, data);
}
///<summary>Activates all Spotify Connect player devices, and (optionally) switches the active user context to the current user context.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="verifyUserContext">If True, the active user context of the resolved device is checked to ensure it matches the specified Spotify Connect user context. If False, the user context will not be checked. Default is False. eg: True</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public Task<JsonElement?> PlayerActivateDevicesAsync(string entityId, bool? verifyUserContext = null, double? delay = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "player_activate_devices", null, new SpotifyplusPlayerActivateDevicesParameters { EntityId = entityId, VerifyUserContext = verifyUserContext, Delay = delay });
}
///<summary>Pause media play for the specified Spotify Connect device.</summary>
public void PlayerMediaPause(SpotifyplusPlayerMediaPauseParameters data)
{
_haContext.CallService("spotifyplus", "player_media_pause", null, data);
}
///<summary>Pause media play for the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerMediaPause(string entityId, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_media_pause", null, new SpotifyplusPlayerMediaPauseParameters { EntityId = entityId, DeviceId = deviceId, Delay = delay });
}
///<summary>Start playing one or more tracks of the specified context on a Spotify Connect device.</summary>
public void PlayerMediaPlayContext(SpotifyplusPlayerMediaPlayContextParameters data)
{
_haContext.CallService("spotifyplus", "player_media_play_context", null, data);
}
///<summary>Start playing one or more tracks of the specified context on a Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="contextUri">Spotify URI of the context to play (e.g. `spotify:album:6vc9OTcyd3hyzabCmsdnwE`). Valid contexts are albums, artists &amp; playlists. eg: spotify:album:6vc9OTcyd3hyzabCmsdnwE</param>
///<param name="offsetUri">Indicates from what Uri in the context playback should start (e.g. `1kWUud3vY5ij5r62zxpTRy`. Only available when contextUri corresponds to an artist, album or playlist. The offsetPosition argument will be used if this value is null. eg: spotify:track:1kWUud3vY5ij5r62zxpTRy</param>
///<param name="offsetPosition">Indicates from what position in the context playback should start. The value is zero-based, and can&apos;t be negative. Only available when contextUri corresponds to an album or playlist. eg: 3</param>
///<param name="positionMs">The position (in milliseconds) to seek to; must be a positive number. Passing in a position that is greater than the length of the track will cause the player to start playing the next track. eg: 0</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerMediaPlayContext(string entityId, string contextUri, string? offsetUri = null, double? offsetPosition = null, double? positionMs = null, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_media_play_context", null, new SpotifyplusPlayerMediaPlayContextParameters { EntityId = entityId, ContextUri = contextUri, OffsetUri = offsetUri, OffsetPosition = offsetPosition, PositionMs = positionMs, DeviceId = deviceId, Delay = delay });
}
///<summary>Start playing track favorites on the specified Spotify Connect device.</summary>
public void PlayerMediaPlayTrackFavorites(SpotifyplusPlayerMediaPlayTrackFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "player_media_play_track_favorites", null, data);
}
///<summary>Start playing track favorites on the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="shuffle">True to set player shuffle mode to on; otherwise, False for no shuffle. eg: True</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
///<param name="resolveDeviceId">True to resolve the supplied `deviceId` value; otherwise, False not resolve the `deviceId` value as it has already been resolved. Default is True. eg: True</param>
///<param name="limitTotal">The maximum number of items to retrieve from favorites. Default is 200. eg: 200</param>
public void PlayerMediaPlayTrackFavorites(string entityId, string? deviceId = null, bool? shuffle = null, double? delay = null, bool? resolveDeviceId = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "player_media_play_track_favorites", null, new SpotifyplusPlayerMediaPlayTrackFavoritesParameters { EntityId = entityId, DeviceId = deviceId, Shuffle = shuffle, Delay = delay, ResolveDeviceId = resolveDeviceId, LimitTotal = limitTotal });
}
///<summary>Start playing one or more tracks on the specified Spotify Connect device.</summary>
public void PlayerMediaPlayTracks(SpotifyplusPlayerMediaPlayTracksParameters data)
{
_haContext.CallService("spotifyplus", "player_media_play_tracks", null, data);
}
///<summary>Start playing one or more tracks on the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="uris">A list of Spotify track URIs to play; can be track or episode URIs. A maximum of 50 items can be added in one request. eg: spotify:track:6zd8T1PBe9JFHmuVnurdRp,spotify:track:1kWUud3vY5ij5r62zxpTRy</param>
///<param name="positionMs">The position (in milliseconds) to seek to; must be a positive number. Passing in a position that is greater than the length of the track will cause the player to start playing the next track. eg: 0</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerMediaPlayTracks(string entityId, string uris, double? positionMs = null, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_media_play_tracks", null, new SpotifyplusPlayerMediaPlayTracksParameters { EntityId = entityId, Uris = uris, PositionMs = positionMs, DeviceId = deviceId, Delay = delay });
}
///<summary>Resume media play for the specified Spotify Connect device.</summary>
public void PlayerMediaResume(SpotifyplusPlayerMediaResumeParameters data)
{
_haContext.CallService("spotifyplus", "player_media_resume", null, data);
}
///<summary>Resume media play for the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerMediaResume(string entityId, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_media_resume", null, new SpotifyplusPlayerMediaResumeParameters { EntityId = entityId, DeviceId = deviceId, Delay = delay });
}
///<summary>Seeks to the given absolute or relative position in the user&apos;s currently playing track for the specified Spotify Connect device.</summary>
public void PlayerMediaSeek(SpotifyplusPlayerMediaSeekParameters data)
{
_haContext.CallService("spotifyplus", "player_media_seek", null, data);
}
///<summary>Seeks to the given absolute or relative position in the user&apos;s currently playing track for the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="positionMs">The absolute position in milliseconds to seek to; must be a positive number or zero if the `relativePositionMS` argument is specified. Passing in a position that is greater than the length of the track will cause the player to start playing the next song. Example = `25000` to start playing at the 25 second mark. eg: 25000</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
///<param name="relativePositionMs">The relative position in milliseconds to seek to; can be a positive or negative number, or zero if the `positionMS` argument is specified. Example = `-10000` to seek behind by 10 seconds; `10000` to seek ahead by 10 seconds. eg: 10000</param>
public void PlayerMediaSeek(string entityId, double? positionMs = null, string? deviceId = null, double? delay = null, double? relativePositionMs = null)
{
_haContext.CallService("spotifyplus", "player_media_seek", null, new SpotifyplusPlayerMediaSeekParameters { EntityId = entityId, PositionMs = positionMs, DeviceId = deviceId, Delay = delay, RelativePositionMs = relativePositionMs });
}
///<summary>Skips to next track in the user&apos;s queue for the specified Spotify Connect device.</summary>
public void PlayerMediaSkipNext(SpotifyplusPlayerMediaSkipNextParameters data)
{
_haContext.CallService("spotifyplus", "player_media_skip_next", null, data);
}
///<summary>Skips to next track in the user&apos;s queue for the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerMediaSkipNext(string entityId, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_media_skip_next", null, new SpotifyplusPlayerMediaSkipNextParameters { EntityId = entityId, DeviceId = deviceId, Delay = delay });
}
///<summary>Skips to previous track in the user&apos;s queue for the specified Spotify Connect device.</summary>
public void PlayerMediaSkipPrevious(SpotifyplusPlayerMediaSkipPreviousParameters data)
{
_haContext.CallService("spotifyplus", "player_media_skip_previous", null, data);
}
///<summary>Skips to previous track in the user&apos;s queue for the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerMediaSkipPrevious(string entityId, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_media_skip_previous", null, new SpotifyplusPlayerMediaSkipPreviousParameters { EntityId = entityId, DeviceId = deviceId, Delay = delay });
}
///<summary>Resolves a Spotify Connect device identifier from a specified device id, name, alias id, or alias name. This will ensure that the device id can be found on the network, as well as connect to the device if necessary with the current user context.</summary>
public void PlayerResolveDeviceId(SpotifyplusPlayerResolveDeviceIdParameters data)
{
_haContext.CallService("spotifyplus", "player_resolve_device_id", null, data);
}
///<summary>Resolves a Spotify Connect device identifier from a specified device id, name, alias id, or alias name. This will ensure that the device id can be found on the network, as well as connect to the device if necessary with the current user context.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceValue">The device id (e.g. &apos;0d1841b0976bae2a3a310dd74c0f337465899bc8&apos;) or name (e.g. &apos;Bose-ST10-1&apos;) value to resolve. eg: Bose-ST10-1</param>
///<param name="verifyUserContext">If True, the active user context of the resolved device is checked to ensure it matches the user context specified on the class constructor. If False, the user context will not be checked. Default is True. eg: True</param>
///<param name="verifyTimeout">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 5.0; value range is 0 - 10. eg: 5.0</param>
public void PlayerResolveDeviceId(string entityId, string deviceValue, bool? verifyUserContext = null, double? verifyTimeout = null)
{
_haContext.CallService("spotifyplus", "player_resolve_device_id", null, new SpotifyplusPlayerResolveDeviceIdParameters { EntityId = entityId, DeviceValue = deviceValue, VerifyUserContext = verifyUserContext, VerifyTimeout = verifyTimeout });
}
///<summary>Resolves a Spotify Connect device identifier from a specified device id, name, alias id, or alias name. This will ensure that the device id can be found on the network, as well as connect to the device if necessary with the current user context.</summary>
public Task<JsonElement?> PlayerResolveDeviceIdAsync(SpotifyplusPlayerResolveDeviceIdParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "player_resolve_device_id", null, data);
}
///<summary>Resolves a Spotify Connect device identifier from a specified device id, name, alias id, or alias name. This will ensure that the device id can be found on the network, as well as connect to the device if necessary with the current user context.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceValue">The device id (e.g. &apos;0d1841b0976bae2a3a310dd74c0f337465899bc8&apos;) or name (e.g. &apos;Bose-ST10-1&apos;) value to resolve. eg: Bose-ST10-1</param>
///<param name="verifyUserContext">If True, the active user context of the resolved device is checked to ensure it matches the user context specified on the class constructor. If False, the user context will not be checked. Default is True. eg: True</param>
///<param name="verifyTimeout">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 5.0; value range is 0 - 10. eg: 5.0</param>
public Task<JsonElement?> PlayerResolveDeviceIdAsync(string entityId, string deviceValue, bool? verifyUserContext = null, double? verifyTimeout = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "player_resolve_device_id", null, new SpotifyplusPlayerResolveDeviceIdParameters { EntityId = entityId, DeviceValue = deviceValue, VerifyUserContext = verifyUserContext, VerifyTimeout = verifyTimeout });
}
///<summary>Set repeat mode for the specified Spotify Connect device.</summary>
public void PlayerSetRepeatMode(SpotifyplusPlayerSetRepeatModeParameters data)
{
_haContext.CallService("spotifyplus", "player_set_repeat_mode", null, data);
}
///<summary>Set repeat mode for the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="state">The repeat mode state to set; `track` will repeat the current track; `context` will repeat the current context; `off` will turn repeat off. Default is &apos;off&apos;. eg: off</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerSetRepeatMode(string entityId, object state, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_set_repeat_mode", null, new SpotifyplusPlayerSetRepeatModeParameters { EntityId = entityId, State = state, DeviceId = deviceId, Delay = delay });
}
///<summary>Set shuffle mode for the specified Spotify Connect device.</summary>
public void PlayerSetShuffleMode(SpotifyplusPlayerSetShuffleModeParameters data)
{
_haContext.CallService("spotifyplus", "player_set_shuffle_mode", null, data);
}
///<summary>Set shuffle mode for the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="state">True to set player shuffle mode to on; otherwise, False for no shuffle. eg: True</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerSetShuffleMode(string entityId, bool state, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_set_shuffle_mode", null, new SpotifyplusPlayerSetShuffleModeParameters { EntityId = entityId, State = state, DeviceId = deviceId, Delay = delay });
}
///<summary>Set volume level for the specified Spotify Connect device.</summary>
public void PlayerSetVolumeLevel(SpotifyplusPlayerSetVolumeLevelParameters data)
{
_haContext.CallService("spotifyplus", "player_set_volume_level", null, data);
}
///<summary>Set volume level for the specified Spotify Connect device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="volumeLevel">The volume level to set, expressed as a percentage value (e.g. 25). Must be a value from 0 (muted) to 100 (max volume) inclusive. eg: 25</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void PlayerSetVolumeLevel(string entityId, double volumeLevel, string? deviceId = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "player_set_volume_level", null, new SpotifyplusPlayerSetVolumeLevelParameters { EntityId = entityId, VolumeLevel = volumeLevel, DeviceId = deviceId, Delay = delay });
}
///<summary>Transfer playback to a new Spotify Connect device and optionally begin playback.</summary>
public void PlayerTransferPlayback(SpotifyplusPlayerTransferPlaybackParameters data)
{
_haContext.CallService("spotifyplus", "player_transfer_playback", null, data);
}
///<summary>Transfer playback to a new Spotify Connect device and optionally begin playback.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="deviceId">The id or name of the Spotify Connect Player device on which playback should be started/transferred. If no device is specified, then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</param>
///<param name="play">True (default) to start playback on the new device; otherise, False to keep the current playback state on the existing device. eg: True</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
///<param name="refreshDeviceList">True to refresh the Spotify Connect device list; otherwise, False to use the Spotify Connect device list cache. Default is True. eg: True</param>
///<param name="forceActivateDevice">True to issue a Spotify Connect Disconnect call prior to transfer, which will force the device to reconnect to Spotify Connect; otherwise, False to not disconnect. Default is True. eg: True</param>
public void PlayerTransferPlayback(string entityId, string? deviceId = null, bool? play = null, double? delay = null, bool? refreshDeviceList = null, bool? forceActivateDevice = null)
{
_haContext.CallService("spotifyplus", "player_transfer_playback", null, new SpotifyplusPlayerTransferPlaybackParameters { EntityId = entityId, DeviceId = deviceId, Play = play, Delay = delay, RefreshDeviceList = refreshDeviceList, ForceActivateDevice = forceActivateDevice });
}
///<summary>Change a playlist&apos;s details (name, description, and public / private state).</summary>
public void PlaylistChange(SpotifyplusPlaylistChangeParameters data)
{
_haContext.CallService("spotifyplus", "playlist_change", null, data);
}
///<summary>Change a playlist&apos;s details (name, description, and public / private state).</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. `5AC9ZXA7nJ7oGWO911FuDG`). eg: 5AC9ZXA7nJ7oGWO911FuDG</param>
///<param name="name">The updated name of the playlist (e.g. `My Updated Playlist`). This name does not need to be unique; a user may have several playlists with the same name. eg: My Updated Playlist</param>
///<param name="description">The playlist description, as displayed in Spotify Clients and in the Web API. eg: A Playlist updated by the SpotifyPlus integration</param>
///<param name="public">If true, the playlist will be public; if false, it will be private. eg: False</param>
///<param name="collaborative">If true, the playlist will be collaborative (other users can modify it). To create a collaborative playlist you must also set the public argument to false. eg: False</param>
///<param name="imagePath">The fully-qualified path of the image to be uploaded (e.g. `www/images/spotify_playlist_default_image.png`). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. Omit this parameter if you do not wish to update the existing playlist image. eg: www/images/spotify_playlist_default_image.png</param>
public void PlaylistChange(string entityId, string playlistId, string name, string description, bool @public, bool collaborative, string? imagePath = null)
{
_haContext.CallService("spotifyplus", "playlist_change", null, new SpotifyplusPlaylistChangeParameters { EntityId = entityId, PlaylistId = playlistId, Name = name, Description = description, Public = @public, Collaborative = collaborative, ImagePath = imagePath });
}
///<summary>Replace the image used to represent a specific playlist.</summary>
public void PlaylistCoverImageAdd(SpotifyplusPlaylistCoverImageAddParameters data)
{
_haContext.CallService("spotifyplus", "playlist_cover_image_add", null, data);
}
///<summary>Replace the image used to represent a specific playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5v5ETK9WFXAnGQ3MRubKuE</param>
///<param name="imagePath">The fully-qualified path of the image to be uploaded (e.g. `www/images/spotify_playlist_default_image.png`). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. eg: www/images/spotify_playlist_default_image.png</param>
public void PlaylistCoverImageAdd(string entityId, string playlistId, string imagePath)
{
_haContext.CallService("spotifyplus", "playlist_cover_image_add", null, new SpotifyplusPlaylistCoverImageAddParameters { EntityId = entityId, PlaylistId = playlistId, ImagePath = imagePath });
}
///<summary>Create an empty playlist for a Spotify user. The playlist will remain empty until you add tracks.</summary>
public void PlaylistCreate(SpotifyplusPlaylistCreateParameters data)
{
_haContext.CallService("spotifyplus", "playlist_create", null, data);
}
///<summary>Create an empty playlist for a Spotify user. The playlist will remain empty until you add tracks.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="userId">The user&apos;s Spotify user ID (e.g. 32k99y2kg5lnn3mxhtmd2bpdkjfu). Omit this argument to use the Spotify User ID of the player entity_id. eg: 32k99y2kg5lnn3mxhtmd2bpdkjfu</param>
///<param name="name">The name for the new playlist (e.g. `My New Playlist`). This name does not need to be unique; a user may have several playlists with the same name. eg: My New Playlist</param>
///<param name="description">The playlist description, as displayed in Spotify Clients and in the Web API. eg: A Playlist created by the SpotifyPlus integration</param>
///<param name="public">If true, the playlist will be public; if false, it will be private. eg: False</param>
///<param name="collaborative">If true, the playlist will be collaborative (other users can modify it). To create a collaborative playlist you must also set the public argument to false. eg: False</param>
///<param name="imagePath">The fully-qualified path of the image to be uploaded (e.g. `www/images/spotify_playlist_default_image.png`). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. Omit this parameter if you do not wish to add a playlist image. eg: www/images/spotify_playlist_default_image.png</param>
public void PlaylistCreate(string entityId, string name, string description, bool @public, bool collaborative, string? userId = null, string? imagePath = null)
{
_haContext.CallService("spotifyplus", "playlist_create", null, new SpotifyplusPlaylistCreateParameters { EntityId = entityId, UserId = userId, Name = name, Description = description, Public = @public, Collaborative = collaborative, ImagePath = imagePath });
}
///<summary>Create an empty playlist for a Spotify user. The playlist will remain empty until you add tracks.</summary>
public Task<JsonElement?> PlaylistCreateAsync(SpotifyplusPlaylistCreateParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_create", null, data);
}
///<summary>Create an empty playlist for a Spotify user. The playlist will remain empty until you add tracks.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="userId">The user&apos;s Spotify user ID (e.g. 32k99y2kg5lnn3mxhtmd2bpdkjfu). Omit this argument to use the Spotify User ID of the player entity_id. eg: 32k99y2kg5lnn3mxhtmd2bpdkjfu</param>
///<param name="name">The name for the new playlist (e.g. `My New Playlist`). This name does not need to be unique; a user may have several playlists with the same name. eg: My New Playlist</param>
///<param name="description">The playlist description, as displayed in Spotify Clients and in the Web API. eg: A Playlist created by the SpotifyPlus integration</param>
///<param name="public">If true, the playlist will be public; if false, it will be private. eg: False</param>
///<param name="collaborative">If true, the playlist will be collaborative (other users can modify it). To create a collaborative playlist you must also set the public argument to false. eg: False</param>
///<param name="imagePath">The fully-qualified path of the image to be uploaded (e.g. `www/images/spotify_playlist_default_image.png`). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. Omit this parameter if you do not wish to add a playlist image. eg: www/images/spotify_playlist_default_image.png</param>
public Task<JsonElement?> PlaylistCreateAsync(string entityId, string name, string description, bool @public, bool collaborative, string? userId = null, string? imagePath = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_create", null, new SpotifyplusPlaylistCreateParameters { EntityId = entityId, UserId = userId, Name = name, Description = description, Public = @public, Collaborative = collaborative, ImagePath = imagePath });
}
///<summary>Add one or more items to a user&apos;s playlist. Items are added in the order they are listed in the `uris` argument.</summary>
public void PlaylistItemsAdd(SpotifyplusPlaylistItemsAddParameters data)
{
_haContext.CallService("spotifyplus", "playlist_items_add", null, data);
}
///<summary>Add one or more items to a user&apos;s playlist. Items are added in the order they are listed in the `uris` argument.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</param>
///<param name="uris">A comma-separated list of Spotify URIs to add; can be track or episode URIs (e.g. spotify:track:4iV5W9uYEdYUVa79Axb7Rh). A maximum of 100 items can be specified in one request. If nothing is specified, then the track (or episode) uri currently playing is used. eg: spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:episode:512ojhOuo1ktJprKbVcKyQ</param>
///<param name="position">The position to insert the items, a zero-based index. For example, to insert the items in the first position use a value of 0; to insert the items in the third position use a value of 2. Omit the parameter to append the items to the end of the playlist. eg: 0</param>
public void PlaylistItemsAdd(string entityId, string playlistId, string? uris = null, double? position = null)
{
_haContext.CallService("spotifyplus", "playlist_items_add", null, new SpotifyplusPlaylistItemsAddParameters { EntityId = entityId, PlaylistId = playlistId, Uris = uris, Position = position });
}
///<summary>Add one or more items to a user&apos;s playlist. Items are added in the order they are listed in the `uris` argument.</summary>
public Task<JsonElement?> PlaylistItemsAddAsync(SpotifyplusPlaylistItemsAddParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_add", null, data);
}
///<summary>Add one or more items to a user&apos;s playlist. Items are added in the order they are listed in the `uris` argument.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</param>
///<param name="uris">A comma-separated list of Spotify URIs to add; can be track or episode URIs (e.g. spotify:track:4iV5W9uYEdYUVa79Axb7Rh). A maximum of 100 items can be specified in one request. If nothing is specified, then the track (or episode) uri currently playing is used. eg: spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:episode:512ojhOuo1ktJprKbVcKyQ</param>
///<param name="position">The position to insert the items, a zero-based index. For example, to insert the items in the first position use a value of 0; to insert the items in the third position use a value of 2. Omit the parameter to append the items to the end of the playlist. eg: 0</param>
public Task<JsonElement?> PlaylistItemsAddAsync(string entityId, string playlistId, string? uris = null, double? position = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_add", null, new SpotifyplusPlaylistItemsAddParameters { EntityId = entityId, PlaylistId = playlistId, Uris = uris, Position = position });
}
///<summary>Removes (clears) all items from a user&apos;s playlist.</summary>
public void PlaylistItemsClear(SpotifyplusPlaylistItemsClearParameters data)
{
_haContext.CallService("spotifyplus", "playlist_items_clear", null, data);
}
///<summary>Removes (clears) all items from a user&apos;s playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</param>
public void PlaylistItemsClear(string entityId, string playlistId)
{
_haContext.CallService("spotifyplus", "playlist_items_clear", null, new SpotifyplusPlaylistItemsClearParameters { EntityId = entityId, PlaylistId = playlistId });
}
///<summary>Removes (clears) all items from a user&apos;s playlist.</summary>
public Task<JsonElement?> PlaylistItemsClearAsync(SpotifyplusPlaylistItemsClearParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_clear", null, data);
}
///<summary>Removes (clears) all items from a user&apos;s playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</param>
public Task<JsonElement?> PlaylistItemsClearAsync(string entityId, string playlistId)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_clear", null, new SpotifyplusPlaylistItemsClearParameters { EntityId = entityId, PlaylistId = playlistId });
}
///<summary>Remove one or more items from a user&apos;s playlist.</summary>
public void PlaylistItemsRemove(SpotifyplusPlaylistItemsRemoveParameters data)
{
_haContext.CallService("spotifyplus", "playlist_items_remove", null, data);
}
///<summary>Remove one or more items from a user&apos;s playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</param>
///<param name="uris">A comma-separated list of Spotify URIs to remove; can be track or episode URIs (e.g. spotify:track:4iV5W9uYEdYUVa79Axb7Rh). A maximum of 100 items can be specified in one request. If nothing is specified, then the track (or episode) uri currently playing is used. eg: spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:episode:512ojhOuo1ktJprKbVcKyQ</param>
///<param name="snapshotId">The playlist&apos;s snapshot ID against which you want to make the changes (e.g. `MzgsMWVkNDY3MTQ5YjVjYWE0MzAyNjkyZWMyOThjNjE3YWMwOTY0ZmJjYg==`). The API will validate that the specified items exist and make the changes, even if more recent changes have been made to the playlist. If omitted, the current playlist is updated.</param>
public void PlaylistItemsRemove(string entityId, string playlistId, string? uris = null, string? snapshotId = null)
{
_haContext.CallService("spotifyplus", "playlist_items_remove", null, new SpotifyplusPlaylistItemsRemoveParameters { EntityId = entityId, PlaylistId = playlistId, Uris = uris, SnapshotId = snapshotId });
}
///<summary>Remove one or more items from a user&apos;s playlist.</summary>
public Task<JsonElement?> PlaylistItemsRemoveAsync(SpotifyplusPlaylistItemsRemoveParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_remove", null, data);
}
///<summary>Remove one or more items from a user&apos;s playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</param>
///<param name="uris">A comma-separated list of Spotify URIs to remove; can be track or episode URIs (e.g. spotify:track:4iV5W9uYEdYUVa79Axb7Rh). A maximum of 100 items can be specified in one request. If nothing is specified, then the track (or episode) uri currently playing is used. eg: spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:episode:512ojhOuo1ktJprKbVcKyQ</param>
///<param name="snapshotId">The playlist&apos;s snapshot ID against which you want to make the changes (e.g. `MzgsMWVkNDY3MTQ5YjVjYWE0MzAyNjkyZWMyOThjNjE3YWMwOTY0ZmJjYg==`). The API will validate that the specified items exist and make the changes, even if more recent changes have been made to the playlist. If omitted, the current playlist is updated.</param>
public Task<JsonElement?> PlaylistItemsRemoveAsync(string entityId, string playlistId, string? uris = null, string? snapshotId = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_remove", null, new SpotifyplusPlaylistItemsRemoveParameters { EntityId = entityId, PlaylistId = playlistId, Uris = uris, SnapshotId = snapshotId });
}
///<summary>Reorder items in a user&apos;s playlist.</summary>
public void PlaylistItemsReorder(SpotifyplusPlaylistItemsReorderParameters data)
{
_haContext.CallService("spotifyplus", "playlist_items_reorder", null, data);
}
///<summary>Reorder items in a user&apos;s playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 4yptcTKnXjCu3V92tVVafS</param>
///<param name="rangeStart">The position of the first item to be reordered. This is a one-offset integer (NOT zero-offset). eg: 2</param>
///<param name="insertBefore">The position where the items should be inserted. To reorder the items to the end of the playlist, simply set `insertBefore` to the position after the last item. This is a one-offset integer (NOT zero-offset). eg: 1</param>
///<param name="rangeLength">The amount of items to be reordered; defaults to 1 if not set. The range of items to be reordered begins from the `rangeStart` position, and includes the `rangeLength` subsequent items. eg: 1</param>
///<param name="snapshotId">The playlist&apos;s snapshot ID against which you want to make the changes (e.g. `MzgsMWVkNDY3MTQ5YjVjYWE0MzAyNjkyZWMyOThjNjE3YWMwOTY0ZmJjYg==`). The API will validate that the specified items exist and make the changes, even if more recent changes have been made to the playlist. If omitted, the current playlist is updated.</param>
public void PlaylistItemsReorder(string entityId, string playlistId, double rangeStart, double insertBefore, double? rangeLength = null, string? snapshotId = null)
{
_haContext.CallService("spotifyplus", "playlist_items_reorder", null, new SpotifyplusPlaylistItemsReorderParameters { EntityId = entityId, PlaylistId = playlistId, RangeStart = rangeStart, InsertBefore = insertBefore, RangeLength = rangeLength, SnapshotId = snapshotId });
}
///<summary>Reorder items in a user&apos;s playlist.</summary>
public Task<JsonElement?> PlaylistItemsReorderAsync(SpotifyplusPlaylistItemsReorderParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_reorder", null, data);
}
///<summary>Reorder items in a user&apos;s playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 4yptcTKnXjCu3V92tVVafS</param>
///<param name="rangeStart">The position of the first item to be reordered. This is a one-offset integer (NOT zero-offset). eg: 2</param>
///<param name="insertBefore">The position where the items should be inserted. To reorder the items to the end of the playlist, simply set `insertBefore` to the position after the last item. This is a one-offset integer (NOT zero-offset). eg: 1</param>
///<param name="rangeLength">The amount of items to be reordered; defaults to 1 if not set. The range of items to be reordered begins from the `rangeStart` position, and includes the `rangeLength` subsequent items. eg: 1</param>
///<param name="snapshotId">The playlist&apos;s snapshot ID against which you want to make the changes (e.g. `MzgsMWVkNDY3MTQ5YjVjYWE0MzAyNjkyZWMyOThjNjE3YWMwOTY0ZmJjYg==`). The API will validate that the specified items exist and make the changes, even if more recent changes have been made to the playlist. If omitted, the current playlist is updated.</param>
public Task<JsonElement?> PlaylistItemsReorderAsync(string entityId, string playlistId, double rangeStart, double insertBefore, double? rangeLength = null, string? snapshotId = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_reorder", null, new SpotifyplusPlaylistItemsReorderParameters { EntityId = entityId, PlaylistId = playlistId, RangeStart = rangeStart, InsertBefore = insertBefore, RangeLength = rangeLength, SnapshotId = snapshotId });
}
///<summary>Replace one or more items in a user&apos;s playlist. Replacing items in a playlist will overwrite its existing items. This service can also be used to clear a playlist.</summary>
public void PlaylistItemsReplace(SpotifyplusPlaylistItemsReplaceParameters data)
{
_haContext.CallService("spotifyplus", "playlist_items_replace", null, data);
}
///<summary>Replace one or more items in a user&apos;s playlist. Replacing items in a playlist will overwrite its existing items. This service can also be used to clear a playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). eg: 3cEYpjA9oz9GiPac4AsH4n</param>
///<param name="uris">A comma-separated list of Spotify URIs to replace; can be track or episode URIs (e.g. `spotify:track:4iV5W9uYEdYUVa79Axb7Rh, spotify:episode:26c0zVyOv1lzfYpBXdh1zC`). A maximum of 100 items can be specified in one request.</param>
public void PlaylistItemsReplace(string entityId, string playlistId, string? uris = null)
{
_haContext.CallService("spotifyplus", "playlist_items_replace", null, new SpotifyplusPlaylistItemsReplaceParameters { EntityId = entityId, PlaylistId = playlistId, Uris = uris });
}
///<summary>Replace one or more items in a user&apos;s playlist. Replacing items in a playlist will overwrite its existing items. This service can also be used to clear a playlist.</summary>
public Task<JsonElement?> PlaylistItemsReplaceAsync(SpotifyplusPlaylistItemsReplaceParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_replace", null, data);
}
///<summary>Replace one or more items in a user&apos;s playlist. Replacing items in a playlist will overwrite its existing items. This service can also be used to clear a playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). eg: 3cEYpjA9oz9GiPac4AsH4n</param>
///<param name="uris">A comma-separated list of Spotify URIs to replace; can be track or episode URIs (e.g. `spotify:track:4iV5W9uYEdYUVa79Axb7Rh, spotify:episode:26c0zVyOv1lzfYpBXdh1zC`). A maximum of 100 items can be specified in one request.</param>
public Task<JsonElement?> PlaylistItemsReplaceAsync(string entityId, string playlistId, string? uris = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "playlist_items_replace", null, new SpotifyplusPlaylistItemsReplaceParameters { EntityId = entityId, PlaylistId = playlistId, Uris = uris });
}
///<summary>Remove one or more albums from the current user&apos;s &apos;Your Library&apos;.</summary>
public void RemoveAlbumFavorites(SpotifyplusRemoveAlbumFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "remove_album_favorites", null, data);
}
///<summary>Remove one or more albums from the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify album id&apos;s (e.g. `6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX</param>
public void RemoveAlbumFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "remove_album_favorites", null, new SpotifyplusRemoveAlbumFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Remove one or more audiobooks from the current user&apos;s &apos;Your Library&apos;.</summary>
public void RemoveAudiobookFavorites(SpotifyplusRemoveAudiobookFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "remove_audiobook_favorites", null, data);
}
///<summary>Remove one or more audiobooks from the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify audiobook id&apos;s (e.g. `3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing audiobook uri id value is used. eg: 3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe</param>
public void RemoveAudiobookFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "remove_audiobook_favorites", null, new SpotifyplusRemoveAudiobookFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Remove one or more episodes from the current user&apos;s &apos;Your Library&apos;.</summary>
public void RemoveEpisodeFavorites(SpotifyplusRemoveEpisodeFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "remove_episode_favorites", null, data);
}
///<summary>Remove one or more episodes from the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify episode id&apos;s (e.g. `3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing episode uri id value is used. eg: 3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4</param>
public void RemoveEpisodeFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "remove_episode_favorites", null, new SpotifyplusRemoveEpisodeFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Remove one or more albums from the current user&apos;s &apos;Your Library&apos;.</summary>
public void RemoveShowFavorites(SpotifyplusRemoveShowFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "remove_show_favorites", null, data);
}
///<summary>Remove one or more albums from the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify show id&apos;s (e.g. `6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk</param>
public void RemoveShowFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "remove_show_favorites", null, new SpotifyplusRemoveShowFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Remove one or more tracks from the current user&apos;s &apos;Your Library&apos;.</summary>
public void RemoveTrackFavorites(SpotifyplusRemoveTrackFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "remove_track_favorites", null, data);
}
///<summary>Remove one or more tracks from the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify track id&apos;s (e.g. `1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing context uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK</param>
public void RemoveTrackFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "remove_track_favorites", null, new SpotifyplusRemoveTrackFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Save one or more albums to the current user&apos;s &apos;Your Library&apos;.</summary>
public void SaveAlbumFavorites(SpotifyplusSaveAlbumFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "save_album_favorites", null, data);
}
///<summary>Save one or more albums to the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify album id&apos;s (e.g. `6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX</param>
public void SaveAlbumFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "save_album_favorites", null, new SpotifyplusSaveAlbumFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Save one or more audiobook to the current user&apos;s &apos;Your Library&apos;.</summary>
public void SaveAudiobookFavorites(SpotifyplusSaveAudiobookFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "save_audiobook_favorites", null, data);
}
///<summary>Save one or more audiobook to the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify audiobook id&apos;s (e.g. `3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing audiobook uri id value is used. eg: 3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe</param>
public void SaveAudiobookFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "save_audiobook_favorites", null, new SpotifyplusSaveAudiobookFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Save one or more episodes to the current user&apos;s &apos;Your Library&apos;.</summary>
public void SaveEpisodeFavorites(SpotifyplusSaveEpisodeFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "save_episode_favorites", null, data);
}
///<summary>Save one or more episodes to the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify episode id&apos;s (e.g. `3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing episode uri id value is used. eg: 3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4</param>
public void SaveEpisodeFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "save_episode_favorites", null, new SpotifyplusSaveEpisodeFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Save one or more shows to the current user&apos;s &apos;Your Library&apos;.</summary>
public void SaveShowFavorites(SpotifyplusSaveShowFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "save_show_favorites", null, data);
}
///<summary>Save one or more shows to the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify show id&apos;s (e.g. `6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk</param>
public void SaveShowFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "save_show_favorites", null, new SpotifyplusSaveShowFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Save one or more tracks to the current user&apos;s &apos;Your Library&apos;.</summary>
public void SaveTrackFavorites(SpotifyplusSaveTrackFavoritesParameters data)
{
_haContext.CallService("spotifyplus", "save_track_favorites", null, data);
}
///<summary>Save one or more tracks to the current user&apos;s &apos;Your Library&apos;.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify track id&apos;s (e.g. `1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing context uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK</param>
public void SaveTrackFavorites(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "save_track_favorites", null, new SpotifyplusSaveTrackFavoritesParameters { EntityId = entityId, Ids = ids });
}
///<summary>Get Spotify catalog information about Albums that match a keyword string.</summary>
public void SearchAlbums(SpotifyplusSearchAlbumsParameters data)
{
_haContext.CallService("spotifyplus", "search_albums", null, data);
}
///<summary>Get Spotify catalog information about Albums that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Welcome to the New</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void SearchAlbums(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "search_albums", null, new SpotifyplusSearchAlbumsParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Albums that match a keyword string.</summary>
public Task<JsonElement?> SearchAlbumsAsync(SpotifyplusSearchAlbumsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_albums", null, data);
}
///<summary>Get Spotify catalog information about Albums that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Welcome to the New</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> SearchAlbumsAsync(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_albums", null, new SpotifyplusSearchAlbumsParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Artists that match a keyword string.</summary>
public void SearchArtists(SpotifyplusSearchArtistsParameters data)
{
_haContext.CallService("spotifyplus", "search_artists", null, data);
}
///<summary>Get Spotify catalog information about Artists that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: MercyMe</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void SearchArtists(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "search_artists", null, new SpotifyplusSearchArtistsParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Artists that match a keyword string.</summary>
public Task<JsonElement?> SearchArtistsAsync(SpotifyplusSearchArtistsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_artists", null, data);
}
///<summary>Get Spotify catalog information about Artists that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: MercyMe</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> SearchArtistsAsync(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_artists", null, new SpotifyplusSearchArtistsParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Audiobooks that match a keyword string.</summary>
public void SearchAudiobooks(SpotifyplusSearchAudiobooksParameters data)
{
_haContext.CallService("spotifyplus", "search_audiobooks", null, data);
}
///<summary>Get Spotify catalog information about Audiobooks that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: The Elfstones of Shannara</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void SearchAudiobooks(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "search_audiobooks", null, new SpotifyplusSearchAudiobooksParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Audiobooks that match a keyword string.</summary>
public Task<JsonElement?> SearchAudiobooksAsync(SpotifyplusSearchAudiobooksParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_audiobooks", null, data);
}
///<summary>Get Spotify catalog information about Audiobooks that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: The Elfstones of Shannara</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> SearchAudiobooksAsync(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_audiobooks", null, new SpotifyplusSearchAudiobooksParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Episodes that match a keyword string.</summary>
public void SearchEpisodes(SpotifyplusSearchEpisodesParameters data)
{
_haContext.CallService("spotifyplus", "search_episodes", null, data);
}
///<summary>Get Spotify catalog information about Episodes that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Armchair Anonymous</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void SearchEpisodes(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "search_episodes", null, new SpotifyplusSearchEpisodesParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Episodes that match a keyword string.</summary>
public Task<JsonElement?> SearchEpisodesAsync(SpotifyplusSearchEpisodesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_episodes", null, data);
}
///<summary>Get Spotify catalog information about Episodes that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Armchair Anonymous</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> SearchEpisodesAsync(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_episodes", null, new SpotifyplusSearchEpisodesParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Playlists that match a keyword string.</summary>
public void SearchPlaylists(SpotifyplusSearchPlaylistsParameters data)
{
_haContext.CallService("spotifyplus", "search_playlists", null, data);
}
///<summary>Get Spotify catalog information about Playlists that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Daily Mix</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void SearchPlaylists(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "search_playlists", null, new SpotifyplusSearchPlaylistsParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Playlists that match a keyword string.</summary>
public Task<JsonElement?> SearchPlaylistsAsync(SpotifyplusSearchPlaylistsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_playlists", null, data);
}
///<summary>Get Spotify catalog information about Playlists that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Daily Mix</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> SearchPlaylistsAsync(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_playlists", null, new SpotifyplusSearchPlaylistsParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Shows that match a keyword string.</summary>
public void SearchShows(SpotifyplusSearchShowsParameters data)
{
_haContext.CallService("spotifyplus", "search_shows", null, data);
}
///<summary>Get Spotify catalog information about Shows that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Dax Shepard</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void SearchShows(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "search_shows", null, new SpotifyplusSearchShowsParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Shows that match a keyword string.</summary>
public Task<JsonElement?> SearchShowsAsync(SpotifyplusSearchShowsParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_shows", null, data);
}
///<summary>Get Spotify catalog information about Shows that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Dax Shepard</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> SearchShowsAsync(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_shows", null, new SpotifyplusSearchShowsParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Tracks that match a keyword string.</summary>
public void SearchTracks(SpotifyplusSearchTracksParameters data)
{
_haContext.CallService("spotifyplus", "search_tracks", null, data);
}
///<summary>Get Spotify catalog information about Tracks that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Dear Younger Me</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public void SearchTracks(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
_haContext.CallService("spotifyplus", "search_tracks", null, new SpotifyplusSearchTracksParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Get Spotify catalog information about Tracks that match a keyword string.</summary>
public Task<JsonElement?> SearchTracksAsync(SpotifyplusSearchTracksParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_tracks", null, data);
}
///<summary>Get Spotify catalog information about Tracks that match a keyword string.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="criteria">The criteria to search for. eg: Dear Younger Me</param>
///<param name="limit">The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</param>
///<param name="offset">The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</param>
///<param name="market">An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</param>
///<param name="includeExternal">If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</param>
///<param name="limitTotal">The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</param>
public Task<JsonElement?> SearchTracksAsync(string entityId, string criteria, double? limit = null, double? offset = null, string? market = null, string? includeExternal = null, double? limitTotal = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "search_tracks", null, new SpotifyplusSearchTracksParameters { EntityId = entityId, Criteria = criteria, Limit = limit, Offset = offset, Market = market, IncludeExternal = includeExternal, LimitTotal = limitTotal });
}
///<summary>Remove the current user as a follower of one or more artists.</summary>
public void UnfollowArtists(SpotifyplusUnfollowArtistsParameters data)
{
_haContext.CallService("spotifyplus", "unfollow_artists", null, data);
}
///<summary>Remove the current user as a follower of one or more artists.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify artist id&apos;s (e.g. `2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track artist uri id value is used. eg: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk</param>
public void UnfollowArtists(string entityId, string? ids = null)
{
_haContext.CallService("spotifyplus", "unfollow_artists", null, new SpotifyplusUnfollowArtistsParameters { EntityId = entityId, Ids = ids });
}
///<summary>Remove the current user as a follower of a playlist.</summary>
public void UnfollowPlaylist(SpotifyplusUnfollowPlaylistParameters data)
{
_haContext.CallService("spotifyplus", "unfollow_playlist", null, data);
}
///<summary>Remove the current user as a follower of a playlist.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="playlistId">The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). If omitted, the currently playing playlist uri id value is used. eg: 3cEYpjA9oz9GiPac4AsH4n</param>
public void UnfollowPlaylist(string entityId, string? playlistId = null)
{
_haContext.CallService("spotifyplus", "unfollow_playlist", null, new SpotifyplusUnfollowPlaylistParameters { EntityId = entityId, PlaylistId = playlistId });
}
///<summary>Remove the current user as a follower of one or more users.</summary>
public void UnfollowUsers(SpotifyplusUnfollowUsersParameters data)
{
_haContext.CallService("spotifyplus", "unfollow_users", null, data);
}
///<summary>Remove the current user as a follower of one or more users.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</param>
///<param name="ids">A comma-separated list of Spotify user IDs (e.g. `smedjan,3758dfdsfjk435hjk6k79lm0n3c4`). A maximum of 50 IDs can be sent in one request. eg: smedjan,3758dfdsfjk435hjk6k79lm0n3c4</param>
public void UnfollowUsers(string entityId, string ids)
{
_haContext.CallService("spotifyplus", "unfollow_users", null, new SpotifyplusUnfollowUsersParameters { EntityId = entityId, Ids = ids });
}
///<summary>Calls the `addUser` Spotify Zeroconf API endpoint to issue a call to SpConnectionLoginBlob. If successful, the associated device id is added to the Spotify Connect active device list for the specified user account. This will also issue a `resetUsers` call prior to the `addUser` call.</summary>
public void ZeroconfDeviceConnect(SpotifyplusZeroconfDeviceConnectParameters data)
{
_haContext.CallService("spotifyplus", "zeroconf_device_connect", null, data);
}
///<summary>Calls the `addUser` Spotify Zeroconf API endpoint to issue a call to SpConnectionLoginBlob. If successful, the associated device id is added to the Spotify Connect active device list for the specified user account. This will also issue a `resetUsers` call prior to the `addUser` call.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</param>
///<param name="hostIpv4Address">IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</param>
///<param name="hostIpPort">Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</param>
///<param name="cpath">Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</param>
///<param name="version">Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</param>
///<param name="useSsl">True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</param>
///<param name="username">Spotify user name to login with (e.g. &apos;yourusername@mail.com&apos;). This MUST match the account name (or one of them) that was used to configure Spotify Connect on the manufacturer device. If not specified, the integration options Spotify Connect username value will be used. eg: yourusername@mail.com</param>
///<param name="password">Spotify Connect user password to login with. If not specified, the integration options Spotify Connect password value will be used. eg: yourpassword</param>
///<param name="loginid">Spotify Connect login id to login with (e.g. &apos;31l77fd87g8h9j00k89f07jf87ge&apos;). This is also known as the canonical user id value. This MUST be the value that relates to the `username` argument. If not specified, the integration options Spotify Connect loginId value will be used. eg: 31l77y75hfnhk79f7gk6jkk878mg</param>
///<param name="preDisconnect">True if a Disconnect should be made prior to the Connect call. This will ensure that the active user is logged out, which must be done if switching user accounts; otherwise, False to not issue a Disconnect call. Default is False. eg: False</param>
///<param name="verifyDeviceListEntry">True to ensure that the device id is present in the Spotify Connect device list before issuing a call to Connect; Connect will not be called if the device id is already in the list; otherwise, False to always call Connect to add the device. Default is False. eg: False</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing a command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void ZeroconfDeviceConnect(string entityId, string hostIpv4Address, double hostIpPort, string cpath, string? version = null, bool? useSsl = null, string? username = null, string? password = null, string? loginid = null, bool? preDisconnect = null, bool? verifyDeviceListEntry = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "zeroconf_device_connect", null, new SpotifyplusZeroconfDeviceConnectParameters { EntityId = entityId, HostIpv4Address = hostIpv4Address, HostIpPort = hostIpPort, Cpath = cpath, Version = version, UseSsl = useSsl, Username = username, Password = password, Loginid = loginid, PreDisconnect = preDisconnect, VerifyDeviceListEntry = verifyDeviceListEntry, Delay = delay });
}
///<summary>Calls the `addUser` Spotify Zeroconf API endpoint to issue a call to SpConnectionLoginBlob. If successful, the associated device id is added to the Spotify Connect active device list for the specified user account. This will also issue a `resetUsers` call prior to the `addUser` call.</summary>
public Task<JsonElement?> ZeroconfDeviceConnectAsync(SpotifyplusZeroconfDeviceConnectParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "zeroconf_device_connect", null, data);
}
///<summary>Calls the `addUser` Spotify Zeroconf API endpoint to issue a call to SpConnectionLoginBlob. If successful, the associated device id is added to the Spotify Connect active device list for the specified user account. This will also issue a `resetUsers` call prior to the `addUser` call.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</param>
///<param name="hostIpv4Address">IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</param>
///<param name="hostIpPort">Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</param>
///<param name="cpath">Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</param>
///<param name="version">Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</param>
///<param name="useSsl">True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</param>
///<param name="username">Spotify user name to login with (e.g. &apos;yourusername@mail.com&apos;). This MUST match the account name (or one of them) that was used to configure Spotify Connect on the manufacturer device. If not specified, the integration options Spotify Connect username value will be used. eg: yourusername@mail.com</param>
///<param name="password">Spotify Connect user password to login with. If not specified, the integration options Spotify Connect password value will be used. eg: yourpassword</param>
///<param name="loginid">Spotify Connect login id to login with (e.g. &apos;31l77fd87g8h9j00k89f07jf87ge&apos;). This is also known as the canonical user id value. This MUST be the value that relates to the `username` argument. If not specified, the integration options Spotify Connect loginId value will be used. eg: 31l77y75hfnhk79f7gk6jkk878mg</param>
///<param name="preDisconnect">True if a Disconnect should be made prior to the Connect call. This will ensure that the active user is logged out, which must be done if switching user accounts; otherwise, False to not issue a Disconnect call. Default is False. eg: False</param>
///<param name="verifyDeviceListEntry">True to ensure that the device id is present in the Spotify Connect device list before issuing a call to Connect; Connect will not be called if the device id is already in the list; otherwise, False to always call Connect to add the device. Default is False. eg: False</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing a command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public Task<JsonElement?> ZeroconfDeviceConnectAsync(string entityId, string hostIpv4Address, double hostIpPort, string cpath, string? version = null, bool? useSsl = null, string? username = null, string? password = null, string? loginid = null, bool? preDisconnect = null, bool? verifyDeviceListEntry = null, double? delay = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "zeroconf_device_connect", null, new SpotifyplusZeroconfDeviceConnectParameters { EntityId = entityId, HostIpv4Address = hostIpv4Address, HostIpPort = hostIpPort, Cpath = cpath, Version = version, UseSsl = useSsl, Username = username, Password = password, Loginid = loginid, PreDisconnect = preDisconnect, VerifyDeviceListEntry = verifyDeviceListEntry, Delay = delay });
}
///<summary>Calls the `resetUsers` Spotify Zeroconf API endpoint to issue a call to SpConnectionLogout. The currently logged in user (if any) will be logged out of Spotify Connect, and the device id removed from the active Spotify Connect device list.</summary>
public void ZeroconfDeviceDisconnect(SpotifyplusZeroconfDeviceDisconnectParameters data)
{
_haContext.CallService("spotifyplus", "zeroconf_device_disconnect", null, data);
}
///<summary>Calls the `resetUsers` Spotify Zeroconf API endpoint to issue a call to SpConnectionLogout. The currently logged in user (if any) will be logged out of Spotify Connect, and the device id removed from the active Spotify Connect device list.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</param>
///<param name="hostIpv4Address">IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</param>
///<param name="hostIpPort">Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</param>
///<param name="cpath">Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</param>
///<param name="version">Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</param>
///<param name="useSsl">True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing a command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public void ZeroconfDeviceDisconnect(string entityId, string hostIpv4Address, double hostIpPort, string cpath, string? version = null, bool? useSsl = null, double? delay = null)
{
_haContext.CallService("spotifyplus", "zeroconf_device_disconnect", null, new SpotifyplusZeroconfDeviceDisconnectParameters { EntityId = entityId, HostIpv4Address = hostIpv4Address, HostIpPort = hostIpPort, Cpath = cpath, Version = version, UseSsl = useSsl, Delay = delay });
}
///<summary>Calls the `resetUsers` Spotify Zeroconf API endpoint to issue a call to SpConnectionLogout. The currently logged in user (if any) will be logged out of Spotify Connect, and the device id removed from the active Spotify Connect device list.</summary>
public Task<JsonElement?> ZeroconfDeviceDisconnectAsync(SpotifyplusZeroconfDeviceDisconnectParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "zeroconf_device_disconnect", null, data);
}
///<summary>Calls the `resetUsers` Spotify Zeroconf API endpoint to issue a call to SpConnectionLogout. The currently logged in user (if any) will be logged out of Spotify Connect, and the device id removed from the active Spotify Connect device list.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</param>
///<param name="hostIpv4Address">IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</param>
///<param name="hostIpPort">Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</param>
///<param name="cpath">Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</param>
///<param name="version">Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</param>
///<param name="useSsl">True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</param>
///<param name="delay">Time delay (in seconds) to wait AFTER issuing a command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</param>
public Task<JsonElement?> ZeroconfDeviceDisconnectAsync(string entityId, string hostIpv4Address, double hostIpPort, string cpath, string? version = null, bool? useSsl = null, double? delay = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "zeroconf_device_disconnect", null, new SpotifyplusZeroconfDeviceDisconnectParameters { EntityId = entityId, HostIpv4Address = hostIpv4Address, HostIpPort = hostIpPort, Cpath = cpath, Version = version, UseSsl = useSsl, Delay = delay });
}
///<summary>Calls the `getInfo` Spotify Zeroconf API endpoint to return information about the device.</summary>
public void ZeroconfDeviceGetinfo(SpotifyplusZeroconfDeviceGetinfoParameters data)
{
_haContext.CallService("spotifyplus", "zeroconf_device_getinfo", null, data);
}
///<summary>Calls the `getInfo` Spotify Zeroconf API endpoint to return information about the device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</param>
///<param name="hostIpv4Address">IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</param>
///<param name="hostIpPort">Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</param>
///<param name="cpath">Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</param>
///<param name="version">Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</param>
///<param name="useSsl">True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</param>
public void ZeroconfDeviceGetinfo(string entityId, string hostIpv4Address, double hostIpPort, string cpath, string? version = null, bool? useSsl = null)
{
_haContext.CallService("spotifyplus", "zeroconf_device_getinfo", null, new SpotifyplusZeroconfDeviceGetinfoParameters { EntityId = entityId, HostIpv4Address = hostIpv4Address, HostIpPort = hostIpPort, Cpath = cpath, Version = version, UseSsl = useSsl });
}
///<summary>Calls the `getInfo` Spotify Zeroconf API endpoint to return information about the device.</summary>
public Task<JsonElement?> ZeroconfDeviceGetinfoAsync(SpotifyplusZeroconfDeviceGetinfoParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "zeroconf_device_getinfo", null, data);
}
///<summary>Calls the `getInfo` Spotify Zeroconf API endpoint to return information about the device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</param>
///<param name="hostIpv4Address">IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</param>
///<param name="hostIpPort">Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</param>
///<param name="cpath">Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</param>
///<param name="version">Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</param>
///<param name="useSsl">True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</param>
public Task<JsonElement?> ZeroconfDeviceGetinfoAsync(string entityId, string hostIpv4Address, double hostIpPort, string cpath, string? version = null, bool? useSsl = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "zeroconf_device_getinfo", null, new SpotifyplusZeroconfDeviceGetinfoParameters { EntityId = entityId, HostIpv4Address = hostIpv4Address, HostIpPort = hostIpPort, Cpath = cpath, Version = version, UseSsl = useSsl });
}
///<summary>Discover Spotify Connect devices on the local network via the ZeroConf (aka MDNS) service, and return details about each device.</summary>
public void ZeroconfDiscoverDevices(SpotifyplusZeroconfDiscoverDevicesParameters data)
{
_haContext.CallService("spotifyplus", "zeroconf_discover_devices", null, data);
}
///<summary>Discover Spotify Connect devices on the local network via the ZeroConf (aka MDNS) service, and return details about each device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the ZeroConf service. eg: media_player.spotifyplus_username</param>
///<param name="timeout">Maximum amount of time to wait (in seconds) for the discovery to complete. Default is 5, range is 1 thru 10. eg: 5.0</param>
public void ZeroconfDiscoverDevices(string entityId, double? timeout = null)
{
_haContext.CallService("spotifyplus", "zeroconf_discover_devices", null, new SpotifyplusZeroconfDiscoverDevicesParameters { EntityId = entityId, Timeout = timeout });
}
///<summary>Discover Spotify Connect devices on the local network via the ZeroConf (aka MDNS) service, and return details about each device.</summary>
public Task<JsonElement?> ZeroconfDiscoverDevicesAsync(SpotifyplusZeroconfDiscoverDevicesParameters data)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "zeroconf_discover_devices", null, data);
}
///<summary>Discover Spotify Connect devices on the local network via the ZeroConf (aka MDNS) service, and return details about each device.</summary>
///<param name="entityId">Entity ID of the SpotifyPlus device that will make the request to the ZeroConf service. eg: media_player.spotifyplus_username</param>
///<param name="timeout">Maximum amount of time to wait (in seconds) for the discovery to complete. Default is 5, range is 1 thru 10. eg: 5.0</param>
public Task<JsonElement?> ZeroconfDiscoverDevicesAsync(string entityId, double? timeout = null)
{
return _haContext.CallServiceWithResponseAsync("spotifyplus", "zeroconf_discover_devices", null, new SpotifyplusZeroconfDiscoverDevicesParameters { EntityId = entityId, Timeout = timeout });
}
}
public partial record SpotifyplusAddPlayerQueueItemsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A list of Spotify track or episode URIs to add to the queue (spotify:track:6zd8T1PBe9JFHmuVnurdRp, spotify:track:1kWUud3vY5ij5r62zxpTRy); values can be track or episode URIs. All URIs must be of the same type - you cannot mix and match tracks and episodes. An unlimited number of items can be added in one request, but the more items the longer it will take. eg: spotify:track:6zd8T1PBe9JFHmuVnurdRp</summary>
[JsonPropertyName("uris")]
public string? Uris { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>True to verify a device id is active; otherwise, false to assume that a device id is already active. Default is True. eg: True</summary>
[JsonPropertyName("verify_device_id")]
public bool? VerifyDeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the add request (if necessary). This delay will give the spotify web api time to process the change before another command is issued. Default is 0.15; value range is 0 - 10. eg: 0.15</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusCheckAlbumFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify album id&apos;s (e.g. `6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusCheckArtistsFollowingParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify artist id&apos;s (e.g. `2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track artist uri id value is used. eg: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusCheckAudiobookFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify audiobook id&apos;s (e.g. `3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing audiobook uri id value is used. eg: 3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusCheckEpisodeFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify episode id&apos;s (e.g. `3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing episode uri id value is used. eg: 3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusCheckPlaylistFollowersParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). eg: 3cEYpjA9oz9GiPac4AsH4n</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>Deprecated - must contain the current user&apos;s Spotify Username; Maximum of 1 id. Omit to default to current user name.</summary>
[JsonPropertyName("user_ids")]
public string? UserIds { get; init; }
}
public partial record SpotifyplusCheckShowFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify show id&apos;s (e.g. `6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusCheckTrackFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify track id&apos;s (e.g. `1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing context uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusCheckUsersFollowingParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify user ID&apos;s to check (e.g. `smedjan, 7piUznRWxNyKpaPvmOSdiZ`). A maximum of 50 ID&apos;s can be specified. eg: smedjan, 7piUznRWxNyKpaPvmOSdiZ</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusFollowArtistsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify artist id&apos;s (e.g. `2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track artist uri id value is used. eg: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusFollowPlaylistParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). If omitted, the currently playing playlist uri id value is used. eg: 3cEYpjA9oz9GiPac4AsH4n</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>If true the playlist will be included in user&apos;s public playlists, if false it will remain private. eg: True</summary>
[JsonPropertyName("public")]
public bool? Public { get; init; }
}
public partial record SpotifyplusFollowUsersParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of the Spotify user IDs (e.g. &apos;smedjan,3758dfdsfjk435hjk6k79lm0n3c4&apos;). A maximum of 50 IDs can be sent in one request. eg: smedjan,3758dfdsfjk435hjk6k79lm0n3c4</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusGetAlbumParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the album. If omitted, the currently playing album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE</summary>
[JsonPropertyName("album_id")]
public string? AlbumId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
}
public partial record SpotifyplusGetAlbumFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetAlbumNewReleasesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("country")]
public string? Country { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetAlbumTracksParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the album (e.g. `6vc9OTcyd3hyzabCmsdnwE`). If null, the currently playing album uri id value is used; a Spotify Free or Premium account is required to correctly read the currently playing context. eg: 6vc9OTcyd3hyzabCmsdnwE</summary>
[JsonPropertyName("album_id")]
public string? AlbumId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusGetArtistParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</summary>
[JsonPropertyName("artist_id")]
public string? ArtistId { get; init; }
}
public partial record SpotifyplusGetArtistAlbumsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</summary>
[JsonPropertyName("artist_id")]
public string? ArtistId { get; init; }
///<summary>A comma-separated list of keywords that will be used to filter the response. If not supplied, only `album` types will be returned. Valid values are `album`, `single`, `appears_on`, `compilation`. eg: album</summary>
[JsonPropertyName("include_groups")]
public string? IncludeGroups { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetArtistInfoParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</summary>
[JsonPropertyName("artist_id")]
public string? ArtistId { get; init; }
}
public partial record SpotifyplusGetArtistRelatedArtistsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</summary>
[JsonPropertyName("artist_id")]
public string? ArtistId { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetArtistTopTracksParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the artist. If omitted, the currently playing artist uri id value is used. eg: 6APm8EjxOHSYM5B4i3vT3q</summary>
[JsonPropertyName("artist_id")]
public string? ArtistId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetArtistsFollowedParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The last artist ID retrieved from the previous request, or null for the first request. eg: 6APm8EjxOHSYM5B4i3vT3q</summary>
[JsonPropertyName("after")]
public string? After { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetAudiobookParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID for the audiobook (e.g. `74aydHJKgYz3AIq3jjBSv1`). If null, the currently playing audiobook uri id value is used. eg: 74aydHJKgYz3AIq3jjBSv1</summary>
[JsonPropertyName("audiobook_id")]
public string? AudiobookId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
}
public partial record SpotifyplusGetAudiobookChaptersParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID for the audiobook (e.g. `74aydHJKgYz3AIq3jjBSv1`). If null, the currently playing audiobook uri id value is used. eg: 74aydHJKgYz3AIq3jjBSv1</summary>
[JsonPropertyName("audiobook_id")]
public string? AudiobookId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusGetAudiobookFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetBrowseCategorysListParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("country")]
public string? Country { get; init; }
///<summary>The desired language, consisting of a lowercase ISO 639-1 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore. For example `es_MX`, meaning `Spanish (Mexico)`. Provide this parameter if you want the results returned in a particular language (where available). Note that if locale is not supplied, or if the specified language is not available, all strings will be returned in the Spotify default language (American English). eg: es_MX</summary>
[JsonPropertyName("locale")]
public string? Locale { get; init; }
///<summary>True to return real-time information from the spotify web api and update the cache; otherwise, False to just return the cached value. eg: False</summary>
[JsonPropertyName("refresh")]
public bool? Refresh { get; init; }
}
public partial record SpotifyplusGetCategoryPlaylistsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify category ID (not name) for the category. eg: dinner</summary>
[JsonPropertyName("category_id")]
public string? CategoryId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("country")]
public string? Country { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetChapterParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the chapter. If omitted, the currently playing chapter uri id value is used. eg: 3V0yw9UDrYAfkhAvTrvt9Y</summary>
[JsonPropertyName("chapter_id")]
public string? ChapterId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
}
public partial record SpotifyplusGetEpisodeParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the episode. If omitted, the currently playing episode uri id value is used. eg: 26c0zVyOv1lzfYpBXdh1zC</summary>
[JsonPropertyName("episode_id")]
public string? EpisodeId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
}
public partial record SpotifyplusGetEpisodeFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetFeaturedPlaylistsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("country")]
public string? Country { get; init; }
///<summary>The desired language, consisting of a lowercase ISO 639-1 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore. For example `es_MX`, meaning `Spanish (Mexico)`. Provide this parameter if you want the results returned in a particular language (where available). Note that if locale is not supplied, or if the specified language is not available, all strings will be returned in the Spotify default language (American English). eg: es_MX</summary>
[JsonPropertyName("locale")]
public string? Locale { get; init; }
///<summary>A timestamp in ISO 8601 format (yyyy-MM-ddTHH:mm:ss). Use this parameter to specify the user&apos;s local time to get results tailored for that specific date and time in the day. If not provided, the response defaults to the current UTC time. eg: 2023-10-23T09:00:00</summary>
[JsonPropertyName("timestamp")]
public string? Timestamp { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetPlayerDevicesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>True to return real-time information from the spotify web api and update the cache; otherwise, False to just return the cached value. eg: True</summary>
[JsonPropertyName("refresh")]
public bool? Refresh { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetPlayerNowPlayingParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</summary>
[JsonPropertyName("additional_types")]
public string? AdditionalTypes { get; init; }
}
public partial record SpotifyplusGetPlayerPlaybackStateParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</summary>
[JsonPropertyName("additional_types")]
public string? AdditionalTypes { get; init; }
}
public partial record SpotifyplusGetPlayerQueueInfoParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
}
public partial record SpotifyplusGetPlayerRecentTracksParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>Returns all items after (but not including) this cursor position, which is a Unix timestamp in milliseconds. If `after` is specified, `before` must not be specified. Use with limit to get the next set of items. Default is `0` (the first item). eg: 1706218456821</summary>
[JsonPropertyName("after")]
public double? After { get; init; }
///<summary>Returns all items before (but not including) this cursor position, which is a Unix timestamp in milliseconds. If `before` is specified, `after` must not be specified. Use with limit to get the next set of items. Default is `0` (the first item). eg: 1706218467821</summary>
[JsonPropertyName("before")]
public double? Before { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusGetPlaylistParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist. If omitted, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>A comma-separated list of fields to return from the Spotify Web API. All fields are returned if omitted. eg: description,id,name,public,snapshot_id,type,uri,tracks(limit,next,offset,previous,total,items(track(id,name,track_number,type,uri,album(id,images,name,total_tracks,type,uri,artists(id,name,type,uri)))))</summary>
[JsonPropertyName("fields")]
public string? Fields { get; init; }
///<summary>A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: episode</summary>
[JsonPropertyName("additional_types")]
public string? AdditionalTypes { get; init; }
}
public partial record SpotifyplusGetPlaylistCoverImageParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. 5v5ETK9WFXAnGQ3MRubKuE). If omitted, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
}
public partial record SpotifyplusGetPlaylistFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetPlaylistItemsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. 5v5ETK9WFXAnGQ3MRubKuE). If null, the currently playing playlist uri id value is used. eg: 5v5ETK9WFXAnGQ3MRubKuE</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>Filters for the query; a comma-separated list of the fields to return. If omitted, all fields are returned. For example, specify &apos;fields=description,uri&apos; to get just the playlist&apos;s description and URI. eg: items(track(name,uri,album(name,uri)))</summary>
[JsonPropertyName("fields")]
public string? Fields { get; init; }
///<summary>A comma-separated list of item types that your client supports besides the default track type. Valid types are &apos;track&apos; and &apos;episode&apos;. eg: track</summary>
[JsonPropertyName("additional_types")]
public string? AdditionalTypes { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusGetPlaylistsForUserParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The user&apos;s Spotify user ID (e.g. `smedjan`). eg: smedjan</summary>
[JsonPropertyName("user_id")]
public string? UserId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetShowParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the show. If omitted, the currently playing show uri id value is used. eg: 5CfCWKI5pZ28U0uOzXkDHe</summary>
[JsonPropertyName("show_id")]
public string? ShowId { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
}
public partial record SpotifyplusGetShowEpisodesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID for the show. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE</summary>
[JsonPropertyName("show_id")]
public string? ShowId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusGetShowFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
///<summary>True (default) to exclude audiobook shows from the returned list, leaving only podcast shows; otherwise, False to include all results returned by the Spotify Web API. eg: True</summary>
[JsonPropertyName("exclude_audiobooks")]
public bool? ExcludeAudiobooks { get; init; }
}
public partial record SpotifyplusGetSpotifyConnectDeviceParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The id (e.g. &apos;30fbc80e35598f3c242f2120413c943dfd9715fe&apos;) or name (e.g. &apos;Office&apos;) of the Spotify Connect Player device this command is targeting. If an &apos;*&apos; is specified, then the SpotifyPlus default device is used. eg: Bose-ST10-1</summary>
[JsonPropertyName("device_value")]
public string? DeviceValue { get; init; }
///<summary>If True, the active user context of the resolved device is checked to ensure it matches the Spotify Connect user context specified in the SpotifyPlus configuration options. If False, the user context will not be checked. Default is True. eg: True</summary>
[JsonPropertyName("verify_user_context")]
public bool? VerifyUserContext { get; init; }
///<summary>Maximum time to wait (in seconds) for the device to become active in the Spotify Connect device list. This value is only used if a Connect command has to be issued to activate the device. Default is 5; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("verify_timeout")]
public double? VerifyTimeout { get; init; }
///<summary>True to refresh the Spotify Connect device list; otherwise, False to use the Spotify Connect device list cache. Default is True. eg: True</summary>
[JsonPropertyName("refresh_device_list")]
public bool? RefreshDeviceList { get; init; }
///<summary>True to activate the device if necessary; otherwise, False. eg: True</summary>
[JsonPropertyName("activate_device")]
public bool? ActivateDevice { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing any command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.25; value range is 0 - 10. eg: 0.25</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusGetSpotifyConnectDevicesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>True (default) to return real-time information from the spotify zeroconf api and update the cache; otherwise, False to just return the cached value. eg: True</summary>
[JsonPropertyName("refresh")]
public bool? Refresh { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetTrackParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the track. If omitted, the currently playing track uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy</summary>
[JsonPropertyName("track_id")]
public string? TrackId { get; init; }
}
public partial record SpotifyplusGetTrackFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetTrackRecommendationsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>A comma separated list of Spotify IDs for seed artists (e.g. 4NHQUGzhtTLFvgF5SZesLK). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedGenres and seedTracks are not set.</summary>
[JsonPropertyName("seed_artists")]
public string? SeedArtists { get; init; }
///<summary>A comma separated list of any genres in the set of available genre seeds (e.g. classical,country). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedArtists and seedTracks are not set. eg: rock,hard-rock,rock-n-roll</summary>
[JsonPropertyName("seed_genres")]
public string? SeedGenres { get; init; }
///<summary>A comma separated list of Spotify IDs for a seed track (e.g. 0c6xIDDpzE81m2q797ordA). Up to 5 seed values may be provided in any combination of seedArtists, seedTracks and seedGenres; only required if seedArtists and seedGenres are not set.</summary>
[JsonPropertyName("seed_tracks")]
public string? SeedTracks { get; init; }
///<summary>Restrict results to only those tracks whose acousticness level is greater than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("min_acousticness")]
public double? MinAcousticness { get; init; }
///<summary>Restrict results to only those tracks whose acousticness level is less than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("max_acousticness")]
public double? MaxAcousticness { get; init; }
///<summary>Restrict results to only those tracks whose acousticness level is equal to the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("target_acousticness")]
public double? TargetAcousticness { get; init; }
///<summary>Restrict results to only those tracks whose danceability level is greater than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("min_danceability")]
public double? MinDanceability { get; init; }
///<summary>Restrict results to only those tracks whose danceability level is less than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("max_danceability")]
public double? MaxDanceability { get; init; }
///<summary>Restrict results to only those tracks whose acousticness is equal to the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("target_danceability")]
public double? TargetDanceability { get; init; }
///<summary>Restrict results to only those tracks whose duration is greater than the specified value in milliseconds.</summary>
[JsonPropertyName("min_duration_ms")]
public double? MinDurationMs { get; init; }
///<summary>Restrict results to only those tracks whose duration is less than the specified value in milliseconds.</summary>
[JsonPropertyName("max_duration_ms")]
public double? MaxDurationMs { get; init; }
///<summary>Restrict results to only those tracks whose duration is equal to the specified value in milliseconds.</summary>
[JsonPropertyName("target_duration_ms")]
public double? TargetDurationMs { get; init; }
///<summary>Restrict results to only those tracks whose energy level is greater than the specified value. Range is `0` - `1`. eg: 0.975</summary>
[JsonPropertyName("min_energy")]
public double? MinEnergy { get; init; }
///<summary>Restrict results to only those tracks whose energy level is less than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("max_energy")]
public double? MaxEnergy { get; init; }
///<summary>Restrict results to only those tracks whose energy level is equal to the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("target_energy")]
public double? TargetEnergy { get; init; }
///<summary>Restrict results to only those tracks whose instrumentalness level is greater than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("min_instrumentalness")]
public double? MinInstrumentalness { get; init; }
///<summary>Restrict results to only those tracks whose instrumentalness level is less than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("max_instrumentalness")]
public double? MaxInstrumentalness { get; init; }
///<summary>Restrict results to only those tracks whose instrumentalness level is equal to the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("target_instrumentalness")]
public double? TargetInstrumentalness { get; init; }
///<summary>Restrict results to only those tracks whose key level is greater than the specified value. Range is `0` - `11`.</summary>
[JsonPropertyName("min_key")]
public double? MinKey { get; init; }
///<summary>Restrict results to only those tracks whose key level is less than the specified value. Range is `0` - `11`.</summary>
[JsonPropertyName("max_key")]
public double? MaxKey { get; init; }
///<summary>Restrict results to only those tracks whose key level is equal to the specified value. Range is `0` - `11`.</summary>
[JsonPropertyName("target_key")]
public double? TargetKey { get; init; }
///<summary>Restrict results to only those tracks whose liveness level is greater than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("min_liveness")]
public double? MinLiveness { get; init; }
///<summary>Restrict results to only those tracks whose liveness level is less than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("max_liveness")]
public double? MaxLiveness { get; init; }
///<summary>Restrict results to only those tracks whose liveness level is equal to the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("target_liveness")]
public double? TargetLiveness { get; init; }
///<summary>Restrict results to only those tracks whose loudness level is greater than the specified value. eg: -9.201</summary>
[JsonPropertyName("min_loudness")]
public double? MinLoudness { get; init; }
///<summary>Restrict results to only those tracks whose loudness level is less than the specified value.</summary>
[JsonPropertyName("max_loudness")]
public double? MaxLoudness { get; init; }
///<summary>Restrict results to only those tracks whose loudness level is equal to the specified value.</summary>
[JsonPropertyName("target_loudness")]
public double? TargetLoudness { get; init; }
///<summary>Restrict results to only those tracks whose mode level is greater than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("min_mode")]
public double? MinMode { get; init; }
///<summary>Restrict results to only those tracks whose mode level is less than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("max_mode")]
public double? MaxMode { get; init; }
///<summary>Restrict results to only those tracks whose mode level is equal to the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("target_mode")]
public double? TargetMode { get; init; }
///<summary>Restrict results to only those tracks whose popularity level is greater than the specified value. Range is `0` - `100`.</summary>
[JsonPropertyName("min_popularity")]
public double? MinPopularity { get; init; }
///<summary>Restrict results to only those tracks whose popularity level is less than the specified value. Range is `0` - `100`.</summary>
[JsonPropertyName("max_popularity")]
public double? MaxPopularity { get; init; }
///<summary>Restrict results to only those tracks whose popularity level is equal to the specified value. Range is `0` - `100`.</summary>
[JsonPropertyName("target_popularity")]
public double? TargetPopularity { get; init; }
///<summary>Restrict results to only those tracks whose speechiness level is greater than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("min_speechiness")]
public double? MinSpeechiness { get; init; }
///<summary>Restrict results to only those tracks whose speechiness level is less than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("max_speechiness")]
public double? MaxSpeechiness { get; init; }
///<summary>Restrict results to only those tracks whose speechiness level is equal to the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("target_speechiness")]
public double? TargetSpeechiness { get; init; }
///<summary>Restrict results to only those tracks with a tempo greater than the specified number of beats per minute.</summary>
[JsonPropertyName("min_tempo")]
public double? MinTempo { get; init; }
///<summary>Restrict results to only those tracks with a tempo less than the specified number of beats per minute.</summary>
[JsonPropertyName("max_tempo")]
public double? MaxTempo { get; init; }
///<summary>Restrict results to only those tracks with a tempo equal to the specified number of beats per minute.</summary>
[JsonPropertyName("target_tempo")]
public double? TargetTempo { get; init; }
///<summary>Restrict results to only those tracks whose time signature is greater than the specified value. Range is `0` - `11`. eg: 4</summary>
[JsonPropertyName("min_time_signature")]
public double? MinTimeSignature { get; init; }
///<summary>Restrict results to only those tracks whose time signature is less than the specified value. Range is `0` - `11`.</summary>
[JsonPropertyName("max_time_signature")]
public double? MaxTimeSignature { get; init; }
///<summary>Restrict results to only those tracks whose time signature is equal to the specified value. Range is `0` - `11`.</summary>
[JsonPropertyName("target_time_signature")]
public double? TargetTimeSignature { get; init; }
///<summary>Restrict results to only those tracks whose valence level is greater than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("min_valence")]
public double? MinValence { get; init; }
///<summary>Restrict results to only those tracks whose valence level is less than the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("max_valence")]
public double? MaxValence { get; init; }
///<summary>Restrict results to only those tracks whose valence level is equal to the specified value. Range is `0` - `1`.</summary>
[JsonPropertyName("target_valence")]
public double? TargetValence { get; init; }
}
public partial record SpotifyplusGetTracksAudioFeaturesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of the Spotify track IDs. Maximum of 100 IDs. Example `7ouMYWpwJ422jRcDASZB7P,4VqPOruhp5EdPBeR92t6lQ,2takcwOaAZWiXQijPHIx7B`. eg: 7ouMYWpwJ422jRcDASZB7P,4VqPOruhp5EdPBeR92t6lQ,2takcwOaAZWiXQijPHIx7B</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusGetUsersTopArtistsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>Over what time frame the affinities are computed. Valid values are `long_term` (calculated from several years of data and including all new data as it becomes available), `medium_term` (approximately last 6 months), and `short_term` (approximately last 4 weeks). eg: long_term</summary>
[JsonPropertyName("time_range")]
public string? TimeRange { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusGetUsersTopTracksParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>Over what time frame the affinities are computed. Valid values are `long_term` (calculated from several years of data and including all new data as it becomes available), `medium_term` (approximately last 6 months), and `short_term` (approximately last 4 weeks). eg: long_term</summary>
[JsonPropertyName("time_range")]
public string? TimeRange { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
///<summary>True to sort result items by name prior to returning to the caller; otherwise, False to return results in the order that the Spotify Web API returned them. eg: True</summary>
[JsonPropertyName("sort_result")]
public bool? SortResult { get; init; }
}
public partial record SpotifyplusPlayerActivateDevicesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>If True, the active user context of the resolved device is checked to ensure it matches the specified Spotify Connect user context. If False, the user context will not be checked. Default is False. eg: True</summary>
[JsonPropertyName("verify_user_context")]
public bool? VerifyUserContext { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerMediaPauseParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerMediaPlayContextParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>Spotify URI of the context to play (e.g. `spotify:album:6vc9OTcyd3hyzabCmsdnwE`). Valid contexts are albums, artists &amp; playlists. eg: spotify:album:6vc9OTcyd3hyzabCmsdnwE</summary>
[JsonPropertyName("context_uri")]
public string? ContextUri { get; init; }
///<summary>Indicates from what Uri in the context playback should start (e.g. `1kWUud3vY5ij5r62zxpTRy`. Only available when contextUri corresponds to an artist, album or playlist. The offsetPosition argument will be used if this value is null. eg: spotify:track:1kWUud3vY5ij5r62zxpTRy</summary>
[JsonPropertyName("offset_uri")]
public string? OffsetUri { get; init; }
///<summary>Indicates from what position in the context playback should start. The value is zero-based, and can&apos;t be negative. Only available when contextUri corresponds to an album or playlist. eg: 3</summary>
[JsonPropertyName("offset_position")]
public double? OffsetPosition { get; init; }
///<summary>The position (in milliseconds) to seek to; must be a positive number. Passing in a position that is greater than the length of the track will cause the player to start playing the next track. eg: 0</summary>
[JsonPropertyName("position_ms")]
public double? PositionMs { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerMediaPlayTrackFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>True to set player shuffle mode to on; otherwise, False for no shuffle. eg: True</summary>
[JsonPropertyName("shuffle")]
public bool? Shuffle { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
///<summary>True to resolve the supplied `deviceId` value; otherwise, False not resolve the `deviceId` value as it has already been resolved. Default is True. eg: True</summary>
[JsonPropertyName("resolve_device_id")]
public bool? ResolveDeviceId { get; init; }
///<summary>The maximum number of items to retrieve from favorites. Default is 200. eg: 200</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusPlayerMediaPlayTracksParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A list of Spotify track URIs to play; can be track or episode URIs. A maximum of 50 items can be added in one request. eg: spotify:track:6zd8T1PBe9JFHmuVnurdRp,spotify:track:1kWUud3vY5ij5r62zxpTRy</summary>
[JsonPropertyName("uris")]
public string? Uris { get; init; }
///<summary>The position (in milliseconds) to seek to; must be a positive number. Passing in a position that is greater than the length of the track will cause the player to start playing the next track. eg: 0</summary>
[JsonPropertyName("position_ms")]
public double? PositionMs { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerMediaResumeParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerMediaSeekParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The absolute position in milliseconds to seek to; must be a positive number or zero if the `relativePositionMS` argument is specified. Passing in a position that is greater than the length of the track will cause the player to start playing the next song. Example = `25000` to start playing at the 25 second mark. eg: 25000</summary>
[JsonPropertyName("position_ms")]
public double? PositionMs { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
///<summary>The relative position in milliseconds to seek to; can be a positive or negative number, or zero if the `positionMS` argument is specified. Example = `-10000` to seek behind by 10 seconds; `10000` to seek ahead by 10 seconds. eg: 10000</summary>
[JsonPropertyName("relative_position_ms")]
public double? RelativePositionMs { get; init; }
}
public partial record SpotifyplusPlayerMediaSkipNextParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerMediaSkipPreviousParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerResolveDeviceIdParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The device id (e.g. &apos;0d1841b0976bae2a3a310dd74c0f337465899bc8&apos;) or name (e.g. &apos;Bose-ST10-1&apos;) value to resolve. eg: Bose-ST10-1</summary>
[JsonPropertyName("device_value")]
public string? DeviceValue { get; init; }
///<summary>If True, the active user context of the resolved device is checked to ensure it matches the user context specified on the class constructor. If False, the user context will not be checked. Default is True. eg: True</summary>
[JsonPropertyName("verify_user_context")]
public bool? VerifyUserContext { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 5.0; value range is 0 - 10. eg: 5.0</summary>
[JsonPropertyName("verify_timeout")]
public double? VerifyTimeout { get; init; }
}
public partial record SpotifyplusPlayerSetRepeatModeParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The repeat mode state to set; `track` will repeat the current track; `context` will repeat the current context; `off` will turn repeat off. Default is &apos;off&apos;. eg: off</summary>
[JsonPropertyName("state")]
public object? State { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerSetShuffleModeParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>True to set player shuffle mode to on; otherwise, False for no shuffle. eg: True</summary>
[JsonPropertyName("state")]
public bool? State { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerSetVolumeLevelParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The volume level to set, expressed as a percentage value (e.g. 25). Must be a value from 0 (muted) to 100 (max volume) inclusive. eg: 25</summary>
[JsonPropertyName("volume_level")]
public double? VolumeLevel { get; init; }
///<summary>The id or name of the Spotify Connect Player device this command is targeting. If not supplied, the user&apos;s currently active device is the target. If no device is active (or an &apos;*&apos; is specified), then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusPlayerTransferPlaybackParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The id or name of the Spotify Connect Player device on which playback should be started/transferred. If no device is specified, then the SpotifyPlus default device is activated. eg: 0d1841b0976bae2a3a310dd74c0f337465899bc8</summary>
[JsonPropertyName("device_id")]
public string? DeviceId { get; init; }
///<summary>True (default) to start playback on the new device; otherise, False to keep the current playback state on the existing device. eg: True</summary>
[JsonPropertyName("play")]
public bool? Play { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
///<summary>True to refresh the Spotify Connect device list; otherwise, False to use the Spotify Connect device list cache. Default is True. eg: True</summary>
[JsonPropertyName("refresh_device_list")]
public bool? RefreshDeviceList { get; init; }
///<summary>True to issue a Spotify Connect Disconnect call prior to transfer, which will force the device to reconnect to Spotify Connect; otherwise, False to not disconnect. Default is True. eg: True</summary>
[JsonPropertyName("force_activate_device")]
public bool? ForceActivateDevice { get; init; }
}
public partial record SpotifyplusPlaylistChangeParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. `5AC9ZXA7nJ7oGWO911FuDG`). eg: 5AC9ZXA7nJ7oGWO911FuDG</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>The updated name of the playlist (e.g. `My Updated Playlist`). This name does not need to be unique; a user may have several playlists with the same name. eg: My Updated Playlist</summary>
[JsonPropertyName("name")]
public string? Name { get; init; }
///<summary>The playlist description, as displayed in Spotify Clients and in the Web API. eg: A Playlist updated by the SpotifyPlus integration</summary>
[JsonPropertyName("description")]
public string? Description { get; init; }
///<summary>If true, the playlist will be public; if false, it will be private. eg: False</summary>
[JsonPropertyName("public")]
public bool? Public { get; init; }
///<summary>If true, the playlist will be collaborative (other users can modify it). To create a collaborative playlist you must also set the public argument to false. eg: False</summary>
[JsonPropertyName("collaborative")]
public bool? Collaborative { get; init; }
///<summary>The fully-qualified path of the image to be uploaded (e.g. `www/images/spotify_playlist_default_image.png`). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. Omit this parameter if you do not wish to update the existing playlist image. eg: www/images/spotify_playlist_default_image.png</summary>
[JsonPropertyName("image_path")]
public string? ImagePath { get; init; }
}
public partial record SpotifyplusPlaylistCoverImageAddParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5v5ETK9WFXAnGQ3MRubKuE</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>The fully-qualified path of the image to be uploaded (e.g. `www/images/spotify_playlist_default_image.png`). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. eg: www/images/spotify_playlist_default_image.png</summary>
[JsonPropertyName("image_path")]
public string? ImagePath { get; init; }
}
public partial record SpotifyplusPlaylistCreateParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The user&apos;s Spotify user ID (e.g. 32k99y2kg5lnn3mxhtmd2bpdkjfu). Omit this argument to use the Spotify User ID of the player entity_id. eg: 32k99y2kg5lnn3mxhtmd2bpdkjfu</summary>
[JsonPropertyName("user_id")]
public string? UserId { get; init; }
///<summary>The name for the new playlist (e.g. `My New Playlist`). This name does not need to be unique; a user may have several playlists with the same name. eg: My New Playlist</summary>
[JsonPropertyName("name")]
public string? Name { get; init; }
///<summary>The playlist description, as displayed in Spotify Clients and in the Web API. eg: A Playlist created by the SpotifyPlus integration</summary>
[JsonPropertyName("description")]
public string? Description { get; init; }
///<summary>If true, the playlist will be public; if false, it will be private. eg: False</summary>
[JsonPropertyName("public")]
public bool? Public { get; init; }
///<summary>If true, the playlist will be collaborative (other users can modify it). To create a collaborative playlist you must also set the public argument to false. eg: False</summary>
[JsonPropertyName("collaborative")]
public bool? Collaborative { get; init; }
///<summary>The fully-qualified path of the image to be uploaded (e.g. `www/images/spotify_playlist_default_image.png`). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. Omit this parameter if you do not wish to add a playlist image. eg: www/images/spotify_playlist_default_image.png</summary>
[JsonPropertyName("image_path")]
public string? ImagePath { get; init; }
}
public partial record SpotifyplusPlaylistItemsAddParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>A comma-separated list of Spotify URIs to add; can be track or episode URIs (e.g. spotify:track:4iV5W9uYEdYUVa79Axb7Rh). A maximum of 100 items can be specified in one request. If nothing is specified, then the track (or episode) uri currently playing is used. eg: spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:episode:512ojhOuo1ktJprKbVcKyQ</summary>
[JsonPropertyName("uris")]
public string? Uris { get; init; }
///<summary>The position to insert the items, a zero-based index. For example, to insert the items in the first position use a value of 0; to insert the items in the third position use a value of 2. Omit the parameter to append the items to the end of the playlist. eg: 0</summary>
[JsonPropertyName("position")]
public double? Position { get; init; }
}
public partial record SpotifyplusPlaylistItemsClearParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
}
public partial record SpotifyplusPlaylistItemsRemoveParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 5AC9ZXA7nJ7oGWO911FuDG</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>A comma-separated list of Spotify URIs to remove; can be track or episode URIs (e.g. spotify:track:4iV5W9uYEdYUVa79Axb7Rh). A maximum of 100 items can be specified in one request. If nothing is specified, then the track (or episode) uri currently playing is used. eg: spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:episode:512ojhOuo1ktJprKbVcKyQ</summary>
[JsonPropertyName("uris")]
public string? Uris { get; init; }
///<summary>The playlist&apos;s snapshot ID against which you want to make the changes (e.g. `MzgsMWVkNDY3MTQ5YjVjYWE0MzAyNjkyZWMyOThjNjE3YWMwOTY0ZmJjYg==`). The API will validate that the specified items exist and make the changes, even if more recent changes have been made to the playlist. If omitted, the current playlist is updated.</summary>
[JsonPropertyName("snapshot_id")]
public string? SnapshotId { get; init; }
}
public partial record SpotifyplusPlaylistItemsReorderParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). eg: 4yptcTKnXjCu3V92tVVafS</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>The position of the first item to be reordered. This is a one-offset integer (NOT zero-offset). eg: 2</summary>
[JsonPropertyName("range_start")]
public double? RangeStart { get; init; }
///<summary>The position where the items should be inserted. To reorder the items to the end of the playlist, simply set `insertBefore` to the position after the last item. This is a one-offset integer (NOT zero-offset). eg: 1</summary>
[JsonPropertyName("insert_before")]
public double? InsertBefore { get; init; }
///<summary>The amount of items to be reordered; defaults to 1 if not set. The range of items to be reordered begins from the `rangeStart` position, and includes the `rangeLength` subsequent items. eg: 1</summary>
[JsonPropertyName("range_length")]
public double? RangeLength { get; init; }
///<summary>The playlist&apos;s snapshot ID against which you want to make the changes (e.g. `MzgsMWVkNDY3MTQ5YjVjYWE0MzAyNjkyZWMyOThjNjE3YWMwOTY0ZmJjYg==`). The API will validate that the specified items exist and make the changes, even if more recent changes have been made to the playlist. If omitted, the current playlist is updated.</summary>
[JsonPropertyName("snapshot_id")]
public string? SnapshotId { get; init; }
}
public partial record SpotifyplusPlaylistItemsReplaceParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). eg: 3cEYpjA9oz9GiPac4AsH4n</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
///<summary>A comma-separated list of Spotify URIs to replace; can be track or episode URIs (e.g. `spotify:track:4iV5W9uYEdYUVa79Axb7Rh, spotify:episode:26c0zVyOv1lzfYpBXdh1zC`). A maximum of 100 items can be specified in one request.</summary>
[JsonPropertyName("uris")]
public string? Uris { get; init; }
}
public partial record SpotifyplusRemoveAlbumFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify album id&apos;s (e.g. `6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusRemoveAudiobookFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify audiobook id&apos;s (e.g. `3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing audiobook uri id value is used. eg: 3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusRemoveEpisodeFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify episode id&apos;s (e.g. `3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing episode uri id value is used. eg: 3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusRemoveShowFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify show id&apos;s (e.g. `6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusRemoveTrackFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify track id&apos;s (e.g. `1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing context uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusSaveAlbumFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify album id&apos;s (e.g. `6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track album uri id value is used. eg: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusSaveAudiobookFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify audiobook id&apos;s (e.g. `3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing audiobook uri id value is used. eg: 3PFyizE2tGCSRLusl2Qizf,7iHfbu1YPACw6oZPAFJtqe</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusSaveEpisodeFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify episode id&apos;s (e.g. `3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing episode uri id value is used. eg: 3F97boSWlXi8OzuhWClZHQ,1hPX5WJY6ja6yopgVPBqm4</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusSaveShowFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify show id&apos;s (e.g. `6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing show uri id value is used. eg: 6kAsbP8pxwaU2kPibKTuHE,4rOoJ6Egrf8K2IrywzwOMk</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusSaveTrackFavoritesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify track id&apos;s (e.g. `1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing context uri id value is used. eg: 1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusSearchAlbumsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The criteria to search for. eg: Welcome to the New</summary>
[JsonPropertyName("criteria")]
public string? Criteria { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</summary>
[JsonPropertyName("include_external")]
public string? IncludeExternal { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusSearchArtistsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The criteria to search for. eg: MercyMe</summary>
[JsonPropertyName("criteria")]
public string? Criteria { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</summary>
[JsonPropertyName("include_external")]
public string? IncludeExternal { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusSearchAudiobooksParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The criteria to search for. eg: The Elfstones of Shannara</summary>
[JsonPropertyName("criteria")]
public string? Criteria { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</summary>
[JsonPropertyName("include_external")]
public string? IncludeExternal { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusSearchEpisodesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The criteria to search for. eg: Armchair Anonymous</summary>
[JsonPropertyName("criteria")]
public string? Criteria { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</summary>
[JsonPropertyName("include_external")]
public string? IncludeExternal { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusSearchPlaylistsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The criteria to search for. eg: Daily Mix</summary>
[JsonPropertyName("criteria")]
public string? Criteria { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</summary>
[JsonPropertyName("include_external")]
public string? IncludeExternal { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusSearchShowsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The criteria to search for. eg: Dax Shepard</summary>
[JsonPropertyName("criteria")]
public string? Criteria { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</summary>
[JsonPropertyName("include_external")]
public string? IncludeExternal { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusSearchTracksParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The criteria to search for. eg: Dear Younger Me</summary>
[JsonPropertyName("criteria")]
public string? Criteria { get; init; }
///<summary>The maximum number of items to return in a page of items when manual paging is used. Default is 20, Range is 1 to 50. See the limit_total argument for automatic paging option. eg: 20</summary>
[JsonPropertyName("limit")]
public double? Limit { get; init; }
///<summary>The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). eg: 0</summary>
[JsonPropertyName("offset")]
public double? Offset { get; init; }
///<summary>An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the Spotify user account will take priority over this parameter. eg: ES</summary>
[JsonPropertyName("market")]
public string? Market { get; init; }
///<summary>If &apos;audio&apos; is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are &apos;audio&apos;. eg: audio</summary>
[JsonPropertyName("include_external")]
public string? IncludeExternal { get; init; }
///<summary>The maximum number of items to return for the request. If specified, this argument overrides the limit and offset argument values and paging is automatically used to retrieve all available items up to the specified limit total. eg: 20</summary>
[JsonPropertyName("limit_total")]
public double? LimitTotal { get; init; }
}
public partial record SpotifyplusUnfollowArtistsParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify artist id&apos;s (e.g. `2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk`). A maximum of 50 id&apos;s may be specified. If omitted, the currently playing track artist uri id value is used. eg: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusUnfollowPlaylistParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>The Spotify ID of the playlist (e.g. `3cEYpjA9oz9GiPac4AsH4n`). If omitted, the currently playing playlist uri id value is used. eg: 3cEYpjA9oz9GiPac4AsH4n</summary>
[JsonPropertyName("playlist_id")]
public string? PlaylistId { get; init; }
}
public partial record SpotifyplusUnfollowUsersParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify Web API. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>A comma-separated list of Spotify user IDs (e.g. `smedjan,3758dfdsfjk435hjk6k79lm0n3c4`). A maximum of 50 IDs can be sent in one request. eg: smedjan,3758dfdsfjk435hjk6k79lm0n3c4</summary>
[JsonPropertyName("ids")]
public string? Ids { get; init; }
}
public partial record SpotifyplusZeroconfDeviceConnectParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</summary>
[JsonPropertyName("host_ipv4_address")]
public string? HostIpv4Address { get; init; }
///<summary>Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</summary>
[JsonPropertyName("host_ip_port")]
public double? HostIpPort { get; init; }
///<summary>Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</summary>
[JsonPropertyName("cpath")]
public string? Cpath { get; init; }
///<summary>Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</summary>
[JsonPropertyName("version")]
public string? Version { get; init; }
///<summary>True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</summary>
[JsonPropertyName("use_ssl")]
public bool? UseSsl { get; init; }
///<summary>Spotify user name to login with (e.g. &apos;yourusername@mail.com&apos;). This MUST match the account name (or one of them) that was used to configure Spotify Connect on the manufacturer device. If not specified, the integration options Spotify Connect username value will be used. eg: yourusername@mail.com</summary>
[JsonPropertyName("username")]
public string? Username { get; init; }
///<summary>Spotify Connect user password to login with. If not specified, the integration options Spotify Connect password value will be used. eg: yourpassword</summary>
[JsonPropertyName("password")]
public string? Password { get; init; }
///<summary>Spotify Connect login id to login with (e.g. &apos;31l77fd87g8h9j00k89f07jf87ge&apos;). This is also known as the canonical user id value. This MUST be the value that relates to the `username` argument. If not specified, the integration options Spotify Connect loginId value will be used. eg: 31l77y75hfnhk79f7gk6jkk878mg</summary>
[JsonPropertyName("loginid")]
public string? Loginid { get; init; }
///<summary>True if a Disconnect should be made prior to the Connect call. This will ensure that the active user is logged out, which must be done if switching user accounts; otherwise, False to not issue a Disconnect call. Default is False. eg: False</summary>
[JsonPropertyName("pre_disconnect")]
public bool? PreDisconnect { get; init; }
///<summary>True to ensure that the device id is present in the Spotify Connect device list before issuing a call to Connect; Connect will not be called if the device id is already in the list; otherwise, False to always call Connect to add the device. Default is False. eg: False</summary>
[JsonPropertyName("verify_device_list_entry")]
public bool? VerifyDeviceListEntry { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing a command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusZeroconfDeviceDisconnectParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</summary>
[JsonPropertyName("host_ipv4_address")]
public string? HostIpv4Address { get; init; }
///<summary>Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</summary>
[JsonPropertyName("host_ip_port")]
public double? HostIpPort { get; init; }
///<summary>Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</summary>
[JsonPropertyName("cpath")]
public string? Cpath { get; init; }
///<summary>Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</summary>
[JsonPropertyName("version")]
public string? Version { get; init; }
///<summary>True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</summary>
[JsonPropertyName("use_ssl")]
public bool? UseSsl { get; init; }
///<summary>Time delay (in seconds) to wait AFTER issuing a command to the device. This delay will give the spotify zeroconf api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10. eg: 0.50</summary>
[JsonPropertyName("delay")]
public double? Delay { get; init; }
}
public partial record SpotifyplusZeroconfDeviceGetinfoParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the Spotify ZeroConf API service. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. &apos;192.168.1.81&apos;). eg: 192.168.1.81</summary>
[JsonPropertyName("host_ipv4_address")]
public string? HostIpv4Address { get; init; }
///<summary>Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). eg: 8200</summary>
[JsonPropertyName("host_ip_port")]
public double? HostIpPort { get; init; }
///<summary>Spotify Connect Zeroconf API CPath property value (e.g. &apos;/zc&apos;). eg: /zc</summary>
[JsonPropertyName("cpath")]
public string? Cpath { get; init; }
///<summary>Spotify Connect Zeroconf API version number that the device supports (e.g. &apos;1.0&apos;). eg: 1.0</summary>
[JsonPropertyName("version")]
public string? Version { get; init; }
///<summary>True if the host device utilizes HTTPS Secure Sockets Layer (SSL) support; otherwise, False to utilize HTTP. Default is False (HTTP). eg: False</summary>
[JsonPropertyName("use_ssl")]
public bool? UseSsl { get; init; }
}
public partial record SpotifyplusZeroconfDiscoverDevicesParameters
{
///<summary>Entity ID of the SpotifyPlus device that will make the request to the ZeroConf service. eg: media_player.spotifyplus_username</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>Maximum amount of time to wait (in seconds) for the discovery to complete. Default is 5, range is 1 thru 10. eg: 5.0</summary>
[JsonPropertyName("timeout")]
public double? Timeout { get; init; }
}
public partial class SwitchServices
{
private readonly IHaContext _haContext;
public SwitchServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Toggles a switch on/off.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("switch", "toggle", target, data);
}
///<summary>Turns a switch off.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, object? data = null)
{
_haContext.CallService("switch", "turn_off", target, data);
}
///<summary>Turns a switch on.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, object? data = null)
{
_haContext.CallService("switch", "turn_on", target, data);
}
}
public partial class SystemLogServices
{
private readonly IHaContext _haContext;
public SystemLogServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Clears all log entries.</summary>
public void Clear(object? data = null)
{
_haContext.CallService("system_log", "clear", null, data);
}
///<summary>Write log entry.</summary>
public void Write(SystemLogWriteParameters data)
{
_haContext.CallService("system_log", "write", null, data);
}
///<summary>Write log entry.</summary>
///<param name="message">Message to log. eg: Something went wrong</param>
///<param name="level">Log level.</param>
///<param name="logger">Logger name under which to log the message. Defaults to `system_log.external`. eg: mycomponent.myplatform</param>
public void Write(string message, object? level = null, string? logger = null)
{
_haContext.CallService("system_log", "write", null, new SystemLogWriteParameters { Message = message, Level = level, Logger = logger });
}
}
public partial record SystemLogWriteParameters
{
///<summary>Message to log. eg: Something went wrong</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary>Log level.</summary>
[JsonPropertyName("level")]
public object? Level { get; init; }
///<summary>Logger name under which to log the message. Defaults to `system_log.external`. eg: mycomponent.myplatform</summary>
[JsonPropertyName("logger")]
public string? Logger { get; init; }
}
public partial class TemplateServices
{
private readonly IHaContext _haContext;
public TemplateServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads template entities from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("template", "reload", null, data);
}
}
public partial class TimerServices
{
private readonly IHaContext _haContext;
public TimerServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Cancels a timer.</summary>
///<param name="target">The target for this service call</param>
public void Cancel(ServiceTarget target, object? data = null)
{
_haContext.CallService("timer", "cancel", target, data);
}
///<summary>Changes a timer.</summary>
///<param name="target">The target for this service call</param>
public void Change(ServiceTarget target, TimerChangeParameters data)
{
_haContext.CallService("timer", "change", target, data);
}
///<summary>Changes a timer.</summary>
///<param name="duration">Duration to add or subtract to the running timer. eg: 00:01:00, 60 or -60</param>
public void Change(ServiceTarget target, string duration)
{
_haContext.CallService("timer", "change", target, new TimerChangeParameters { Duration = duration });
}
///<summary>Finishes a timer.</summary>
///<param name="target">The target for this service call</param>
public void Finish(ServiceTarget target, object? data = null)
{
_haContext.CallService("timer", "finish", target, data);
}
///<summary>Pauses a timer.</summary>
///<param name="target">The target for this service call</param>
public void Pause(ServiceTarget target, object? data = null)
{
_haContext.CallService("timer", "pause", target, data);
}
///<summary>Reloads timers from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("timer", "reload", null, data);
}
///<summary>Starts a timer.</summary>
///<param name="target">The target for this service call</param>
public void Start(ServiceTarget target, TimerStartParameters data)
{
_haContext.CallService("timer", "start", target, data);
}
///<summary>Starts a timer.</summary>
///<param name="duration">Duration the timer requires to finish. [optional]. eg: 00:01:00 or 60</param>
public void Start(ServiceTarget target, string? duration = null)
{
_haContext.CallService("timer", "start", target, new TimerStartParameters { Duration = duration });
}
}
public partial record TimerChangeParameters
{
///<summary>Duration to add or subtract to the running timer. eg: 00:01:00, 60 or -60</summary>
[JsonPropertyName("duration")]
public string? Duration { get; init; }
}
public partial record TimerStartParameters
{
///<summary>Duration the timer requires to finish. [optional]. eg: 00:01:00 or 60</summary>
[JsonPropertyName("duration")]
public string? Duration { get; init; }
}
public partial class TodoServices
{
private readonly IHaContext _haContext;
public TodoServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Add a new to-do list item.</summary>
///<param name="target">The target for this service call</param>
public void AddItem(ServiceTarget target, TodoAddItemParameters data)
{
_haContext.CallService("todo", "add_item", target, data);
}
///<summary>Add a new to-do list item.</summary>
///<param name="item">The name that represents the to-do item. eg: Submit income tax return</param>
///<param name="dueDate">The date the to-do item is expected to be completed. eg: 2023-11-17</param>
///<param name="dueDatetime">The date and time the to-do item is expected to be completed. eg: 2023-11-17 13:30:00</param>
///<param name="description">A more complete description of the to-do item than provided by the item name. eg: A more complete description of the to-do item than that provided by the summary.</param>
public void AddItem(ServiceTarget target, string item, DateOnly? dueDate = null, DateTime? dueDatetime = null, string? description = null)
{
_haContext.CallService("todo", "add_item", target, new TodoAddItemParameters { Item = item, DueDate = dueDate, DueDatetime = dueDatetime, Description = description });
}
///<summary>Get items on a to-do list.</summary>
///<param name="target">The target for this service call</param>
public void GetItems(ServiceTarget target, TodoGetItemsParameters data)
{
_haContext.CallService("todo", "get_items", target, data);
}
///<summary>Get items on a to-do list.</summary>
///<param name="status">Only return to-do items with the specified statuses. Returns not completed actions by default. eg: needs_action</param>
public void GetItems(ServiceTarget target, IEnumerable<object>? status = null)
{
_haContext.CallService("todo", "get_items", target, new TodoGetItemsParameters { Status = status });
}
///<summary>Get items on a to-do list.</summary>
///<param name="target">The target for this service call</param>
public Task<JsonElement?> GetItemsAsync(ServiceTarget target, TodoGetItemsParameters data)
{
return _haContext.CallServiceWithResponseAsync("todo", "get_items", target, data);
}
///<summary>Get items on a to-do list.</summary>
///<param name="target">The target for this service call</param>
///<param name="status">Only return to-do items with the specified statuses. Returns not completed actions by default. eg: needs_action</param>
public Task<JsonElement?> GetItemsAsync(ServiceTarget target, IEnumerable<object>? status = null)
{
return _haContext.CallServiceWithResponseAsync("todo", "get_items", target, new TodoGetItemsParameters { Status = status });
}
///<summary>Remove all to-do list items that have been completed.</summary>
///<param name="target">The target for this service call</param>
public void RemoveCompletedItems(ServiceTarget target, object? data = null)
{
_haContext.CallService("todo", "remove_completed_items", target, data);
}
///<summary>Remove an existing to-do list item by its name.</summary>
///<param name="target">The target for this service call</param>
public void RemoveItem(ServiceTarget target, TodoRemoveItemParameters data)
{
_haContext.CallService("todo", "remove_item", target, data);
}
///<summary>Remove an existing to-do list item by its name.</summary>
///<param name="item">The name for the to-do list items.</param>
public void RemoveItem(ServiceTarget target, string item)
{
_haContext.CallService("todo", "remove_item", target, new TodoRemoveItemParameters { Item = item });
}
///<summary>Update an existing to-do list item based on its name.</summary>
///<param name="target">The target for this service call</param>
public void UpdateItem(ServiceTarget target, TodoUpdateItemParameters data)
{
_haContext.CallService("todo", "update_item", target, data);
}
///<summary>Update an existing to-do list item based on its name.</summary>
///<param name="item">The name for the to-do list item. eg: Submit income tax return</param>
///<param name="rename">The new name of the to-do item eg: Something else</param>
///<param name="status">A status or confirmation of the to-do item. eg: needs_action</param>
///<param name="dueDate">The date the to-do item is expected to be completed. eg: 2023-11-17</param>
///<param name="dueDatetime">The date and time the to-do item is expected to be completed. eg: 2023-11-17 13:30:00</param>
///<param name="description">A more complete description of the to-do item than provided by the item name. eg: A more complete description of the to-do item than that provided by the summary.</param>
public void UpdateItem(ServiceTarget target, string item, string? rename = null, object? status = null, DateOnly? dueDate = null, DateTime? dueDatetime = null, string? description = null)
{
_haContext.CallService("todo", "update_item", target, new TodoUpdateItemParameters { Item = item, Rename = rename, Status = status, DueDate = dueDate, DueDatetime = dueDatetime, Description = description });
}
}
public partial record TodoAddItemParameters
{
///<summary>The name that represents the to-do item. eg: Submit income tax return</summary>
[JsonPropertyName("item")]
public string? Item { get; init; }
///<summary>The date the to-do item is expected to be completed. eg: 2023-11-17</summary>
[JsonPropertyName("due_date")]
public DateOnly? DueDate { get; init; }
///<summary>The date and time the to-do item is expected to be completed. eg: 2023-11-17 13:30:00</summary>
[JsonPropertyName("due_datetime")]
public DateTime? DueDatetime { get; init; }
///<summary>A more complete description of the to-do item than provided by the item name. eg: A more complete description of the to-do item than that provided by the summary.</summary>
[JsonPropertyName("description")]
public string? Description { get; init; }
}
public partial record TodoGetItemsParameters
{
///<summary>Only return to-do items with the specified statuses. Returns not completed actions by default. eg: needs_action</summary>
[JsonPropertyName("status")]
public IEnumerable<object>? Status { get; init; }
}
public partial record TodoRemoveItemParameters
{
///<summary>The name for the to-do list items.</summary>
[JsonPropertyName("item")]
public string? Item { get; init; }
}
public partial record TodoUpdateItemParameters
{
///<summary>The name for the to-do list item. eg: Submit income tax return</summary>
[JsonPropertyName("item")]
public string? Item { get; init; }
///<summary>The new name of the to-do item eg: Something else</summary>
[JsonPropertyName("rename")]
public string? Rename { get; init; }
///<summary>A status or confirmation of the to-do item. eg: needs_action</summary>
[JsonPropertyName("status")]
public object? Status { get; init; }
///<summary>The date the to-do item is expected to be completed. eg: 2023-11-17</summary>
[JsonPropertyName("due_date")]
public DateOnly? DueDate { get; init; }
///<summary>The date and time the to-do item is expected to be completed. eg: 2023-11-17 13:30:00</summary>
[JsonPropertyName("due_datetime")]
public DateTime? DueDatetime { get; init; }
///<summary>A more complete description of the to-do item than provided by the item name. eg: A more complete description of the to-do item than that provided by the summary.</summary>
[JsonPropertyName("description")]
public string? Description { get; init; }
}
public partial class TtsServices
{
private readonly IHaContext _haContext;
public TtsServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Removes all cached text-to-speech files and purges the memory.</summary>
public void ClearCache(object? data = null)
{
_haContext.CallService("tts", "clear_cache", null, data);
}
///<summary>Speaks something using text-to-speech on a media player.</summary>
///<param name="target">The target for this service call</param>
public void Speak(ServiceTarget target, TtsSpeakParameters data)
{
_haContext.CallService("tts", "speak", target, data);
}
///<summary>Speaks something using text-to-speech on a media player.</summary>
///<param name="mediaPlayerEntityId">Media players to play the message.</param>
///<param name="message">The text you want to convert into speech so that you can listen to it on your device. eg: My name is hanna</param>
///<param name="cache">Stores this message locally so that when the text is requested again, the output can be produced more quickly.</param>
///<param name="language">Language to use for speech generation. eg: ru</param>
///<param name="options">A dictionary containing integration-specific options. eg: platform specific</param>
public void Speak(ServiceTarget target, string mediaPlayerEntityId, string message, bool? cache = null, string? language = null, object? options = null)
{
_haContext.CallService("tts", "speak", target, new TtsSpeakParameters { MediaPlayerEntityId = mediaPlayerEntityId, Message = message, Cache = cache, Language = language, Options = options });
}
}
public partial record TtsSpeakParameters
{
///<summary>Media players to play the message.</summary>
[JsonPropertyName("media_player_entity_id")]
public string? MediaPlayerEntityId { get; init; }
///<summary>The text you want to convert into speech so that you can listen to it on your device. eg: My name is hanna</summary>
[JsonPropertyName("message")]
public string? Message { get; init; }
///<summary>Stores this message locally so that when the text is requested again, the output can be produced more quickly.</summary>
[JsonPropertyName("cache")]
public bool? Cache { get; init; }
///<summary>Language to use for speech generation. eg: ru</summary>
[JsonPropertyName("language")]
public string? Language { get; init; }
///<summary>A dictionary containing integration-specific options. eg: platform specific</summary>
[JsonPropertyName("options")]
public object? Options { get; init; }
}
public partial class WeatherServices
{
private readonly IHaContext _haContext;
public WeatherServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Get weather forecasts.</summary>
///<param name="target">The target for this service call</param>
public void GetForecasts(ServiceTarget target, WeatherGetForecastsParameters data)
{
_haContext.CallService("weather", "get_forecasts", target, data);
}
///<summary>Get weather forecasts.</summary>
///<param name="type">Forecast type: daily, hourly or twice daily.</param>
public void GetForecasts(ServiceTarget target, object @type)
{
_haContext.CallService("weather", "get_forecasts", target, new WeatherGetForecastsParameters { Type = @type });
}
///<summary>Get weather forecasts.</summary>
///<param name="target">The target for this service call</param>
public Task<JsonElement?> GetForecastsAsync(ServiceTarget target, WeatherGetForecastsParameters data)
{
return _haContext.CallServiceWithResponseAsync("weather", "get_forecasts", target, data);
}
///<summary>Get weather forecasts.</summary>
///<param name="target">The target for this service call</param>
///<param name="type">Forecast type: daily, hourly or twice daily.</param>
public Task<JsonElement?> GetForecastsAsync(ServiceTarget target, object @type)
{
return _haContext.CallServiceWithResponseAsync("weather", "get_forecasts", target, new WeatherGetForecastsParameters { Type = @type });
}
}
public partial record WeatherGetForecastsParameters
{
///<summary>Forecast type: daily, hourly or twice daily.</summary>
[JsonPropertyName("type")]
public object? Type { get; init; }
}
public partial class YamahaSoundbarServices
{
private readonly IHaContext _haContext;
public YamahaSoundbarServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Execute various yamaha_soundbar-specific commands on the player.</summary>
public void Command(YamahaSoundbarCommandParameters data)
{
_haContext.CallService("yamaha_soundbar", "command", null, data);
}
///<summary>Execute various yamaha_soundbar-specific commands on the player.</summary>
///<param name="entityId">Entity ID of the player against which the command wil be execuded. eg: media_player.sound_room1</param>
///<param name="command">To set the names for WriteDeviceNameToUnit and SetApSSIDName please switch to YAML mode and enter the name there. eg: Update</param>
///<param name="notify">Displays the result of the command as a persistent notification in Lovelace UI (optional, defaults to True). Set to False during automations to avoid seeing these. eg: False</param>
public void Command(string entityId, object command, bool? notify = null)
{
_haContext.CallService("yamaha_soundbar", "command", null, new YamahaSoundbarCommandParameters { EntityId = entityId, Command = command, Notify = notify });
}
///<summary>Group players together in a multiroom setup.</summary>
public void Join(YamahaSoundbarJoinParameters data)
{
_haContext.CallService("yamaha_soundbar", "join", null, data);
}
///<summary>Group players together in a multiroom setup.</summary>
///<param name="master">Entity ID of the player that should become the master of the group. eg: media_player.sound_room2</param>
///<param name="entityId">Entity ID(s) of the player(s) that will connect to the master. Switch to YAML mode to manually add more, separated by comma. eg: media_player.sound_room1</param>
public void Join(string master, string entityId)
{
_haContext.CallService("yamaha_soundbar", "join", null, new YamahaSoundbarJoinParameters { Master = master, EntityId = entityId });
}
///<summary>Play media track by name found in the tracks list.</summary>
public void PlayTrack(YamahaSoundbarPlayTrackParameters data)
{
_haContext.CallService("yamaha_soundbar", "play_track", null, data);
}
///<summary>Play media track by name found in the tracks list.</summary>
///<param name="entityId">Entity ID of the player on which the playback wil be execuded. eg: media_player.sound_room1</param>
///<param name="track">(Part of) The name of the track from the list eg: Commodores - Machine Gun Extended Mix.mp3</param>
public void PlayTrack(string entityId, string track)
{
_haContext.CallService("yamaha_soundbar", "play_track", null, new YamahaSoundbarPlayTrackParameters { EntityId = entityId, Track = track });
}
///<summary>Recall content preset from the device.</summary>
public void Preset(YamahaSoundbarPresetParameters data)
{
_haContext.CallService("yamaha_soundbar", "preset", null, data);
}
///<summary>Recall content preset from the device.</summary>
///<param name="entityId">Entity ID of the player for which the preset will be recalled. eg: media_player.sound_room1</param>
///<param name="preset">Content preset number on the device eg: 1</param>
public void Preset(string entityId, double preset)
{
_haContext.CallService("yamaha_soundbar", "preset", null, new YamahaSoundbarPresetParameters { EntityId = entityId, Preset = preset });
}
///<summary>Restore the state of the player after playing TTS, from a saved snapshot.</summary>
public void Restore(YamahaSoundbarRestoreParameters data)
{
_haContext.CallService("yamaha_soundbar", "restore", null, data);
}
///<summary>Restore the state of the player after playing TTS, from a saved snapshot.</summary>
///<param name="entityId">Entity ID of the player of which the snapshot should be restored. eg: media_player.sound_room1</param>
public void Restore(string entityId)
{
_haContext.CallService("yamaha_soundbar", "restore", null, new YamahaSoundbarRestoreParameters { EntityId = entityId });
}
///<summary>Prepare the player to play TTS and save the current state of it for restore afterwards. Current playback will stop.</summary>
public void Snapshot(YamahaSoundbarSnapshotParameters data)
{
_haContext.CallService("yamaha_soundbar", "snapshot", null, data);
}
///<summary>Prepare the player to play TTS and save the current state of it for restore afterwards. Current playback will stop.</summary>
///<param name="entityId">Entity ID of the player of which the snapshot should be saved. eg: media_player.sound_room1</param>
///<param name="switchinput">To be used with Spotify Integration. Switch player to stream input along with snapshotting, before playing TTS. Applies for players with multiple inputs like Line-in, Optical, etc. Optional - if not specified, defaults to True. eg: False</param>
public void Snapshot(string entityId, bool? switchinput = null)
{
_haContext.CallService("yamaha_soundbar", "snapshot", null, new YamahaSoundbarSnapshotParameters { EntityId = entityId, Switchinput = switchinput });
}
///<summary>Set the sound options</summary>
public void SoundSettings(YamahaSoundbarSoundSettingsParameters data)
{
_haContext.CallService("yamaha_soundbar", "sound_settings", null, data);
}
///<summary>Set the sound options</summary>
///<param name="entityId">Entity ID of the player on which the playback wil be execuded. eg: media_player.sound_room1</param>
///<param name="soundProgram">Select the sound preset</param>
///<param name="subwooferVolume">Set the subwoofer volume</param>
///<param name="surround">Set the 3D surround option on or off</param>
///<param name="clearVoice">Set the clear voice option on or off</param>
///<param name="bassExtension">Set the bass extension option on or off</param>
///<param name="mute">Set the mute on or off</param>
///<param name="powerSaving">Set the power saving option on or off</param>
public void SoundSettings(string entityId, object? soundProgram = null, long? subwooferVolume = null, bool? surround = null, bool? clearVoice = null, bool? bassExtension = null, bool? mute = null, bool? powerSaving = null)
{
_haContext.CallService("yamaha_soundbar", "sound_settings", null, new YamahaSoundbarSoundSettingsParameters { EntityId = entityId, SoundProgram = soundProgram, SubwooferVolume = subwooferVolume, Surround = surround, ClearVoice = clearVoice, BassExtension = bassExtension, Mute = mute, PowerSaving = powerSaving });
}
///<summary>Unjoin a player or all players from the multiroom setup.</summary>
public void Unjoin(YamahaSoundbarUnjoinParameters data)
{
_haContext.CallService("yamaha_soundbar", "unjoin", null, data);
}
///<summary>Unjoin a player or all players from the multiroom setup.</summary>
///<param name="entityId">Entity ID(s) of the player(s) that will be unjoined from the group. If this is a master, all slaves will be unjoined. eg: media_player.sound_room2</param>
public void Unjoin(string entityId)
{
_haContext.CallService("yamaha_soundbar", "unjoin", null, new YamahaSoundbarUnjoinParameters { EntityId = entityId });
}
}
public partial record YamahaSoundbarCommandParameters
{
///<summary>Entity ID of the player against which the command wil be execuded. eg: media_player.sound_room1</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>To set the names for WriteDeviceNameToUnit and SetApSSIDName please switch to YAML mode and enter the name there. eg: Update</summary>
[JsonPropertyName("command")]
public object? Command { get; init; }
///<summary>Displays the result of the command as a persistent notification in Lovelace UI (optional, defaults to True). Set to False during automations to avoid seeing these. eg: False</summary>
[JsonPropertyName("notify")]
public bool? Notify { get; init; }
}
public partial record YamahaSoundbarJoinParameters
{
///<summary>Entity ID of the player that should become the master of the group. eg: media_player.sound_room2</summary>
[JsonPropertyName("master")]
public string? Master { get; init; }
///<summary>Entity ID(s) of the player(s) that will connect to the master. Switch to YAML mode to manually add more, separated by comma. eg: media_player.sound_room1</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
}
public partial record YamahaSoundbarPlayTrackParameters
{
///<summary>Entity ID of the player on which the playback wil be execuded. eg: media_player.sound_room1</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>(Part of) The name of the track from the list eg: Commodores - Machine Gun Extended Mix.mp3</summary>
[JsonPropertyName("track")]
public string? Track { get; init; }
}
public partial record YamahaSoundbarPresetParameters
{
///<summary>Entity ID of the player for which the preset will be recalled. eg: media_player.sound_room1</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>Content preset number on the device eg: 1</summary>
[JsonPropertyName("preset")]
public double? Preset { get; init; }
}
public partial record YamahaSoundbarRestoreParameters
{
///<summary>Entity ID of the player of which the snapshot should be restored. eg: media_player.sound_room1</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
}
public partial record YamahaSoundbarSnapshotParameters
{
///<summary>Entity ID of the player of which the snapshot should be saved. eg: media_player.sound_room1</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>To be used with Spotify Integration. Switch player to stream input along with snapshotting, before playing TTS. Applies for players with multiple inputs like Line-in, Optical, etc. Optional - if not specified, defaults to True. eg: False</summary>
[JsonPropertyName("switchinput")]
public bool? Switchinput { get; init; }
}
public partial record YamahaSoundbarSoundSettingsParameters
{
///<summary>Entity ID of the player on which the playback wil be execuded. eg: media_player.sound_room1</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
///<summary>Select the sound preset</summary>
[JsonPropertyName("sound_program")]
public object? SoundProgram { get; init; }
///<summary>Set the subwoofer volume</summary>
[JsonPropertyName("subwoofer_volume")]
public long? SubwooferVolume { get; init; }
///<summary>Set the 3D surround option on or off</summary>
[JsonPropertyName("surround")]
public bool? Surround { get; init; }
///<summary>Set the clear voice option on or off</summary>
[JsonPropertyName("clear_voice")]
public bool? ClearVoice { get; init; }
///<summary>Set the bass extension option on or off</summary>
[JsonPropertyName("bass_extension")]
public bool? BassExtension { get; init; }
///<summary>Set the mute on or off</summary>
[JsonPropertyName("mute")]
public bool? Mute { get; init; }
///<summary>Set the power saving option on or off</summary>
[JsonPropertyName("power_saving")]
public bool? PowerSaving { get; init; }
}
public partial record YamahaSoundbarUnjoinParameters
{
///<summary>Entity ID(s) of the player(s) that will be unjoined from the group. If this is a master, all slaves will be unjoined. eg: media_player.sound_room2</summary>
[JsonPropertyName("entity_id")]
public string? EntityId { get; init; }
}
public partial class ZoneServices
{
private readonly IHaContext _haContext;
public ZoneServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Reloads zones from the YAML-configuration.</summary>
public void Reload(object? data = null)
{
_haContext.CallService("zone", "reload", null, data);
}
}
public static class AndroidtvEntityExtensionMethods
{
///<summary>Sends an ADB command to an Android / Fire TV device.</summary>
public static void AdbCommand(this IMediaPlayerEntityCore target, AndroidtvAdbCommandParameters data)
{
target.CallService("adb_command", data);
}
///<summary>Sends an ADB command to an Android / Fire TV device.</summary>
public static void AdbCommand(this IEnumerable<IMediaPlayerEntityCore> target, AndroidtvAdbCommandParameters data)
{
target.CallService("adb_command", data);
}
///<summary>Sends an ADB command to an Android / Fire TV device.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="command">Either a key command or an ADB shell command. eg: HOME</param>
public static void AdbCommand(this IMediaPlayerEntityCore target, string command)
{
target.CallService("adb_command", new AndroidtvAdbCommandParameters { Command = command });
}
///<summary>Sends an ADB command to an Android / Fire TV device.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="command">Either a key command or an ADB shell command. eg: HOME</param>
public static void AdbCommand(this IEnumerable<IMediaPlayerEntityCore> target, string command)
{
target.CallService("adb_command", new AndroidtvAdbCommandParameters { Command = command });
}
///<summary>Downloads a file from your Android / Fire TV device to your Home Assistant instance.</summary>
public static void Download(this IMediaPlayerEntityCore target, AndroidtvDownloadParameters data)
{
target.CallService("download", data);
}
///<summary>Downloads a file from your Android / Fire TV device to your Home Assistant instance.</summary>
public static void Download(this IEnumerable<IMediaPlayerEntityCore> target, AndroidtvDownloadParameters data)
{
target.CallService("download", data);
}
///<summary>Downloads a file from your Android / Fire TV device to your Home Assistant instance.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="devicePath">The filepath on the Android / Fire TV device. eg: /storage/emulated/0/Download/example.txt</param>
///<param name="localPath">The filepath on your Home Assistant instance. eg: /config/www/example.txt</param>
public static void Download(this IMediaPlayerEntityCore target, string devicePath, string localPath)
{
target.CallService("download", new AndroidtvDownloadParameters { DevicePath = devicePath, LocalPath = localPath });
}
///<summary>Downloads a file from your Android / Fire TV device to your Home Assistant instance.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="devicePath">The filepath on the Android / Fire TV device. eg: /storage/emulated/0/Download/example.txt</param>
///<param name="localPath">The filepath on your Home Assistant instance. eg: /config/www/example.txt</param>
public static void Download(this IEnumerable<IMediaPlayerEntityCore> target, string devicePath, string localPath)
{
target.CallService("download", new AndroidtvDownloadParameters { DevicePath = devicePath, LocalPath = localPath });
}
///<summary>Translates a key press on a remote into ADB &apos;sendevent&apos; commands. You must press one button on the remote within 8 seconds of performing this action.</summary>
public static void LearnSendevent(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("learn_sendevent", data);
}
///<summary>Translates a key press on a remote into ADB &apos;sendevent&apos; commands. You must press one button on the remote within 8 seconds of performing this action.</summary>
public static void LearnSendevent(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("learn_sendevent", data);
}
///<summary>Uploads a file from your Home Assistant instance to an Android / Fire TV device.</summary>
public static void Upload(this IMediaPlayerEntityCore target, AndroidtvUploadParameters data)
{
target.CallService("upload", data);
}
///<summary>Uploads a file from your Home Assistant instance to an Android / Fire TV device.</summary>
public static void Upload(this IEnumerable<IMediaPlayerEntityCore> target, AndroidtvUploadParameters data)
{
target.CallService("upload", data);
}
///<summary>Uploads a file from your Home Assistant instance to an Android / Fire TV device.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="devicePath">The filepath on the Android / Fire TV device. eg: /storage/emulated/0/Download/example.txt</param>
///<param name="localPath">The filepath on your Home Assistant instance. eg: /config/www/example.txt</param>
public static void Upload(this IMediaPlayerEntityCore target, string devicePath, string localPath)
{
target.CallService("upload", new AndroidtvUploadParameters { DevicePath = devicePath, LocalPath = localPath });
}
///<summary>Uploads a file from your Home Assistant instance to an Android / Fire TV device.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="devicePath">The filepath on the Android / Fire TV device. eg: /storage/emulated/0/Download/example.txt</param>
///<param name="localPath">The filepath on your Home Assistant instance. eg: /config/www/example.txt</param>
public static void Upload(this IEnumerable<IMediaPlayerEntityCore> target, string devicePath, string localPath)
{
target.CallService("upload", new AndroidtvUploadParameters { DevicePath = devicePath, LocalPath = localPath });
}
}
public static class AssistSatelliteEntityExtensionMethods
{
///<summary>Let the satellite announce a message.</summary>
public static void Announce(this AssistSatelliteEntity target, AssistSatelliteAnnounceParameters data)
{
target.CallService("announce", data);
}
///<summary>Let the satellite announce a message.</summary>
public static void Announce(this IEnumerable<AssistSatelliteEntity> target, AssistSatelliteAnnounceParameters data)
{
target.CallService("announce", data);
}
///<summary>Let the satellite announce a message.</summary>
///<param name="target">The AssistSatelliteEntity to call this service for</param>
///<param name="message">The message to announce. eg: Time to wake up!</param>
///<param name="mediaId">The media ID to announce instead of using text-to-speech.</param>
public static void Announce(this AssistSatelliteEntity target, string? message = null, string? mediaId = null)
{
target.CallService("announce", new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId });
}
///<summary>Let the satellite announce a message.</summary>
///<param name="target">The IEnumerable&lt;AssistSatelliteEntity&gt; to call this service for</param>
///<param name="message">The message to announce. eg: Time to wake up!</param>
///<param name="mediaId">The media ID to announce instead of using text-to-speech.</param>
public static void Announce(this IEnumerable<AssistSatelliteEntity> target, string? message = null, string? mediaId = null)
{
target.CallService("announce", new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId });
}
}
public static class AutomationEntityExtensionMethods
{
///<summary>Toggles (enable / disable) an automation.</summary>
public static void Toggle(this IAutomationEntityCore target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Toggles (enable / disable) an automation.</summary>
public static void Toggle(this IEnumerable<IAutomationEntityCore> target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Triggers the actions of an automation.</summary>
public static void Trigger(this IAutomationEntityCore target, AutomationTriggerParameters data)
{
target.CallService("trigger", data);
}
///<summary>Triggers the actions of an automation.</summary>
public static void Trigger(this IEnumerable<IAutomationEntityCore> target, AutomationTriggerParameters data)
{
target.CallService("trigger", data);
}
///<summary>Triggers the actions of an automation.</summary>
///<param name="target">The IAutomationEntityCore to call this service for</param>
///<param name="skipCondition">Defines whether or not the conditions will be skipped.</param>
public static void Trigger(this IAutomationEntityCore target, bool? skipCondition = null)
{
target.CallService("trigger", new AutomationTriggerParameters { SkipCondition = skipCondition });
}
///<summary>Triggers the actions of an automation.</summary>
///<param name="target">The IEnumerable&lt;IAutomationEntityCore&gt; to call this service for</param>
///<param name="skipCondition">Defines whether or not the conditions will be skipped.</param>
public static void Trigger(this IEnumerable<IAutomationEntityCore> target, bool? skipCondition = null)
{
target.CallService("trigger", new AutomationTriggerParameters { SkipCondition = skipCondition });
}
///<summary>Disables an automation.</summary>
public static void TurnOff(this IAutomationEntityCore target, AutomationTurnOffParameters data)
{
target.CallService("turn_off", data);
}
///<summary>Disables an automation.</summary>
public static void TurnOff(this IEnumerable<IAutomationEntityCore> target, AutomationTurnOffParameters data)
{
target.CallService("turn_off", data);
}
///<summary>Disables an automation.</summary>
///<param name="target">The IAutomationEntityCore to call this service for</param>
///<param name="stopActions">Stops currently running actions.</param>
public static void TurnOff(this IAutomationEntityCore target, bool? stopActions = null)
{
target.CallService("turn_off", new AutomationTurnOffParameters { StopActions = stopActions });
}
///<summary>Disables an automation.</summary>
///<param name="target">The IEnumerable&lt;IAutomationEntityCore&gt; to call this service for</param>
///<param name="stopActions">Stops currently running actions.</param>
public static void TurnOff(this IEnumerable<IAutomationEntityCore> target, bool? stopActions = null)
{
target.CallService("turn_off", new AutomationTurnOffParameters { StopActions = stopActions });
}
///<summary>Enables an automation.</summary>
public static void TurnOn(this IAutomationEntityCore target, object? data = null)
{
target.CallService("turn_on", data);
}
///<summary>Enables an automation.</summary>
public static void TurnOn(this IEnumerable<IAutomationEntityCore> target, object? data = null)
{
target.CallService("turn_on", data);
}
}
public static class ButtonEntityExtensionMethods
{
///<summary>Press the button entity.</summary>
public static void Press(this IButtonEntityCore target, object? data = null)
{
target.CallService("press", data);
}
///<summary>Press the button entity.</summary>
public static void Press(this IEnumerable<IButtonEntityCore> target, object? data = null)
{
target.CallService("press", data);
}
}
public static class CalendarEntityExtensionMethods
{
///<summary>Adds a new calendar event.</summary>
public static void CreateEvent(this ICalendarEntityCore target, CalendarCreateEventParameters data)
{
target.CallService("create_event", data);
}
///<summary>Adds a new calendar event.</summary>
public static void CreateEvent(this IEnumerable<ICalendarEntityCore> target, CalendarCreateEventParameters data)
{
target.CallService("create_event", data);
}
///<summary>Adds a new calendar event.</summary>
///<param name="target">The ICalendarEntityCore to call this service for</param>
///<param name="summary">Defines the short summary or subject for the event. eg: Department Party</param>
///<param name="description">A more complete description of the event than the one provided by the summary. eg: Meeting to provide technical review for &apos;Phoenix&apos; design.</param>
///<param name="startDateTime">The date and time the event should start. eg: 2022-03-22 20:00:00</param>
///<param name="endDateTime">The date and time the event should end. eg: 2022-03-22 22:00:00</param>
///<param name="startDate">The date the all-day event should start. eg: 2022-03-22</param>
///<param name="endDate">The date the all-day event should end (exclusive). eg: 2022-03-23</param>
///<param name="in">Days or weeks that you want to create the event in. eg: {&quot;days&quot;: 2} or {&quot;weeks&quot;: 2}</param>
///<param name="location">The location of the event. eg: Conference Room - F123, Bldg. 002</param>
public static void CreateEvent(this ICalendarEntityCore target, string summary, string? description = null, DateTime? startDateTime = null, DateTime? endDateTime = null, DateOnly? startDate = null, DateOnly? endDate = null, object? @in = null, string? location = null)
{
target.CallService("create_event", new CalendarCreateEventParameters { Summary = summary, Description = description, StartDateTime = startDateTime, EndDateTime = endDateTime, StartDate = startDate, EndDate = endDate, In = @in, Location = location });
}
///<summary>Adds a new calendar event.</summary>
///<param name="target">The IEnumerable&lt;ICalendarEntityCore&gt; to call this service for</param>
///<param name="summary">Defines the short summary or subject for the event. eg: Department Party</param>
///<param name="description">A more complete description of the event than the one provided by the summary. eg: Meeting to provide technical review for &apos;Phoenix&apos; design.</param>
///<param name="startDateTime">The date and time the event should start. eg: 2022-03-22 20:00:00</param>
///<param name="endDateTime">The date and time the event should end. eg: 2022-03-22 22:00:00</param>
///<param name="startDate">The date the all-day event should start. eg: 2022-03-22</param>
///<param name="endDate">The date the all-day event should end (exclusive). eg: 2022-03-23</param>
///<param name="in">Days or weeks that you want to create the event in. eg: {&quot;days&quot;: 2} or {&quot;weeks&quot;: 2}</param>
///<param name="location">The location of the event. eg: Conference Room - F123, Bldg. 002</param>
public static void CreateEvent(this IEnumerable<ICalendarEntityCore> target, string summary, string? description = null, DateTime? startDateTime = null, DateTime? endDateTime = null, DateOnly? startDate = null, DateOnly? endDate = null, object? @in = null, string? location = null)
{
target.CallService("create_event", new CalendarCreateEventParameters { Summary = summary, Description = description, StartDateTime = startDateTime, EndDateTime = endDateTime, StartDate = startDate, EndDate = endDate, In = @in, Location = location });
}
///<summary>Get events on a calendar within a time range.</summary>
public static Task<JsonElement?> GetEventsAsync(this ICalendarEntityCore target, CalendarGetEventsParameters data)
{
return target.CallServiceWithResponseAsync("get_events", data);
}
///<summary>Get events on a calendar within a time range.</summary>
///<param name="target">The ICalendarEntityCore to call this service for</param>
///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param>
///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param>
///<param name="duration">Returns active events from Start time for the specified duration.</param>
public static Task<JsonElement?> GetEventsAsync(this ICalendarEntityCore target, DateTime? startDateTime = null, DateTime? endDateTime = null, object? duration = null)
{
return target.CallServiceWithResponseAsync("get_events", new CalendarGetEventsParameters { StartDateTime = startDateTime, EndDateTime = endDateTime, Duration = duration });
}
///<summary>Get events on a calendar within a time range.</summary>
public static void GetEvents(this ICalendarEntityCore target, CalendarGetEventsParameters data)
{
target.CallService("get_events", data);
}
///<summary>Get events on a calendar within a time range.</summary>
public static void GetEvents(this IEnumerable<ICalendarEntityCore> target, CalendarGetEventsParameters data)
{
target.CallService("get_events", data);
}
///<summary>Get events on a calendar within a time range.</summary>
///<param name="target">The ICalendarEntityCore to call this service for</param>
///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param>
///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param>
///<param name="duration">Returns active events from Start time for the specified duration.</param>
public static void GetEvents(this ICalendarEntityCore target, DateTime? startDateTime = null, DateTime? endDateTime = null, object? duration = null)
{
target.CallService("get_events", new CalendarGetEventsParameters { StartDateTime = startDateTime, EndDateTime = endDateTime, Duration = duration });
}
///<summary>Get events on a calendar within a time range.</summary>
///<param name="target">The IEnumerable&lt;ICalendarEntityCore&gt; to call this service for</param>
///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param>
///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param>
///<param name="duration">Returns active events from Start time for the specified duration.</param>
public static void GetEvents(this IEnumerable<ICalendarEntityCore> target, DateTime? startDateTime = null, DateTime? endDateTime = null, object? duration = null)
{
target.CallService("get_events", new CalendarGetEventsParameters { StartDateTime = startDateTime, EndDateTime = endDateTime, Duration = duration });
}
}
public static class InputBooleanEntityExtensionMethods
{
///<summary>Toggles the helper on/off.</summary>
public static void Toggle(this IInputBooleanEntityCore target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Toggles the helper on/off.</summary>
public static void Toggle(this IEnumerable<IInputBooleanEntityCore> target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Turns off the helper.</summary>
public static void TurnOff(this IInputBooleanEntityCore target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Turns off the helper.</summary>
public static void TurnOff(this IEnumerable<IInputBooleanEntityCore> target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Turns on the helper.</summary>
public static void TurnOn(this IInputBooleanEntityCore target, object? data = null)
{
target.CallService("turn_on", data);
}
///<summary>Turns on the helper.</summary>
public static void TurnOn(this IEnumerable<IInputBooleanEntityCore> target, object? data = null)
{
target.CallService("turn_on", data);
}
}
public static class InputTextEntityExtensionMethods
{
///<summary>Sets the value.</summary>
public static void SetValue(this IInputTextEntityCore target, InputTextSetValueParameters data)
{
target.CallService("set_value", data);
}
///<summary>Sets the value.</summary>
public static void SetValue(this IEnumerable<IInputTextEntityCore> target, InputTextSetValueParameters data)
{
target.CallService("set_value", data);
}
///<summary>Sets the value.</summary>
///<param name="target">The IInputTextEntityCore to call this service for</param>
///<param name="value">The target value. eg: This is an example text</param>
public static void SetValue(this IInputTextEntityCore target, string value)
{
target.CallService("set_value", new InputTextSetValueParameters { Value = value });
}
///<summary>Sets the value.</summary>
///<param name="target">The IEnumerable&lt;IInputTextEntityCore&gt; to call this service for</param>
///<param name="value">The target value. eg: This is an example text</param>
public static void SetValue(this IEnumerable<IInputTextEntityCore> target, string value)
{
target.CallService("set_value", new InputTextSetValueParameters { Value = value });
}
}
public static class LightEntityExtensionMethods
{
///<summary>Toggles one or more lights, from on to off, or, off to on, based on their current state.</summary>
public static void Toggle(this ILightEntityCore target, LightToggleParameters data)
{
target.CallService("toggle", data);
}
///<summary>Toggles one or more lights, from on to off, or, off to on, based on their current state.</summary>
public static void Toggle(this IEnumerable<ILightEntityCore> target, LightToggleParameters data)
{
target.CallService("toggle", data);
}
///<summary>Toggles one or more lights, from on to off, or, off to on, based on their current state.</summary>
///<param name="target">The ILightEntityCore to call this service for</param>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="rgbColor">The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100]</param>
///<param name="kelvin">Color temperature in Kelvin.</param>
///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param>
///<param name="effect">Light effect.</param>
///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param>
///<param name="rgbwwColor"> eg: [255, 100, 100, 50, 70]</param>
///<param name="colorName"></param>
///<param name="hsColor"> eg: [300, 70]</param>
///<param name="xyColor"> eg: [0.52, 0.43]</param>
///<param name="colorTemp"></param>
///<param name="brightness"></param>
///<param name="white"></param>
///<param name="profile"> eg: relax</param>
///<param name="flash"></param>
public static void Toggle(this ILightEntityCore target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null)
{
target.CallService("toggle", new LightToggleParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash });
}
///<summary>Toggles one or more lights, from on to off, or, off to on, based on their current state.</summary>
///<param name="target">The IEnumerable&lt;ILightEntityCore&gt; to call this service for</param>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="rgbColor">The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100]</param>
///<param name="kelvin">Color temperature in Kelvin.</param>
///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param>
///<param name="effect">Light effect.</param>
///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param>
///<param name="rgbwwColor"> eg: [255, 100, 100, 50, 70]</param>
///<param name="colorName"></param>
///<param name="hsColor"> eg: [300, 70]</param>
///<param name="xyColor"> eg: [0.52, 0.43]</param>
///<param name="colorTemp"></param>
///<param name="brightness"></param>
///<param name="white"></param>
///<param name="profile"> eg: relax</param>
///<param name="flash"></param>
public static void Toggle(this IEnumerable<ILightEntityCore> target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null)
{
target.CallService("toggle", new LightToggleParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash });
}
///<summary>Turn off one or more lights.</summary>
public static void TurnOff(this ILightEntityCore target, LightTurnOffParameters data)
{
target.CallService("turn_off", data);
}
///<summary>Turn off one or more lights.</summary>
public static void TurnOff(this IEnumerable<ILightEntityCore> target, LightTurnOffParameters data)
{
target.CallService("turn_off", data);
}
///<summary>Turn off one or more lights.</summary>
///<param name="target">The ILightEntityCore to call this service for</param>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="flash"></param>
public static void TurnOff(this ILightEntityCore target, double? transition = null, object? flash = null)
{
target.CallService("turn_off", new LightTurnOffParameters { Transition = transition, Flash = flash });
}
///<summary>Turn off one or more lights.</summary>
///<param name="target">The IEnumerable&lt;ILightEntityCore&gt; to call this service for</param>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="flash"></param>
public static void TurnOff(this IEnumerable<ILightEntityCore> target, double? transition = null, object? flash = null)
{
target.CallService("turn_off", new LightTurnOffParameters { Transition = transition, Flash = flash });
}
///<summary>Turn on one or more lights and adjust properties of the light, even when they are turned on already.</summary>
public static void TurnOn(this ILightEntityCore target, LightTurnOnParameters data)
{
target.CallService("turn_on", data);
}
///<summary>Turn on one or more lights and adjust properties of the light, even when they are turned on already.</summary>
public static void TurnOn(this IEnumerable<ILightEntityCore> target, LightTurnOnParameters data)
{
target.CallService("turn_on", data);
}
///<summary>Turn on one or more lights and adjust properties of the light, even when they are turned on already.</summary>
///<param name="target">The ILightEntityCore to call this service for</param>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="rgbColor">The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100]</param>
///<param name="kelvin">Color temperature in Kelvin.</param>
///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param>
///<param name="brightnessStepPct">Change brightness by a percentage.</param>
///<param name="effect">Light effect.</param>
///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param>
///<param name="rgbwwColor"> eg: [255, 100, 100, 50, 70]</param>
///<param name="colorName"></param>
///<param name="hsColor"> eg: [300, 70]</param>
///<param name="xyColor"> eg: [0.52, 0.43]</param>
///<param name="colorTemp"></param>
///<param name="brightness"></param>
///<param name="brightnessStep"></param>
///<param name="white"></param>
///<param name="profile"> eg: relax</param>
///<param name="flash"></param>
public static void TurnOn(this ILightEntityCore target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null)
{
target.CallService("turn_on", new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash });
}
///<summary>Turn on one or more lights and adjust properties of the light, even when they are turned on already.</summary>
///<param name="target">The IEnumerable&lt;ILightEntityCore&gt; to call this service for</param>
///<param name="transition">Duration it takes to get to next state.</param>
///<param name="rgbColor">The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100]</param>
///<param name="kelvin">Color temperature in Kelvin.</param>
///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param>
///<param name="brightnessStepPct">Change brightness by a percentage.</param>
///<param name="effect">Light effect.</param>
///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param>
///<param name="rgbwwColor"> eg: [255, 100, 100, 50, 70]</param>
///<param name="colorName"></param>
///<param name="hsColor"> eg: [300, 70]</param>
///<param name="xyColor"> eg: [0.52, 0.43]</param>
///<param name="colorTemp"></param>
///<param name="brightness"></param>
///<param name="brightnessStep"></param>
///<param name="white"></param>
///<param name="profile"> eg: relax</param>
///<param name="flash"></param>
public static void TurnOn(this IEnumerable<ILightEntityCore> target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null)
{
target.CallService("turn_on", new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash });
}
}
public static class LockEntityExtensionMethods
{
///<summary>Locks a lock.</summary>
public static void Lock(this ILockEntityCore target, LockLockParameters data)
{
target.CallService("lock", data);
}
///<summary>Locks a lock.</summary>
public static void Lock(this IEnumerable<ILockEntityCore> target, LockLockParameters data)
{
target.CallService("lock", data);
}
///<summary>Locks a lock.</summary>
///<param name="target">The ILockEntityCore to call this service for</param>
///<param name="code">Code used to lock the lock. eg: 1234</param>
public static void Lock(this ILockEntityCore target, string? code = null)
{
target.CallService("lock", new LockLockParameters { Code = code });
}
///<summary>Locks a lock.</summary>
///<param name="target">The IEnumerable&lt;ILockEntityCore&gt; to call this service for</param>
///<param name="code">Code used to lock the lock. eg: 1234</param>
public static void Lock(this IEnumerable<ILockEntityCore> target, string? code = null)
{
target.CallService("lock", new LockLockParameters { Code = code });
}
///<summary>Opens a lock.</summary>
public static void Open(this ILockEntityCore target, LockOpenParameters data)
{
target.CallService("open", data);
}
///<summary>Opens a lock.</summary>
public static void Open(this IEnumerable<ILockEntityCore> target, LockOpenParameters data)
{
target.CallService("open", data);
}
///<summary>Opens a lock.</summary>
///<param name="target">The ILockEntityCore to call this service for</param>
///<param name="code">Code used to open the lock. eg: 1234</param>
public static void Open(this ILockEntityCore target, string? code = null)
{
target.CallService("open", new LockOpenParameters { Code = code });
}
///<summary>Opens a lock.</summary>
///<param name="target">The IEnumerable&lt;ILockEntityCore&gt; to call this service for</param>
///<param name="code">Code used to open the lock. eg: 1234</param>
public static void Open(this IEnumerable<ILockEntityCore> target, string? code = null)
{
target.CallService("open", new LockOpenParameters { Code = code });
}
///<summary>Unlocks a lock.</summary>
public static void Unlock(this ILockEntityCore target, LockUnlockParameters data)
{
target.CallService("unlock", data);
}
///<summary>Unlocks a lock.</summary>
public static void Unlock(this IEnumerable<ILockEntityCore> target, LockUnlockParameters data)
{
target.CallService("unlock", data);
}
///<summary>Unlocks a lock.</summary>
///<param name="target">The ILockEntityCore to call this service for</param>
///<param name="code">Code used to unlock the lock. eg: 1234</param>
public static void Unlock(this ILockEntityCore target, string? code = null)
{
target.CallService("unlock", new LockUnlockParameters { Code = code });
}
///<summary>Unlocks a lock.</summary>
///<param name="target">The IEnumerable&lt;ILockEntityCore&gt; to call this service for</param>
///<param name="code">Code used to unlock the lock. eg: 1234</param>
public static void Unlock(this IEnumerable<ILockEntityCore> target, string? code = null)
{
target.CallService("unlock", new LockUnlockParameters { Code = code });
}
}
public static class MediaPlayerEntityExtensionMethods
{
///<summary>Clears the playlist.</summary>
public static void ClearPlaylist(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("clear_playlist", data);
}
///<summary>Clears the playlist.</summary>
public static void ClearPlaylist(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("clear_playlist", data);
}
///<summary>Groups media players together for synchronous playback. Only works on supported multiroom audio systems.</summary>
public static void Join(this IMediaPlayerEntityCore target, MediaPlayerJoinParameters data)
{
target.CallService("join", data);
}
///<summary>Groups media players together for synchronous playback. Only works on supported multiroom audio systems.</summary>
public static void Join(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerJoinParameters data)
{
target.CallService("join", data);
}
///<summary>Groups media players together for synchronous playback. Only works on supported multiroom audio systems.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="groupMembers">The players which will be synced with the playback specified in `target`. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 </param>
public static void Join(this IMediaPlayerEntityCore target, IEnumerable<string> groupMembers)
{
target.CallService("join", new MediaPlayerJoinParameters { GroupMembers = groupMembers });
}
///<summary>Groups media players together for synchronous playback. Only works on supported multiroom audio systems.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="groupMembers">The players which will be synced with the playback specified in `target`. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 </param>
public static void Join(this IEnumerable<IMediaPlayerEntityCore> target, IEnumerable<string> groupMembers)
{
target.CallService("join", new MediaPlayerJoinParameters { GroupMembers = groupMembers });
}
///<summary>Selects the next track.</summary>
public static void MediaNextTrack(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("media_next_track", data);
}
///<summary>Selects the next track.</summary>
public static void MediaNextTrack(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("media_next_track", data);
}
///<summary>Pauses.</summary>
public static void MediaPause(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("media_pause", data);
}
///<summary>Pauses.</summary>
public static void MediaPause(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("media_pause", data);
}
///<summary>Starts playing.</summary>
public static void MediaPlay(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("media_play", data);
}
///<summary>Starts playing.</summary>
public static void MediaPlay(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("media_play", data);
}
///<summary>Toggles play/pause.</summary>
public static void MediaPlayPause(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("media_play_pause", data);
}
///<summary>Toggles play/pause.</summary>
public static void MediaPlayPause(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("media_play_pause", data);
}
///<summary>Selects the previous track.</summary>
public static void MediaPreviousTrack(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("media_previous_track", data);
}
///<summary>Selects the previous track.</summary>
public static void MediaPreviousTrack(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("media_previous_track", data);
}
///<summary>Allows you to go to a different part of the media that is currently playing.</summary>
public static void MediaSeek(this IMediaPlayerEntityCore target, MediaPlayerMediaSeekParameters data)
{
target.CallService("media_seek", data);
}
///<summary>Allows you to go to a different part of the media that is currently playing.</summary>
public static void MediaSeek(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerMediaSeekParameters data)
{
target.CallService("media_seek", data);
}
///<summary>Allows you to go to a different part of the media that is currently playing.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="seekPosition">Target position in the currently playing media. The format is platform dependent.</param>
public static void MediaSeek(this IMediaPlayerEntityCore target, double seekPosition)
{
target.CallService("media_seek", new MediaPlayerMediaSeekParameters { SeekPosition = seekPosition });
}
///<summary>Allows you to go to a different part of the media that is currently playing.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="seekPosition">Target position in the currently playing media. The format is platform dependent.</param>
public static void MediaSeek(this IEnumerable<IMediaPlayerEntityCore> target, double seekPosition)
{
target.CallService("media_seek", new MediaPlayerMediaSeekParameters { SeekPosition = seekPosition });
}
///<summary>Stops playing.</summary>
public static void MediaStop(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("media_stop", data);
}
///<summary>Stops playing.</summary>
public static void MediaStop(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("media_stop", data);
}
///<summary>Starts playing specified media.</summary>
public static void PlayMedia(this IMediaPlayerEntityCore target, MediaPlayerPlayMediaParameters data)
{
target.CallService("play_media", data);
}
///<summary>Starts playing specified media.</summary>
public static void PlayMedia(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerPlayMediaParameters data)
{
target.CallService("play_media", data);
}
///<summary>Starts playing specified media.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="mediaContentId">The ID of the content to play. Platform dependent. eg: https://home-assistant.io/images/cast/splash.png</param>
///<param name="mediaContentType">The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist. eg: music</param>
///<param name="enqueue">If the content should be played now or be added to the queue.</param>
///<param name="announce">If the media should be played as an announcement. eg: true</param>
public static void PlayMedia(this IMediaPlayerEntityCore target, string mediaContentId, string mediaContentType, object? enqueue = null, bool? announce = null)
{
target.CallService("play_media", new MediaPlayerPlayMediaParameters { MediaContentId = mediaContentId, MediaContentType = mediaContentType, Enqueue = enqueue, Announce = announce });
}
///<summary>Starts playing specified media.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="mediaContentId">The ID of the content to play. Platform dependent. eg: https://home-assistant.io/images/cast/splash.png</param>
///<param name="mediaContentType">The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist. eg: music</param>
///<param name="enqueue">If the content should be played now or be added to the queue.</param>
///<param name="announce">If the media should be played as an announcement. eg: true</param>
public static void PlayMedia(this IEnumerable<IMediaPlayerEntityCore> target, string mediaContentId, string mediaContentType, object? enqueue = null, bool? announce = null)
{
target.CallService("play_media", new MediaPlayerPlayMediaParameters { MediaContentId = mediaContentId, MediaContentType = mediaContentType, Enqueue = enqueue, Announce = announce });
}
///<summary>Playback mode that plays the media in a loop.</summary>
public static void RepeatSet(this IMediaPlayerEntityCore target, MediaPlayerRepeatSetParameters data)
{
target.CallService("repeat_set", data);
}
///<summary>Playback mode that plays the media in a loop.</summary>
public static void RepeatSet(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerRepeatSetParameters data)
{
target.CallService("repeat_set", data);
}
///<summary>Playback mode that plays the media in a loop.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="repeat">Repeat mode to set.</param>
public static void RepeatSet(this IMediaPlayerEntityCore target, object repeat)
{
target.CallService("repeat_set", new MediaPlayerRepeatSetParameters { Repeat = repeat });
}
///<summary>Playback mode that plays the media in a loop.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="repeat">Repeat mode to set.</param>
public static void RepeatSet(this IEnumerable<IMediaPlayerEntityCore> target, object repeat)
{
target.CallService("repeat_set", new MediaPlayerRepeatSetParameters { Repeat = repeat });
}
///<summary>Selects a specific sound mode.</summary>
public static void SelectSoundMode(this IMediaPlayerEntityCore target, MediaPlayerSelectSoundModeParameters data)
{
target.CallService("select_sound_mode", data);
}
///<summary>Selects a specific sound mode.</summary>
public static void SelectSoundMode(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerSelectSoundModeParameters data)
{
target.CallService("select_sound_mode", data);
}
///<summary>Selects a specific sound mode.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="soundMode">Name of the sound mode to switch to. eg: Music</param>
public static void SelectSoundMode(this IMediaPlayerEntityCore target, string? soundMode = null)
{
target.CallService("select_sound_mode", new MediaPlayerSelectSoundModeParameters { SoundMode = soundMode });
}
///<summary>Selects a specific sound mode.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="soundMode">Name of the sound mode to switch to. eg: Music</param>
public static void SelectSoundMode(this IEnumerable<IMediaPlayerEntityCore> target, string? soundMode = null)
{
target.CallService("select_sound_mode", new MediaPlayerSelectSoundModeParameters { SoundMode = soundMode });
}
///<summary>Sends the media player the command to change input source.</summary>
public static void SelectSource(this IMediaPlayerEntityCore target, MediaPlayerSelectSourceParameters data)
{
target.CallService("select_source", data);
}
///<summary>Sends the media player the command to change input source.</summary>
public static void SelectSource(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerSelectSourceParameters data)
{
target.CallService("select_source", data);
}
///<summary>Sends the media player the command to change input source.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="source">Name of the source to switch to. Platform dependent. eg: video1</param>
public static void SelectSource(this IMediaPlayerEntityCore target, string source)
{
target.CallService("select_source", new MediaPlayerSelectSourceParameters { Source = source });
}
///<summary>Sends the media player the command to change input source.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="source">Name of the source to switch to. Platform dependent. eg: video1</param>
public static void SelectSource(this IEnumerable<IMediaPlayerEntityCore> target, string source)
{
target.CallService("select_source", new MediaPlayerSelectSourceParameters { Source = source });
}
///<summary>Playback mode that selects the media in randomized order.</summary>
public static void ShuffleSet(this IMediaPlayerEntityCore target, MediaPlayerShuffleSetParameters data)
{
target.CallService("shuffle_set", data);
}
///<summary>Playback mode that selects the media in randomized order.</summary>
public static void ShuffleSet(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerShuffleSetParameters data)
{
target.CallService("shuffle_set", data);
}
///<summary>Playback mode that selects the media in randomized order.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="shuffle">Whether or not shuffle mode is enabled.</param>
public static void ShuffleSet(this IMediaPlayerEntityCore target, bool shuffle)
{
target.CallService("shuffle_set", new MediaPlayerShuffleSetParameters { Shuffle = shuffle });
}
///<summary>Playback mode that selects the media in randomized order.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="shuffle">Whether or not shuffle mode is enabled.</param>
public static void ShuffleSet(this IEnumerable<IMediaPlayerEntityCore> target, bool shuffle)
{
target.CallService("shuffle_set", new MediaPlayerShuffleSetParameters { Shuffle = shuffle });
}
///<summary>Toggles a media player on/off.</summary>
public static void Toggle(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Toggles a media player on/off.</summary>
public static void Toggle(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Turns off the power of the media player.</summary>
public static void TurnOff(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Turns off the power of the media player.</summary>
public static void TurnOff(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Turns on the power of the media player.</summary>
public static void TurnOn(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("turn_on", data);
}
///<summary>Turns on the power of the media player.</summary>
public static void TurnOn(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("turn_on", data);
}
///<summary>Removes the player from a group. Only works on platforms which support player groups.</summary>
public static void Unjoin(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("unjoin", data);
}
///<summary>Removes the player from a group. Only works on platforms which support player groups.</summary>
public static void Unjoin(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("unjoin", data);
}
///<summary>Turns down the volume.</summary>
public static void VolumeDown(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("volume_down", data);
}
///<summary>Turns down the volume.</summary>
public static void VolumeDown(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("volume_down", data);
}
///<summary>Mutes or unmutes the media player.</summary>
public static void VolumeMute(this IMediaPlayerEntityCore target, MediaPlayerVolumeMuteParameters data)
{
target.CallService("volume_mute", data);
}
///<summary>Mutes or unmutes the media player.</summary>
public static void VolumeMute(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerVolumeMuteParameters data)
{
target.CallService("volume_mute", data);
}
///<summary>Mutes or unmutes the media player.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="isVolumeMuted">Defines whether or not it is muted.</param>
public static void VolumeMute(this IMediaPlayerEntityCore target, bool isVolumeMuted)
{
target.CallService("volume_mute", new MediaPlayerVolumeMuteParameters { IsVolumeMuted = isVolumeMuted });
}
///<summary>Mutes or unmutes the media player.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="isVolumeMuted">Defines whether or not it is muted.</param>
public static void VolumeMute(this IEnumerable<IMediaPlayerEntityCore> target, bool isVolumeMuted)
{
target.CallService("volume_mute", new MediaPlayerVolumeMuteParameters { IsVolumeMuted = isVolumeMuted });
}
///<summary>Sets the volume level.</summary>
public static void VolumeSet(this IMediaPlayerEntityCore target, MediaPlayerVolumeSetParameters data)
{
target.CallService("volume_set", data);
}
///<summary>Sets the volume level.</summary>
public static void VolumeSet(this IEnumerable<IMediaPlayerEntityCore> target, MediaPlayerVolumeSetParameters data)
{
target.CallService("volume_set", data);
}
///<summary>Sets the volume level.</summary>
///<param name="target">The IMediaPlayerEntityCore to call this service for</param>
///<param name="volumeLevel">The volume. 0 is inaudible, 1 is the maximum volume.</param>
public static void VolumeSet(this IMediaPlayerEntityCore target, double volumeLevel)
{
target.CallService("volume_set", new MediaPlayerVolumeSetParameters { VolumeLevel = volumeLevel });
}
///<summary>Sets the volume level.</summary>
///<param name="target">The IEnumerable&lt;IMediaPlayerEntityCore&gt; to call this service for</param>
///<param name="volumeLevel">The volume. 0 is inaudible, 1 is the maximum volume.</param>
public static void VolumeSet(this IEnumerable<IMediaPlayerEntityCore> target, double volumeLevel)
{
target.CallService("volume_set", new MediaPlayerVolumeSetParameters { VolumeLevel = volumeLevel });
}
///<summary>Turns up the volume.</summary>
public static void VolumeUp(this IMediaPlayerEntityCore target, object? data = null)
{
target.CallService("volume_up", data);
}
///<summary>Turns up the volume.</summary>
public static void VolumeUp(this IEnumerable<IMediaPlayerEntityCore> target, object? data = null)
{
target.CallService("volume_up", data);
}
}
public static class NumberEntityExtensionMethods
{
///<summary>Sets the value of a number.</summary>
public static void SetValue(this INumberEntityCore target, NumberSetValueParameters data)
{
target.CallService("set_value", data);
}
///<summary>Sets the value of a number.</summary>
public static void SetValue(this IEnumerable<INumberEntityCore> target, NumberSetValueParameters data)
{
target.CallService("set_value", data);
}
///<summary>Sets the value of a number.</summary>
///<param name="target">The INumberEntityCore to call this service for</param>
///<param name="value">The target value to set. eg: 42</param>
public static void SetValue(this INumberEntityCore target, string? value = null)
{
target.CallService("set_value", new NumberSetValueParameters { Value = value });
}
///<summary>Sets the value of a number.</summary>
///<param name="target">The IEnumerable&lt;INumberEntityCore&gt; to call this service for</param>
///<param name="value">The target value to set. eg: 42</param>
public static void SetValue(this IEnumerable<INumberEntityCore> target, string? value = null)
{
target.CallService("set_value", new NumberSetValueParameters { Value = value });
}
}
public static class RemoteEntityExtensionMethods
{
///<summary>Deletes a command or a list of commands from the database.</summary>
public static void DeleteCommand(this IRemoteEntityCore target, RemoteDeleteCommandParameters data)
{
target.CallService("delete_command", data);
}
///<summary>Deletes a command or a list of commands from the database.</summary>
public static void DeleteCommand(this IEnumerable<IRemoteEntityCore> target, RemoteDeleteCommandParameters data)
{
target.CallService("delete_command", data);
}
///<summary>Deletes a command or a list of commands from the database.</summary>
///<param name="target">The IRemoteEntityCore to call this service for</param>
///<param name="device">Device from which commands will be deleted. eg: television</param>
///<param name="command">The single command or the list of commands to be deleted. eg: Mute</param>
public static void DeleteCommand(this IRemoteEntityCore target, object command, string? device = null)
{
target.CallService("delete_command", new RemoteDeleteCommandParameters { Device = device, Command = command });
}
///<summary>Deletes a command or a list of commands from the database.</summary>
///<param name="target">The IEnumerable&lt;IRemoteEntityCore&gt; to call this service for</param>
///<param name="device">Device from which commands will be deleted. eg: television</param>
///<param name="command">The single command or the list of commands to be deleted. eg: Mute</param>
public static void DeleteCommand(this IEnumerable<IRemoteEntityCore> target, object command, string? device = null)
{
target.CallService("delete_command", new RemoteDeleteCommandParameters { Device = device, Command = command });
}
///<summary>Learns a command or a list of commands from a device.</summary>
public static void LearnCommand(this IRemoteEntityCore target, RemoteLearnCommandParameters data)
{
target.CallService("learn_command", data);
}
///<summary>Learns a command or a list of commands from a device.</summary>
public static void LearnCommand(this IEnumerable<IRemoteEntityCore> target, RemoteLearnCommandParameters data)
{
target.CallService("learn_command", data);
}
///<summary>Learns a command or a list of commands from a device.</summary>
///<param name="target">The IRemoteEntityCore to call this service for</param>
///<param name="device">Device ID to learn command from. eg: television</param>
///<param name="command">A single command or a list of commands to learn. eg: Turn on</param>
///<param name="commandType">The type of command to be learned.</param>
///<param name="alternative">If code must be stored as an alternative. This is useful for discrete codes. Discrete codes are used for toggles that only perform one function. For example, a code to only turn a device on. If it is on already, sending the code won&apos;t change the state.</param>
///<param name="timeout">Timeout for the command to be learned.</param>
public static void LearnCommand(this IRemoteEntityCore target, string? device = null, object? command = null, object? commandType = null, bool? alternative = null, long? timeout = null)
{
target.CallService("learn_command", new RemoteLearnCommandParameters { Device = device, Command = command, CommandType = commandType, Alternative = alternative, Timeout = timeout });
}
///<summary>Learns a command or a list of commands from a device.</summary>
///<param name="target">The IEnumerable&lt;IRemoteEntityCore&gt; to call this service for</param>
///<param name="device">Device ID to learn command from. eg: television</param>
///<param name="command">A single command or a list of commands to learn. eg: Turn on</param>
///<param name="commandType">The type of command to be learned.</param>
///<param name="alternative">If code must be stored as an alternative. This is useful for discrete codes. Discrete codes are used for toggles that only perform one function. For example, a code to only turn a device on. If it is on already, sending the code won&apos;t change the state.</param>
///<param name="timeout">Timeout for the command to be learned.</param>
public static void LearnCommand(this IEnumerable<IRemoteEntityCore> target, string? device = null, object? command = null, object? commandType = null, bool? alternative = null, long? timeout = null)
{
target.CallService("learn_command", new RemoteLearnCommandParameters { Device = device, Command = command, CommandType = commandType, Alternative = alternative, Timeout = timeout });
}
///<summary>Sends a command or a list of commands to a device.</summary>
public static void SendCommand(this IRemoteEntityCore target, RemoteSendCommandParameters data)
{
target.CallService("send_command", data);
}
///<summary>Sends a command or a list of commands to a device.</summary>
public static void SendCommand(this IEnumerable<IRemoteEntityCore> target, RemoteSendCommandParameters data)
{
target.CallService("send_command", data);
}
///<summary>Sends a command or a list of commands to a device.</summary>
///<param name="target">The IRemoteEntityCore to call this service for</param>
///<param name="device">Device ID to send command to. eg: 32756745</param>
///<param name="command">A single command or a list of commands to send. eg: Play</param>
///<param name="numRepeats">The number of times you want to repeat the commands.</param>
///<param name="delaySecs">The time you want to wait in between repeated commands.</param>
///<param name="holdSecs">The time you want to have it held before the release is send.</param>
public static void SendCommand(this IRemoteEntityCore target, object command, string? device = null, double? numRepeats = null, double? delaySecs = null, double? holdSecs = null)
{
target.CallService("send_command", new RemoteSendCommandParameters { Device = device, Command = command, NumRepeats = numRepeats, DelaySecs = delaySecs, HoldSecs = holdSecs });
}
///<summary>Sends a command or a list of commands to a device.</summary>
///<param name="target">The IEnumerable&lt;IRemoteEntityCore&gt; to call this service for</param>
///<param name="device">Device ID to send command to. eg: 32756745</param>
///<param name="command">A single command or a list of commands to send. eg: Play</param>
///<param name="numRepeats">The number of times you want to repeat the commands.</param>
///<param name="delaySecs">The time you want to wait in between repeated commands.</param>
///<param name="holdSecs">The time you want to have it held before the release is send.</param>
public static void SendCommand(this IEnumerable<IRemoteEntityCore> target, object command, string? device = null, double? numRepeats = null, double? delaySecs = null, double? holdSecs = null)
{
target.CallService("send_command", new RemoteSendCommandParameters { Device = device, Command = command, NumRepeats = numRepeats, DelaySecs = delaySecs, HoldSecs = holdSecs });
}
///<summary>Toggles a device on/off.</summary>
public static void Toggle(this IRemoteEntityCore target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Toggles a device on/off.</summary>
public static void Toggle(this IEnumerable<IRemoteEntityCore> target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Turns the device off.</summary>
public static void TurnOff(this IRemoteEntityCore target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Turns the device off.</summary>
public static void TurnOff(this IEnumerable<IRemoteEntityCore> target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Sends the power on command.</summary>
public static void TurnOn(this IRemoteEntityCore target, RemoteTurnOnParameters data)
{
target.CallService("turn_on", data);
}
///<summary>Sends the power on command.</summary>
public static void TurnOn(this IEnumerable<IRemoteEntityCore> target, RemoteTurnOnParameters data)
{
target.CallService("turn_on", data);
}
///<summary>Sends the power on command.</summary>
///<param name="target">The IRemoteEntityCore to call this service for</param>
///<param name="activity">Activity ID or activity name to be started. eg: BedroomTV</param>
public static void TurnOn(this IRemoteEntityCore target, string? activity = null)
{
target.CallService("turn_on", new RemoteTurnOnParameters { Activity = activity });
}
///<summary>Sends the power on command.</summary>
///<param name="target">The IEnumerable&lt;IRemoteEntityCore&gt; to call this service for</param>
///<param name="activity">Activity ID or activity name to be started. eg: BedroomTV</param>
public static void TurnOn(this IEnumerable<IRemoteEntityCore> target, string? activity = null)
{
target.CallService("turn_on", new RemoteTurnOnParameters { Activity = activity });
}
}
public static class ScriptEntityExtensionMethods
{
///<summary>Toggle a script. Starts it, if isn&apos;t running, stops it otherwise.</summary>
public static void Toggle(this IScriptEntityCore target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Toggle a script. Starts it, if isn&apos;t running, stops it otherwise.</summary>
public static void Toggle(this IEnumerable<IScriptEntityCore> target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Stops a running script.</summary>
public static void TurnOff(this IScriptEntityCore target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Stops a running script.</summary>
public static void TurnOff(this IEnumerable<IScriptEntityCore> target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Runs the sequence of actions defined in a script.</summary>
public static void TurnOn(this IScriptEntityCore target, object? data = null)
{
target.CallService("turn_on", data);
}
///<summary>Runs the sequence of actions defined in a script.</summary>
public static void TurnOn(this IEnumerable<IScriptEntityCore> target, object? data = null)
{
target.CallService("turn_on", data);
}
}
public static class SelectEntityExtensionMethods
{
///<summary>Selects the first option.</summary>
public static void SelectFirst(this ISelectEntityCore target, object? data = null)
{
target.CallService("select_first", data);
}
///<summary>Selects the first option.</summary>
public static void SelectFirst(this IEnumerable<ISelectEntityCore> target, object? data = null)
{
target.CallService("select_first", data);
}
///<summary>Selects the last option.</summary>
public static void SelectLast(this ISelectEntityCore target, object? data = null)
{
target.CallService("select_last", data);
}
///<summary>Selects the last option.</summary>
public static void SelectLast(this IEnumerable<ISelectEntityCore> target, object? data = null)
{
target.CallService("select_last", data);
}
///<summary>Selects the next option.</summary>
public static void SelectNext(this ISelectEntityCore target, SelectSelectNextParameters data)
{
target.CallService("select_next", data);
}
///<summary>Selects the next option.</summary>
public static void SelectNext(this IEnumerable<ISelectEntityCore> target, SelectSelectNextParameters data)
{
target.CallService("select_next", data);
}
///<summary>Selects the next option.</summary>
///<param name="target">The ISelectEntityCore to call this service for</param>
///<param name="cycle">If the option should cycle from the last to the first.</param>
public static void SelectNext(this ISelectEntityCore target, bool? cycle = null)
{
target.CallService("select_next", new SelectSelectNextParameters { Cycle = cycle });
}
///<summary>Selects the next option.</summary>
///<param name="target">The IEnumerable&lt;ISelectEntityCore&gt; to call this service for</param>
///<param name="cycle">If the option should cycle from the last to the first.</param>
public static void SelectNext(this IEnumerable<ISelectEntityCore> target, bool? cycle = null)
{
target.CallService("select_next", new SelectSelectNextParameters { Cycle = cycle });
}
///<summary>Selects an option.</summary>
public static void SelectOption(this ISelectEntityCore target, SelectSelectOptionParameters data)
{
target.CallService("select_option", data);
}
///<summary>Selects an option.</summary>
public static void SelectOption(this IEnumerable<ISelectEntityCore> target, SelectSelectOptionParameters data)
{
target.CallService("select_option", data);
}
///<summary>Selects an option.</summary>
///<param name="target">The ISelectEntityCore to call this service for</param>
///<param name="option">Option to be selected. eg: &quot;Item A&quot;</param>
public static void SelectOption(this ISelectEntityCore target, string option)
{
target.CallService("select_option", new SelectSelectOptionParameters { Option = option });
}
///<summary>Selects an option.</summary>
///<param name="target">The IEnumerable&lt;ISelectEntityCore&gt; to call this service for</param>
///<param name="option">Option to be selected. eg: &quot;Item A&quot;</param>
public static void SelectOption(this IEnumerable<ISelectEntityCore> target, string option)
{
target.CallService("select_option", new SelectSelectOptionParameters { Option = option });
}
///<summary>Selects the previous option.</summary>
public static void SelectPrevious(this ISelectEntityCore target, SelectSelectPreviousParameters data)
{
target.CallService("select_previous", data);
}
///<summary>Selects the previous option.</summary>
public static void SelectPrevious(this IEnumerable<ISelectEntityCore> target, SelectSelectPreviousParameters data)
{
target.CallService("select_previous", data);
}
///<summary>Selects the previous option.</summary>
///<param name="target">The ISelectEntityCore to call this service for</param>
///<param name="cycle">If the option should cycle from the first to the last.</param>
public static void SelectPrevious(this ISelectEntityCore target, bool? cycle = null)
{
target.CallService("select_previous", new SelectSelectPreviousParameters { Cycle = cycle });
}
///<summary>Selects the previous option.</summary>
///<param name="target">The IEnumerable&lt;ISelectEntityCore&gt; to call this service for</param>
///<param name="cycle">If the option should cycle from the first to the last.</param>
public static void SelectPrevious(this IEnumerable<ISelectEntityCore> target, bool? cycle = null)
{
target.CallService("select_previous", new SelectSelectPreviousParameters { Cycle = cycle });
}
}
public static class SwitchEntityExtensionMethods
{
///<summary>Toggles a switch on/off.</summary>
public static void Toggle(this ISwitchEntityCore target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Toggles a switch on/off.</summary>
public static void Toggle(this IEnumerable<ISwitchEntityCore> target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Turns a switch off.</summary>
public static void TurnOff(this ISwitchEntityCore target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Turns a switch off.</summary>
public static void TurnOff(this IEnumerable<ISwitchEntityCore> target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Turns a switch on.</summary>
public static void TurnOn(this ISwitchEntityCore target, object? data = null)
{
target.CallService("turn_on", data);
}
///<summary>Turns a switch on.</summary>
public static void TurnOn(this IEnumerable<ISwitchEntityCore> target, object? data = null)
{
target.CallService("turn_on", data);
}
}
public static class TimerEntityExtensionMethods
{
///<summary>Cancels a timer.</summary>
public static void Cancel(this ITimerEntityCore target, object? data = null)
{
target.CallService("cancel", data);
}
///<summary>Cancels a timer.</summary>
public static void Cancel(this IEnumerable<ITimerEntityCore> target, object? data = null)
{
target.CallService("cancel", data);
}
///<summary>Changes a timer.</summary>
public static void Change(this ITimerEntityCore target, TimerChangeParameters data)
{
target.CallService("change", data);
}
///<summary>Changes a timer.</summary>
public static void Change(this IEnumerable<ITimerEntityCore> target, TimerChangeParameters data)
{
target.CallService("change", data);
}
///<summary>Changes a timer.</summary>
///<param name="target">The ITimerEntityCore to call this service for</param>
///<param name="duration">Duration to add or subtract to the running timer. eg: 00:01:00, 60 or -60</param>
public static void Change(this ITimerEntityCore target, string duration)
{
target.CallService("change", new TimerChangeParameters { Duration = duration });
}
///<summary>Changes a timer.</summary>
///<param name="target">The IEnumerable&lt;ITimerEntityCore&gt; to call this service for</param>
///<param name="duration">Duration to add or subtract to the running timer. eg: 00:01:00, 60 or -60</param>
public static void Change(this IEnumerable<ITimerEntityCore> target, string duration)
{
target.CallService("change", new TimerChangeParameters { Duration = duration });
}
///<summary>Finishes a timer.</summary>
public static void Finish(this ITimerEntityCore target, object? data = null)
{
target.CallService("finish", data);
}
///<summary>Finishes a timer.</summary>
public static void Finish(this IEnumerable<ITimerEntityCore> target, object? data = null)
{
target.CallService("finish", data);
}
///<summary>Pauses a timer.</summary>
public static void Pause(this ITimerEntityCore target, object? data = null)
{
target.CallService("pause", data);
}
///<summary>Pauses a timer.</summary>
public static void Pause(this IEnumerable<ITimerEntityCore> target, object? data = null)
{
target.CallService("pause", data);
}
///<summary>Starts a timer.</summary>
public static void Start(this ITimerEntityCore target, TimerStartParameters data)
{
target.CallService("start", data);
}
///<summary>Starts a timer.</summary>
public static void Start(this IEnumerable<ITimerEntityCore> target, TimerStartParameters data)
{
target.CallService("start", data);
}
///<summary>Starts a timer.</summary>
///<param name="target">The ITimerEntityCore to call this service for</param>
///<param name="duration">Duration the timer requires to finish. [optional]. eg: 00:01:00 or 60</param>
public static void Start(this ITimerEntityCore target, string? duration = null)
{
target.CallService("start", new TimerStartParameters { Duration = duration });
}
///<summary>Starts a timer.</summary>
///<param name="target">The IEnumerable&lt;ITimerEntityCore&gt; to call this service for</param>
///<param name="duration">Duration the timer requires to finish. [optional]. eg: 00:01:00 or 60</param>
public static void Start(this IEnumerable<ITimerEntityCore> target, string? duration = null)
{
target.CallService("start", new TimerStartParameters { Duration = duration });
}
}
public static class TodoEntityExtensionMethods
{
///<summary>Add a new to-do list item.</summary>
public static void AddItem(this TodoEntity target, TodoAddItemParameters data)
{
target.CallService("add_item", data);
}
///<summary>Add a new to-do list item.</summary>
public static void AddItem(this IEnumerable<TodoEntity> target, TodoAddItemParameters data)
{
target.CallService("add_item", data);
}
///<summary>Add a new to-do list item.</summary>
///<param name="target">The TodoEntity to call this service for</param>
///<param name="item">The name that represents the to-do item. eg: Submit income tax return</param>
///<param name="dueDate">The date the to-do item is expected to be completed. eg: 2023-11-17</param>
///<param name="dueDatetime">The date and time the to-do item is expected to be completed. eg: 2023-11-17 13:30:00</param>
///<param name="description">A more complete description of the to-do item than provided by the item name. eg: A more complete description of the to-do item than that provided by the summary.</param>
public static void AddItem(this TodoEntity target, string item, DateOnly? dueDate = null, DateTime? dueDatetime = null, string? description = null)
{
target.CallService("add_item", new TodoAddItemParameters { Item = item, DueDate = dueDate, DueDatetime = dueDatetime, Description = description });
}
///<summary>Add a new to-do list item.</summary>
///<param name="target">The IEnumerable&lt;TodoEntity&gt; to call this service for</param>
///<param name="item">The name that represents the to-do item. eg: Submit income tax return</param>
///<param name="dueDate">The date the to-do item is expected to be completed. eg: 2023-11-17</param>
///<param name="dueDatetime">The date and time the to-do item is expected to be completed. eg: 2023-11-17 13:30:00</param>
///<param name="description">A more complete description of the to-do item than provided by the item name. eg: A more complete description of the to-do item than that provided by the summary.</param>
public static void AddItem(this IEnumerable<TodoEntity> target, string item, DateOnly? dueDate = null, DateTime? dueDatetime = null, string? description = null)
{
target.CallService("add_item", new TodoAddItemParameters { Item = item, DueDate = dueDate, DueDatetime = dueDatetime, Description = description });
}
///<summary>Get items on a to-do list.</summary>
public static Task<JsonElement?> GetItemsAsync(this TodoEntity target, TodoGetItemsParameters data)
{
return target.CallServiceWithResponseAsync("get_items", data);
}
///<summary>Get items on a to-do list.</summary>
///<param name="target">The TodoEntity to call this service for</param>
///<param name="status">Only return to-do items with the specified statuses. Returns not completed actions by default. eg: needs_action</param>
public static Task<JsonElement?> GetItemsAsync(this TodoEntity target, IEnumerable<object>? status = null)
{
return target.CallServiceWithResponseAsync("get_items", new TodoGetItemsParameters { Status = status });
}
///<summary>Get items on a to-do list.</summary>
public static void GetItems(this TodoEntity target, TodoGetItemsParameters data)
{
target.CallService("get_items", data);
}
///<summary>Get items on a to-do list.</summary>
public static void GetItems(this IEnumerable<TodoEntity> target, TodoGetItemsParameters data)
{
target.CallService("get_items", data);
}
///<summary>Get items on a to-do list.</summary>
///<param name="target">The TodoEntity to call this service for</param>
///<param name="status">Only return to-do items with the specified statuses. Returns not completed actions by default. eg: needs_action</param>
public static void GetItems(this TodoEntity target, IEnumerable<object>? status = null)
{
target.CallService("get_items", new TodoGetItemsParameters { Status = status });
}
///<summary>Get items on a to-do list.</summary>
///<param name="target">The IEnumerable&lt;TodoEntity&gt; to call this service for</param>
///<param name="status">Only return to-do items with the specified statuses. Returns not completed actions by default. eg: needs_action</param>
public static void GetItems(this IEnumerable<TodoEntity> target, IEnumerable<object>? status = null)
{
target.CallService("get_items", new TodoGetItemsParameters { Status = status });
}
///<summary>Remove all to-do list items that have been completed.</summary>
public static void RemoveCompletedItems(this TodoEntity target, object? data = null)
{
target.CallService("remove_completed_items", data);
}
///<summary>Remove all to-do list items that have been completed.</summary>
public static void RemoveCompletedItems(this IEnumerable<TodoEntity> target, object? data = null)
{
target.CallService("remove_completed_items", data);
}
///<summary>Remove an existing to-do list item by its name.</summary>
public static void RemoveItem(this TodoEntity target, TodoRemoveItemParameters data)
{
target.CallService("remove_item", data);
}
///<summary>Remove an existing to-do list item by its name.</summary>
public static void RemoveItem(this IEnumerable<TodoEntity> target, TodoRemoveItemParameters data)
{
target.CallService("remove_item", data);
}
///<summary>Remove an existing to-do list item by its name.</summary>
///<param name="target">The TodoEntity to call this service for</param>
///<param name="item">The name for the to-do list items.</param>
public static void RemoveItem(this TodoEntity target, string item)
{
target.CallService("remove_item", new TodoRemoveItemParameters { Item = item });
}
///<summary>Remove an existing to-do list item by its name.</summary>
///<param name="target">The IEnumerable&lt;TodoEntity&gt; to call this service for</param>
///<param name="item">The name for the to-do list items.</param>
public static void RemoveItem(this IEnumerable<TodoEntity> target, string item)
{
target.CallService("remove_item", new TodoRemoveItemParameters { Item = item });
}
///<summary>Update an existing to-do list item based on its name.</summary>
public static void UpdateItem(this TodoEntity target, TodoUpdateItemParameters data)
{
target.CallService("update_item", data);
}
///<summary>Update an existing to-do list item based on its name.</summary>
public static void UpdateItem(this IEnumerable<TodoEntity> target, TodoUpdateItemParameters data)
{
target.CallService("update_item", data);
}
///<summary>Update an existing to-do list item based on its name.</summary>
///<param name="target">The TodoEntity to call this service for</param>
///<param name="item">The name for the to-do list item. eg: Submit income tax return</param>
///<param name="rename">The new name of the to-do item eg: Something else</param>
///<param name="status">A status or confirmation of the to-do item. eg: needs_action</param>
///<param name="dueDate">The date the to-do item is expected to be completed. eg: 2023-11-17</param>
///<param name="dueDatetime">The date and time the to-do item is expected to be completed. eg: 2023-11-17 13:30:00</param>
///<param name="description">A more complete description of the to-do item than provided by the item name. eg: A more complete description of the to-do item than that provided by the summary.</param>
public static void UpdateItem(this TodoEntity target, string item, string? rename = null, object? status = null, DateOnly? dueDate = null, DateTime? dueDatetime = null, string? description = null)
{
target.CallService("update_item", new TodoUpdateItemParameters { Item = item, Rename = rename, Status = status, DueDate = dueDate, DueDatetime = dueDatetime, Description = description });
}
///<summary>Update an existing to-do list item based on its name.</summary>
///<param name="target">The IEnumerable&lt;TodoEntity&gt; to call this service for</param>
///<param name="item">The name for the to-do list item. eg: Submit income tax return</param>
///<param name="rename">The new name of the to-do item eg: Something else</param>
///<param name="status">A status or confirmation of the to-do item. eg: needs_action</param>
///<param name="dueDate">The date the to-do item is expected to be completed. eg: 2023-11-17</param>
///<param name="dueDatetime">The date and time the to-do item is expected to be completed. eg: 2023-11-17 13:30:00</param>
///<param name="description">A more complete description of the to-do item than provided by the item name. eg: A more complete description of the to-do item than that provided by the summary.</param>
public static void UpdateItem(this IEnumerable<TodoEntity> target, string item, string? rename = null, object? status = null, DateOnly? dueDate = null, DateTime? dueDatetime = null, string? description = null)
{
target.CallService("update_item", new TodoUpdateItemParameters { Item = item, Rename = rename, Status = status, DueDate = dueDate, DueDatetime = dueDatetime, Description = description });
}
}
public static class TtsEntityExtensionMethods
{
///<summary>Speaks something using text-to-speech on a media player.</summary>
public static void Speak(this TtsEntity target, TtsSpeakParameters data)
{
target.CallService("speak", data);
}
///<summary>Speaks something using text-to-speech on a media player.</summary>
public static void Speak(this IEnumerable<TtsEntity> target, TtsSpeakParameters data)
{
target.CallService("speak", data);
}
///<summary>Speaks something using text-to-speech on a media player.</summary>
///<param name="target">The TtsEntity to call this service for</param>
///<param name="mediaPlayerEntityId">Media players to play the message.</param>
///<param name="message">The text you want to convert into speech so that you can listen to it on your device. eg: My name is hanna</param>
///<param name="cache">Stores this message locally so that when the text is requested again, the output can be produced more quickly.</param>
///<param name="language">Language to use for speech generation. eg: ru</param>
///<param name="options">A dictionary containing integration-specific options. eg: platform specific</param>
public static void Speak(this TtsEntity target, string mediaPlayerEntityId, string message, bool? cache = null, string? language = null, object? options = null)
{
target.CallService("speak", new TtsSpeakParameters { MediaPlayerEntityId = mediaPlayerEntityId, Message = message, Cache = cache, Language = language, Options = options });
}
///<summary>Speaks something using text-to-speech on a media player.</summary>
///<param name="target">The IEnumerable&lt;TtsEntity&gt; to call this service for</param>
///<param name="mediaPlayerEntityId">Media players to play the message.</param>
///<param name="message">The text you want to convert into speech so that you can listen to it on your device. eg: My name is hanna</param>
///<param name="cache">Stores this message locally so that when the text is requested again, the output can be produced more quickly.</param>
///<param name="language">Language to use for speech generation. eg: ru</param>
///<param name="options">A dictionary containing integration-specific options. eg: platform specific</param>
public static void Speak(this IEnumerable<TtsEntity> target, string mediaPlayerEntityId, string message, bool? cache = null, string? language = null, object? options = null)
{
target.CallService("speak", new TtsSpeakParameters { MediaPlayerEntityId = mediaPlayerEntityId, Message = message, Cache = cache, Language = language, Options = options });
}
}
public static class WeatherEntityExtensionMethods
{
///<summary>Get weather forecasts.</summary>
public static Task<JsonElement?> GetForecastsAsync(this IWeatherEntityCore target, WeatherGetForecastsParameters data)
{
return target.CallServiceWithResponseAsync("get_forecasts", data);
}
///<summary>Get weather forecasts.</summary>
///<param name="target">The IWeatherEntityCore to call this service for</param>
///<param name="type">Forecast type: daily, hourly or twice daily.</param>
public static Task<JsonElement?> GetForecastsAsync(this IWeatherEntityCore target, object @type)
{
return target.CallServiceWithResponseAsync("get_forecasts", new WeatherGetForecastsParameters { Type = @type });
}
///<summary>Get weather forecasts.</summary>
public static void GetForecasts(this IWeatherEntityCore target, WeatherGetForecastsParameters data)
{
target.CallService("get_forecasts", data);
}
///<summary>Get weather forecasts.</summary>
public static void GetForecasts(this IEnumerable<IWeatherEntityCore> target, WeatherGetForecastsParameters data)
{
target.CallService("get_forecasts", data);
}
///<summary>Get weather forecasts.</summary>
///<param name="target">The IWeatherEntityCore to call this service for</param>
///<param name="type">Forecast type: daily, hourly or twice daily.</param>
public static void GetForecasts(this IWeatherEntityCore target, object @type)
{
target.CallService("get_forecasts", new WeatherGetForecastsParameters { Type = @type });
}
///<summary>Get weather forecasts.</summary>
///<param name="target">The IEnumerable&lt;IWeatherEntityCore&gt; to call this service for</param>
///<param name="type">Forecast type: daily, hourly or twice daily.</param>
public static void GetForecasts(this IEnumerable<IWeatherEntityCore> target, object @type)
{
target.CallService("get_forecasts", new WeatherGetForecastsParameters { Type = @type });
}
}