mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
IPv6 support (#1369)
* hyperion-remote - Support IPv6 * LEDDevices - Remove IPv6 limitations * Separate JsonEditorHostValidation * Standalone grabbers & JSON/Flatbuffer forwarder: IPv6 support * remote: Fix setting multiple colors via Hex, add standard logging * IPv6 Updates -Add db migration activities * Addressing non-Windows compile issues * Code cleanup, address clang feedback * Update address (hostname, IPv4/IPv6) help text * Apply migration steps to "old" configurations imported * Show user the UI-Url, if hyperion is already running, address clang findings * Windows Cmake OpenSLL output * Minor Text update
This commit is contained in:
@@ -1112,11 +1112,7 @@ bool LedDeviceYeelight::init(const QJsonObject &deviceConfig)
|
||||
QString hostName = configuredYeelightLights[j].toObject().value("host").toString();
|
||||
int port = configuredYeelightLights[j].toObject().value("port").toInt(API_DEFAULT_PORT);
|
||||
|
||||
QStringList addressparts = QStringUtils::split(hostName,":", QStringUtils::SplitBehavior::SkipEmptyParts);
|
||||
QString apiHost = addressparts[0];
|
||||
int apiPort = port;
|
||||
|
||||
_lightsAddressList.append( {apiHost, apiPort} );
|
||||
_lightsAddressList.append( { hostName, port} );
|
||||
}
|
||||
|
||||
if ( updateLights(_lightsAddressList) )
|
||||
@@ -1150,19 +1146,19 @@ bool LedDeviceYeelight::startMusicModeServer()
|
||||
}
|
||||
else
|
||||
{
|
||||
QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
|
||||
// use the first non-localhost IPv4 address
|
||||
for (int i = 0; i < ipAddressesList.size(); ++i) {
|
||||
if (ipAddressesList.at(i) != QHostAddress::LocalHost &&
|
||||
(ipAddressesList.at(i).toIPv4Address() != 0U))
|
||||
// use the first non-localhost IPv4 address, IPv6 are not supported by Yeelight currently
|
||||
for (const auto& address : QNetworkInterface::allAddresses())
|
||||
{
|
||||
// is valid when, no loopback, IPv4
|
||||
if (!address.isLoopback() && (address.protocol() == QAbstractSocket::IPv4Protocol))
|
||||
{
|
||||
_musicModeServerAddress = ipAddressesList.at(i);
|
||||
_musicModeServerAddress = address;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( _musicModeServerAddress.isNull() )
|
||||
if (_musicModeServerAddress.isNull())
|
||||
{
|
||||
Error( _log, "Failed to resolve IP for music mode server");
|
||||
Error(_log, "Failed to resolve IP for music mode server");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user