[freeboxos] Remove macAddress as thing configuration parameter (#17088)
For server, revolution, player, active-player, repeater and vm thing types Replace it by a thing property. Fix #17076 Signed-off-by: Laurent Garnier <lg.hc@free.fr>pull/17198/head^2
parent
8c29b5973e
commit
149992859e
|
@ -85,14 +85,12 @@ public abstract class ApiConsumerHandler extends BaseThingHandler implements Api
|
||||||
|
|
||||||
private void initializeOnceBridgeOnline(FreeboxOsHandler bridgeHandler) {
|
private void initializeOnceBridgeOnline(FreeboxOsHandler bridgeHandler) {
|
||||||
Map<String, String> properties = editProperties();
|
Map<String, String> properties = editProperties();
|
||||||
if (properties.isEmpty()) {
|
try {
|
||||||
try {
|
initializeProperties(properties);
|
||||||
initializeProperties(properties);
|
checkAirMediaCapabilities(properties);
|
||||||
checkAirMediaCapabilities(properties);
|
updateProperties(properties);
|
||||||
updateProperties(properties);
|
} catch (FreeboxException e) {
|
||||||
} catch (FreeboxException e) {
|
logger.warn("Error getting thing {} properties: {}", thing.getUID(), e.getMessage());
|
||||||
logger.warn("Error getting thing {} properties: {}", thing.getUID(), e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isAudioReceiver = Boolean.parseBoolean(properties.get(MediaType.AUDIO.name()));
|
boolean isAudioReceiver = Boolean.parseBoolean(properties.get(MediaType.AUDIO.name()));
|
||||||
|
|
|
@ -55,8 +55,11 @@ public interface ApiConsumerIntf extends ThingHandler {
|
||||||
return ((BigDecimal) getConfig().get(ClientConfiguration.ID)).intValue();
|
return ((BigDecimal) getConfig().get(ClientConfiguration.ID)).intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
default MACAddress getMac() {
|
default @Nullable MACAddress getMac() {
|
||||||
String mac = (String) getConfig().get(Thing.PROPERTY_MAC_ADDRESS);
|
String mac = (String) getConfig().get(Thing.PROPERTY_MAC_ADDRESS);
|
||||||
return new MACAddressString(mac).getAddress();
|
if (mac == null) {
|
||||||
|
mac = editProperties().get(Thing.PROPERTY_MAC_ADDRESS);
|
||||||
|
}
|
||||||
|
return mac == null ? null : new MACAddressString(mac).getAddress();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,8 @@ import org.openhab.core.thing.binding.ThingHandlerService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import inet.ipaddr.mac.MACAddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link FreeplugHandler} is responsible for handling everything associated to a
|
* The {@link FreeplugHandler} is responsible for handling everything associated to a
|
||||||
* powerline gateway managed by the freebox server
|
* powerline gateway managed by the freebox server
|
||||||
|
@ -49,7 +51,13 @@ public class FreeplugHandler extends ApiConsumerHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void initializeProperties(Map<String, String> properties) throws FreeboxException {
|
void initializeProperties(Map<String, String> properties) throws FreeboxException {
|
||||||
getManager(FreeplugManager.class).getPlug(getMac()).ifPresent(plug -> {
|
MACAddress mac = getMac();
|
||||||
|
if (mac == null) {
|
||||||
|
throw new FreeboxException(
|
||||||
|
"initializeProperties is not possible because MAC address is undefined for the thing "
|
||||||
|
+ thing.getUID());
|
||||||
|
}
|
||||||
|
getManager(FreeplugManager.class).getPlug(mac).ifPresent(plug -> {
|
||||||
properties.put(Thing.PROPERTY_MODEL_ID, plug.model());
|
properties.put(Thing.PROPERTY_MODEL_ID, plug.model());
|
||||||
properties.put(ROLE, plug.netRole().name());
|
properties.put(ROLE, plug.netRole().name());
|
||||||
properties.put(NET_ID, plug.netId());
|
properties.put(NET_ID, plug.netId());
|
||||||
|
@ -59,15 +67,23 @@ public class FreeplugHandler extends ApiConsumerHandler {
|
||||||
|
|
||||||
if (plug.local()) { // Plug connected to the freebox does not provide rate up or down
|
if (plug.local()) { // Plug connected to the freebox does not provide rate up or down
|
||||||
List<Channel> channels = new ArrayList<>(getThing().getChannels());
|
List<Channel> channels = new ArrayList<>(getThing().getChannels());
|
||||||
|
int nbInit = channels.size();
|
||||||
channels.removeIf(channel -> channel.getUID().getId().contains(RATE));
|
channels.removeIf(channel -> channel.getUID().getId().contains(RATE));
|
||||||
updateThing(editThing().withChannels(channels).build());
|
if (nbInit != channels.size()) {
|
||||||
|
updateThing(editThing().withChannels(channels).build());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void internalPoll() throws FreeboxException {
|
protected void internalPoll() throws FreeboxException {
|
||||||
getManager(FreeplugManager.class).getPlug(getMac()).ifPresent(plug -> {
|
MACAddress mac = getMac();
|
||||||
|
if (mac == null) {
|
||||||
|
throw new FreeboxException(
|
||||||
|
"internalPoll is not possible because MAC address is undefined for the thing " + thing.getUID());
|
||||||
|
}
|
||||||
|
getManager(FreeplugManager.class).getPlug(mac).ifPresent(plug -> {
|
||||||
updateChannelDateTimeState(LAST_SEEN, ZonedDateTime.now().minusSeconds(plug.inactive()));
|
updateChannelDateTimeState(LAST_SEEN, ZonedDateTime.now().minusSeconds(plug.inactive()));
|
||||||
|
|
||||||
updateChannelString(LINE_STATUS, plug.ethPortStatus());
|
updateChannelString(LINE_STATUS, plug.ethPortStatus());
|
||||||
|
@ -84,11 +100,17 @@ public class FreeplugHandler extends ApiConsumerHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void reset() {
|
public void reset() {
|
||||||
|
MACAddress mac = getMac();
|
||||||
|
if (mac == null) {
|
||||||
|
logger.warn("Freeplug restart is not possible because MAC address is undefined for the thing {}",
|
||||||
|
thing.getUID());
|
||||||
|
return;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
getManager(FreeplugManager.class).reboot(getMac());
|
getManager(FreeplugManager.class).reboot(mac);
|
||||||
logger.debug("Freeplug {} succesfully restarted", getMac());
|
logger.debug("Freeplug {} succesfully restarted", mac);
|
||||||
} catch (FreeboxException e) {
|
} catch (FreeboxException e) {
|
||||||
logger.warn("Error restarting freeplug {}: {}", getMac(), e.getMessage());
|
logger.warn("Error restarting freeplug {}: {}", mac, e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,8 @@ import org.openhab.core.thing.binding.ThingHandlerService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import inet.ipaddr.mac.MACAddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link HostHandler} is responsible for all network equipments hosted on the network
|
* The {@link HostHandler} is responsible for all network equipments hosted on the network
|
||||||
*
|
*
|
||||||
|
@ -63,9 +65,10 @@ public class HostHandler extends ApiConsumerHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void cancelPushSubscription() {
|
protected void cancelPushSubscription() {
|
||||||
if (pushSubscribed) {
|
MACAddress mac = getMac();
|
||||||
|
if (pushSubscribed && mac != null) {
|
||||||
try {
|
try {
|
||||||
getManager(WebSocketManager.class).unregisterListener(getMac());
|
getManager(WebSocketManager.class).unregisterListener(mac);
|
||||||
} catch (FreeboxException e) {
|
} catch (FreeboxException e) {
|
||||||
logger.warn("Error unregistering host from the websocket: {}", e.getMessage());
|
logger.warn("Error unregistering host from the websocket: {}", e.getMessage());
|
||||||
}
|
}
|
||||||
|
@ -92,7 +95,12 @@ public class HostHandler extends ApiConsumerHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected LanHost getLanHost() throws FreeboxException {
|
protected LanHost getLanHost() throws FreeboxException {
|
||||||
return getManager(LanBrowserManager.class).getHost(getMac()).map(hostIntf -> hostIntf.host())
|
MACAddress mac = getMac();
|
||||||
|
if (mac == null) {
|
||||||
|
throw new FreeboxException(
|
||||||
|
"getLanHost is not possible because MAC address is undefined for the thing " + thing.getUID());
|
||||||
|
}
|
||||||
|
return getManager(LanBrowserManager.class).getHost(mac).map(hostIntf -> hostIntf.host())
|
||||||
.orElseThrow(() -> new FreeboxException("Host data not found"));
|
.orElseThrow(() -> new FreeboxException("Host data not found"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,9 +112,14 @@ public class HostHandler extends ApiConsumerHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void wol() {
|
public void wol() {
|
||||||
|
MACAddress mac = getMac();
|
||||||
|
if (mac == null) {
|
||||||
|
logger.warn("Waking up host is not possible because MAC address is undefined for the thing {}",
|
||||||
|
thing.getUID());
|
||||||
|
return;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
getManager(LanBrowserManager.class).wakeOnLan(getMac(),
|
getManager(LanBrowserManager.class).wakeOnLan(mac, getConfigAs(ApiConsumerConfiguration.class).password);
|
||||||
getConfigAs(ApiConsumerConfiguration.class).password);
|
|
||||||
} catch (FreeboxException e) {
|
} catch (FreeboxException e) {
|
||||||
logger.warn("Error waking up host: {}", e.getMessage());
|
logger.warn("Error waking up host: {}", e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,9 +57,12 @@ public class PlayerHandler extends HostHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void initializeProperties(Map<String, String> properties) throws FreeboxException {
|
void initializeProperties(Map<String, String> properties) throws FreeboxException {
|
||||||
super.initializeProperties(properties);
|
// We need to get and set the MAC address before calling super.initializeProperties
|
||||||
Player player = getManager(PlayerManager.class).getDevice(getClientId());
|
Player player = getManager(PlayerManager.class).getDevice(getClientId());
|
||||||
|
properties.put(Thing.PROPERTY_MAC_ADDRESS, player.mac().toColonDelimitedString());
|
||||||
properties.put(Thing.PROPERTY_MODEL_ID, player.deviceModel().name());
|
properties.put(Thing.PROPERTY_MODEL_ID, player.deviceModel().name());
|
||||||
|
updateProperties(properties);
|
||||||
|
super.initializeProperties(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -53,12 +53,14 @@ public class RepeaterHandler extends HostHandler implements FreeDeviceIntf {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void initializeProperties(Map<String, String> properties) throws FreeboxException {
|
void initializeProperties(Map<String, String> properties) throws FreeboxException {
|
||||||
super.initializeProperties(properties);
|
// We need to get and set the MAC address before calling super.initializeProperties
|
||||||
|
|
||||||
Repeater repeater = getManager(RepeaterManager.class).getDevice(getClientId());
|
Repeater repeater = getManager(RepeaterManager.class).getDevice(getClientId());
|
||||||
|
properties.put(Thing.PROPERTY_MAC_ADDRESS, repeater.mainMac().toColonDelimitedString());
|
||||||
properties.put(Thing.PROPERTY_SERIAL_NUMBER, repeater.sn());
|
properties.put(Thing.PROPERTY_SERIAL_NUMBER, repeater.sn());
|
||||||
properties.put(Thing.PROPERTY_FIRMWARE_VERSION, repeater.firmwareVersion());
|
properties.put(Thing.PROPERTY_FIRMWARE_VERSION, repeater.firmwareVersion());
|
||||||
properties.put(Thing.PROPERTY_MODEL_ID, repeater.model().name());
|
properties.put(Thing.PROPERTY_MODEL_ID, repeater.model().name());
|
||||||
|
updateProperties(properties);
|
||||||
|
super.initializeProperties(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -79,22 +79,30 @@ public class ServerHandler extends ApiConsumerHandler implements FreeDeviceIntf
|
||||||
properties.put(Thing.PROPERTY_SERIAL_NUMBER, config.serial());
|
properties.put(Thing.PROPERTY_SERIAL_NUMBER, config.serial());
|
||||||
properties.put(Thing.PROPERTY_FIRMWARE_VERSION, config.firmwareVersion());
|
properties.put(Thing.PROPERTY_FIRMWARE_VERSION, config.firmwareVersion());
|
||||||
properties.put(Thing.PROPERTY_HARDWARE_VERSION, config.modelInfo().prettyName());
|
properties.put(Thing.PROPERTY_HARDWARE_VERSION, config.modelInfo().prettyName());
|
||||||
|
properties.put(Thing.PROPERTY_MAC_ADDRESS, config.mac().toColonDelimitedString());
|
||||||
properties.put(Source.UPNP.name(), lanConfig.name());
|
properties.put(Source.UPNP.name(), lanConfig.name());
|
||||||
|
|
||||||
List<Channel> channels = new ArrayList<>(getThing().getChannels());
|
List<Channel> channels = new ArrayList<>(getThing().getChannels());
|
||||||
|
int nbInit = channels.size();
|
||||||
config.sensors().forEach(sensor -> {
|
config.sensors().forEach(sensor -> {
|
||||||
ChannelUID sensorId = new ChannelUID(thing.getUID(), GROUP_SENSORS, sensor.id());
|
ChannelUID sensorId = new ChannelUID(thing.getUID(), GROUP_SENSORS, sensor.id());
|
||||||
channels.add(
|
if (getThing().getChannel(sensorId) == null) {
|
||||||
ChannelBuilder.create(sensorId).withLabel(sensor.name()).withAcceptedItemType("Number:Temperature")
|
channels.add(ChannelBuilder.create(sensorId).withLabel(sensor.name())
|
||||||
.withType(new ChannelTypeUID(BINDING_ID + ":temperature")).build());
|
.withAcceptedItemType("Number:Temperature")
|
||||||
|
.withType(new ChannelTypeUID(BINDING_ID + ":temperature")).build());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
config.fans().forEach(sensor -> {
|
config.fans().forEach(sensor -> {
|
||||||
ChannelUID sensorId = new ChannelUID(thing.getUID(), GROUP_FANS, sensor.id());
|
ChannelUID sensorId = new ChannelUID(thing.getUID(), GROUP_FANS, sensor.id());
|
||||||
channels.add(ChannelBuilder.create(sensorId).withLabel(sensor.name())
|
if (getThing().getChannel(sensorId) == null) {
|
||||||
.withAcceptedItemType(CoreItemFactory.NUMBER).withType(new ChannelTypeUID(BINDING_ID + ":fanspeed"))
|
channels.add(ChannelBuilder.create(sensorId).withLabel(sensor.name())
|
||||||
.build());
|
.withAcceptedItemType(CoreItemFactory.NUMBER)
|
||||||
|
.withType(new ChannelTypeUID(BINDING_ID + ":fanspeed")).build());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
updateThing(editThing().withChannels(channels).build());
|
if (nbInit != channels.size()) {
|
||||||
|
updateThing(editThing().withChannels(channels).build());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -14,6 +14,8 @@ package org.openhab.binding.freeboxos.internal.handler;
|
||||||
|
|
||||||
import static org.openhab.binding.freeboxos.internal.FreeboxOsBindingConstants.*;
|
import static org.openhab.binding.freeboxos.internal.FreeboxOsBindingConstants.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||||
import org.openhab.binding.freeboxos.internal.api.FreeboxException;
|
import org.openhab.binding.freeboxos.internal.api.FreeboxException;
|
||||||
import org.openhab.binding.freeboxos.internal.api.rest.VmManager;
|
import org.openhab.binding.freeboxos.internal.api.rest.VmManager;
|
||||||
|
@ -40,6 +42,15 @@ public class VmHandler extends HostHandler {
|
||||||
super(thing);
|
super(thing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void initializeProperties(Map<String, String> properties) throws FreeboxException {
|
||||||
|
// We need to get and set the MAC address before calling super.initializeProperties
|
||||||
|
VirtualMachine vm = getManager(VmManager.class).getDevice(getClientId());
|
||||||
|
properties.put(Thing.PROPERTY_MAC_ADDRESS, vm.mac().toColonDelimitedString());
|
||||||
|
updateProperties(properties);
|
||||||
|
super.initializeProperties(properties);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void internalPoll() throws FreeboxException {
|
protected void internalPoll() throws FreeboxException {
|
||||||
super.internalPoll();
|
super.internalPoll();
|
||||||
|
|
|
@ -36,6 +36,8 @@ import org.openhab.core.types.UnDefType;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import inet.ipaddr.mac.MACAddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link WifiStationHandler} is responsible for handling everything associated to
|
* The {@link WifiStationHandler} is responsible for handling everything associated to
|
||||||
* any Freebox thing types except the bridge thing type.
|
* any Freebox thing types except the bridge thing type.
|
||||||
|
@ -56,8 +58,14 @@ public class WifiStationHandler extends HostHandler {
|
||||||
protected void internalPoll() throws FreeboxException {
|
protected void internalPoll() throws FreeboxException {
|
||||||
super.internalPoll();
|
super.internalPoll();
|
||||||
|
|
||||||
|
MACAddress mac = getMac();
|
||||||
|
if (mac == null) {
|
||||||
|
throw new FreeboxException(
|
||||||
|
"internalPoll is not possible because MAC address is undefined for the thing " + thing.getUID());
|
||||||
|
}
|
||||||
|
|
||||||
// Search if the wifi-host is hosted on server access-points
|
// Search if the wifi-host is hosted on server access-points
|
||||||
Optional<Station> station = getManager(APManager.class).getStation(getMac());
|
Optional<Station> station = getManager(APManager.class).getStation(mac);
|
||||||
if (station.isPresent()) {
|
if (station.isPresent()) {
|
||||||
Station data = station.get();
|
Station data = station.get();
|
||||||
updateChannelDateTimeState(CONNECTIVITY, LAST_SEEN, data.getLastSeen());
|
updateChannelDateTimeState(CONNECTIVITY, LAST_SEEN, data.getLastSeen());
|
||||||
|
@ -67,7 +75,7 @@ public class WifiStationHandler extends HostHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search if it is hosted by a repeater
|
// Search if it is hosted by a repeater
|
||||||
Optional<LanHost> wifiHost = getManager(RepeaterManager.class).getHost(getMac());
|
Optional<LanHost> wifiHost = getManager(RepeaterManager.class).getHost(mac);
|
||||||
if (wifiHost.isPresent()) {
|
if (wifiHost.isPresent()) {
|
||||||
updateChannelDateTimeState(CONNECTIVITY, LAST_SEEN, wifiHost.get().getLastSeen());
|
updateChannelDateTimeState(CONNECTIVITY, LAST_SEEN, wifiHost.get().getLastSeen());
|
||||||
LanAccessPoint lanAp = wifiHost.get().accessPoint();
|
LanAccessPoint lanAp = wifiHost.get().accessPoint();
|
||||||
|
|
|
@ -5,10 +5,6 @@
|
||||||
xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd">
|
xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd">
|
||||||
|
|
||||||
<config-description uri="thing-type:freeboxos:player">
|
<config-description uri="thing-type:freeboxos:player">
|
||||||
<parameter name="macAddress" type="text" required="true" pattern="([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})">
|
|
||||||
<label>MAC Address</label>
|
|
||||||
<description>The MAC address of the player device</description>
|
|
||||||
</parameter>
|
|
||||||
<parameter name="id" type="integer">
|
<parameter name="id" type="integer">
|
||||||
<label>ID</label>
|
<label>ID</label>
|
||||||
<description>Id of the player</description>
|
<description>Id of the player</description>
|
||||||
|
|
|
@ -11,10 +11,6 @@
|
||||||
<description>The refresh interval in seconds which is used to poll the repeater</description>
|
<description>The refresh interval in seconds which is used to poll the repeater</description>
|
||||||
<default>30</default>
|
<default>30</default>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="macAddress" type="text" pattern="([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})" required="true">
|
|
||||||
<label>MAC Address</label>
|
|
||||||
<description>The MAC address of the network device</description>
|
|
||||||
</parameter>
|
|
||||||
<parameter name="id" type="integer" required="true">
|
<parameter name="id" type="integer" required="true">
|
||||||
<label>ID</label>
|
<label>ID</label>
|
||||||
<description>Id of the repeater</description>
|
<description>Id of the repeater</description>
|
||||||
|
|
|
@ -11,10 +11,6 @@
|
||||||
<description>The refresh interval in seconds which is used to poll given Freebox Server</description>
|
<description>The refresh interval in seconds which is used to poll given Freebox Server</description>
|
||||||
<default>30</default>
|
<default>30</default>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="macAddress" type="text" pattern="([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})" required="true">
|
|
||||||
<label>MAC Address</label>
|
|
||||||
<description>The MAC address of the network device</description>
|
|
||||||
</parameter>
|
|
||||||
</config-description>
|
</config-description>
|
||||||
|
|
||||||
</config-description:config-descriptions>
|
</config-description:config-descriptions>
|
||||||
|
|
|
@ -11,10 +11,6 @@
|
||||||
<description>The refresh interval in seconds which is used to poll given virtual machine</description>
|
<description>The refresh interval in seconds which is used to poll given virtual machine</description>
|
||||||
<default>30</default>
|
<default>30</default>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="macAddress" type="text" pattern="([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})" required="true">
|
|
||||||
<label>MAC Address</label>
|
|
||||||
<description>The MAC address of the network device</description>
|
|
||||||
</parameter>
|
|
||||||
<parameter name="id" type="integer" required="true">
|
<parameter name="id" type="integer" required="true">
|
||||||
<label>ID</label>
|
<label>ID</label>
|
||||||
<description>Id of the Virtual Machine</description>
|
<description>Id of the Virtual Machine</description>
|
||||||
|
|
|
@ -93,8 +93,6 @@ thing-type.config.freeboxos.player.acceptAllMp3.label = Accept All MP3
|
||||||
thing-type.config.freeboxos.player.acceptAllMp3.description = Accept any bitrate for MP3 audio or only bitrates greater than 64 kbps
|
thing-type.config.freeboxos.player.acceptAllMp3.description = Accept any bitrate for MP3 audio or only bitrates greater than 64 kbps
|
||||||
thing-type.config.freeboxos.player.id.label = ID
|
thing-type.config.freeboxos.player.id.label = ID
|
||||||
thing-type.config.freeboxos.player.id.description = Id of the player
|
thing-type.config.freeboxos.player.id.description = Id of the player
|
||||||
thing-type.config.freeboxos.player.macAddress.label = MAC Address
|
|
||||||
thing-type.config.freeboxos.player.macAddress.description = The MAC address of the player device
|
|
||||||
thing-type.config.freeboxos.player.password.label = Password
|
thing-type.config.freeboxos.player.password.label = Password
|
||||||
thing-type.config.freeboxos.player.password.description = AirPlay password
|
thing-type.config.freeboxos.player.password.description = AirPlay password
|
||||||
thing-type.config.freeboxos.player.port.label = Player port
|
thing-type.config.freeboxos.player.port.label = Player port
|
||||||
|
@ -104,18 +102,12 @@ thing-type.config.freeboxos.player.remoteCode.label = Remote Code
|
||||||
thing-type.config.freeboxos.player.remoteCode.description = Code associated to remote control
|
thing-type.config.freeboxos.player.remoteCode.description = Code associated to remote control
|
||||||
thing-type.config.freeboxos.repeater.id.label = ID
|
thing-type.config.freeboxos.repeater.id.label = ID
|
||||||
thing-type.config.freeboxos.repeater.id.description = Id of the repeater
|
thing-type.config.freeboxos.repeater.id.description = Id of the repeater
|
||||||
thing-type.config.freeboxos.repeater.macAddress.label = MAC Address
|
|
||||||
thing-type.config.freeboxos.repeater.macAddress.description = The MAC address of the network device
|
|
||||||
thing-type.config.freeboxos.repeater.refreshInterval.label = Refresh Interval
|
thing-type.config.freeboxos.repeater.refreshInterval.label = Refresh Interval
|
||||||
thing-type.config.freeboxos.repeater.refreshInterval.description = The refresh interval in seconds which is used to poll the repeater
|
thing-type.config.freeboxos.repeater.refreshInterval.description = The refresh interval in seconds which is used to poll the repeater
|
||||||
thing-type.config.freeboxos.server.macAddress.label = MAC Address
|
|
||||||
thing-type.config.freeboxos.server.macAddress.description = The MAC address of the network device
|
|
||||||
thing-type.config.freeboxos.server.refreshInterval.label = Refresh Interval
|
thing-type.config.freeboxos.server.refreshInterval.label = Refresh Interval
|
||||||
thing-type.config.freeboxos.server.refreshInterval.description = The refresh interval in seconds which is used to poll given Freebox Server
|
thing-type.config.freeboxos.server.refreshInterval.description = The refresh interval in seconds which is used to poll given Freebox Server
|
||||||
thing-type.config.freeboxos.vm.id.label = ID
|
thing-type.config.freeboxos.vm.id.label = ID
|
||||||
thing-type.config.freeboxos.vm.id.description = Id of the Virtual Machine
|
thing-type.config.freeboxos.vm.id.description = Id of the Virtual Machine
|
||||||
thing-type.config.freeboxos.vm.macAddress.label = MAC Address
|
|
||||||
thing-type.config.freeboxos.vm.macAddress.description = The MAC address of the network device
|
|
||||||
thing-type.config.freeboxos.vm.refreshInterval.label = Refresh Interval
|
thing-type.config.freeboxos.vm.refreshInterval.label = Refresh Interval
|
||||||
thing-type.config.freeboxos.vm.refreshInterval.description = The refresh interval in seconds which is used to poll given virtual machine
|
thing-type.config.freeboxos.vm.refreshInterval.description = The refresh interval in seconds which is used to poll given virtual machine
|
||||||
thing-type.config.freeboxos.wifi-host.mDNS.label = mDNS Name
|
thing-type.config.freeboxos.wifi-host.mDNS.label = mDNS Name
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
<channel-group typeId="connection-status" id="connection-status"/>
|
<channel-group typeId="connection-status" id="connection-status"/>
|
||||||
</channel-groups>
|
</channel-groups>
|
||||||
|
|
||||||
|
<representation-property>macAddress</representation-property>
|
||||||
|
|
||||||
<config-description-ref uri="thing-type:freeboxos:server"/>
|
<config-description-ref uri="thing-type:freeboxos:server"/>
|
||||||
</thing-type>
|
</thing-type>
|
||||||
|
|
||||||
|
@ -42,6 +44,8 @@
|
||||||
<channel-group typeId="connection-status" id="connection-status"/>
|
<channel-group typeId="connection-status" id="connection-status"/>
|
||||||
</channel-groups>
|
</channel-groups>
|
||||||
|
|
||||||
|
<representation-property>macAddress</representation-property>
|
||||||
|
|
||||||
<config-description-ref uri="thing-type:freeboxos:server"/>
|
<config-description-ref uri="thing-type:freeboxos:server"/>
|
||||||
</thing-type>
|
</thing-type>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue