openhab: config perms shared between docker / host

This commit is contained in:
theBigBlase 2023-12-17 13:37:42 -05:00
parent a24a3e1694
commit e880a09ba8
24 changed files with 283 additions and 469 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
openhab/openhab_userdata/cache
openhab/openhab_userdata/logs
openhab/openhab_userdata/tmp
NOTES.md

View file

@ -1,7 +1,12 @@
.PHONY: all test clean build
ID := $(shell id -u)
GID := $(shell id -g)
ID := $(shell id -u)
all:
ID=$(ID) GID=$(GID) docker compose up -d
up:
ID=$(ID) GID=$(GID) docker compose up -d --build
down:
docker compose down
init:
docker network create ift713 --subnet "172.69.0.0/16" --gateway="172.69.1.0"

View file

@ -4,7 +4,9 @@ This is the folder for the "main" server, doing all the processing and gathering
data.
It hosts an openhab instance and mqtt (rumqtt) courier.
To launch it, just `make` in the root, it'll set docker w/ the correct
To init the docker network, `make init` in the root
To launch it, just `make` in the root, it'll run docker compose w/ the correct
permissions.
## TODO

View file

@ -4,20 +4,33 @@ services:
ports:
- 1883:1883
- 1884:1884
volumes:
- "./mqtt/rumqttd.toml:/rumqttd.toml"
entrypoint: rumqttd -c /rumqttd.toml
networks:
ift713:
ipv4_address: 172.69.1.2
openhab:
image: "openhab/openhab:4.0.3"
build:
dockerfile: openhab/Dockerfile
restart: always
network_mode: host
user: "${UID}:${GID}"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "./openhab/openhab_addons:/openhab/addons"
- "./openhab/openhab_conf:/openhab/conf"
- "./openhab/openhab_userdata:/openhab/userdata"
environment:
CRYPTO_POLICY: "unlimited"
EXTRA_JAVA_OPTS: "-Duser.timezone=Canada/Eastern"
OPENHAB_HTTP_PORT: "8080"
OPENHAB_HTTPS_PORT: "8043"
USER_ID: ${ID}
network_mode: host
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "./openhab/openhab_addons:/openhab/addons"
- "./openhab/openhab_conf:/openhab/conf"
- "./openhab/openhab_userdata:/openhab/userdata"
networks:
ift713:
external: true

6
openhab/Dockerfile Normal file
View file

@ -0,0 +1,6 @@
FROM openhab/openhab:4.0.4
ARG ID=1000
RUN echo $ID
RUN chown $ID -R /openhab/conf

View file

