Git Product home page Git Product logo

esphome2influxdb's People

Contributors

climategadgets avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

esphome2influxdb's Issues

NaN payload breaks the application

To reproduce

Cause a NaN payload to be produced by any of the ESPHome devices (for example, physically disconnect a 1-Wire sensor without restart).

Expected behavior

Application keeps working, having logged a problem.

Actual behavior

Application breaks for good with the exception message below. Deferred sample queue grows until it hits the limit and samples start to be dropped on the floor (queue poisoning).

Relevant log entries

2020-12-17 16:22:09,012 DEBUG MqttReader MQTT Call: 607fa016-76a2-4aa5-9297-4215e5fdff2a [messageArrived] topic=/esphome/45FB71/sensor/water-heater-out/state,
 message=nan
2020-12-17 16:22:09,013 WARN InfluxDbWriter MQTT Call: 607fa016-76a2-4aa5-9297-4215e5fdff2a [messageArrived, consume] can't write sample, deferring remaining
1 samples for now
 java.lang.NumberFormatException: null
        at java.math.BigDecimal.<init>(BigDecimal.java:497) ~[?:1.8.0_252]
        at java.math.BigDecimal.<init>(BigDecimal.java:383) ~[?:1.8.0_252]
        at java.math.BigDecimal.<init>(BigDecimal.java:809) ~[?:1.8.0_252]
        at com.homeclimatecontrol.esphome2influxdb.InfluxDbWriter.consume(InfluxDbWriter.java:147) [esphome2influxdb.jar:?]
        at com.homeclimatecontrol.esphome2influxdb.MqttReader.consume(MqttReader.java:227) [esphome2influxdb.jar:?]
        at com.homeclimatecontrol.esphome2influxdb.MqttReader.consume(MqttReader.java:189) [esphome2influxdb.jar:?]
        at com.homeclimatecontrol.esphome2influxdb.MqttReader.messageArrived(MqttReader.java:165) [esphome2influxdb.jar:?]
        at org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:514) [org.eclipse.paho.client.mqttv3-1.2.2.jar:?]
        at org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:417) [org.eclipse.paho.client.mqttv3-1.2.2.jar:?]
        at org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:214) [org.eclipse.paho.client.mqttv3-1.2.2.jar:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]

Add test coverage calculation to CI

As an Application Maintainer, I want to enable test coverage calculation as a build pipeline so that I can have an idea about what code can be (somewhat) trusted.

Move Wiki to Markdown, make it branch specific

Expected Behavior

Wiki reflects the current state of affairs

Actual Behavior

The expected behavior is unattainable since different branches of the code, a lot of them long lived, may exhibit totally different behavior and may be affected by totally different bugs.

Corrective Action

Move the documentation to version controlled code base, retain links to the documentation in Wiki, along with MOST basic FAQ answers.

See Also

home-climate-control/dz#276

Provide autoconfiguration ability

Expected Behavior

ESPHome devices appear automagically

Actual Behavior

Everything needs to be configured by hand

Acceptance Criteria

  • ESPHome devices configured with MQTT Client Component are recognized as such;
  • Configuration entry templates are emitted so that they can be incorporated into persistent configuration;
  • A flag must be provided to allow automatically discovered devices to start emitting InfluxDB feeds immediately, regardless of whether a persistent configuration entry exists.

Lower the entry threshold

Actual behavior

Need to provide the configuration.

Desired behavior

The application starts up and starts producing at least something exciting with no need to configure it.

Add Web UI

Expected behavior

The application can be accessed, monitored, and configured without a restart via Web interface

Actual behavior

None of that is happening

MQTT topics improperly matched if one is a substring of another

Action taken

Two sensors configured, with following parameters:

  • Same topic prefix
  • room-0-temperature source for one
  • room-0-temperature-1wire source for the other

Expected result

  • Two tags are created in the InfluxDB database, room-0-temperature and room-0-temperature-1wire

Actual result

  • Samples for the sensor with a longer source are improperly matched to the sensor with the shorter source - both samples end up with the same (shorter) source tag (room-0-temperature).

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.