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