init: docker file + openhab config files
This commit is contained in:
parent
065e2b01e6
commit
246357858b
113 changed files with 4381 additions and 0 deletions
5
openhab/openhab_conf/html/index.html
Normal file
5
openhab/openhab_conf/html/index.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
<html>
|
||||
<h1>openHAB user provided static content</h1>
|
||||
<p>Serve your own static html pages or resources from here. Files stored in the openHAB configuration subfolder <tt>html</tt> will be available through the HTTP server of openHAB, e.g. <a href="http://device-address:8080/static/image.png">http://device-address:8080/static/image.png</a>.</p>
|
||||
<p>Resources for sitemap elements (image, video,...) can also be provided though this folder.</p>
|
||||
</html>
|
3
openhab/openhab_conf/html/readme.txt
Normal file
3
openhab/openhab_conf/html/readme.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
Serve your own static html pages or resources from here.
|
||||
Files stored in this folder will be available through the HTTP server of openHAB, e.g. "http://device-address:8080/static/image.png".
|
||||
Resources for sitemap elements (image, video,...) can also be provided though this folder.
|
6
openhab/openhab_conf/icons/classic/readme.txt
Normal file
6
openhab/openhab_conf/icons/classic/readme.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
Your additional icons go here.
|
||||
Icons can be provided as png (32x32) or preferably as svg files.
|
||||
ClassicUI and BasicUI can be configured to accept svg (default) or png icons.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/configuration/items.html#icons
|
38
openhab/openhab_conf/items/IFT605_SmartClothes.items
Normal file
38
openhab/openhab_conf/items/IFT605_SmartClothes.items
Normal file
|
@ -0,0 +1,38 @@
|
|||
|
||||
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"}
|
5
openhab/openhab_conf/items/readme.txt
Normal file
5
openhab/openhab_conf/items/readme.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Your item definitions go here.
|
||||
All items files have to have the ".items" file extension and must follow a special syntax.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/configuration/items.html
|
5
openhab/openhab_conf/persistence/readme.txt
Normal file
5
openhab/openhab_conf/persistence/readme.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Your persistence configuration goes here.
|
||||
All persistence files have to have the ".persist" file extension and must follow a special syntax.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/configuration/persistence.html
|
175
openhab/openhab_conf/rules/IFT605_SmartClothes.rules
Normal file
175
openhab/openhab_conf/rules/IFT605_SmartClothes.rules
Normal file
|
@ -0,0 +1,175 @@
|
|||
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
|
5
openhab/openhab_conf/rules/readme.txt
Normal file
5
openhab/openhab_conf/rules/readme.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Your rules go here.
|
||||
All rule files have to have the ".rules" file extension and must follow a special syntax.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/configuration/rules-dsl.html
|
5
openhab/openhab_conf/scripts/readme.txt
Normal file
5
openhab/openhab_conf/scripts/readme.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Your scripts go here.
|
||||
All script files have to have the ".script" file extension and must follow a special syntax.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/configuration/rules-dsl.html#scripts
|
36
openhab/openhab_conf/services/addons.cfg
Normal file
36
openhab/openhab_conf/services/addons.cfg
Normal file
|
@ -0,0 +1,36 @@
|
|||
# Access Remote Add-on Repository
|
||||
# Defines whether the remote openHAB add-on repository should be used for browsing and installing add-ons. (default is true)
|
||||
#
|
||||
#remote = true
|
||||
|
||||
# Some add-on services may provide add-ons where compatibility with the currently running system is not expected.
|
||||
# Enabling this option will include these entries in the list of available add-ons.
|
||||
#
|
||||
#includeIncompatible = false
|
||||
|
||||
# The add-on configuration in the lists below is applied EVERY TIME openHAB is started.
|
||||
# Add-ons installed using the UI that do not occur in the lists will be uninstalled each startup.
|
||||
# When lists are commented again any add-ons in the list remain installed and are not removed.
|
||||
# So if you want to uninstall all add-ons part of a list, first remove all add-ons from it, restart
|
||||
# openHAB and then comment the list.
|
||||
|
||||
# A comma-separated list of automation services to install (e.g. "automation = groovyscripting")
|
||||
#automation =
|
||||
|
||||
# A comma-separated list of bindings to install (e.g. "binding = knx,sonos,zwave")
|
||||
#binding =
|
||||
|
||||
# A comma-separated list of miscellaneous services to install (e.g. "misc = openhabcloud")
|
||||
#misc =
|
||||
|
||||
# A comma-separated list of persistence services to install (e.g. "persistence = jpa,rrd4j")
|
||||
#persistence =
|
||||
|
||||
# A comma-separated list of transformation services to install (e.g. "transformation = jsonpath,map")
|
||||
#transformation =
|
||||
|
||||
# A comma-separated list of UIs to install (e.g. "ui = basic,habpanel")
|
||||
#ui =
|
||||
|
||||
# A comma-separated list of voice services to install (e.g. "voice = googletts,marytts")
|
||||
#voice =
|
23
openhab/openhab_conf/services/basicui.cfg
Normal file
23
openhab/openhab_conf/services/basicui.cfg
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Defines the UI theme.
|
||||
#
|
||||
#theme=default
|
||||
|
||||
# Defines whether UI renders icons for the widgets or not.
|
||||
#
|
||||
#enableIcons=true
|
||||
|
||||
# When enabled, changes the layout so that more widgets can fit on the screen.
|
||||
#
|
||||
#condensedLayout=false
|
||||
|
||||
# Displays all widget states in uppercase.
|
||||
#
|
||||
#capitalizeValues=false
|
||||
|
||||
# Play audio sent to the web audio sink.
|
||||
#
|
||||
#webAudio=false
|
||||
|
||||
# The sitemap to show if no parameter is passed.
|
||||
#
|
||||
#defaultSitemap=
|
6
openhab/openhab_conf/services/readme.txt
Normal file
6
openhab/openhab_conf/services/readme.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
Your service configurations will reside here.
|
||||
All configuration files have to have the ".cfg" file extension.
|
||||
Service configuration files are automatically created as soon as you install an add-on that can be configured.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/configuration/services.html
|
10
openhab/openhab_conf/services/rrd4j.cfg
Normal file
10
openhab/openhab_conf/services/rrd4j.cfg
Normal file
|
@ -0,0 +1,10 @@
|
|||
# configure specific rrd properties for given items in this file.
|
||||
# please refer to the documentation available at
|
||||
# https://www.openhab.org/addons/persistence/rrd4j/
|
||||
#
|
||||
# default_numeric and default_other are internally defined defnames and are used as
|
||||
# defaults when no other defname applies
|
||||
|
||||
#<dsName>.def=[ABSOLUTE|COUNTER|DERIVE|GAUGE],<heartBeat>,[<minValue>|U],[<maxValue>|U],<sampleInterval>
|
||||
#<dsName>.archives=[AVERAGE|MIN|MAX|LAST|FIRST|TOTAL],<xff>,<samplesPerBox>,<boxCount>
|
||||
#<dsName>.items=<comma separated list of items for this dsName>
|
277
openhab/openhab_conf/services/runtime.cfg
Normal file
277
openhab/openhab_conf/services/runtime.cfg
Normal file
|
@ -0,0 +1,277 @@
|
|||
#################################### LOCALE ####################################
|
||||
|
||||
# The default language that should be used. If not specified, the system default locale is used.
|
||||
# The ISO 639 alpha-2 or alpha-3 language code (if there is no alpha-2 one).
|
||||
# Example: "en" (English), "de" (German), "ja" (Japanese), "kok" (Konkani)
|
||||
#
|
||||
#org.openhab.i18n:language=
|
||||
|
||||
# The region that should be used.
|
||||
# ISO 3166 alpha-2 country code or UN M.49 numeric-3 area code.
|
||||
# Example: "US" (United States), "DE" (Germany), "FR" (France), "029" (Caribbean)
|
||||
#
|
||||
#org.openhab.i18n:region=
|
||||
|
||||
# A time zone can be set from the user interface. The underlying system's time zone is the default.
|
||||
#
|
||||
#org.openhab.i18n:timezone=
|
||||
|
||||
# The location of this installation.
|
||||
# Coordinates as <latitude>,<longitude>[<altitude>]
|
||||
# Example: "52.5200066,13.4049540" (Berlin)
|
||||
#
|
||||
#org.openhab.i18n:location=
|
||||
|
||||
# The measurement system is used for unit conversion.
|
||||
# 2 values are accepted:
|
||||
# - SI: Metric
|
||||
# - US: Imperial (US)
|
||||
#
|
||||
#org.openhab.i18n:measurementSystem=
|
||||
|
||||
|
||||
################################# PERSISTENCE ##################################
|
||||
|
||||
# The persistence service to use if no other is specified.
|
||||
#
|
||||
#org.openhab.persistence:default=
|
||||
|
||||
|
||||
#################################### AUDIO #####################################
|
||||
|
||||
# This parameter defines the default audio source to use (if not set, the first available one will be used.
|
||||
#
|
||||
#org.openhab.audio:defaultSource=
|
||||
|
||||
# This parameter defines the default audio sink to use (if not set, the first available one will be used.
|
||||
#
|
||||
#org.openhab.audio:defaultSink=
|
||||
|
||||
|
||||
#################################### VOICE #####################################
|
||||
|
||||
# This parameter defines the default text-to-speech service to use (if not set, the first available one will be used.
|
||||
#
|
||||
#org.openhab.voice:defaultTTS=
|
||||
|
||||
# This parameter defines the default speech-to-text service to use (if not set, the first available one will be used.
|
||||
#
|
||||
#org.openhab.voice:defaultSTT=
|
||||
|
||||
# The default voice to use if no specific TTS service or voice is specified.
|
||||
#
|
||||
#org.openhab.voice:defaultVoice=
|
||||
|
||||
# The default human language interpreter to use if no other is specified.
|
||||
#
|
||||
#org.openhab.voice:defaultHLI=
|
||||
|
||||
# The default keyword spotting service to use if no other is specified.
|
||||
#
|
||||
#org.openhab.voice:defaultKS=
|
||||
|
||||
# The magic word to spot before initiating a dialog.
|
||||
#
|
||||
#org.openhab.voice:keyword=
|
||||
|
||||
# If provided, the item will be switched on during the period when the dialog processor has spotted the keyword and is listening for commands.
|
||||
#
|
||||
#org.openhab.voice:listeningItem=
|
||||
|
||||
# Listening Melody: A melody to be played to advertise the user the dialog processing is going to start.
|
||||
# This is a spaced separated list of notes. Example: "A O:100 A':50"
|
||||
# Leave empty to disable it.
|
||||
#
|
||||
#org.openhab.voice:listeningMelody=
|
||||
|
||||
# Enable TTS caching: true to allow TTS services to cache audio files on disk.
|
||||
#
|
||||
#org.openhab.voice:enableCacheTTS=true
|
||||
|
||||
# TTS Cache Size: the limit size of the TTS cache (in kB).
|
||||
#
|
||||
#org.openhab.voice:cacheSizeTTS=10240
|
||||
|
||||
|
||||
################################### SITEMAP ####################################
|
||||
|
||||
# Defines how the members of a group are sorted in UI.
|
||||
# 3 values are accepted:
|
||||
# - NONE: No sorting
|
||||
# - LABEL: Sorted by label
|
||||
# - NAME: Sorted by name
|
||||
#
|
||||
#org.openhab.sitemap:groupMembersSorting=NONE
|
||||
|
||||
|
||||
#################################### CHART #####################################
|
||||
|
||||
# Defines the default height in pixels for the chart to build.
|
||||
#
|
||||
#org.openhab.chart:defaultHeight=240
|
||||
|
||||
# Defines the default width in pixels for the chart to build.
|
||||
#
|
||||
#org.openhab.chart:defaultWidth=480
|
||||
|
||||
# Defines the scale to apply to the requested chart height (0.5 to divide by 2 for example).
|
||||
#
|
||||
#org.openhab.chart:scale=1
|
||||
|
||||
# Defines the maximum width in pixels for the chart to build.
|
||||
#
|
||||
#org.openhab.chart:maxWidth=
|
||||
|
||||
|
||||
################################### NETWORK ####################################
|
||||
|
||||
# Primary address subnet (e.g. 192.168.1.0/24).
|
||||
#
|
||||
#org.openhab.network:primaryAddress=
|
||||
|
||||
# A broadcast address (e.g. 192.168.1.255).
|
||||
#
|
||||
#org.openhab.network:broadcastAddress=
|
||||
|
||||
# Use only one IP address per interface and family.
|
||||
#
|
||||
#org.openhab.network:useOnlyOneAddress=false
|
||||
|
||||
# Use IPv6 Addresses if available.
|
||||
#
|
||||
#org.openhab.network:useIPv6=true
|
||||
|
||||
################################## EPHEMERIS ###################################
|
||||
|
||||
# This parameter defines the default list of usual non workable days for the Ephemeris service.
|
||||
# The value has to be surrounded by square brackets ('[' and ']') and optionally contain value delimiters - a comma ',' to be interpreted as a list of values.
|
||||
# Example: [SATURDAY,SUNDAY]
|
||||
#
|
||||
#org.openhab.ephemeris:dayset-weekend=[SATURDAY,SUNDAY]
|
||||
|
||||
# See https://jollyday.sourceforge.net/data.html for help with the following parameters.
|
||||
# This parameter defines the specific country to get the holidays for.
|
||||
# Examples: Germany = "de", United States of America = "us"
|
||||
#
|
||||
#org.openhab.ephemeris:country=
|
||||
|
||||
# This parameter defines the specific region/state to get the holidays for.
|
||||
# Examples: New York = "ny", Baden-Wuerttemberg = "bw"
|
||||
#
|
||||
#org.openhab.ephemeris:region=
|
||||
|
||||
# This parameter defines the specific city to get the holidays for.
|
||||
# Examples: München = "mu"
|
||||
#
|
||||
#org.openhab.ephemeris:city=
|
||||
|
||||
################################# MISCELLANOUS #################################
|
||||
|
||||
# The karaf sshHost parameter configures the bind address for the ssh login to karaf.
|
||||
# Default is 127.0.0.1 (localhost), so it is only possible to login from the local machine.
|
||||
#
|
||||
# Setting this to the address of another network interfaces will allow login from this network.
|
||||
# Setting this to 0.0.0.0 will allow login from all network interfaces.
|
||||
#
|
||||
# !!! Security warning !!!
|
||||
# Remember to change default login/password, if you allow external login.
|
||||
# See https://www.openhab.org/docs/administration/console.html for details.
|
||||
#
|
||||
#org.apache.karaf.shell:sshHost = 0.0.0.0
|
||||
|
||||
# Cross-origin resource sharing (CORS) is a browser security feature that restricts cross-origin
|
||||
# HTTP requests that are initiated from scripts running in the browser. Setting this option to 'true'
|
||||
# will disable the browser cross-origin check. This is required if you want to use a web UI that is not
|
||||
# hosted on the openHAB server domain.
|
||||
#org.openhab.cors:enable=true
|
||||
|
||||
|
||||
################################### REST API ###################################
|
||||
|
||||
# Allow the use of Basic authentication to access protected API resources, in addition to access tokens and API tokens
|
||||
#
|
||||
#org.openhab.restauth:allowBasicAuth=true
|
||||
|
||||
# When basic authentication is activated, credentials are put in a cache in order to speed up request
|
||||
# authorization. The entries in the cache expire after a while in order to not keep credentials in memory indefinitely.
|
||||
# This value defines the expiration time in hours. Set it to 0 for disabling the cache.
|
||||
#
|
||||
#org.openhab.restauth:cacheExpiration=6
|
||||
|
||||
# By default, operations requiring the "user" role are available when unauthenticated.
|
||||
# Disabling this option will enforce authorization for these operations.
|
||||
# Warning: This causes clients that do not support authentication to break.
|
||||
#
|
||||
#org.openhab.restauth:implicitUserRole=false
|
||||
|
||||
# Grant implicit user role to requests originating from these networks.
|
||||
# Comma separated list of CIDR.
|
||||
# This value is ignored if "org.openhab.restauth:implicitUserRole" is enabled.
|
||||
#
|
||||
#org.openhab.restauth:trustedNetworks=127.0.0.1/32, 192.168.1.1/24
|
||||
|
||||
|
||||
############################### LANGUAGE SERVER ################################
|
||||
|
||||
# The port the language server listens to.
|
||||
#
|
||||
#org.openhab.lsp:port=5007
|
||||
|
||||
|
||||
################################# JSON STORAGE #################################
|
||||
|
||||
# Sets the number of backup files to keep.
|
||||
#
|
||||
#org.openhab.storage.json:backup_files=5
|
||||
|
||||
# Sets the time to wait before writing changes to disk. This can reduce the number of writes when many changes are being introduced within a short period.
|
||||
# The value is specified in milliseconds
|
||||
#
|
||||
#org.openhab.storage.json:write_delay=500
|
||||
|
||||
# Sets the maximum period the service will wait to write data to disk in the event that many changes are happening continually.
|
||||
# The value is specified in milliseconds
|
||||
#
|
||||
#org.openhab.storage.json:max_defer_delay=30000
|
||||
|
||||
|
||||
################################# MARKETPLACE ##################################
|
||||
|
||||
# If set to false no add-ons from the community marketplace will be shown. Already installed add-ons will still be available.
|
||||
#
|
||||
#org.openhab.marketplace:enable=true
|
||||
|
||||
# Include entries which have not been tagged as published. Warning: this may include entries that are not ready and might not work or harm your installation.
|
||||
# Enable at your own risk, for testing purposes only.
|
||||
#
|
||||
#org.openhab.marketplace:showUnpublished=false
|
||||
|
||||
# Specify the API key to use on the community forum (for staff and curators - this allows for instance to see content which is not yet reviewed or otherwise hidden from the general public).
|
||||
# Leave blank if you don't have one.
|
||||
#
|
||||
#org.openhab.marketplace:apiKey=
|
||||
|
||||
|
||||
############################# JSON ADD-ON SERVICE ##############################
|
||||
|
||||
# Pipe (|) separated list of URLS that provide 3rd party add-on services via Json files.
|
||||
# Warning: Bundles distributed over 3rd party add-on services may lack proper review and can potentially contain malicious code and thus harm your system.
|
||||
#
|
||||
#org.openhab.jsonaddonservice:urls=
|
||||
|
||||
# Include entries which have not been tagged as "stable". These add-ons should be used for testing purposes only and are not considered production-system ready.
|
||||
#
|
||||
#org.openhab.jsonaddonservice:showUnstable=false
|
||||
|
||||
|
||||
#################################### INBOX #####################################
|
||||
|
||||
# If enabled, an Inbox result matching an existing thing is automatically ignored.
|
||||
# If set to false, the Inbox may contain results although identical things already exist.
|
||||
#
|
||||
#org.openhab.inbox:autoIgnore=true
|
||||
|
||||
# If enabled, Inbox results are automatically approved, unless they were marked as ignored.
|
||||
#
|
||||
#org.openhab.inbox:autoApprove=false
|
||||
|
5
openhab/openhab_conf/sitemaps/readme.txt
Normal file
5
openhab/openhab_conf/sitemaps/readme.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Your sitemap definitions go here.
|
||||
All sitemap files have to have the ".sitemap" file extension and must follow a special syntax.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/ui/sitemaps.html
|
BIN
openhab/openhab_conf/sounds/barking.mp3
Normal file
BIN
openhab/openhab_conf/sounds/barking.mp3
Normal file
Binary file not shown.
BIN
openhab/openhab_conf/sounds/doorbell.mp3
Normal file
BIN
openhab/openhab_conf/sounds/doorbell.mp3
Normal file
Binary file not shown.
62
openhab/openhab_conf/things/IFT605_SmartClothes.things
Normal file
62
openhab/openhab_conf/things/IFT605_SmartClothes.things
Normal file
|
@ -0,0 +1,62 @@
|
|||
/**
|
||||
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"
|
5
openhab/openhab_conf/things/readme.txt
Normal file
5
openhab/openhab_conf/things/readme.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Your thing definitions go here.
|
||||
All thing files have to have the ".things" file extension and must follow a special syntax.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/configuration/things.html
|
3
openhab/openhab_conf/transform/de.map
Normal file
3
openhab/openhab_conf/transform/de.map
Normal file
|
@ -0,0 +1,3 @@
|
|||
CLOSED=zu
|
||||
OPEN=offen
|
||||
NULL=undefiniert
|
4
openhab/openhab_conf/transform/en.map
Normal file
4
openhab/openhab_conf/transform/en.map
Normal file
|
@ -0,0 +1,4 @@
|
|||
CLOSED=closed
|
||||
OPEN=open
|
||||
NULL=unknown
|
||||
|
5
openhab/openhab_conf/transform/readme.txt
Normal file
5
openhab/openhab_conf/transform/readme.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Transformations like map or jsonpath can utilize configuration files with data definitions.
|
||||
These files have their specific file extensions and syntax definition.
|
||||
|
||||
Check out the openHAB documentation for more details:
|
||||
https://www.openhab.org/docs/configuration/transformations.html
|
Loading…
Add table
Add a link
Reference in a new issue