@ -1,38 +0,0 @@
Group Room
Group SmartClothes
Group Sensors
Group:Number:AVG Luminance "average luminosity" (Sensors)
Group:Number:AVG Noise "average noise" (Sensors)
Group Actuators
Group Lights (Actuators)
Group Batteries
Contact room1 "room 1"
// Room fixed devices
Number rfidReader "RFID reader" (Sensors, Room) {channel="rfidReader:device:reader1"}
// smart clothes, mobile devices
Color stripColor "el-wire" <lightbulb> (Lights, SmartClothes) {channel="elwire:0210:ewbridge:strip1"}
Dimmer stripIntensity "el-wire" <lightbulb> (Lights, SmartClothes) {channel="elwire:0210:ewbridge:strip1"}
Color stripColor2 "el-wire" <lightbulb> (Lights, SmartClothes) {channel="elwire:0210:ewbridge:strip2"}
Dimmer stripIntensity2 "el-wire" <lightbulb> (Lights, SmartClothes) {channel="elwire:0210:ewbridge:strip2"}
Switch vibrationPatch "vibration patch" (Actuators, SmartClothes) {channel="vibrationPatch:device:vibration"}
Number luminance "luminance level" (Luminance, Sensors, SmartClothes) {channel=zwave:device:luxmeter:node2:sensor_luminance"}
Number luxmeterBattery "luxmeter battery level" <battery> (Batteries, SmartClothes) {channel="zwave:device:luxmeter:node2:battery-level"}
Number noise "noise level" (Noise, Sensors, SmartClothes) {channel="Channel=“zwave:device:noisemeter:node3:sensor_noise”"}
Number noiseSensorBattery "noise sensor battery level" <battery> (Batteries, SmartClothes) {channel="zwave:device:noisemeter:node3:battery-level"}
// optionnel
Number luminanceWristBand "luminance level" (Sensors, SmartClothes) {channel="zwave:device:wristband:node4:luminance"}
Number noiseWristBand "noise level" (Sensors, SmartClothes) {channel="zwave:device:wristband:node4:luminance"}
Contact gsrWristBand "galvanic skin response level" (Sensors, SmartClothes) {channel=“zwave:device:wristband:node4:galvanicSkinResponse"}
Switch vibrationWristBand "noise level" (Actuators, SmartClothes) {channel="zwave:device:wristband:node4:vibration"}

View file

@ -1,175 +0,0 @@
import org.eclipse.smarthome.model.script.ScriptServiceUtil
// import org.eclipse.smarthome.core.library.items.StringItem
import java.util.HashMap
import java.util.HashSet
val TAG_FileName = "IFT605SmartClothes.rules"
val smartClothesID = "12345678"
var Contact currentRoom
var MQTTBroker currentMQTTBroker
// managing context
var boolean goodConditions = true // of course, only one of good/bad conditions is required
var boolean badConditions = false
var badConditionsStartTime = 0 // in milliseconds
val URGE_TO_CHANGE_ROOM_TIME_TRIGGER = 300000 // 5 minutes
// managing people in the room
var people = new HashSet<String>()
var luminanceMeasures = new HashMap<String, Integer>()
var noiseMeasures = new HashMap<String, Integer>()
// j'entre dans une pièce
val iEnter = [ ContactItem room, String smartClothesID, MQTTBroker broker |
broker.sendCommand(CONNECT);
broker.sendCommand(SUBSCRIBE, "room/1/#");
broker.sendCommand(SUBSCRIBE, "smartclothes/#");
broker.sendCommand(SUBSCRIBE, "room/1/tag/+");
broker.sendCommand(SUBSCRIBE, "smartclothes/+/sensor/luminance");
broker.sendCommand(SUBSCRIBE, "smartclothes/+/sensor/noise");
// informer que l'on vient d'entrer dans la pièce
broker.sendCommand(PUBLISH, smartClothesID+"/status", "Online")
vibrationPatch.sendCommand(OFF)
]
// je sors de une pièce
val iQuit = [ ContactItem room, String smartClothesID, MQTTBroker broker |
broker.sendCommand(UNSUBSCRIBE, "room/1/#");
broker.sendCommand(UNSUBSCRIBE, "smartclothes/#");
broker.sendCommand(UNSUBSCRIBE, "room/1/tag/+");
broker.sendCommand(UNSUBSCRIBE, "smartclothes/+/sensor/luminance");
broker.sendCommand(UNSUBSCRIBE, "smartclothes/+/sensor/noise");
// informer que l'on vient d'entrer dans la pièce
broker.sendCommand(PUBLISH, smartClothesID+"/status", "Offline")
]
// le vêtement entre dans une pièce
val someoneEnterInRoom = [ String smartClothesID |
people.add(smartClothesID)
]
val someoneQuitRoom = [ String smartClothesID |
people.remove(smartClothesID)
noiseMeasures.remove(smartClothesID)
luminanceMeasures.remove(smartClothesID)
]
// fonctions utilitaires pour la gestion du contexte
// autre solutions pour calculer les moyennes, utiliser les HashMap luminanceMeasures et noiseMeasures
val Integer averageLuminance = [ | Luminance.state
]
val Integer averagenoise = [ | Noise.state
]
val boolean checkGoodConditions = [ Integer roomLuminance, Integer roomNoise |
return (LUMINOSITE_MIN < roomLuminance || roomLuminance < LUMINOSITE_MAX)
&& (NIVEAU_SONORE_MIN < roomNoise || roomNoise < NIVEAU_SONORE_MAX)
]
val reactToNewConditions = [ |
goodConditions = checkGoodConditions(averageLuminance(), averageNoise())
badConditions = !goodConditions
if (goodConditions) {
badConditionsStartTime = 0
vibrationPatch.sendCommand(OFF)
// rapprocher l'éclairage de la valeur optimale
if (Luminance.state < LUMOINOSITE_OPTIMALE) {
stripIntensity.sendCommand(INCREASE)
} else {
stripIntensity.sendCommand(DECREASE)
}
} else {
// Éviter de rester trop longtemps dans des conditions défavorables
vibrationPatch.sendCommand(ON)
if (badConditionsStartTime == 0){
badConditionsStartTime = now.getMillis();
}
if (now.getMillis() - badConditionsStartTime > URGE_TO_CHANGE_ROOM_TIME_TRIGGER) {
vibrationPatch.sendCommand(ON)
}
}
]
rule "Démarrage de openHAB"
when
System started
then
logInfo(TAG_FileName, "Rule : Démarrage de openHAB")
currentRoom = room1
currentMQTTBroker = room1MQTT
iEnter(currentRoom, smartClothesID, currentMQTTBroker)
end
// Diffuser les mesures de ses capteurs aux autres vêtements intelligents
rule "lecture d'une mesure de luminosité par le capteur du vêtement"
when
// Item luminance received update
Member of Luminance received update
then
var sensorName = triggeringItem.name
var value = triggeringItem.state
currentMQTTBroker.sendCommand(PUBLISH, "smartclothes/"+smartClothesID+"/sensor/luminance", value)
end
rule "lecture d'une mesure de bruit par le capteur du vêtement"
when
// Item noise received update
Member of Noise received update
then
var sensorName = triggeringItem.name
var value = triggeringItem.state
currentMQTTBroker.sendCommand(PUBLISH, "smartclothes/"+smartClothesID+"/sensor/noise", value)
end
// Gérer son contexte ambiant
rule "nouvelle mesure de bruit publiée par le courtier MQTT"
when currentMQTTBroker "smartclothes/+/sensor/noise" changed
then
noiseMeasures.put(extractID(triggeringItem.newState.topic), trigerringItem.newState.value)
reactToNewConditions()
end
rule "nouvelle mesure de bruit publiée par le courtier MQTT"
when currentMQTTBroker "smartclothes/+/sensor/luminance" changed
then
luminanceMeasures.put(extractID(triggeringItem.newState.topic), trigerringItem.newState.value)
reactToNewConditions()
end
// Tenir compte des arrivées et départs de personnes dans la salle
rule "arrivée d'une personne"
when
// si on n'utilise pas le mécanisme des dernières volontés de MQTT,
// il faut surveiller les éléments pertinents à la main
// currentMQTTBroker "room/+/tag" changed //lecture d'un tag RFID
// or currentMQTTBroker "smartclothes/+/sensor/luminance" changed // member of Luminance changed
// or currentMQTTBroker "smartclothes/+/sensor/noise" changed
currentMQTTBroker "+/status " changed to "Online" //lecture d'un tag RFID
then
String triggeringSmartClothesID = extractID(triggeringItem.newState.topic)
someoneEnterInRoom(triggeringSmartClothesID)
end
// Tenir compte des arrivées et départs de personnes dans la salle
rule "départ d'une personne"
when
currentMQTTBroker "+/status " changed to "Offline" //lecture d'un tag RFID
then
String triggeringSmartClothesID = extractID(triggeringItem.newState.topic)
someoneQuitRoom(triggeringSmartClothesID)
end
rule "Arrêt de openHAB"
when
System shuts down
then
logInfo(TAG_FileName, " Rule : Arrêt de openHAB")
// sauvegarder les états des items et le contexte
iQuit(currentRoom, smartClothesID, currentMQTTBroker)
end

View file

@ -1,62 +0,0 @@
/**
Vêtement intelligent
**/
Bridge elwire:bridge:ewbridge [ ipAddress="192.168.3.123" ] {
// gateway el-wire
Thing 0210 strip1 [stripId="1"] //référer par elwire:0210:ewbridge:strip1
Thing 0220 strip2 [stripId="2"] // référer par elwire:0220:ewbridge:strip2
}
//vibration patch
Thing vibrationPatch:device:vibration "vibration patch" @ "smart clothes"
// voir description à https://www.openhab.org/addons/bindings/zwave/doc/things.html
Bridge zwave:serial_zstick:8c582004 "ZWave Controller" [ port="/dev/ttyACM0", controller_softreset="false", controller_master="true", heal_enable="true", security_networkkey="???" ] {
// ampèremètres placés sur les interrupteurs du plafonnier
Thing luxMeter node2 "luxmeter " @ "smart clothes" [ node_id=2 ] {
Channels:
// sensors
Type number : luminance [ updateInterval=10 ]
Type number : battery-level [ updateInterval=10 ]
}
Thing noiseMeter node3 "noise meter" @ "smart clothes" [ node_id=3 ]
Channels:
// sensors
Type number : noise [ updateInterval=10 ]
Type number : battery-level [ updateInterval=10 ]
Thing wristband node4 "wristBand" @ "smart clothes" [ node_id=4 ] {
Channels:
// sensors
Type number : luminance [ updateInterval=10 ]
Type number : noise [ updateInterval=10 ]
Type string : accelerometer [ updateInterval=10 ]
Type number : speed [ updateInterval=10 ]
Type number : galvanicSkinResponse [ updateInterval=10 ]
// effectors
Type switch : vibration
Type switch : enable
}
}
/**
Pièce
**/
// https://www.smarthomeblog.net/mqtt-openhab/
// https://gist.github.com/davidgraeff/6c00d2ad5e4bc553f5f209118307d8fd
// https://community.openhab.org/t/solved-oh-2-4-mqtt-binding-generic-thing-statetopic-working-commandtopic-not-working/63619
Bridge mqtt:systemBroker:embedded-mqtt-broker [ host="127.0.0.1", secure=false ]
{
Thing mqtt:topic:room1MQTT {
Channels:
Type string : room1 "all MQTT room events" @ "room 1"[ stateTopic="room/1/#" ]
Type string : smartclothes "all MQTT smart clothes events" @ "room 1"[ stateTopic="smartclothes/#" ]
Type switch : tag "RFID MQTT event" @ "room 1" [ stateTopic="room/+/tag"]
Type string : noise "noise MQTT event" @ "room 1" [ stateTopic="smartclothes/+/sensor/noise" ]
Type string : luminance "luminosity MQTT event" @ "room 1" [ stateTopic="smartclothes/+/sensor/luminance" ]
}
}
Thing rfidReader:device:reader1 "rfidReader " @ "room 1"

View file

@ -3,7 +3,7 @@ autoRefresh="true"
configCfgStore="false"
featuresBoot="instance/4.4.3,\ package/4.4.3,\ log/4.4.3,\ ssh/4.4.3,\ framework/4.4.3,\ system/4.4.3,\ eventadmin/4.4.3,\ feature/4.4.3,\ shell/4.4.3,\ service/4.4.3,\ jaas/4.4.3,\ openhab-runtime-base,\ openhab-runtime-ui,\ deployer/4.4.3,\ diagnostic/4.4.3,\ bundle/4.4.3,\ config/4.4.3,\ kar/4.4.3"
featuresBootAsynchronous="false"
featuresRepositories="mvn:org.openhab.distro/distro/4.0.3/xml/features,\ mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features,\ mvn:org.apache.karaf.features/framework/4.4.3/xml/features,\ mvn:org.apache.karaf.features/standard/4.4.3/xml/features"
featuresRepositories="mvn:org.openhab.distro/distro/4.0.4/xml/features,\ mvn:org.openhab.distro/openhab-addons/4.0.4/xml/features,\ mvn:org.apache.karaf.features/framework/4.4.3/xml/features,\ mvn:org.apache.karaf.features/standard/4.4.3/xml/features"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.features.cfg"
service.bundleLocation="?"
service.pid="org.apache.karaf.features"

View file

@ -1,3 +1,6 @@
:org.apache.felix.configadmin.revision:=L"1"
_felix_.cm.newConfiguration=B"true"
:org.apache.felix.configadmin.revision:=L"4"
automation="jsscripting"
binding="mqtt"
persistence="rrd4j"
service.pid="org.openhab.addons"
ui="basic"

View file

@ -3,4 +3,4 @@ name="configWatcher"
path="/openhab/conf"
service.bundleLocation="?"
service.factoryPid="org.openhab.core.service.WatchService"
service.pid="org.openhab.core.service.WatchService.4c0ca031-fc00-41d8-8c46-4474cc442330"
service.pid="org.openhab.core.service.WatchService.06daff3c-f0c3-4776-a340-a6b0173ed9a1"

View file

@ -0,0 +1,6 @@
:org.apache.felix.configadmin.revision:=L"2"
language="en"
location="45.378331973407505,-71.92963600158693"
region="US"
service.pid="org.openhab.i18n"
timezone="America/Toronto"

View file

@ -1 +1,2 @@
org.openhab.addons="mvn:org.openhab.core.bundles/org.openhab.core.karaf/4.0.3"
org.apache.karaf.http="mvn:org.apache.karaf.http/org.apache.karaf.http.core/4.4.3"
org.openhab.addons="mvn:org.openhab.core.bundles/org.openhab.core.karaf/4.0.4"

View file

@ -5,8 +5,8 @@ feature.bundle="bundle"
feature.config="config"
feature.deployer="deployer"
feature.diagnostic="diagnostic"
feature.distro-kar/4.0.3="distro-kar/4.0.3"
feature.distro/4.0.3="distro/4.0.3"
feature.distro-kar/4.0.4="distro-kar/4.0.4"
feature.distro/4.0.4="distro/4.0.4"
feature.eventadmin="eventadmin"
feature.feature="feature"
feature.framework="framework"
@ -14,87 +14,87 @@ feature.instance="instance"
feature.jaas="jaas"
feature.kar="kar"
feature.log="log"
feature.openhab-core-addon-marketplace/4.0.3="openhab-core-addon-marketplace/4.0.3"
feature.openhab-core-auth-jaas/4.0.3="openhab-core-auth-jaas/4.0.3"
feature.openhab-core-auth-oauth2client/4.0.3="openhab-core-auth-oauth2client/4.0.3"
feature.openhab-core-automation-module-media/4.0.3="openhab-core-automation-module-media/4.0.3"
feature.openhab-core-automation-module-script-rulesupport/4.0.3="openhab-core-automation-module-script-rulesupport/4.0.3"
feature.openhab-core-automation-module-script/4.0.3="openhab-core-automation-module-script/4.0.3"
feature.openhab-core-automation-rest/4.0.3="openhab-core-automation-rest/4.0.3"
feature.openhab-core-base/4.0.3="openhab-core-base/4.0.3"
feature.openhab-core-io-bin2json/4.0.3="openhab-core-io-bin2json/4.0.3"
feature.openhab-core-io-console-karaf/4.0.3="openhab-core-io-console-karaf/4.0.3"
feature.openhab-core-io-http-auth/4.0.3="openhab-core-io-http-auth/4.0.3"
feature.openhab-core-io-rest-audio/4.0.3="openhab-core-io-rest-audio/4.0.3"
feature.openhab-core-io-rest-auth/4.0.3="openhab-core-io-rest-auth/4.0.3"
feature.openhab-core-io-rest-log/4.0.3="openhab-core-io-rest-log/4.0.3"
feature.openhab-core-io-rest-mdns/4.0.3="openhab-core-io-rest-mdns/4.0.3"
feature.openhab-core-io-rest-sitemap/4.0.3="openhab-core-io-rest-sitemap/4.0.3"
feature.openhab-core-io-rest-swagger/4.0.3="openhab-core-io-rest-swagger/4.0.3"
feature.openhab-core-io-rest-transform/4.0.3="openhab-core-io-rest-transform/4.0.3"
feature.openhab-core-io-rest-voice/4.0.3="openhab-core-io-rest-voice/4.0.3"
feature.openhab-core-io-transport-coap/4.0.3="openhab-core-io-transport-coap/4.0.3"
feature.openhab-core-io-transport-http/4.0.3="openhab-core-io-transport-http/4.0.3"
feature.openhab-core-io-transport-mdns/4.0.3="openhab-core-io-transport-mdns/4.0.3"
feature.openhab-core-io-transport-modbus/4.0.3="openhab-core-io-transport-modbus/4.0.3"
feature.openhab-core-io-transport-mqtt/4.0.3="openhab-core-io-transport-mqtt/4.0.3"
feature.openhab-core-io-transport-serial-javacomm/4.0.3="openhab-core-io-transport-serial-javacomm/4.0.3"
feature.openhab-core-io-transport-upnp/4.0.3="openhab-core-io-transport-upnp/4.0.3"
feature.openhab-core-io-websocket/4.0.3="openhab-core-io-websocket/4.0.3"
feature.openhab-core-model-item-ide/4.0.3="openhab-core-model-item-ide/4.0.3"
feature.openhab-core-model-item/4.0.3="openhab-core-model-item/4.0.3"
feature.openhab-core-model-lsp/4.0.3="openhab-core-model-lsp/4.0.3"
feature.openhab-core-model-persistence-ide/4.0.3="openhab-core-model-persistence-ide/4.0.3"
feature.openhab-core-model-persistence/4.0.3="openhab-core-model-persistence/4.0.3"
feature.openhab-core-model-rule-ide/4.0.3="openhab-core-model-rule-ide/4.0.3"
feature.openhab-core-model-rule/4.0.3="openhab-core-model-rule/4.0.3"
feature.openhab-core-model-script-ide/4.0.3="openhab-core-model-script-ide/4.0.3"
feature.openhab-core-model-script/4.0.3="openhab-core-model-script/4.0.3"
feature.openhab-core-model-sitemap-ide/4.0.3="openhab-core-model-sitemap-ide/4.0.3"
feature.openhab-core-model-sitemap/4.0.3="openhab-core-model-sitemap/4.0.3"
feature.openhab-core-model-thing-ide/4.0.3="openhab-core-model-thing-ide/4.0.3"
feature.openhab-core-model-thing/4.0.3="openhab-core-model-thing/4.0.3"
feature.openhab-core-storage-json/4.0.3="openhab-core-storage-json/4.0.3"
feature.openhab-core-ui-icon/4.0.3="openhab-core-ui-icon/4.0.3"
feature.openhab-core-ui/4.0.3="openhab-core-ui/4.0.3"
feature.openhab-core-addon-marketplace/4.0.4="openhab-core-addon-marketplace/4.0.4"
feature.openhab-core-auth-jaas/4.0.4="openhab-core-auth-jaas/4.0.4"
feature.openhab-core-auth-oauth2client/4.0.4="openhab-core-auth-oauth2client/4.0.4"
feature.openhab-core-automation-module-media/4.0.4="openhab-core-automation-module-media/4.0.4"
feature.openhab-core-automation-module-script-rulesupport/4.0.4="openhab-core-automation-module-script-rulesupport/4.0.4"
feature.openhab-core-automation-module-script/4.0.4="openhab-core-automation-module-script/4.0.4"
feature.openhab-core-automation-rest/4.0.4="openhab-core-automation-rest/4.0.4"
feature.openhab-core-base/4.0.4="openhab-core-base/4.0.4"
feature.openhab-core-io-bin2json/4.0.4="openhab-core-io-bin2json/4.0.4"
feature.openhab-core-io-console-karaf/4.0.4="openhab-core-io-console-karaf/4.0.4"
feature.openhab-core-io-http-auth/4.0.4="openhab-core-io-http-auth/4.0.4"
feature.openhab-core-io-rest-audio/4.0.4="openhab-core-io-rest-audio/4.0.4"
feature.openhab-core-io-rest-auth/4.0.4="openhab-core-io-rest-auth/4.0.4"
feature.openhab-core-io-rest-log/4.0.4="openhab-core-io-rest-log/4.0.4"
feature.openhab-core-io-rest-mdns/4.0.4="openhab-core-io-rest-mdns/4.0.4"
feature.openhab-core-io-rest-sitemap/4.0.4="openhab-core-io-rest-sitemap/4.0.4"
feature.openhab-core-io-rest-swagger/4.0.4="openhab-core-io-rest-swagger/4.0.4"
feature.openhab-core-io-rest-transform/4.0.4="openhab-core-io-rest-transform/4.0.4"
feature.openhab-core-io-rest-voice/4.0.4="openhab-core-io-rest-voice/4.0.4"
feature.openhab-core-io-transport-coap/4.0.4="openhab-core-io-transport-coap/4.0.4"
feature.openhab-core-io-transport-http/4.0.4="openhab-core-io-transport-http/4.0.4"
feature.openhab-core-io-transport-mdns/4.0.4="openhab-core-io-transport-mdns/4.0.4"
feature.openhab-core-io-transport-modbus/4.0.4="openhab-core-io-transport-modbus/4.0.4"
feature.openhab-core-io-transport-mqtt/4.0.4="openhab-core-io-transport-mqtt/4.0.4"
feature.openhab-core-io-transport-serial-javacomm/4.0.4="openhab-core-io-transport-serial-javacomm/4.0.4"
feature.openhab-core-io-transport-upnp/4.0.4="openhab-core-io-transport-upnp/4.0.4"
feature.openhab-core-io-websocket/4.0.4="openhab-core-io-websocket/4.0.4"
feature.openhab-core-model-item-ide/4.0.4="openhab-core-model-item-ide/4.0.4"
feature.openhab-core-model-item/4.0.4="openhab-core-model-item/4.0.4"
feature.openhab-core-model-lsp/4.0.4="openhab-core-model-lsp/4.0.4"
feature.openhab-core-model-persistence-ide/4.0.4="openhab-core-model-persistence-ide/4.0.4"
feature.openhab-core-model-persistence/4.0.4="openhab-core-model-persistence/4.0.4"
feature.openhab-core-model-rule-ide/4.0.4="openhab-core-model-rule-ide/4.0.4"
feature.openhab-core-model-rule/4.0.4="openhab-core-model-rule/4.0.4"
feature.openhab-core-model-script-ide/4.0.4="openhab-core-model-script-ide/4.0.4"
feature.openhab-core-model-script/4.0.4="openhab-core-model-script/4.0.4"
feature.openhab-core-model-sitemap-ide/4.0.4="openhab-core-model-sitemap-ide/4.0.4"
feature.openhab-core-model-sitemap/4.0.4="openhab-core-model-sitemap/4.0.4"
feature.openhab-core-model-thing-ide/4.0.4="openhab-core-model-thing-ide/4.0.4"
feature.openhab-core-model-thing/4.0.4="openhab-core-model-thing/4.0.4"
feature.openhab-core-storage-json/4.0.4="openhab-core-storage-json/4.0.4"
feature.openhab-core-ui-icon/4.0.4="openhab-core-ui-icon/4.0.4"
feature.openhab-core-ui/4.0.4="openhab-core-ui/4.0.4"
feature.openhab-runtime-base="openhab-runtime-base"
feature.openhab-runtime-base/4.0.3="openhab-runtime-base/4.0.3"
feature.openhab-runtime-certificate/4.0.3="openhab-runtime-certificate/4.0.3"
feature.openhab-runtime-base/4.0.4="openhab-runtime-base/4.0.4"
feature.openhab-runtime-certificate/4.0.4="openhab-runtime-certificate/4.0.4"
feature.openhab-runtime-ui="openhab-runtime-ui"
feature.openhab-runtime-ui/4.0.3="openhab-runtime-ui/4.0.3"
feature.openhab-transport-coap/4.0.3="openhab-transport-coap/4.0.3"
feature.openhab-transport-http/4.0.3="openhab-transport-http/4.0.3"
feature.openhab-transport-mdns/4.0.3="openhab-transport-mdns/4.0.3"
feature.openhab-transport-modbus/4.0.3="openhab-transport-modbus/4.0.3"
feature.openhab-transport-mqtt/4.0.3="openhab-transport-mqtt/4.0.3"
feature.openhab-transport-serial/4.0.3="openhab-transport-serial/4.0.3"
feature.openhab-transport-upnp/4.0.3="openhab-transport-upnp/4.0.3"
feature.openhab.inc-model-core/4.0.3="openhab.inc-model-core/4.0.3"
feature.openhab.tp-asm/4.0.3="openhab.tp-asm/4.0.3"
feature.openhab.tp-base/4.0.3="openhab.tp-base/4.0.3"
feature.openhab.tp-coap/4.0.3="openhab.tp-coap/4.0.3"
feature.openhab.tp-commons-net/4.0.3="openhab.tp-commons-net/4.0.3"
feature.openhab.tp-cxf/4.0.3="openhab.tp-cxf/4.0.3"
feature.openhab.tp-gson/4.0.3="openhab.tp-gson/4.0.3"
feature.openhab.tp-hivemqclient/4.0.3="openhab.tp-hivemqclient/4.0.3"
feature.openhab.tp-httpclient/4.0.3="openhab.tp-httpclient/4.0.3"
feature.openhab.tp-jackson/4.0.3="openhab.tp-jackson/4.0.3"
feature.openhab.tp-jax-rs-whiteboard/4.0.3="openhab.tp-jax-rs-whiteboard/4.0.3"
feature.openhab.tp-jaxb/4.0.3="openhab.tp-jaxb/4.0.3"
feature.openhab.tp-jaxws/4.0.3="openhab.tp-jaxws/4.0.3"
feature.openhab.tp-jbbp/4.0.3="openhab.tp-jbbp/4.0.3"
feature.openhab.tp-jmdns/4.0.3="openhab.tp-jmdns/4.0.3"
feature.openhab.tp-jna/4.0.3="openhab.tp-jna/4.0.3"
feature.openhab.tp-jollyday/4.0.3="openhab.tp-jollyday/4.0.3"
feature.openhab.tp-jose4j/4.0.3="openhab.tp-jose4j/4.0.3"
feature.openhab.tp-jupnp/4.0.3="openhab.tp-jupnp/4.0.3"
feature.openhab.tp-lsp4j/4.0.3="openhab.tp-lsp4j/4.0.3"
feature.openhab.tp-netty/4.0.3="openhab.tp-netty/4.0.3"
feature.openhab.tp-serial-javacomm/4.0.3="openhab.tp-serial-javacomm/4.0.3"
feature.openhab.tp-serial-rxtx/4.0.3="openhab.tp-serial-rxtx/4.0.3"
feature.openhab.tp-swagger-jaxrs/4.0.3="openhab.tp-swagger-jaxrs/4.0.3"
feature.openhab.tp-xtext-ide/4.0.3="openhab.tp-xtext-ide/4.0.3"
feature.openhab.tp-xtext/4.0.3="openhab.tp-xtext/4.0.3"
feature.openhab-runtime-ui/4.0.4="openhab-runtime-ui/4.0.4"
feature.openhab-transport-coap/4.0.4="openhab-transport-coap/4.0.4"
feature.openhab-transport-http/4.0.4="openhab-transport-http/4.0.4"
feature.openhab-transport-mdns/4.0.4="openhab-transport-mdns/4.0.4"
feature.openhab-transport-modbus/4.0.4="openhab-transport-modbus/4.0.4"
feature.openhab-transport-mqtt/4.0.4="openhab-transport-mqtt/4.0.4"
feature.openhab-transport-serial/4.0.4="openhab-transport-serial/4.0.4"
feature.openhab-transport-upnp/4.0.4="openhab-transport-upnp/4.0.4"
feature.openhab.inc-model-core/4.0.4="openhab.inc-model-core/4.0.4"
feature.openhab.tp-asm/4.0.4="openhab.tp-asm/4.0.4"
feature.openhab.tp-base/4.0.4="openhab.tp-base/4.0.4"
feature.openhab.tp-coap/4.0.4="openhab.tp-coap/4.0.4"
feature.openhab.tp-commons-net/4.0.4="openhab.tp-commons-net/4.0.4"
feature.openhab.tp-cxf/4.0.4="openhab.tp-cxf/4.0.4"
feature.openhab.tp-gson/4.0.4="openhab.tp-gson/4.0.4"
feature.openhab.tp-hivemqclient/4.0.4="openhab.tp-hivemqclient/4.0.4"
feature.openhab.tp-httpclient/4.0.4="openhab.tp-httpclient/4.0.4"
feature.openhab.tp-jackson/4.0.4="openhab.tp-jackson/4.0.4"
feature.openhab.tp-jax-rs-whiteboard/4.0.4="openhab.tp-jax-rs-whiteboard/4.0.4"
feature.openhab.tp-jaxb/4.0.4="openhab.tp-jaxb/4.0.4"
feature.openhab.tp-jaxws/4.0.4="openhab.tp-jaxws/4.0.4"
feature.openhab.tp-jbbp/4.0.4="openhab.tp-jbbp/4.0.4"
feature.openhab.tp-jmdns/4.0.4="openhab.tp-jmdns/4.0.4"
feature.openhab.tp-jna/4.0.4="openhab.tp-jna/4.0.4"
feature.openhab.tp-jollyday/4.0.4="openhab.tp-jollyday/4.0.4"
feature.openhab.tp-jose4j/4.0.4="openhab.tp-jose4j/4.0.4"
feature.openhab.tp-jupnp/4.0.4="openhab.tp-jupnp/4.0.4"
feature.openhab.tp-lsp4j/4.0.4="openhab.tp-lsp4j/4.0.4"
feature.openhab.tp-netty/4.0.4="openhab.tp-netty/4.0.4"
feature.openhab.tp-serial-javacomm/4.0.4="openhab.tp-serial-javacomm/4.0.4"
feature.openhab.tp-serial-rxtx/4.0.4="openhab.tp-serial-rxtx/4.0.4"
feature.openhab.tp-swagger-jaxrs/4.0.4="openhab.tp-swagger-jaxrs/4.0.4"
feature.openhab.tp-xtext-ide/4.0.4="openhab.tp-xtext-ide/4.0.4"
feature.openhab.tp-xtext/4.0.4="openhab.tp-xtext/4.0.4"
feature.package="package"
feature.service="service"
feature.shell="shell"
@ -105,8 +105,8 @@ feature.wrapper="wrapper"
felix.fileinstall.filename="file:/openhab/userdata/etc/profile.cfg"
repository.mvn:org.apache.karaf.features/framework/4.4.3/xml/features="mvn:org.apache.karaf.features/framework/4.4.3/xml/features"
repository.mvn:org.apache.karaf.features/standard/4.4.3/xml/features="mvn:org.apache.karaf.features/standard/4.4.3/xml/features"
repository.mvn:org.openhab.distro/distro-kar/4.0.3/xml/features="mvn:org.openhab.distro/distro-kar/4.0.3/xml/features"
repository.mvn:org.openhab.distro/distro/4.0.3/xml/features="mvn:org.openhab.distro/distro/4.0.3/xml/features"
repository.mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features="mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features"
repository.mvn:org.openhab.distro/distro-kar/4.0.4/xml/features="mvn:org.openhab.distro/distro-kar/4.0.4/xml/features"
repository.mvn:org.openhab.distro/distro/4.0.4/xml/features="mvn:org.openhab.distro/distro/4.0.4/xml/features"
repository.mvn:org.openhab.distro/openhab-addons/4.0.4/xml/features="mvn:org.openhab.distro/openhab-addons/4.0.4/xml/features"
service.bundleLocation="?"
service.pid="profile"

View file

@ -4,7 +4,7 @@ welcome = \r\n\
\u001B[91m / _ \\ / _ \\ / _ \\ / _ \\ \u001B[97m| |_| | / _ \\ | _ \\ \u001B[0m\r\n\
\u001B[91m | (_) | (_) | __/| | | |\u001B[97m| _ | / ___ \\ | |_) )\u001B[0m\r\n\
\u001B[91m \\___/| __/ \\___/|_| |_|\u001B[97m|_| |_|/_/ \\_\\|____/ \u001B[0m\r\n\
\u001B[91m |_| \u001B[0m 4.0.3 - Release Build\u001B[0m\r\n\
\u001B[91m |_| \u001B[0m 4.0.4 - Release Build\u001B[0m\r\n\
\r\n\
Use '\u001B[1m<tab>\u001B[0m' for a list of available commands\r\n\
and '\u001B[1m[cmd] --help\u001B[0m' for help on a specific command.\r\n\

View file

@ -4,7 +4,7 @@ welcome = \r\n\
\u001B[91m / _ \\ / _ \\ / _ \\ / _ \\ \u001B[97m| |_| | / _ \\ | _ \\ \u001B[0m\r\n\
\u001B[91m | (_) | (_) | __/| | | |\u001B[97m| _ | / ___ \\ | |_) )\u001B[0m\r\n\
\u001B[91m \\___/| __/ \\___/|_| |_|\u001B[97m|_| |_|/_/ \\_\\|____/ \u001B[0m\r\n\
\u001B[91m |_| \u001B[0m 4.0.3 - Release Build\u001B[0m\r\n\
\u001B[91m |_| \u001B[0m 4.0.4 - Release Build\u001B[0m\r\n\
\r\n\
Use '\u001B[1m<tab>\u001B[0m' for a list of available commands\r\n\
and '\u001B[1m[cmd] --help\u001B[0m' for help on a specific command.\r\n\

View file

@ -304,7 +304,7 @@ karaf.delay.console=false
#
# Generated command shutdown
#
karaf.shutdown.command = 3671966a-c132-484c-b14d-9dfe27d34b1b
karaf.shutdown.command = 1930c756-b498-48ea-b592-94f2b4e26135
#
# Enable native Karaf support for systemd's watchdog.

View file

@ -21,8 +21,8 @@
# Comma separated list of features repositories to register by default
#
featuresRepositories = \
mvn:org.openhab.distro/distro/4.0.3/xml/features, \
mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features, \
mvn:org.openhab.distro/distro/4.0.4/xml/features, \
mvn:org.openhab.distro/openhab-addons/4.0.4/xml/features, \
mvn:org.apache.karaf.features/framework/4.4.3/xml/features, \
mvn:org.apache.karaf.features/standard/4.4.3/xml/features

View file

@ -11,9 +11,9 @@ attribute.overlay = true
# Feature XML repositories
repository.mvn\:org.apache.karaf.features/standard/4.4.3/xml/features = mvn:org.apache.karaf.features/standard/4.4.3/xml/features
repository.mvn\:org.apache.karaf.features/framework/4.4.3/xml/features = mvn:org.apache.karaf.features/framework/4.4.3/xml/features
repository.mvn\:org.openhab.distro/distro/4.0.3/xml/features = mvn:org.openhab.distro/distro/4.0.3/xml/features
repository.mvn\:org.openhab.distro/openhab-addons/4.0.3/xml/features = mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features
repository.mvn\:org.openhab.distro/distro-kar/4.0.3/xml/features = mvn:org.openhab.distro/distro-kar/4.0.3/xml/features
repository.mvn\:org.openhab.distro/distro/4.0.4/xml/features = mvn:org.openhab.distro/distro/4.0.4/xml/features
repository.mvn\:org.openhab.distro/openhab-addons/4.0.4/xml/features = mvn:org.openhab.distro/openhab-addons/4.0.4/xml/features
repository.mvn\:org.openhab.distro/distro-kar/4.0.4/xml/features = mvn:org.openhab.distro/distro-kar/4.0.4/xml/features
# Features
feature.framework = framework
@ -36,84 +36,84 @@ feature.openhab-runtime-base = openhab-runtime-base
feature.openhab-runtime-ui = openhab-runtime-ui
feature.wrapper = wrapper
feature.wrap = wrap
feature.openhab-runtime-ui/4.0.3 = openhab-runtime-ui/4.0.3
feature.openhab-core-base/4.0.3 = openhab-core-base/4.0.3
feature.openhab-core-addon-marketplace/4.0.3 = openhab-core-addon-marketplace/4.0.3
feature.openhab-core-auth-jaas/4.0.3 = openhab-core-auth-jaas/4.0.3
feature.openhab-core-auth-oauth2client/4.0.3 = openhab-core-auth-oauth2client/4.0.3
feature.openhab-core-automation-module-script/4.0.3 = openhab-core-automation-module-script/4.0.3
feature.openhab-core-automation-module-script-rulesupport/4.0.3 = openhab-core-automation-module-script-rulesupport/4.0.3
feature.openhab-core-automation-module-media/4.0.3 = openhab-core-automation-module-media/4.0.3
feature.openhab-core-automation-rest/4.0.3 = openhab-core-automation-rest/4.0.3
feature.openhab-core-io-bin2json/4.0.3 = openhab-core-io-bin2json/4.0.3
feature.openhab-core-io-console-karaf/4.0.3 = openhab-core-io-console-karaf/4.0.3
feature.openhab-core-io-http-auth/4.0.3 = openhab-core-io-http-auth/4.0.3
feature.openhab-core-io-rest-auth/4.0.3 = openhab-core-io-rest-auth/4.0.3
feature.openhab-core-io-rest-log/4.0.3 = openhab-core-io-rest-log/4.0.3
feature.openhab-core-io-rest-sitemap/4.0.3 = openhab-core-io-rest-sitemap/4.0.3
feature.openhab-core-io-rest-swagger/4.0.3 = openhab-core-io-rest-swagger/4.0.3
feature.openhab-core-io-rest-audio/4.0.3 = openhab-core-io-rest-audio/4.0.3
feature.openhab-core-io-rest-transform/4.0.3 = openhab-core-io-rest-transform/4.0.3
feature.openhab-core-io-rest-voice/4.0.3 = openhab-core-io-rest-voice/4.0.3
feature.openhab-core-io-rest-mdns/4.0.3 = openhab-core-io-rest-mdns/4.0.3
feature.openhab-core-io-websocket/4.0.3 = openhab-core-io-websocket/4.0.3
feature.openhab-core-io-transport-coap/4.0.3 = openhab-core-io-transport-coap/4.0.3
feature.openhab-core-io-transport-http/4.0.3 = openhab-core-io-transport-http/4.0.3
feature.openhab-core-io-transport-mdns/4.0.3 = openhab-core-io-transport-mdns/4.0.3
feature.openhab-core-io-transport-modbus/4.0.3 = openhab-core-io-transport-modbus/4.0.3
feature.openhab-core-io-transport-mqtt/4.0.3 = openhab-core-io-transport-mqtt/4.0.3
feature.openhab-core-io-transport-serial-javacomm/4.0.3 = openhab-core-io-transport-serial-javacomm/4.0.3
feature.openhab-core-io-transport-upnp/4.0.3 = openhab-core-io-transport-upnp/4.0.3
feature.openhab.inc-model-core/4.0.3 = openhab.inc-model-core/4.0.3
feature.openhab-core-model-item/4.0.3 = openhab-core-model-item/4.0.3
feature.openhab-core-model-item-ide/4.0.3 = openhab-core-model-item-ide/4.0.3
feature.openhab-core-model-persistence/4.0.3 = openhab-core-model-persistence/4.0.3
feature.openhab-core-model-persistence-ide/4.0.3 = openhab-core-model-persistence-ide/4.0.3
feature.openhab-core-model-rule/4.0.3 = openhab-core-model-rule/4.0.3
feature.openhab-core-model-rule-ide/4.0.3 = openhab-core-model-rule-ide/4.0.3
feature.openhab-core-model-script/4.0.3 = openhab-core-model-script/4.0.3
feature.openhab-core-model-script-ide/4.0.3 = openhab-core-model-script-ide/4.0.3
feature.openhab-core-model-sitemap/4.0.3 = openhab-core-model-sitemap/4.0.3
feature.openhab-core-model-sitemap-ide/4.0.3 = openhab-core-model-sitemap-ide/4.0.3
feature.openhab-core-model-thing/4.0.3 = openhab-core-model-thing/4.0.3
feature.openhab-core-model-thing-ide/4.0.3 = openhab-core-model-thing-ide/4.0.3
feature.openhab-core-model-lsp/4.0.3 = openhab-core-model-lsp/4.0.3
feature.openhab-core-storage-json/4.0.3 = openhab-core-storage-json/4.0.3
feature.openhab-core-ui/4.0.3 = openhab-core-ui/4.0.3
feature.openhab-core-ui-icon/4.0.3 = openhab-core-ui-icon/4.0.3
feature.openhab-runtime-base/4.0.3 = openhab-runtime-base/4.0.3
feature.openhab-runtime-certificate/4.0.3 = openhab-runtime-certificate/4.0.3
feature.openhab-transport-coap/4.0.3 = openhab-transport-coap/4.0.3
feature.openhab-transport-http/4.0.3 = openhab-transport-http/4.0.3
feature.openhab-transport-mdns/4.0.3 = openhab-transport-mdns/4.0.3
feature.openhab-transport-modbus/4.0.3 = openhab-transport-modbus/4.0.3
feature.openhab-transport-mqtt/4.0.3 = openhab-transport-mqtt/4.0.3
feature.openhab-transport-serial/4.0.3 = openhab-transport-serial/4.0.3
feature.openhab-transport-upnp/4.0.3 = openhab-transport-upnp/4.0.3
feature.openhab.tp-base/4.0.3 = openhab.tp-base/4.0.3
feature.openhab.tp-coap/4.0.3 = openhab.tp-coap/4.0.3
feature.openhab.tp-commons-net/4.0.3 = openhab.tp-commons-net/4.0.3
feature.openhab.tp-gson/4.0.3 = openhab.tp-gson/4.0.3
feature.openhab.tp-hivemqclient/4.0.3 = openhab.tp-hivemqclient/4.0.3
feature.openhab.tp-httpclient/4.0.3 = openhab.tp-httpclient/4.0.3
feature.openhab.tp-jackson/4.0.3 = openhab.tp-jackson/4.0.3
feature.openhab.tp-asm/4.0.3 = openhab.tp-asm/4.0.3
feature.openhab.tp-jax-rs-whiteboard/4.0.3 = openhab.tp-jax-rs-whiteboard/4.0.3
feature.openhab.tp-jna/4.0.3 = openhab.tp-jna/4.0.3
feature.openhab.tp-cxf/4.0.3 = openhab.tp-cxf/4.0.3
feature.openhab.tp-jbbp/4.0.3 = openhab.tp-jbbp/4.0.3
feature.openhab.tp-netty/4.0.3 = openhab.tp-netty/4.0.3
feature.openhab.tp-jaxb/4.0.3 = openhab.tp-jaxb/4.0.3
feature.openhab.tp-jaxws/4.0.3 = openhab.tp-jaxws/4.0.3
feature.openhab.tp-jollyday/4.0.3 = openhab.tp-jollyday/4.0.3
feature.openhab.tp-jmdns/4.0.3 = openhab.tp-jmdns/4.0.3
feature.openhab.tp-jose4j/4.0.3 = openhab.tp-jose4j/4.0.3
feature.openhab.tp-jupnp/4.0.3 = openhab.tp-jupnp/4.0.3
feature.openhab.tp-lsp4j/4.0.3 = openhab.tp-lsp4j/4.0.3
feature.openhab.tp-serial-javacomm/4.0.3 = openhab.tp-serial-javacomm/4.0.3
feature.openhab.tp-serial-rxtx/4.0.3 = openhab.tp-serial-rxtx/4.0.3
feature.openhab.tp-xtext/4.0.3 = openhab.tp-xtext/4.0.3
feature.openhab.tp-xtext-ide/4.0.3 = openhab.tp-xtext-ide/4.0.3
feature.openhab.tp-swagger-jaxrs/4.0.3 = openhab.tp-swagger-jaxrs/4.0.3
feature.distro/4.0.3 = distro/4.0.3
feature.distro-kar/4.0.3 = distro-kar/4.0.3
feature.openhab-runtime-ui/4.0.4 = openhab-runtime-ui/4.0.4
feature.openhab-core-base/4.0.4 = openhab-core-base/4.0.4
feature.openhab-core-addon-marketplace/4.0.4 = openhab-core-addon-marketplace/4.0.4
feature.openhab-core-auth-jaas/4.0.4 = openhab-core-auth-jaas/4.0.4
feature.openhab-core-auth-oauth2client/4.0.4 = openhab-core-auth-oauth2client/4.0.4
feature.openhab-core-automation-module-script/4.0.4 = openhab-core-automation-module-script/4.0.4
feature.openhab-core-automation-module-script-rulesupport/4.0.4 = openhab-core-automation-module-script-rulesupport/4.0.4
feature.openhab-core-automation-module-media/4.0.4 = openhab-core-automation-module-media/4.0.4
feature.openhab-core-automation-rest/4.0.4 = openhab-core-automation-rest/4.0.4
feature.openhab-core-io-bin2json/4.0.4 = openhab-core-io-bin2json/4.0.4
feature.openhab-core-io-console-karaf/4.0.4 = openhab-core-io-console-karaf/4.0.4
feature.openhab-core-io-http-auth/4.0.4 = openhab-core-io-http-auth/4.0.4
feature.openhab-core-io-rest-auth/4.0.4 = openhab-core-io-rest-auth/4.0.4
feature.openhab-core-io-rest-log/4.0.4 = openhab-core-io-rest-log/4.0.4
feature.openhab-core-io-rest-sitemap/4.0.4 = openhab-core-io-rest-sitemap/4.0.4
feature.openhab-core-io-rest-swagger/4.0.4 = openhab-core-io-rest-swagger/4.0.4
feature.openhab-core-io-rest-audio/4.0.4 = openhab-core-io-rest-audio/4.0.4
feature.openhab-core-io-rest-transform/4.0.4 = openhab-core-io-rest-transform/4.0.4
feature.openhab-core-io-rest-voice/4.0.4 = openhab-core-io-rest-voice/4.0.4
feature.openhab-core-io-rest-mdns/4.0.4 = openhab-core-io-rest-mdns/4.0.4
feature.openhab-core-io-websocket/4.0.4 = openhab-core-io-websocket/4.0.4
feature.openhab-core-io-transport-coap/4.0.4 = openhab-core-io-transport-coap/4.0.4
feature.openhab-core-io-transport-http/4.0.4 = openhab-core-io-transport-http/4.0.4
feature.openhab-core-io-transport-mdns/4.0.4 = openhab-core-io-transport-mdns/4.0.4
feature.openhab-core-io-transport-modbus/4.0.4 = openhab-core-io-transport-modbus/4.0.4
feature.openhab-core-io-transport-mqtt/4.0.4 = openhab-core-io-transport-mqtt/4.0.4
feature.openhab-core-io-transport-serial-javacomm/4.0.4 = openhab-core-io-transport-serial-javacomm/4.0.4
feature.openhab-core-io-transport-upnp/4.0.4 = openhab-core-io-transport-upnp/4.0.4
feature.openhab.inc-model-core/4.0.4 = openhab.inc-model-core/4.0.4
feature.openhab-core-model-item/4.0.4 = openhab-core-model-item/4.0.4
feature.openhab-core-model-item-ide/4.0.4 = openhab-core-model-item-ide/4.0.4
feature.openhab-core-model-persistence/4.0.4 = openhab-core-model-persistence/4.0.4
feature.openhab-core-model-persistence-ide/4.0.4 = openhab-core-model-persistence-ide/4.0.4
feature.openhab-core-model-rule/4.0.4 = openhab-core-model-rule/4.0.4
feature.openhab-core-model-rule-ide/4.0.4 = openhab-core-model-rule-ide/4.0.4
feature.openhab-core-model-script/4.0.4 = openhab-core-model-script/4.0.4
feature.openhab-core-model-script-ide/4.0.4 = openhab-core-model-script-ide/4.0.4
feature.openhab-core-model-sitemap/4.0.4 = openhab-core-model-sitemap/4.0.4
feature.openhab-core-model-sitemap-ide/4.0.4 = openhab-core-model-sitemap-ide/4.0.4
feature.openhab-core-model-thing/4.0.4 = openhab-core-model-thing/4.0.4
feature.openhab-core-model-thing-ide/4.0.4 = openhab-core-model-thing-ide/4.0.4
feature.openhab-core-model-lsp/4.0.4 = openhab-core-model-lsp/4.0.4
feature.openhab-core-storage-json/4.0.4 = openhab-core-storage-json/4.0.4
feature.openhab-core-ui/4.0.4 = openhab-core-ui/4.0.4
feature.openhab-core-ui-icon/4.0.4 = openhab-core-ui-icon/4.0.4
feature.openhab-runtime-base/4.0.4 = openhab-runtime-base/4.0.4
feature.openhab-runtime-certificate/4.0.4 = openhab-runtime-certificate/4.0.4
feature.openhab-transport-coap/4.0.4 = openhab-transport-coap/4.0.4
feature.openhab-transport-http/4.0.4 = openhab-transport-http/4.0.4
feature.openhab-transport-mdns/4.0.4 = openhab-transport-mdns/4.0.4
feature.openhab-transport-modbus/4.0.4 = openhab-transport-modbus/4.0.4
feature.openhab-transport-mqtt/4.0.4 = openhab-transport-mqtt/4.0.4
feature.openhab-transport-serial/4.0.4 = openhab-transport-serial/4.0.4
feature.openhab-transport-upnp/4.0.4 = openhab-transport-upnp/4.0.4
feature.openhab.tp-base/4.0.4 = openhab.tp-base/4.0.4
feature.openhab.tp-coap/4.0.4 = openhab.tp-coap/4.0.4
feature.openhab.tp-commons-net/4.0.4 = openhab.tp-commons-net/4.0.4
feature.openhab.tp-gson/4.0.4 = openhab.tp-gson/4.0.4
feature.openhab.tp-hivemqclient/4.0.4 = openhab.tp-hivemqclient/4.0.4
feature.openhab.tp-httpclient/4.0.4 = openhab.tp-httpclient/4.0.4
feature.openhab.tp-jackson/4.0.4 = openhab.tp-jackson/4.0.4
feature.openhab.tp-asm/4.0.4 = openhab.tp-asm/4.0.4
feature.openhab.tp-jax-rs-whiteboard/4.0.4 = openhab.tp-jax-rs-whiteboard/4.0.4
feature.openhab.tp-jna/4.0.4 = openhab.tp-jna/4.0.4
feature.openhab.tp-cxf/4.0.4 = openhab.tp-cxf/4.0.4
feature.openhab.tp-jbbp/4.0.4 = openhab.tp-jbbp/4.0.4
feature.openhab.tp-netty/4.0.4 = openhab.tp-netty/4.0.4
feature.openhab.tp-jaxb/4.0.4 = openhab.tp-jaxb/4.0.4
feature.openhab.tp-jaxws/4.0.4 = openhab.tp-jaxws/4.0.4
feature.openhab.tp-jollyday/4.0.4 = openhab.tp-jollyday/4.0.4
feature.openhab.tp-jmdns/4.0.4 = openhab.tp-jmdns/4.0.4
feature.openhab.tp-jose4j/4.0.4 = openhab.tp-jose4j/4.0.4
feature.openhab.tp-jupnp/4.0.4 = openhab.tp-jupnp/4.0.4
feature.openhab.tp-lsp4j/4.0.4 = openhab.tp-lsp4j/4.0.4
feature.openhab.tp-serial-javacomm/4.0.4 = openhab.tp-serial-javacomm/4.0.4
feature.openhab.tp-serial-rxtx/4.0.4 = openhab.tp-serial-rxtx/4.0.4
feature.openhab.tp-xtext/4.0.4 = openhab.tp-xtext/4.0.4
feature.openhab.tp-xtext-ide/4.0.4 = openhab.tp-xtext-ide/4.0.4
feature.openhab.tp-swagger-jaxrs/4.0.4 = openhab.tp-swagger-jaxrs/4.0.4
feature.distro/4.0.4 = distro/4.0.4
feature.distro-kar/4.0.4 = distro-kar/4.0.4

View file

@ -5,7 +5,7 @@ online-repo : https://openhab.jfrog.io/openhab/libs-release
Repository Version
----------------------------------------
openhab-distro : 4.0.3
openhab-core : 4.0.3
openhab-addons : 4.0.3
openhab-distro : 4.0.4
openhab-core : 4.0.4
openhab-addons : 4.0.4
karaf : 4.4.3

View file

@ -0,0 +1,26 @@
{
"admin": {
"class": "org.openhab.core.auth.ManagedUser",
"value": {
"name": "admin",
"passwordHash": "Gy9oNwY2mWCTA/r5Yiv2o/D/Y+V3fHkT0aVMheibVzf14HsCuyHL/wYupza6AFMu+b2ojOOm8TPSbaI5cvNQFA\u003d\u003d",
"passwordSalt": "9scUjJ7SDXQ2Zvkfap/DpxbGf/f2ql9A3XaDH5wOmtB3MP2s+X9vgmuWdX8pCFSu08qKWYNL/nDCD3+WyPuE4A\u003d\u003d",
"roles": [
"administrator"
],
"sessions": [
{
"sessionId": "e416ed9f-0319-4ab3-acd8-dc58fc15de56",
"refreshToken": "f1971ef03ff04d7fbb620ea1b33dbe4d",
"createdTime": "Dec 17, 2023, 8:34:12 PM",
"lastRefreshTime": "Dec 17, 2023, 8:34:12 PM",
"clientId": "http://localhost:8080",
"redirectUri": "http://localhost:8080",
"scope": "admin",
"sessionCookie": true
}
],
"apiTokens": []
}
}
}

View file

@ -0,0 +1,26 @@
{
"admin": {
"class": "org.openhab.core.auth.ManagedUser",
"value": {
"name": "admin",
"passwordHash": "Gy9oNwY2mWCTA/r5Yiv2o/D/Y+V3fHkT0aVMheibVzf14HsCuyHL/wYupza6AFMu+b2ojOOm8TPSbaI5cvNQFA\u003d\u003d",
"passwordSalt": "9scUjJ7SDXQ2Zvkfap/DpxbGf/f2ql9A3XaDH5wOmtB3MP2s+X9vgmuWdX8pCFSu08qKWYNL/nDCD3+WyPuE4A\u003d\u003d",
"roles": [
"administrator"
],
"sessions": [
{
"sessionId": "e416ed9f-0319-4ab3-acd8-dc58fc15de56",
"refreshToken": "f1971ef03ff04d7fbb620ea1b33dbe4d",
"createdTime": "Dec 17, 2023, 8:34:12 PM",
"lastRefreshTime": "Dec 17, 2023, 8:34:12 PM",
"clientId": "http://localhost:8080",
"redirectUri": "http://localhost:8080",
"scope": "admin",
"sessionCookie": true
}
],
"apiTokens": []
}
}
}

View file

@ -1 +1 @@
{"kty":"RSA","n":"xtlnpVyPt_L4tCCOovuFn6qNrorwSZ6RVmrMzSCZ4E7-9W6YcgRGWf8Rr2Qghv8wYlMtAc5f7xr0-CVSfM12oHyhxenWU6FcitJGFIYmnpuiwCEUphmIg3OtmsL1LnR3VFAJxLlhWYGBOhaGnz97w7zm1igF8YnxrEpuij9cR_QrSSoBd-bHVhMRJtEov0zNrxR45c0-VSGfucfSr-X-vyzd49ZPkMCeuc8BrVwsN8BfqRdX2MtyiCrulFNp8Q8gSFyUFTk67c20qHdgtJPyazT-lNc9K0TaJD5wEFCZcj5Fh-CVqav9Q1BxMLVaKmg3h78-sMgNYDzRferCCmFkCQ","e":"AQAB","d":"UQ6wVFUN9MMjpHGdE00KZFKm3J6gYrIztpFkmL2QXEJ3Zd7GX7vkXa0_LUrYg48kzv_u2cyhiJtpfnngTSWIFNWZME8o4gBl8-TRUm548bCpwD3759WCs2sFOo_8WAp71i-mO74Bs_W5ks8541KChgDL7EJ2YcaEcGIK-2nmmSFy7HZ0KypXdfqSTYbn2ZbEFJjjSYxmqSKTegvvXAUfIMwPfsdGfsy5S3H99QxX3-0K2XgduDi0d1dPxcuHMkftSG_oB0lAQrY9K9l_wisJvZNuqE0J4kucSbuvtEovHYceD0zRcGAQxFEaYa_oYSA5yJI2byr1pKVfBIpucCrYnQ","p":"x5-EO91jPK1rs__8T4orVJ_Q1T8sS7z9ny67hDhV8avbpLMpji1MwGmfNhnmSbJfm648EIvTZwxJj_-C09UaL7cZtEcmkHFJ26c9Rz0eecF_fKQbyfudr12NG0gm_immNXBBSSiRi_3KwnriUEEegfnXSXXeI6VrXHA9YDYiqAc","q":"_wHwNCcHVcxFqBsoZVRiJjRoI_8ZOhDmEE9pUjvDMTFz7cuoLBwKbggrpF-CmguENr8F3xsAQppOrW0Z-tWF9TYl0ydwF2SyiQ5ZRol0_jq2NHK7rZu2KvvRrY48kRSxNi3iRjxEM8Q-gWy8IEH1tW6Db6KQtck9axuFFl6k728","dp":"R1uTRl8OMUuAu5hfFgO7F4YFfaUWbYCCXNu0tj_5IOmhG0_cI_G3hPR8sDcz5dY4bQssd3G0QRrYVPwuRRDhSns2WgYxF-MXVsiClCuZ8EYmD2UOdfZW2LAlV8JEBgjXXDTjcYZp-NPhHgIVUkDk6etodN8IaE-igCmzFuhjHRM","dq":"6KJRCpLMS0Y2CZz05jPr8iR_GM-gqOs_poN7doyUji0qMDZJbiwKi8SiY6rKD1QQQo1Tguwz-Y6h1e6g88aVFVVXfmENDhpMEWJoqUO-2iqfjAtbEY7qyh2-dBE9SbFR1TZYpXBXW85co1-Z4-eoiuKNv2rTjzNN94c8i2K-Hrs","qi":"Q-LuIxo9bC76PubTswus3u4H9SHk-T95ASfaRHNKCqUG8rvBTC25zXB1KJlnX9KMn8cDwFb7UnuY-bqDWUpXpe4IcZJRv3MnZEKkRk0bgfTlNoX3pVOEfMiNXM1qb-3zyt4DBh1Z-1V49R8P9z_82H_gGZStBCfYQw9gZAcqfTA"}
{"kty":"RSA","n":"2QaUe_zVEhrVWZ7THQJzEIhDlYwhheZM6G6Rp4bOl_Fd6k58Xgl3c73DuUlfCnMpD59fZJXcVIFBUdLZiwKw-XvrOYPrLbNmm_vNtiWXCjJHLnzGJvrAO6h52TzHgSpOa-nqxHKGG750xxebHpj_09WdfuDlntzW_ouddNeRrXhr4Zv5wX2YRbJa8--j9vgecImiFFy5fERVLttVA2tSmXRSXyBzdBk99iXmbL5sA8-nc9PQmZn_TMnyyU2Q6EiH5OP8BguH8RFn3f1r4bNiVuuPJZS4IHJUE7DGCujZp9_HvsX_QD53n8A5bd4KZ4DDj5k02_6YOGp4UL5g_KIRsQ","e":"AQAB","d":"NTAJJOfeWj0MS5YCnEn05DjZA2Yf8x5xe8dZWArQR-mmAB3zGeLNDScVOCw0qC14AzWmXdLieC1jUkfP--MRd1s411Qux3j_rTvFex30SdHvowN-VqA-i4BrOGPOayfwpz7hQ_rjRhpjqUVuRU3u6L4iBq3caJYr9J9H3BJWyAHXMSM4Bh23EBBCm-_DTNL1rV6VBSv7bqjhRot5lXM5xNXG6qohLhFyjrcbSJqJ_YqI5wySSje6CimLNm-zM4kKd6C_x15P7ynlYBjRL28uOS_vVuvldAkKH5Y_ys3Vqat8Q3VOw9giAkhRsqMMgvUcbiZlyyqIjVzBjgAvDUZ3hw","p":"5hDRKazLj34sVsExLtMwcUhTfHMAzDwP0de58rOBh5SQN4TwC-A_szs_tsu2XIcUHWoE2KzYdgtWfGkZ0S2W4pX81LJp4adMATo-fjcYYACOLWI_tQHP4WvE625cdm1rqGlAJgD5t_9o_kwMKEIfztLg-bEAavdejeiI_binUm8","q":"8X11Pj55m7rnINxj037lyN6J3fEZvVATO-d1qn_4uWHF9fJ0f1K2zzVQYsfy4FzzSSyefEJxP6cA2181FeoLRvTIKYhGkBX9JWL1soWQ5sX_RW0dnn3WNNXmC9RZDrSEnru4i9KDIIsMoUrJVHNXUqTgx7kAdeN5KTvEfiu4bd8","dp":"r6LHC3nPLYy1bMWwNn8jzFfa5HcndMOlkB2Q56gCiu7v6nKij25zMvFYgsSiQ6EbyhjV-lR6LCQbsn7KJtcXCYRXsElEa_C8JXPBobmN8jx6TktjN1xax0zu2I04KXD_b2JqhpjYC5ABJ6IG5fUVM1_qQLTQDNksZknPy2Lc2iE","dq":"tsi0JnHZUCNu8DOAp8PEH385sTDdv6pNdKkkKfKFC6RS1281-G1eC4aaGrqnPmV8i-Vm7DzKRVid0G3G25h0ArgijTUl28eY_WRi_kYUwGgbaKxHoAA1U3aXklqfMf825oLGE6c6MzasT6UwsGhBLz-3F9US4ShVO_2OI8Xp6dc","qi":"2NjZpOZjRzdxz0478wrdv-218qg0CKphjtjhQZw0l5Ft1o5nYTSYKrz69yfxD6mFLh5YTnGtYcwbIf54nc_EIBHqLrG0trxyo0cRdYfJPriPpRjPenqdeld--5EsQPdudtraJ7OHpDbVKYc-OMXGAQrCuKcnegDWUO7ovrnJU48"}