You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
+ Changed HomeMatic value request URL from `sysvar.cgi?ise_id` to `state.cgi?datapoint_id` such that `homematic_subscribe` can fetch any datapoint values, not just system variables.
Copy file name to clipboardExpand all lines: README.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
# Sensorlogger
2
-
Visit the [Sensorlogger website](https://tastyorange.de/projects/sensorlogger.htm) for a more structured documentation (also available in German).
2
+
Visit the [Sensorlogger website](https://tastyorange.de/projects/sensorlogger.htm) for a more structured documentation. (Auch auf [Deutsch](https://tastyorange.de/projekte/sensorlogger.htm) verfügbar.)
3
3
4
4
Sensorlogger reads sensor data and creates statistical reports in logbook tables. It can redistribute incoming sensor values, but also statistical summary data, to an MQTT broker or to a HomeMatic CCU. Its original purpose was to serve as a logger for a weather station equipped with Tinkerforge sensors, where data has to be averaged and logged every 15 minutes. However, Sensorlogger is very flexible and can be configured to serve many more purposes.
5
5
@@ -21,7 +21,7 @@ In the following listing you see a very simple example for a logbook file. It ke
21
21
22
22
## Data accumulation and statistical summary
23
23
24
-
Sensorlogger is able to read values from Tinkerforge sensors and JSON structures in user-defined **time intervals.** After reading, these values can be forwarded immediately to an MQTT broker or HomeMatic CCU. The values are also stored internally until they become irrelevant for any further statistical analysis.
24
+
Sensorlogger is able to read values from Tinkerforge sensors and JSON structures in user-defined **time intervals.** After reading, these values can be forwarded immediately to an MQTT broker or HomeMatic CCU (the XML-API is used to set system variables using their ISE-ID). The values are also stored internally until they become irrelevant for any further statistical analysis.
25
25
26
26
Data can also be received via **interrupts,** for example from Tinkerforge IO bricklets or via subscriptions to MQTT topics.
27
27
@@ -146,7 +146,7 @@ In the log file, status messages, warnings and errors will be reported. Please d
146
146
Shown below is an example configuration file for the following scenario.
147
147
148
148
+ An outside **weather station** has two Tinkerforge sensors: one for temperature, another one for wind. A Temperature Bricklet is used for the temperature measurement. The wind anemometer is connected to an IO Bricklet at channel 0 and Sensorlogger is used to count digital events (whenever a *low* state is reached).
149
-
+ In the **living room** we have a different temperature sensor that sends its measurements to an MQTT broker. Sensorlogger subscribes to its topic. Additionally, there is a HomeMatic humidity sensor in the living room. Sensorlogger reads its values every two minutes via the XML-API of the HomeMatic CCU. It is necessary that its values are accessible via a system variable and its ISE ID is known.
149
+
+ In the **living room** we have a different temperature sensor that sends its measurements to an MQTT broker. Sensorlogger subscribes to its topic. Additionally, there is a HomeMatic humidity sensor in the living room. Sensorlogger reads its datapoint values every two minutes via the XML-API from the HomeMatic CCU.
150
150
+ The **solar generator** is monitored by another application and its current state is reported in a local JSON file. The value for the currently produced electric power is read by Sensorlogger from its configured key sequence in the JSON tree.
151
151
+ Two **logbooks** are defined: one for the weather station and another one for the house. The **weather** logbook contains one line every five minutes. In two columns, it contains the mean temperature for the last 15 minutes and the wind anemometer’s rotation frequency for the last five minutes (which is the logbook’s cycle time). The logbook for the **house** contains two columns for the mean living room temperature and humidity of the last 15 minutes (again, the cycle time) and two more columns for the mean and maximum electric power produced during the past 60 minutes.
152
152
+ Both the current sensor values as well as the statistical results for the logbook columns are sent to the **MQTT broker** using their own topics, as well as to the **HomeMatic CCU** using the ISE IDs for special system variables.
@@ -692,9 +692,11 @@ The general `mqtt` section is used to configure the connection parameters to the
692
692
693
693
## HomeMatic settings
694
694
695
-
You can set up a connection to a HomeMatic CCU to read and set system variables. Sensor values from other sources can also be sent to the CCU right after the measurement or after the statistical analysis. The communication is handled via the [XML-API](https://github.com/homematic-community/XML-API), which must be installed as an add-on for the HomeMatic CCU.
695
+
You can set up a connection to a HomeMatic CCU to read numerical data points and to set system variables. This way, sensor values from other sources can be sent to the CCU right after the measurement or after the statistical analysis. The communication is handled via the [XML-API](https://github.com/homematic-community/XML-API), which must be installed as an add-on for the HomeMatic CCU.
696
696
697
-
The URL to reach the XML-API must be specified in the general `homematic` section of your configuration file:
697
+
To get an overview of the available data points for your CCU and their respective ISE-ID, you can access `statelist.cgi` which the XML-API provides. Sensorlogger can read such data points using queries to `state.cgi?datapoint_id=...`, and it can set the values of system variables using `statechange.cgi`.
698
+
699
+
The root URL to reach the XML-API must be specified in the general `homematic` section of your configuration file:
698
700
699
701
```
700
702
"homematic": {
@@ -707,7 +709,7 @@ The URL to reach the XML-API must be specified in the general `homematic` sectio
707
709
Standard value: `null`
708
710
709
711
710
-
### HomeMatic sensors
712
+
### Reading HomeMatic data points
711
713
712
714
```
713
715
"sensors": [
@@ -728,7 +730,7 @@ The URL to reach the XML-API must be specified in the general `homematic` sectio
728
730
729
731
+`"sensor_id":` General, unique ID for the sensor that will later be referenced when defining statistics and logbooks.
730
732
731
-
+`"homematic_subscribe":` ISE-ID of the system variable to read periodically.
733
+
+`"homematic_subscribe":` ISE-ID of the data point to read periodically.
0 commit comments