iobroker.device-watcher
Version:
670 lines (665 loc) • 15.1 kB
JavaScript
// arrays of supported adapters
/*
Default Template:
adapterID: { // ID for adapter, it should be the same name as in settings etc.
Selektor: '', // main datapoint of one device. Should be available for all devices. So the adapter can found all devices
timeSelector: '', // from which datapoint should the time be taken for the last contact
adapterID: '', // same id as above
adapter: '', // Adapter Name for notifications and tables
rssiState: 'none', // rssi or percent datapoint of link quality (optional)
battery: 'none', // battery datapoint (optional)
reach: 'none', // reachable or connected datapoint (optional)
isLowBat: 'none', // lowBat datapoint (optional)
id: 'none', // datapoint with name of device (optional)
upgrade: 'none', // update datapoint that indicates available updates for the device (optional)
},
adapterID: {
Selektor: '',
timeSelector: '',
adapterID: '',
adapter: '',
rssiState: 'none',
battery: 'none',
reach: 'none',
isLowBat: 'none',
id: 'none',
upgrade: 'none',
}
*/
const arrApart = {
alexa2: {
Selektor: 'alexa2.*.online',
timeSelector: '.online',
adapterID: 'alexa2',
adapter: 'Alexa2',
battery: 'none',
reach: '.online',
isLowBat: 'none',
},
apcups: {
Selektor: 'apcups.*.status',
timeSelector: '.status',
adapterID: 'apcups',
adapter: 'Apc UPS',
battery: '.batteryCharge',
reach: '.info.connection',
isLowBat: 'none',
id: '.model',
},
ble: {
Selektor: 'ble.*.rssi',
timeSelector: '.rssi',
adapterID: 'ble',
adapter: 'Ble',
battery: '.battery',
rssiState: '.rssi',
reach: 'none',
isLowBat: 'none',
},
deconz: {
Selektor: 'deconz.*.reachable',
timeSelector: '.reachable',
adapterID: 'deconz',
adapter: 'Deconz',
battery: '.battery',
reach: '.reachable',
isLowBat: 'none',
},
ecovacsdeebot: {
Selektor: 'ecovacs-deebot.*.connection',
timeSelector: '.connectionUptime',
adapterID: 'ecovacsdeebot',
adapter: 'Ecovacs-Deebot',
rssiState: '.network.wifiSignal',
battery: '.battery',
reach: '.connection',
isLowBat: 'none',
id: '.deviceName',
upgrade: 'none',
},
enocean: {
Selektor: 'enocean.*.rssi',
timeSelector: '.rssi',
adapterID: 'enocean',
adapter: 'Enocean',
battery: '.BS',
rssiState: '.rssi',
reach: 'none',
isLowBat: 'none',
},
esphome: {
Selektor: 'esphome.*._online',
timeSelector: '._online',
adapterID: 'esphome',
adapter: 'ESPHome',
battery: 'none',
reach: '._online',
isLowBat: 'none',
id: '.name',
},
eusec: {
Selektor: 'eusec.*.software_version',
timeSelector: '.software_version',
adapterID: 'eusec',
adapter: 'euSec',
battery: '.battery',
rssiState: '.wifi_rssi',
reach: '.connection',
isLowBat: '.battery_low',
id: '.name',
},
fhemTFAsensors: {
Selektor: 'fhem.*.batteryState',
timeSelector: '.state',
adapterID: 'fhemTFAsensors',
adapter: 'FHEM',
rssiState: 'none',
battery: 'none',
reach: 'none',
isLowBat: '.batteryState',
id: 'none',
upgrade: 'none',
},
fritzdect: {
Selektor: 'fritzdect.*.present',
timeSelector: '.present',
adapterID: 'fritzdect',
adapter: 'Fritz Dect',
battery: '.battery',
reach: '.present',
isLowBat: 'none',
},
fullybrowser: {
Selektor: 'fullybrowser.*.isFullyAlive',
timeSelector: '.isFullyAlive',
adapterID: 'fullybrowser',
adapter: 'fullyBrowser',
rssiState: '.Info.wifiSignalLevel',
battery: '.Info.batteryLevel',
reach: '.isFullyAlive',
isLowBat: 'none',
id: '.Info.hostname4',
id2: '.Info.deviceModel',
},
fullybrowserV3: {
Selektor: 'fullybrowser.*.alive',
timeSelector: '.alive',
adapterID: 'fullybrowserV3',
adapter: 'fullyBrowser',
rssiState: '.Info.wifiSignalLevel',
battery: '.Info.batteryLevel',
reach: '.alive',
isLowBat: 'none',
id: 'none',
},
fullyMQTT: {
Selektor: 'fully-mqtt.*.alive',
timeSelector: '.alive',
adapterID: 'fullyMQTT',
adapter: 'Fully-MQTT',
rssiState: 'none',
battery: '.Info.batteryLevel',
reach: '.alive',
isLowBat: 'none',
id: 'none',
upgrade: 'none',
},
harmony: {
Selektor: 'harmony.*.hubConnected',
timeSelector: '.activities.currentStatus',
adapterID: 'harmony',
adapter: 'Harmony',
battery: 'none',
reach: '.hubConnected',
isLowBat: 'none',
},
ham: {
Selektor: 'ham.*.Battery-Level',
timeSelector: '.Battery-Level',
adapterID: 'ham',
adapter: 'Ham',
battery: '.Battery-Level',
reach: 'none',
isLowBat: 'none',
id: '.Name',
},
hmiP: {
Selektor: 'hmip.*.rssiDeviceValue',
timeSelector: '.rssiDeviceValue',
adapterID: 'hmiP',
adapter: 'Homematic IP',
rssiState: '.rssiDeviceValue',
battery: 'none',
reach: '.unreach',
isLowBat: '.lowBat',
upgrade: '.info.updateState',
},
hmrpc: {
Selektor: 'hm-rpc.*.RSSI_PEER',
timeSelector: '.UNREACH',
adapterID: 'hmrpc',
adapter: 'Homematic RPC',
rssiState: '.RSSI_DEVICE',
rssiPeerState: '.RSSI_PEER',
battery: '.OPERATING_VOLTAGE',
reach: '.UNREACH_ALARM',
isLowBat: '.LOW_BAT_ALARM',
isLowBat2: '.LOWBAT_ALARM',
isLowBat3: '.LOW_BAT',
stateValue: '.1.STATE',
faultReporting: '.4.FAULT_REPORTING',
hmDNBattery: '.4.BATTERY_STATE',
upgrade: '.UPDATE_PENDING_ALARM',
},
homeconnect: {
Selektor: 'homeconnect.*.general.connected',
timeSelector: '.connected',
adapterID: 'homeconnect',
adapter: 'Home Connect',
rssiState: 'none',
battery: 'none',
reach: '.connected',
isLowBat: 'none',
id: '.name',
upgrade: 'none',
},
homekitController: {
Selektor: 'homekit-controller.*.connected',
timeSelector: '.lastDiscovered',
adapterID: 'homekitController',
adapter: 'Homekit Controller',
rssiState: 'none',
battery: 'none',
reach: '.connected',
isLowBat: 'none',
id: 'none',
upgrade: 'none',
},
hs100: {
Selektor: 'hs100.*.last_update',
timeSelector: '.last_update',
adapterID: 'hs100',
adapter: 'hs100',
battery: 'none',
reach: 'none',
isLowBat: 'none',
},
hue: {
Selektor: 'hue.*.reachable',
timeSelector: '.reachable',
adapterID: 'hue',
adapter: 'Philips Hue',
battery: '.battery',
reach: '.reachable',
isLowBat: 'none',
},
hueExt: {
Selektor: 'hue-extended.*.reachable',
timeSelector: '.reachable',
adapterID: 'hueExt',
adapter: 'Philips Hue Extended',
battery: '.config.battery',
reach: '.reachable',
isLowBat: 'none',
},
innogy: {
Selektor: 'innogy-smarthome.*.IsReachable',
timeSelector: '.IsReachable',
adapterID: 'innogy',
adapter: 'Innogy Smarthome',
battery: 'none',
rssiState: 'none',
reach: '.IsReachable',
isLowBat: '.LowBattery',
},
jeelink: {
Selektor: 'jeelink.*.lowBatt',
timeSelector: '.lowBatt',
adapterID: 'jeelink',
adapter: 'Jeelink',
battery: 'none',
reach: 'none',
isLowBat: '.lowBatt',
},
loqedSmartLock: {
Selektor: 'loqed.*.connection',
timeSelector: '.lockStatus.batteryPercentage',
adapterID: 'loqedSmartLock',
adapter: 'Loqed Smart Lock',
battery: '.lockStatus.batteryPercentage',
rssiState: 'none',
reach: '.connection',
isLowBat: '.lowBatt',
},
lupusec: {
Selektor: 'lupusec.*.cond_ok',
timeSelector: '.cond_ok',
adapterID: 'lupusec',
adapter: 'Lupusec',
battery: 'none',
rssiState: '.rssi',
reach: '.cond_ok',
isLowBat: '.battery_ok',
id: 'none',
},
maxcube: {
Selektor: 'maxcube.*.link_error',
timeSelector: '.link_error',
adapterID: 'maxcube',
adapter: 'Max! Cube',
battery: 'none',
reach: '.error',
isLowBat: '.battery_low',
},
meross: {
Selektor: 'meross.*.online',
timeSelector: '.online',
adapterID: 'meross',
adapter: 'Meross',
battery: '.battery',
reach: '.online',
isLowBat: 'none',
},
mihome: {
Selektor: 'mihome.*.percent',
timeSelector: '.percent',
adapterID: 'mihome',
adapter: 'MiHome',
battery: '.percent',
reach: 'none',
isLowBat: 'none',
},
mihomeGW: {
Selektor: 'mihome.*.connected',
timeSelector: '.connected',
adapterID: 'mihome',
adapter: 'MiHome',
battery: 'none',
reach: '.connected',
isLowBat: 'none',
},
mihomeVacuum: {
Selektor: 'mihome-vacuum.*.connection',
timeSelector: '.connection',
adapterID: 'mihomeVacuum',
adapter: 'MiHome Vacuum',
rssiState: '.deviceInfo.wifi_signal',
battery: '.info.battery',
battery2: '.control.battary_life',
reach: '.info.connection',
isLowBat: 'none',
id: '.deviceInfo.model',
},
mqttClientZigbee2Mqtt: {
Selektor: 'mqtt-client.*.zigbee2mqtt.*.availability',
timeSelector: '.availability',
adapterID: 'mqttClientZigbee2Mqtt',
adapter: 'MQTT-Client',
battery: '.battery',
rssiState: '.link_quality',
reach: '.availability',
isLowBat: '.battery_low',
},
mqttNuki: {
Selektor: 'mqtt.*.lock.state',
timeSelector: '.rssi',
adapterID: 'mqttNuki',
adapter: 'MQTT',
battery: '.battery.level',
rssiState: '.rssi',
reach: 'none',
isLowBat: 'none',
},
musiccast: {
Selektor: 'musiccast.*.online',
timeSelector: '.online',
adapterID: 'musiccast',
adapter: 'MusicCast',
battery: 'none',
rssiState: 'none',
reach: '.online',
isLowBat: 'none',
},
netatmo: {
Selektor: 'netatmo.*.LastUpdate',
timeSelector: '.LastUpdate',
adapterID: 'netatmo',
adapter: 'Netatmo',
rssiState: '.WifiStatus',
rfState: '.RfStatus',
battery: '.BatteryStatus',
reach: 'none',
isLowBat: 'none',
},
nukiExt: {
Selektor: 'nuki-extended.*.lastDataUpdate',
timeSelector: '.lastDataUpdate',
adapterID: 'nukiExt',
adapter: 'Nuki Extended',
rssiState: 'none',
battery: '.batteryChargeState',
reach: 'none',
isLowBat: '.batteryCritical',
},
nut: {
Selektor: 'nut.*.charge',
timeSelector: '.charge',
adapterID: 'nut',
adapter: 'Nut',
battery: '.charge',
reach: 'none',
isLowBat: 'none',
},
ping: {
Selektor: 'ping.*.alive',
timeSelector: '.alive',
adapterID: 'ping',
adapter: 'Ping',
battery: 'none',
reach: '.alive',
isLowBat: 'none',
},
proxmox: {
Selektor: 'proxmox.*.status',
timeSelector: '.uptime',
adapterID: 'proxmox',
adapter: 'Proxmox',
battery: 'none',
reach: '.status',
isLowBat: 'none',
rssiState: 'none',
},
ring: {
Selektor: 'ring.*.latest_signal_strength',
timeSelector: '.latest_signal_strength',
adapterID: 'ring',
adapter: 'Ring',
rssiState: '.latest_signal_strength',
battery: '.battery_percentage',
charger: '.external_connection',
reach: 'none',
isLowBat: 'none',
id: 'none',
upgrade: '.firmware',
},
roomba: {
Selektor: 'roomba.*.signal',
timeSelector: '.signal',
adapterID: 'roomba',
adapter: 'Roomba',
battery: '.battery',
reach: '._connected',
rssiState: '.signal',
isLowBat: 'none',
id: '.device.name',
},
shelly: {
Selektor: 'shelly.*.uptime',
timeSelector: '.uptime',
adapterID: 'shelly',
adapter: 'Shelly',
rssiState: '.rssi',
battery: '.sensor.battery',
battery2: '.bat.value',
battery3: '.DevicePower0.BatteryPercent',
charger: '.bat.charger',
reach: '.online',
isLowBat: 'none',
upgrade: '.firmware',
},
smartgarden: {
Selektor: 'smartgarden.*.serial_value',
timeSelector: '.rfLinkLevel_timestamp',
adapterID: 'smartgarden',
adapter: 'Smartgarden',
rssiState: '.rfLinkLevel_value',
battery: '.batteryLevel_value',
reach: '.rfLinkState_value',
isLowBat: 'none',
id: '.name_value',
upgrade: 'none',
},
sonoff: {
Selektor: 'sonoff.*.alive',
timeSelector: '.Uptime',
adapterID: 'sonoff',
adapter: 'Sonoff',
rssiState: '.Wifi_RSSI',
battery: '.battery',
reach: '.alive',
uptime: '.Uptime',
isLowBat: 'none',
id: '.DeviceName',
},
sonos: {
Selektor: 'sonos.*.alive',
timeSelector: '.alive',
adapterID: 'sonos',
adapter: 'Sonos',
battery: 'none',
reach: '.alive',
isLowBat: 'none',
},
sureflap: {
Selektor: 'sureflap.*.online',
timeSelector: '.online',
adapterID: 'sureflap',
adapter: 'Sure Flap',
battery: '.battery_percentage',
reach: '.online',
isLowBat: 'none',
},
switchbotBle: {
Selektor: 'switchbot-ble.*.rssi',
timeSelector: '.rssi',
adapterID: 'switchbotBle',
adapter: 'Switchbot Ble',
battery: '.battery',
rssiState: '.rssi',
reach: 'none',
isLowBat: 'none',
id: '.id',
},
tado: {
Selektor: 'tado.*.batteryState',
timeSelector: '.batteryState',
adapterID: 'tado',
adapter: 'Tado',
rssiState: 'none',
battery: 'none',
reach: '.connectionState.value',
isLowBat: '.batteryState',
id: 'none',
},
tapo: {
Selektor: 'tapo.*.last_update',
timeSelector: '.last_update',
adapterID: 'tapo',
adapter: 'Tapo',
rssiState: '.rssi',
battery: 'none',
reach: 'none',
isLowBat: 'none',
id: 'none',
},
tradfri: {
Selektor: 'tradfri.*.lastSeen',
timeSelector: '.lastSeen',
adapterID: 'tradfri',
adapter: 'Tradfri',
rssiState: 'none',
battery: '.batteryPercentage',
reach: '.alive',
isLowBat: 'none',
id: 'none',
},
tuya: {
Selektor: 'tuya.*.online',
timeSelector: '.online',
adapterID: 'tuya',
adapter: 'Tuya',
rssiState: 'none',
battery: 'none',
reach: '.online',
isLowBat: 'none',
id: 'none',
upgrade: 'none',
},
unifi: {
Selektor: 'unifi.*.state',
timeSelector: '.uptime',
adapterID: 'unifi',
adapter: 'Unifi',
battery: 'none',
reach: '.state',
isLowBat: 'none',
id: 'none',
upgrade: '.upgradable',
},
viessmann: {
Selektor: 'viessmann.*.info.connection',
timeSelector: '.lastPoll',
adapterID: 'viessmann',
adapter: 'Viessmann',
rssiState: 'none',
battery: 'none',
reach: '.connection',
isLowBat: 'none',
id: 'none',
upgrade: 'none',
},
wifilight: {
Selektor: 'wifilight.*.reachable',
timeSelector: '.reachable',
adapterID: 'wifilight',
adapter: 'Wifilight',
rssiState: 'none',
battery: 'none',
reach: '.reachable',
isLowBat: 'none',
id: 'none',
upgrade: 'none',
},
wled: {
Selektor: 'wled.*._online',
timeSelector: '._online',
adapterID: 'wled',
adapter: 'WLED',
rssiState: '.wifi.rssi',
battery: 'none',
reach: '._online',
isLowBat: 'none',
id: 'none',
},
xsense: {
Selektor: 'xsense.*.online',
timeSelector: '.online',
adapterID: 'xsense',
adapter: 'XSense',
battery: '.batInfo',
reach: '.online',
isLowBat: '.batInfo',
id: 'none',
},
yeelight: {
Selektor: 'yeelight-2.*.connect',
timeSelector: '.connect',
adapterID: 'yeelight',
adapter: 'Yeelight',
battery: 'none',
reach: '.connect',
isLowBat: 'none',
},
zigbee: {
Selektor: 'zigbee.*.link_quality',
timeSelector: '.link_quality',
adapterID: 'zigbee',
adapter: 'Zigbee',
battery: '.battery',
battery2: '.battery_state',
rssiState: '.link_quality',
reach: '.available',
isLowBat: '.battery_low',
},
zigbee2MQTT: {
Selektor: 'zigbee2mqtt.*.link_quality',
timeSelector: '.link_quality',
adapterID: 'zigbee2MQTT',
adapter: 'Zigbee2MQTT',
battery: '.battery',
battery2: '.battery_state',
rssiState: '.link_quality',
reach: '.available',
isLowBat: '.battery_low',
},
zwave2: {
Selektor: 'zwave2.*.ready',
timeSelector: '.status',
adapterID: 'zwave2',
adapter: 'Z-wave 2',
battery: '.Battery.level',
reach: '.ready',
isLowBat: '.Battery.isLow',
},
};
module.exports = arrApart;