# HG changeset patch # User drewp@bigasterisk.com # Date 1632809929 25200 # Node ID 5871ef3a380edacd30cbaf297a0d1c14e42d4a37 # Parent 3c18ec6cb6efe17bd8028ac825488fc277bf9ee1 cnof checkpoint diff -r 3c18ec6cb6ef -r 5871ef3a380e service/mqtt_to_rdf/conf/air_quality_indoor.n3 --- a/service/mqtt_to_rdf/conf/air_quality_indoor.n3 Mon Sep 27 23:16:46 2021 -0700 +++ b/service/mqtt_to_rdf/conf/air_quality_indoor.n3 Mon Sep 27 23:18:49 2021 -0700 @@ -2,10 +2,26 @@ @prefix rdfs: . @prefix fr: . @prefix xsd: . +@prefix math: . + #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 +{ + ?msg a :MqttMessage; + :topic ("air_quality_indoor" "sensor" "bme280_temperature" "state"); + :bodyFloat ?valueC . + ?valueC math:greaterThan -999 . + ?valueC :asFarenheit ?valueF . +} => { + :airQualityIndoorTemperature :temperatureF ?valueF . + :influxMeasurements :measurement [ + :meas "temperatureF"; + :pointsAtLeastEvery 30; + :tag [:key "host"; :value "air_quality_indoor"], + [:key "location"; :value "frontRoomShelf"]] . + } . :airQualityIndoorTemperature a :MqttStatementSource; :mqttTopic ("air_quality_indoor" "sensor" "bme280_temperature" "state"); @@ -109,7 +125,7 @@ [:key "location"; :value "frontRoomShelf"]] . :airQualityIndoorPm100 a :MqttStatementSource; - :mqttTopic ("air_quality_indoor" "sensor" "particulate_matter_100m_concentration" "state"); + :mqttTopic ("air_quality_indoor" "sensor" "" "state"); :parser xsd:double; :graphStatements [ :outputPredicate :pm100; diff -r 3c18ec6cb6ef -r 5871ef3a380e service/mqtt_to_rdf/conf/frontdoorlock.n3 --- a/service/mqtt_to_rdf/conf/frontdoorlock.n3 Mon Sep 27 23:16:46 2021 -0700 +++ b/service/mqtt_to_rdf/conf/frontdoorlock.n3 Mon Sep 27 23:18:49 2021 -0700 @@ -18,3 +18,14 @@ . +{ ?msg :body "online" . } => { ?msg :onlineTerm :Online . } . +{ ?msg :body "offline" . } => { ?msg :onlineTerm :Offline . } . + + +{ + ?msg a :MqttMessage ; + :topic ( "frontdoorlock" "status" ); + :onlineTerm ?onlinenessStr . } => { + :frontDoorLockStatus :connectedStatus ?onlineness . +} . + diff -r 3c18ec6cb6ef -r 5871ef3a380e service/mqtt_to_rdf/conf/rf.n3 --- a/service/mqtt_to_rdf/conf/rf.n3 Mon Sep 27 23:16:46 2021 -0700 +++ b/service/mqtt_to_rdf/conf/rf.n3 Mon Sep 27 23:18:49 2021 -0700 @@ -1,6 +1,8 @@ @prefix : . @prefix rdfs: . @prefix fr: . +@prefix rdfs: . +@prefix fr: . # to discover new codes: # mosquitto_sub -v -t rfsetup/rf_received diff -r 3c18ec6cb6ef -r 5871ef3a380e service/mqtt_to_rdf/conf/rules.n3 --- a/service/mqtt_to_rdf/conf/rules.n3 Mon Sep 27 23:16:46 2021 -0700 +++ b/service/mqtt_to_rdf/conf/rules.n3 Mon Sep 27 23:18:49 2021 -0700 @@ -7,18 +7,39 @@ :airQualityIndoor a :AirQualitySensor; rdfs:label "air_quality_indoor" . :airQualityOutdoor a :AirQualitySensor; rdfs:label "air_quality_outdoor" . -{ ?s a :AirQualitySensor; rdfs:label ?name . } => { - [ a :MqttStatementSource; :mqttTopic (?name "sensor" "bme280_temperature" "state") ] . - [ a :MqttStatementSource; :mqttTopic (?name "sensor" "bme280_pressure" "state") ] . - [ a :MqttStatementSource; :mqttTopic (?name "sensor" "bme280_humidity" "state") ] . - [ a :MqttStatementSource; :mqttTopic (?name "sensor" "ccs811_eco2_value" "state") ] . - [ a :MqttStatementSource; :mqttTopic (?name "sensor" "ccs811_total_volatile_organic_compound" "state") ] . - [ a :MqttStatementSource; :mqttTopic (?name "sensor" "particulate_matter_10m_concentration" "state") ] . - [ a :MqttStatementSource; :mqttTopic (?name "sensor" "particulate_matter_25m_concentration" "state") ] . - [ a :MqttStatementSource; :mqttTopic (?name "sensor" "particulate_matter_100m_concentration" "state") ] . +:AirQualitySensor :nameRemap + [:sensorName "bme280_humidity"; :measurementName "humidity"], + [:sensorName "bme280_pressure"; :measurementName "pressure"], + [:sensorName "bme280_temperature"; :measurementName "temperature"] . + +{ + ?sensor a :AirQualitySensor; rdfs:label ?name . + (:mqttSource ?name) :childResource ?base . +} => { + ?sensor :statementSourceBase ?base . } . { + :AirQualitySensor :nameRemap [ + :sensorName ?sensorName; + :measurementName ?measurement + ] . + ?sensor a :AirQualitySensor; rdfs:label ?name; :statementSourceBase ?base . + (?base ?measurement) :childResource ?src . +} => { + ?src a :MqttStatementSource; :mqttTopic (?name "sensor" ?sensorName "state") . +} . + +# [ a :MqttStatementSource; :mqttTopic (?name "sensor" "bme280_pressure" "state") ] . +# [ a :MqttStatementSource; :mqttTopic (?name "sensor" "bme280_humidity" "state") ] . +# [ a :MqttStatementSource; :mqttTopic (?name "sensor" "ccs811_eco2_value" "state") ] . +# [ a :MqttStatementSource; :mqttTopic (?name "sensor" "ccs811_total_volatile_organic_compound" "state") ] . +# [ a :MqttStatementSource; :mqttTopic (?name "sensor" "particulate_matter_10m_concentration" "state") ] . +# [ a :MqttStatementSource; :mqttTopic (?name "sensor" "particulate_matter_25m_concentration" "state") ] . +# [ a :MqttStatementSource; :mqttTopic (?name "sensor" "particulate_matter_100m_concentration" "state") ] . +#} . + +{ ?msg a :MqttMessage; :topic (?sensorName "sensor" "bme280_temperature" "state"); :bodyFloat ?valueC . @@ -35,15 +56,15 @@ ################################################################# -:frontDoorLockStatus a :MqttStatementSource; - :mqttTopic ("frontdoorlock" "status"). - -{ ?msg :body "online" . } => { ?msg :onlineTerm :Online . } . -{ ?msg :body "offline" . } => { ?msg :onlineTerm :Offline . } . - -{ - ?msg a :MqttMessage ; - :topic ( "frontdoorlock" "status" ); - :onlineTerm ?onlineness . } => { - :frontDoorLockStatus :connectedStatus ?onlineness . -} . +# :frontDoorLockStatus a :MqttStatementSource; +# :mqttTopic ("frontdoorlock" "status"). +# +# { ?msg :body "online" . } => { ?msg :onlineTerm :Online . } . +# { ?msg :body "offline" . } => { ?msg :onlineTerm :Offline . } . +# +# { +# ?msg a :MqttMessage ; +# :topic ( "frontdoorlock" "status" ); +# :onlineTerm ?onlineness . } => { +# :frontDoorLockStatus :connectedStatus ?onlineness . +# } .