Giter Club home page Giter Club logo

knx2influx's People

Contributors

envy avatar openshift-io avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

knx2influx's Issues

Tags per sender

Make it possible to add tags per sender like this:

{
    "sender_tags": {
        "1.0.2" : ["tag=value"],
        "0.0.3" : ["othertag=bla", "foo=bar"]
    }
}

These tags should then be added whenever this sender is seen for a GA.

feature request: log apci

Hi there,

Great tool, thanks so much!
Exactly (almost :)) what I am looking for: I would like to build a simple KNX group monitor, logging ALL KNX telegrams to InfluxDB (v1.8), comparable to what's described here: https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/1389088-knx-node-for-node-red/page14. And then build a Grafana view on top.

One element that I would like to include in InfluxDB is the APCI type. I think I found it in knxnet.cpp (ct?) but I am lacking the C++ skills to adjust knx2influx.cpp.

Would that make sense to add for you as well?

feature request: log raw data

Hi again,

For logging ALL KNX telegrams, the possibility to log the raw, "un-format_dpt'ed" data would be required. This way, not all GAs need to be defined in the config file.
For example: DPT setting in config file is taken into consideration for specified GAs.
When the GA is not included or when a wildcard is used, the raw data is logged.
Ideally, the behavior can be configured with an option. For example, that the raw value is always logged alongside the dpt'ed value.

Tags per GA

Similar to #5, add a mapping to add tags to GAs.
This is only useful after #10 has been implemented.

JSON error: No interface given in config

When I start knx2influx, I get the error message:
JSON error: No interface given in config!
Error parsing JSON.

How (which format) do I add the interface to knx2influx.json
Im confused as nothing about the interface is mentioned in the config json.
My current json file has the minimal config:
{
"host": "http://localhost:8086",
"database": "knx",
"gas": []
}

Save in database KNX Group Address

Hi,

It is possible save in database KNX Group Address? For example 1/0/1 , 1/0/2 ....

I have only:

SELECT * FROM /.*/
name: test
time room sender value


1638896975114714732 Living 1.1.19 true
1638896975961648685 Living 1.1.19 false
1638897021221378379 Living 1.1.19 true
1638897022600424646 Living 1.1.19 false

My knx2influx.json is:

{
        "host": "http://127.0.0.1:8086",
        "database": "knx",
        "interface": "192.168.7.213",
        "gas":
        [
                {
                        "ga": "1/0/*",
                        "series": "test",
                        "dpt": 1,
                        "tags": ["room=Living"]
                }
        ]
}

BR,

Daniel

make on macOS fails: error: unknown type name 'pthread_barrier_t'

Hi Envy,
I triedto compile knx2influx on a mac (macOS Catalina 10.15.1).
I get however the following error: unknown type name 'pthread_barrier_t'
I tried to compile with different -std options, but the error did not disappear.
Would you know a way of successfully compiling knx2influx on a mac?

make:
c++ -O0 -g -I. -I./libknxnet -Wall -fpie -fstack-protector-strong -std=c++11 -c -o knx2influx.o knx2influx.cpp
knx2influx.cpp:28:8: error: unknown type name 'pthread_barrier_t'
static pthread_barrier_t bar;
^
1 error generated.
make: *** [knx2influx.o] Error 1

Not sure how to implement this:
https://blog.albertarmea.com/post/47089939939/using-pthreadbarrier-on-mac-os-x

Wildcard/Range GAs

Make it possible to specify wildcard/range GAs:

Listen on all GAs starting with 0/3

{
"ga": "0/3/*"
}

Listen to all GAs in range 0/3/1 to 0/3/10 incl.

{
"ga": "0/3/1-10"
}

Periodic reinsert

Make it possible to cache received values and reinsert them if no update has been received in a specified amount of time:

Example: reinsert cached value every 10s if no update has been received in that time

{
"ga": "0/3/1",
"repeat": 10
}

no such device

Hallo,

ich wollte dein tool ausprobieren, bekomme aber immer die Meldung

Sending data to http://10.0.150.165:8086 database knx
Error adding membership: No such device
terminate called after throwing an instance of 'std::exception*'
Aborted

meine config sieht grad so aus (nur eine GA zum testen)

{
        "interface": "10.0.150.151",
        "host": "http://10.0.150.165:8086",
        "database": "knx",
        "gas":
        [
                {
                        "ga": "0/5/104",
                        "ignored_senders": ["1.1.253"],
                        "series": "energie",
                        "dpt": 14
                }
        ]
}

Die verbindung zum DB-Server scheint zu funktionieren

curl -G http://10.0.150.165:8086/query --data-urlencode "q=SHOW DATABASES"
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"],["edomi"],["iobroker"],["collectd"],["plex_data"],["proxmox"],["knx"]]}]}]}

Interface hab ich über EIBD / KNXD, und direkt auf die IP-Schnittstelle/Router probiert. Der fehler bleibt der gleiche.

Hast du irgend welche Tipps für mich?

Gruß
Christian

Issues compiling with gcc 5

Building under CentOS7 with gcc 4.8.5 is working fine, but compiling under Ubuntu 16 with a gcc 5.4.0 does not work because the libs to link against are given in the wrong order.
After changing line 9 in the Makefile from
8 knx2influx: knx2influx.o cJSON.o config.o libknxnet/libknxnet.a
9 $(CXX) $(LDFLAGS) $^ -o $@
to
8 knx2influx: knx2influx.o cJSON.o config.o libknxnet/libknxnet.a
9 $(CXX) $^ -o $@ $(LDFLAGS)
knx2influx compiles under both gcc versions without further problems.

log_only ignored?

Hi,

Have the following test setup in the config json
"gas": [ { "ga": "1/0/1", "series": "5_years", "dpt": 1, "log_only": true, "convert_to_int": true } ]

However, the received values are directly written to influx instead of being displayed in line protocol format.

subdpt=1 not optional but required for dpt=5

In the documentation it is mentioned that subdpt is optional (default = 1). But without a subdpt a GA with dpt=5 does not give a value.

Not working:
{
"ga": "3/1/89",
"ignored_senders": ["1.1.253"],
"series": "stellgroesse",
"dpt": 5,
"tags": ["room=Wohnen"]
},
Screenshot 2019-12-10 at 09 40 31

Working:
{
"ga": "3/1/89",
"ignored_senders": ["1.1.253"],
"series": "stellgroesse",
"dpt": 5,
"subdpt": 1,
"tags": ["room=Wohnen"]
},
Screenshot 2019-12-10 at 09 44 38

Periodic read

Make it possible to specify a list of GAs that should be periodically read

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.