diff --git a/Dockerfile b/Dockerfile index 9dc9d72..a3f68ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,6 +10,7 @@ pip3 install \ influxdb==5.3.1 python-dateutil==2.8.1 pytz==2021.1 requests==2.25.1 \ certifi==2020.12.5 chardet==4.0.0 idna==2.10 urllib3==1.26.4 \ six==1.15.0 msgpack==1.0.2 \ + influxdb_client==1.24.0 rx==3.2.0 \ yagrc==1.1.1 grpcio-reflection==1.36.1 protobuf==3.15.6 ADD . /app diff --git a/README.md b/README.md index 00b9fbc..4163c05 100644 --- a/README.md +++ b/README.md @@ -30,9 +30,9 @@ Of the 3 groups below, the grpc scripts are really the only ones being actively ### The grpc scripts -This set of scripts includes `dish_grpc_text.py`, `dish_grpc_influx.py`, `dish_grpc_sqlite.py`, and `dish_grpc_mqtt.py`. They mostly support the same functionality, but write their output in different ways. `dish_grpc_text.py` writes data to standard output, `dish_grpc_influx.py` sends it to an InfluxDB server, `dish_grpc_sqlite.py` writes it to a sqlite database, and `dish_grpc_mqtt.py` sends it to a MQTT broker. +This set of scripts includes `dish_grpc_text.py`, `dish_grpc_influx.py`, `dish_grpc_influx2.py`, `dish_grpc_sqlite.py`, and `dish_grpc_mqtt.py`. They mostly support the same functionality, but write their output in different ways. `dish_grpc_text.py` writes data to standard output, `dish_grpc_influx.py` and `dish_grpc_influx2.py` send it to an InfluxDB 1.x and 2.x server, respectively, `dish_grpc_sqlite.py` writes it to a sqlite database, and `dish_grpc_mqtt.py` sends it to a MQTT broker. -All 4 scripts support processing status data and/or history data in various modes. The status data is mostly what appears related to the dish in the Debug Data section of the Starlink app, whereas most of the data displayed in the Statistics page of the Starlink app comes from the history data. Specific status or history data groups can be selected by including their mode names on the command line. Run the scripts with `-h` command line option to get a list of available modes. See the documentation at the top of `starlink_grpc.py` for detail on what each of the fields means within each mode group. +All these scripts support processing status data and/or history data in various modes. The status data is mostly what appears related to the dish in the Debug Data section of the Starlink app, whereas most of the data displayed in the Statistics page of the Starlink app comes from the history data. Specific status or history data groups can be selected by including their mode names on the command line. Run the scripts with `-h` command line option to get a list of available modes. See the documentation at the top of `starlink_grpc.py` for detail on what each of the fields means within each mode group. For example, data from all the currently available status groups can be output by doing: ```shell script @@ -46,11 +46,11 @@ By default, all of these scripts will pull data once, send it off to the specifi python3 dish_grpc_influx.py -t 30 [... probably other args to specify server options ...] status ``` -Some of the scripts (currently only the InfluxDB one) also support specifying options through environment variables. See details in the scripts for the environment variables that map to options. +Some of the scripts (currently only the InfluxDB ones) also support specifying options through environment variables. See details in the scripts for the environment variables that map to options. #### Bulk history data collection -`dish_grpc_influx.py`, `dish_grpc_sqlite.py`, and `dish_grpc_text.py` also support a bulk history mode that collects and writes the full second-by-second data instead of summary stats. To select bulk mode, use `bulk_history` for the mode argument. You'll probably also want to use the `-t` option to have it run in a loop. +`dish_grpc_influx.py`, `dish_grpc_influx2.py`, `dish_grpc_sqlite.py`, and `dish_grpc_text.py` also support a bulk history mode that collects and writes the full second-by-second data instead of summary stats. To select bulk mode, use `bulk_history` for the mode argument. You'll probably also want to use the `-t` option to have it run in a loop. #### Polling interval