Hi,
ich habe nochmals eine Nacht drüber geschlafen, und bin zu folgenem Ergebnis gekommen.
2 Felder im Formular:
- Lieblingssender --> Name des Radiosenders
- WebFront Sender --> „<alle>“ oder eine Kommaseparierte Liste
Alle:
nur Zwei Sender:
Neben der gelben Einfärbung des Favoriten besteht so auch die Möglichkeit zu:
SNS_SetRadioFavorite(48567 /*[Sonos Gäste]*/ );
Leider verzweifle ich etwas mit den VariableProfileAssociation.
Es werden halt immer nur welche dazugenommen, und keine Entfernt. Daher habe ich keine andere Möglichkeit gesehen als das Profil jedes Mal zu löschen und wieder anzulegen:
protected function RegisterProfileInteger($Name, $Icon, $Prefix, $Suffix, $MinValue, $MaxValue, $StepSize) {
if(IPS_VariableProfileExists($Name)) {
IPS_DeleteVariableProfile($Name);
}
IPS_CreateVariableProfile($Name, 1);
IPS_SetVariableProfileIcon($Name, $Icon);
IPS_SetVariableProfileText($Name, $Prefix, $Suffix);
IPS_SetVariableProfileValues($Name, $MinValue, $MaxValue, $StepSize);
}
protected function RegisterProfileIntegerEx($Name, $Icon, $Prefix, $Suffix, $Associations) {
if ( sizeof($Associations) === 0 ){
$MinValue = 0;
$MaxValue = 0;
} else {
$MinValue = $Associations[0][0];
$MaxValue = $Associations[sizeof($Associations)-1][0];
}
$this->RegisterProfileInteger($Name, $Icon, $Prefix, $Suffix, $MinValue, $MaxValue, 0);
foreach($Associations as $Association) {
IPS_SetVariableProfileAssociation($Name, $Association[0], $Association[1], $Association[2], $Association[3]);
}
}
Da ich es extrem unschön finde, wäre ich für einen eleganteren Weg dankbar. Irgendwelche Vorschläge?
Danke,
Thorsten