Mercurial > code > home > repos > homeauto
changeset 788:7916b9786288
mqtt_to_rdf configs
author | drewp@bigasterisk.com |
---|---|
date | Thu, 10 Sep 2020 15:02:00 -0700 |
parents | 13970578a443 |
children | e7eb3fc8db54 |
files | service/mqtt_to_rdf/.flake8 service/mqtt_to_rdf/.style.yapf service/mqtt_to_rdf/config_air_quality_indoor.n3 service/mqtt_to_rdf/config_air_quality_outdoor.n3 service/mqtt_to_rdf/config_bed.n3 service/mqtt_to_rdf/config_kitchen.n3 service/mqtt_to_rdf/config_living_lamps.n3 |
diffstat | 7 files changed, 341 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_to_rdf/.flake8 Thu Sep 10 15:02:00 2020 -0700 @@ -0,0 +1,2 @@ +[flake8] +max-line-length = 130 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_to_rdf/.style.yapf Thu Sep 10 15:02:00 2020 -0700 @@ -0,0 +1,4 @@ +# overwritten by /home/drewp/bin/setup_home_venv +[style] +based_on_style = google +column_limit = 130
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_to_rdf/config_air_quality_indoor.n3 Thu Sep 10 15:02:00 2020 -0700 @@ -0,0 +1,123 @@ +@prefix : <http://projects.bigasterisk.com/room/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix fr: <http://bigasterisk.com/foaf/> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +#air_quality_indoor/sensor/bme280_temperature/state 23.7 +#air_quality_indoor/sensor/bme280_pressure/state 1006.5 +#air_quality_indoor/sensor/bme280_humidity/state 40.5 + + +:airQualityIndoorTemperature a :MqttStatementSource; + :mqttTopic ("air_quality_indoor" "sensor" "bme280_temperature" "state"); + + :parser xsd:double; + :conversions (:celsiusToFarenheit + [:ignoreValueBelow -999]); + :graphStatements [ + :outputPredicate :temperatureF; + :statementLifetime "150s"; + # ], [ + # :conversions ([:recentLow "30s"]); + # :outputPredicate :recentLowTemperatureF; + ]; + + :influxMeasurement [ # replaces this block in piNode configs + :measurement "temperatureF"; :pointsAtLeastEvery 30; + :predicate :temperatureF; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . + +:airQualityIndoorPressure a :MqttStatementSource; + :mqttTopic ("air_quality_indoor" "sensor" "bme280_pressure" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :pressure_hPa; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "pressure_hPa"; :pointsAtLeastEvery 30; + :predicate :pressure_hPa; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . + + +:airQualityIndoorHumidity a :MqttStatementSource; + :mqttTopic ("air_quality_indoor" "sensor" "bme280_humidity" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :humidity; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "humidity"; :pointsAtLeastEvery 30; + :predicate :humidity; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . + + +:airQualityIndoorCo a :MqttStatementSource; + :mqttTopic ("air_quality_indoor" "sensor" "ccs811_eco2_value" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :eco2; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "eco2";:pointsAtLeastEvery 60; + :predicate :eco2; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . + +:airQualityIndoorTvoc a :MqttStatementSource; + :mqttTopic ("air_quality_indoor" "sensor" "ccs811_total_volatile_organic_compound" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :tvoc; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "tvoc"; :pointsAtLeastEvery 60; + :predicate :tvoc; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . + + +:airQualityIndoorPm10 a :MqttStatementSource; + :mqttTopic ("air_quality_indoor" "sensor" "particulate_matter_10m_concentration" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :pm10; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "pm10"; :pointsAtLeastEvery 5; + :predicate :pm10; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . + +:airQualityIndoorPm25 a :MqttStatementSource; + :mqttTopic ("air_quality_indoor" "sensor" "particulate_matter_25m_concentration" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :pm25; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "pm25"; :pointsAtLeastEvery 5; + :predicate :pm25; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . + +:airQualityIndoorPm100 a :MqttStatementSource; + :mqttTopic ("air_quality_indoor" "sensor" "particulate_matter_100m_concentration" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :pm100; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "pm100"; :pointsAtLeastEvery 5; + :predicate :pm100; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_to_rdf/config_air_quality_outdoor.n3 Thu Sep 10 15:02:00 2020 -0700 @@ -0,0 +1,115 @@ +@prefix : <http://projects.bigasterisk.com/room/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix fr: <http://bigasterisk.com/foaf/> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +:airQualityOutdoorTemperature a :MqttStatementSource; + :mqttTopic ("air_quality_outdoor" "sensor" "bme280_temperature" "state"); + :parser xsd:double; + :conversions (:celsiusToFarenheit + [:ignoreValueBelow -999]); + :graphStatements [ + :outputPredicate :temperatureF; + :statementLifetime "150s"; + ]; + + :influxMeasurement [ # replaces this block in piNode configs + :measurement "temperatureF"; :pointsAtLeastEvery 30; + :predicate :temperatureF; + :tag [:key "host"; :value "air_quality_outdoor"], + [:key "location"; :value "workbench"]] . + +:airQualityOutdoorPressure a :MqttStatementSource; + :mqttTopic ("air_quality_outdoor" "sensor" "bme280_pressure" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :pressure_hPa; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "pressure_hPa"; :pointsAtLeastEvery 30; + :predicate :pressure_hPa; + :tag [:key "host"; :value "air_quality_outdoor"], + [:key "location"; :value "workbench"]] . + + +:airQualityOutdoorHumidity a :MqttStatementSource; + :mqttTopic ("air_quality_outdoor" "sensor" "bme280_humidity" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :humidity; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "humidity"; :pointsAtLeastEvery 30; + :predicate :humidity; + :tag [:key "host"; :value "air_quality_outdoor"], + [:key "location"; :value "workbench"]] . + + +:airQualityOutdoorCo a :MqttStatementSource; + :mqttTopic ("air_quality_outdoor" "sensor" "ccs811_eco2_value" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :eco2; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "eco2";:pointsAtLeastEvery 60; + :predicate :eco2; + :tag [:key "host"; :value "air_quality_outdoor"], + [:key "location"; :value "workbench"]] . + +:airQualityOutdoorTvoc a :MqttStatementSource; + :mqttTopic ("air_quality_outdoor" "sensor" "ccs811_total_volatile_organic_compound" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :tvoc; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "tvoc"; :pointsAtLeastEvery 60; + :predicate :tvoc; + :tag [:key "host"; :value "air_quality_outdoor"], + [:key "location"; :value "workbench"]] . + + +:airQualityOutdoorPm10 a :MqttStatementSource; + :mqttTopic ("air_quality_outdoor" "sensor" "particulate_matter_10m_concentration" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :pm10; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "pm10"; :pointsAtLeastEvery 5; + :predicate :pm10; + :tag [:key "host"; :value "air_quality_outdoor"], + [:key "location"; :value "workbench"]] . + +:airQualityOutdoorPm25 a :MqttStatementSource; + :mqttTopic ("air_quality_outdoor" "sensor" "particulate_matter_25m_concentration" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :pm25; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "pm25"; :pointsAtLeastEvery 5; + :predicate :pm25; + :tag [:key "host"; :value "air_quality_outdoor"], + [:key "location"; :value "workbench"]] . + +:airQualityOutdoorPm100 a :MqttStatementSource; + :mqttTopic ("air_quality_outdoor" "sensor" "particulate_matter_100m_concentration" "state"); + :parser xsd:double; + :graphStatements [ + :outputPredicate :pm100; + :statementLifetime "150s"; + ]; + :influxMeasurement [ + :measurement "pm100"; :pointsAtLeastEvery 5; + :predicate :pm100; + :tag [:key "host"; :value "air_quality_outdoor"], + [:key "location"; :value "workbench"]] . +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_to_rdf/config_bed.n3 Thu Sep 10 15:02:00 2020 -0700 @@ -0,0 +1,29 @@ +@prefix : <http://projects.bigasterisk.com/room/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix fr: <http://bigasterisk.com/foaf/> . + +:buttonMap a :ValueMap; + :map [:from "OFF"; :to :notPressed], [:from "ON"; :to :pressed] + . + +:bedGreenButton a :MqttStatementSource; + :mqttTopic ("bed" "switch" "green_button" "state"); + :parser :buttonMap; + :graphStatements [:outputPredicate :state;] . + +:bedRedButton a :MqttStatementSource; + :mqttTopic ("bed" "switch" "red_button" "state"); + :parser :buttonMap; + :graphStatements [:outputPredicate :state;] . + + +:motionMap a :ValueMap; + :map [:from "OFF"; :to :noMotion], [:from "ON"; :to :motion] + . + + + +:bedHeadboardMotion a :MqttStatementSource; + :mqttTopic ("bed" "switch" "pir" "state"); + :parser :motionMap; + :graphStatements [:outputPredicate :state;] .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_to_rdf/config_kitchen.n3 Thu Sep 10 15:02:00 2020 -0700 @@ -0,0 +1,24 @@ +@prefix : <http://projects.bigasterisk.com/room/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix fr: <http://bigasterisk.com/foaf/> . + +:buttonMap a :ValueMap; + :map [:from "OFF"; :to :notPressed], [:from "ON"; :to :pressed] + . + + + +# goal is to read these and have reasoning notice them as the light state so the button works +#sonoff_0/switch/sonoff_basic_relay/state OFF + + +:kitchenCounterLight a :MqttStatementSource; + :mqttTopic ("h801_counter" "light" "kit_r" "state"); + :parser :jsonBrightness; + :graphStatements [:outputPredicate :brightness;] . + +:kitchenLight a :MqttStatementSource; + :mqttTopic ("h801_skylight" "light" "kit_r" "state"); + :parser :jsonBrightness; + :graphStatements [:outputPredicate :brightness;] . + \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_to_rdf/config_living_lamps.n3 Thu Sep 10 15:02:00 2020 -0700 @@ -0,0 +1,44 @@ +@prefix : <http://projects.bigasterisk.com/room/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix fr: <http://bigasterisk.com/foaf/> . + +:buttonMap a :ValueMap; + :map [:from "OFF"; :to :notPressed], [:from "ON"; :to :pressed] + . + + + +# goal is to read these and have reasoning notice them as the light state so the button works +#sonoff_0/switch/sonoff_basic_relay/state OFF + + +:livingLampShelf a :MqttStatementSource; + :mqttTopic ("sonoff_0" "switch" "sonoff_basic_relay" "state"); + :parser :onOffBrightness; + :graphStatements [:outputPredicate :brightness;] . + +:livingLamp1 a :MqttStatementSource; + :mqttTopic ("sonoff_1" "switch" "sonoff_basic_relay" "state"); + :parser :onOffBrightness; + :graphStatements [:outputPredicate :brightness;] . + +:livingLamp2 a :MqttStatementSource; + :mqttTopic ("sonoff_2" "switch" "sonoff_basic_relay" "state"); + :parser :onOffBrightness; + :graphStatements [:outputPredicate :brightness;] . + +:livingLamp3 a :MqttStatementSource; + :mqttTopic ("sonoff_3" "switch" "sonoff_basic_relay" "state"); + :parser :onOffBrightness; + :graphStatements [:outputPredicate :brightness;] . + +:livingLamp4 a :MqttStatementSource; + :mqttTopic ("sonoff_4" "switch" "sonoff_basic_relay" "state"); + :parser :onOffBrightness; + :graphStatements [:outputPredicate :brightness;] . + +:livingLamp5 a :MqttStatementSource; + :mqttTopic ("sonoff_5" "switch" "sonoff_basic_relay" "state"); + :parser :onOffBrightness; + :graphStatements [:outputPredicate :brightness;] . + \ No newline at end of file