From e880a09ba8225c78bb8c2ffd155715f29e4ae784 Mon Sep 17 00:00:00 2001 From: theBigBlase Date: Sun, 17 Dec 2023 13:37:42 -0500 Subject: [PATCH] openhab: config perms shared between docker / host --- .gitignore | 1 + Makefile | 11 +- README.md | 4 +- docker-compose.yml | 29 ++- openhab/Dockerfile | 6 + .../items/IFT605_SmartClothes.items | 38 ---- .../rules/IFT605_SmartClothes.rules | 175 ------------------ .../things/IFT605_SmartClothes.things | 62 ------- .../config/org/apache/karaf/features.config | 2 +- .../config/org/openhab/addons.config | 7 +- ...daff3c-f0c3-4776-a340-a6b0173ed9a1.config} | 2 +- .../config/org/openhab/i18n.config | 6 + ...pache_felix_cm_impl_DynamicBindings.config | 3 +- .../openhab_userdata/config/profile.config | 168 ++++++++--------- .../etc/branding-ssh.properties | 2 +- .../openhab_userdata/etc/branding.properties | 2 +- .../openhab_userdata/etc/config.properties | 2 +- openhab/openhab_userdata/etc/keystore | Bin 606 -> 605 bytes .../etc/org.apache.karaf.features.cfg | 4 +- openhab/openhab_userdata/etc/profile.cfg | 168 ++++++++--------- .../openhab_userdata/etc/version.properties | 6 +- .../jsondb/backup/1702863252265--users.json | 26 +++ openhab/openhab_userdata/jsondb/users.json | 26 +++ .../secrets/rsa_json_web_key.json | 2 +- 24 files changed, 283 insertions(+), 469 deletions(-) create mode 100644 openhab/Dockerfile delete mode 100644 openhab/openhab_conf/items/IFT605_SmartClothes.items delete mode 100644 openhab/openhab_conf/rules/IFT605_SmartClothes.rules delete mode 100644 openhab/openhab_conf/things/IFT605_SmartClothes.things rename openhab/openhab_userdata/config/org/openhab/core/service/WatchService/{4c0ca031-fc00-41d8-8c46-4474cc442330.config => 06daff3c-f0c3-4776-a340-a6b0173ed9a1.config} (64%) create mode 100644 openhab/openhab_userdata/config/org/openhab/i18n.config create mode 100644 openhab/openhab_userdata/jsondb/backup/1702863252265--users.json create mode 100644 openhab/openhab_userdata/jsondb/users.json diff --git a/.gitignore b/.gitignore index 88530cf..89d1597 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ openhab/openhab_userdata/cache openhab/openhab_userdata/logs openhab/openhab_userdata/tmp +NOTES.md diff --git a/Makefile b/Makefile index 29ece41..70dc265 100644 --- a/Makefile +++ b/Makefile @@ -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" diff --git a/README.md b/README.md index d822904..38cb7bf 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docker-compose.yml b/docker-compose.yml index 8af036c..2a54587 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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 diff --git a/openhab/Dockerfile b/openhab/Dockerfile new file mode 100644 index 0000000..190ec15 --- /dev/null +++ b/openhab/Dockerfile @@ -0,0 +1,6 @@ +FROM openhab/openhab:4.0.4 + +ARG ID=1000 + +RUN echo $ID +RUN chown $ID -R /openhab/conf diff --git a/openhab/openhab_conf/items/IFT605_SmartClothes.items b/openhab/openhab_conf/items/IFT605_SmartClothes.items deleted file mode 100644 index c939242..0000000 --- a/openhab/openhab_conf/items/IFT605_SmartClothes.items +++ /dev/null @@ -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" (Lights, SmartClothes) {channel="elwire:0210:ewbridge:strip1"} -Dimmer stripIntensity "el-wire" (Lights, SmartClothes) {channel="elwire:0210:ewbridge:strip1"} - -Color stripColor2 "el-wire" (Lights, SmartClothes) {channel="elwire:0210:ewbridge:strip2"} -Dimmer stripIntensity2 "el-wire" (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" (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" (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"} diff --git a/openhab/openhab_conf/rules/IFT605_SmartClothes.rules b/openhab/openhab_conf/rules/IFT605_SmartClothes.rules deleted file mode 100644 index 26abcc6..0000000 --- a/openhab/openhab_conf/rules/IFT605_SmartClothes.rules +++ /dev/null @@ -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() -var luminanceMeasures = new HashMap() -var noiseMeasures = new HashMap() - -// 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 diff --git a/openhab/openhab_conf/things/IFT605_SmartClothes.things b/openhab/openhab_conf/things/IFT605_SmartClothes.things deleted file mode 100644 index ca258ca..0000000 --- a/openhab/openhab_conf/things/IFT605_SmartClothes.things +++ /dev/null @@ -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" diff --git a/openhab/openhab_userdata/config/org/apache/karaf/features.config b/openhab/openhab_userdata/config/org/apache/karaf/features.config index 1f6e214..3ea2239 100644 --- a/openhab/openhab_userdata/config/org/apache/karaf/features.config +++ b/openhab/openhab_userdata/config/org/apache/karaf/features.config @@ -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" diff --git a/openhab/openhab_userdata/config/org/openhab/addons.config b/openhab/openhab_userdata/config/org/openhab/addons.config index 74bb0fe..7c00540 100644 --- a/openhab/openhab_userdata/config/org/openhab/addons.config +++ b/openhab/openhab_userdata/config/org/openhab/addons.config @@ -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" diff --git a/openhab/openhab_userdata/config/org/openhab/core/service/WatchService/4c0ca031-fc00-41d8-8c46-4474cc442330.config b/openhab/openhab_userdata/config/org/openhab/core/service/WatchService/06daff3c-f0c3-4776-a340-a6b0173ed9a1.config similarity index 64% rename from openhab/openhab_userdata/config/org/openhab/core/service/WatchService/4c0ca031-fc00-41d8-8c46-4474cc442330.config rename to openhab/openhab_userdata/config/org/openhab/core/service/WatchService/06daff3c-f0c3-4776-a340-a6b0173ed9a1.config index 44fe25e..cea1887 100644 --- a/openhab/openhab_userdata/config/org/openhab/core/service/WatchService/4c0ca031-fc00-41d8-8c46-4474cc442330.config +++ b/openhab/openhab_userdata/config/org/openhab/core/service/WatchService/06daff3c-f0c3-4776-a340-a6b0173ed9a1.config @@ -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" diff --git a/openhab/openhab_userdata/config/org/openhab/i18n.config b/openhab/openhab_userdata/config/org/openhab/i18n.config new file mode 100644 index 0000000..84235d2 --- /dev/null +++ b/openhab/openhab_userdata/config/org/openhab/i18n.config @@ -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" diff --git a/openhab/openhab_userdata/config/org_apache_felix_cm_impl_DynamicBindings.config b/openhab/openhab_userdata/config/org_apache_felix_cm_impl_DynamicBindings.config index e0d0c22..0940473 100644 --- a/openhab/openhab_userdata/config/org_apache_felix_cm_impl_DynamicBindings.config +++ b/openhab/openhab_userdata/config/org_apache_felix_cm_impl_DynamicBindings.config @@ -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" diff --git a/openhab/openhab_userdata/config/profile.config b/openhab/openhab_userdata/config/profile.config index 89a3f91..7267f3d 100644 --- a/openhab/openhab_userdata/config/profile.config +++ b/openhab/openhab_userdata/config/profile.config @@ -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" diff --git a/openhab/openhab_userdata/etc/branding-ssh.properties b/openhab/openhab_userdata/etc/branding-ssh.properties index df03670..783c521 100644 --- a/openhab/openhab_userdata/etc/branding-ssh.properties +++ b/openhab/openhab_userdata/etc/branding-ssh.properties @@ -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\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\ diff --git a/openhab/openhab_userdata/etc/branding.properties b/openhab/openhab_userdata/etc/branding.properties index df03670..783c521 100644 --- a/openhab/openhab_userdata/etc/branding.properties +++ b/openhab/openhab_userdata/etc/branding.properties @@ -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\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\ diff --git a/openhab/openhab_userdata/etc/config.properties b/openhab/openhab_userdata/etc/config.properties index c46ef60..59f46f7 100644 --- a/openhab/openhab_userdata/etc/config.properties +++ b/openhab/openhab_userdata/etc/config.properties @@ -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. diff --git a/openhab/openhab_userdata/etc/keystore b/openhab/openhab_userdata/etc/keystore index 88ff11eac265f375504ea95a521908ec164fc213..d1d1fcb87e4b53a371754263b6fe13417b6f8fc6 100644 GIT binary patch delta 364 zcmV-y0h9jT1lnE@JqnbAQRkhU2T z+B74D*K664e`Z{97s#x@pjpLaqiwU*owxVWJ3)q~y~8Ab2jy;1`hL~mXwDLccwNT% z=G^1TFbW0;DuzhTJp=;+14sZcMFJojUOGF&ea7EmBTwv3bk~~7BsR~d>?BY;`ZtQR z-(3L$AprT0v>Bv$q=M}$o+1Mp06{P*X94(8ChWr30Z}itvjmeZ)874Kt9m_@ap({n94oVLM}J3YkKSXiAB-x zX%R8(mp@)kJ*G&`B!>|EO`ngrC1jXrPsQ1;;)udV5p5+}ME*xa#4p~CR{HD|)F~{I zK=vta1etg7>^$k$@&(~Ygh~oG8`dcGJOBUy0RRP9E;TSY0004*FoFSnE@Jq(mzSUT%c|Z z9*xMesV(BemPXu!PS7K&8Z&-k5bm(3#E8mCpN2K}`w}m0Y9=);10aeyhSlfDA8)@# z`k8eXFbW0;DuzhTJp=;+14#fdMgk!Kyfw5SGMx<9xU4kfZ}dq#yEzKa(BfaXY*Zu5 z4s}m_0wDnEHJE8CY5qVg&*$ENABeh^U7^5}gV1iA@={gTS8AKK@GaLFCt(aoErDT0 LXFUHp8!yNhj?S3` diff --git a/openhab/openhab_userdata/etc/org.apache.karaf.features.cfg b/openhab/openhab_userdata/etc/org.apache.karaf.features.cfg index 4b06cd9..5614952 100644 --- a/openhab/openhab_userdata/etc/org.apache.karaf.features.cfg +++ b/openhab/openhab_userdata/etc/org.apache.karaf.features.cfg @@ -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 diff --git a/openhab/openhab_userdata/etc/profile.cfg b/openhab/openhab_userdata/etc/profile.cfg index ee4b584..149b1ce 100644 --- a/openhab/openhab_userdata/etc/profile.cfg +++ b/openhab/openhab_userdata/etc/profile.cfg @@ -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 diff --git a/openhab/openhab_userdata/etc/version.properties b/openhab/openhab_userdata/etc/version.properties index e6b47cc..4bfd532 100644 --- a/openhab/openhab_userdata/etc/version.properties +++ b/openhab/openhab_userdata/etc/version.properties @@ -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 diff --git a/openhab/openhab_userdata/jsondb/backup/1702863252265--users.json b/openhab/openhab_userdata/jsondb/backup/1702863252265--users.json new file mode 100644 index 0000000..6e27ffc --- /dev/null +++ b/openhab/openhab_userdata/jsondb/backup/1702863252265--users.json @@ -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": [] + } + } +} \ No newline at end of file diff --git a/openhab/openhab_userdata/jsondb/users.json b/openhab/openhab_userdata/jsondb/users.json new file mode 100644 index 0000000..6e27ffc --- /dev/null +++ b/openhab/openhab_userdata/jsondb/users.json @@ -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": [] + } + } +} \ No newline at end of file diff --git a/openhab/openhab_userdata/secrets/rsa_json_web_key.json b/openhab/openhab_userdata/secrets/rsa_json_web_key.json index 546a292..3a5bfbd 100644 --- a/openhab/openhab_userdata/secrets/rsa_json_web_key.json +++ b/openhab/openhab_userdata/secrets/rsa_json_web_key.json @@ -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"} \ No newline at end of file +{"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"} \ No newline at end of file