mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[knx] Code cleanup (#16199)
- Enhance trace logging - Remove unused file - Null annotations Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
This commit is contained in:
parent
18da5075f9
commit
ce1f366a39
@ -1,56 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2010-2024 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.knx.internal;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.core.types.Type;
|
||||
|
||||
import tuwien.auto.calimero.datapoint.Datapoint;
|
||||
|
||||
/**
|
||||
* This interface must be implemented by classes that provide a type mapping
|
||||
* between openHAB and KNX.
|
||||
* When a command or status update is sent to an item on the openHAB event bus,
|
||||
* it must be clear, in which format it must be sent to KNX and vice versa.
|
||||
*
|
||||
* @author Kai Kreuzer - Initial contribution
|
||||
*
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public interface KNXTypeMapper {
|
||||
|
||||
/**
|
||||
* maps an openHAB command/state to a string value which correspond to its datapoint in KNX
|
||||
*
|
||||
* @param type a command or state
|
||||
* @param dpt the corresponding datapoint type
|
||||
* @return datapoint value as a string
|
||||
*/
|
||||
@Nullable
|
||||
String toDPTValue(Type type, @Nullable String dpt);
|
||||
|
||||
/**
|
||||
* maps a datapoint value to an openHAB command or state
|
||||
*
|
||||
* @param datapoint the source datapoint
|
||||
* @param data the datapoint value as an ASDU byte array (see
|
||||
* <code>{@link tuwien.auto.calimero.process.ProcessEvent}.getASDU()</code>)
|
||||
* @return a command or state of openHAB
|
||||
*/
|
||||
@Nullable
|
||||
Type toType(Datapoint datapoint, byte[] data);
|
||||
|
||||
@Nullable
|
||||
Class<? extends Type> toTypeClass(@Nullable String dpt);
|
||||
}
|
@ -503,7 +503,8 @@ public abstract class AbstractKNXClient implements NetworkLinkListener, KNXClien
|
||||
}
|
||||
GroupAddress groupAddress = commandSpec.getGroupAddress();
|
||||
|
||||
logger.trace("writeToKNX groupAddress '{}', commandSpec '{}'", groupAddress, commandSpec);
|
||||
logger.trace("writeToKNX groupAddress '{}', commandSpec '{}:{} {}'", groupAddress, groupAddress,
|
||||
commandSpec.getDPT(), commandSpec.getValue());
|
||||
|
||||
sendToKNX(processCommunicator, groupAddress, commandSpec.getDPT(), commandSpec.getValue());
|
||||
}
|
||||
|
@ -95,9 +95,6 @@ public class KNXnetDiscoveryService extends AbstractDiscoveryService {
|
||||
for (Result<SearchResponse> r : responses) {
|
||||
@Nullable
|
||||
SearchResponse response = r.getResponse();
|
||||
if (response == null) {
|
||||
continue;
|
||||
}
|
||||
Map<ServiceFamily, Integer> services = response.getServiceFamilies().families();
|
||||
|
||||
if (services.containsKey(ServiceFamiliesDIB.ServiceFamily.Tunneling)
|
||||
|
@ -40,15 +40,15 @@ public class KNXProfileAdvisor implements ProfileAdvisor {
|
||||
if (channelTypeUID == null || !channelTypeUID.getBindingId().equals(BINDING_ID)) {
|
||||
return null;
|
||||
}
|
||||
return getSuggestedProfieTypeUID(channelTypeUID);
|
||||
return getSuggestedProfileTypeUID(channelTypeUID);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable ProfileTypeUID getSuggestedProfileTypeUID(ChannelType channelType, @Nullable String itemType) {
|
||||
return getSuggestedProfieTypeUID(channelType.getUID());
|
||||
return getSuggestedProfileTypeUID(channelType.getUID());
|
||||
}
|
||||
|
||||
private ProfileTypeUID getSuggestedProfieTypeUID(ChannelTypeUID channelTypeUID) {
|
||||
private ProfileTypeUID getSuggestedProfileTypeUID(ChannelTypeUID channelTypeUID) {
|
||||
if (isControl(channelTypeUID)) {
|
||||
return SystemProfiles.FOLLOW;
|
||||
} else {
|
||||
|
@ -13,9 +13,11 @@
|
||||
package org.openhab.binding.knx.internal.client;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.core.util.HexUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -42,27 +44,27 @@ import tuwien.auto.calimero.link.medium.KNXMediumSettings;
|
||||
*
|
||||
* @author Holger Friedrich - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault({})
|
||||
@NonNullByDefault
|
||||
public class DummyKNXNetworkLink implements KNXNetworkLink {
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(DummyKNXNetworkLink.class);
|
||||
public static final int GROUP_WRITE = 0x80;
|
||||
|
||||
private byte[] lastFrame = new byte[0];
|
||||
private Set<NetworkLinkListener> listeners = new HashSet<>();
|
||||
private Set<@Nullable NetworkLinkListener> listeners = new HashSet<>();
|
||||
|
||||
public void setKNXMedium(KNXMediumSettings settings) {
|
||||
LOGGER.warn(settings.toString());
|
||||
public void setKNXMedium(@Nullable KNXMediumSettings settings) {
|
||||
LOGGER.warn(Objects.toString(settings));
|
||||
}
|
||||
|
||||
public KNXMediumSettings getKNXMedium() {
|
||||
return KNXMediumSettings.create(KNXMediumSettings.MEDIUM_TP1, new IndividualAddress(1, 2, 3));
|
||||
}
|
||||
|
||||
public void addLinkListener(NetworkLinkListener l) {
|
||||
public void addLinkListener(@Nullable NetworkLinkListener l) {
|
||||
listeners.add(l);
|
||||
}
|
||||
|
||||
public void removeLinkListener(NetworkLinkListener l) {
|
||||
public void removeLinkListener(@Nullable NetworkLinkListener l) {
|
||||
listeners.remove(l);
|
||||
}
|
||||
|
||||
@ -73,13 +75,16 @@ public class DummyKNXNetworkLink implements KNXNetworkLink {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void sendRequest(KNXAddress dst, Priority p, byte[] nsdu)
|
||||
public void sendRequest(@Nullable KNXAddress dst, @Nullable Priority p, byte @Nullable [] nsdu)
|
||||
throws KNXTimeoutException, KNXLinkClosedException {
|
||||
sendRequestWait(dst, p, nsdu);
|
||||
}
|
||||
|
||||
public void sendRequestWait(KNXAddress dst, Priority p, byte[] nsdu)
|
||||
public void sendRequestWait(@Nullable KNXAddress dst, @Nullable Priority p, byte @Nullable [] nsdu)
|
||||
throws KNXTimeoutException, KNXLinkClosedException {
|
||||
if (nsdu == null) {
|
||||
return;
|
||||
}
|
||||
LOGGER.info("sendRequestWait() {} {} {}", dst, p, HexUtils.bytesToHex(nsdu, " "));
|
||||
|
||||
lastFrame = nsdu.clone();
|
||||
@ -109,11 +114,13 @@ public class DummyKNXNetworkLink implements KNXNetworkLink {
|
||||
FrameEvent f = new FrameEvent(this, new CEMILData(CEMILData.MC_LDATA_IND, src, dst, nsdu, p, repeat, hopCount));
|
||||
|
||||
listeners.forEach(listener -> {
|
||||
listener.indication(f);
|
||||
if (listener != null) {
|
||||
listener.indication(f);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void send(CEMILData msg, boolean waitForCon) throws KNXTimeoutException, KNXLinkClosedException {
|
||||
public void send(@Nullable CEMILData msg, boolean waitForCon) throws KNXTimeoutException, KNXLinkClosedException {
|
||||
LOGGER.warn("send() not implemented");
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user