GithubHelp home page GithubHelp logo

Comments (4)

simonlmn avatar simonlmn commented on July 28, 2024

Unfortunately, there isn't a way to configure/upload such a table at runtime (via the API or otherwise). It is actually the "hardcoded" table found in ValueDefinitions.h which is more or less specific to the model I tested with.

I am currently working on switching to a configurable definition table and provide the current one only as a prepared file one can upload during the initial setup (or define your own). It may take a few days (or maybe even weeks, depending on how much time I find for that) though.

Until then, you really have no other option than to modify/create the ValueDefinitions.h file, re-compile and upload you modified version instead.

from can-wifi-gateway-stiebel-eltron.

danriedl avatar danriedl commented on July 28, 2024

+1 had the same question.

Thanks @simonlmn for taking a look at it.
I'd not go with recompiling another table in the future, maybe it is possible to modify/upload the file with the UI?

Also the ElsterTable.inc is in that format:

static const ElsterIndex ElsterTable[] =
{
  { "FEHLERMELDUNG"                                    , 0x0001, 0},
  { "KESSELSOLLTEMP"                                   , 0x0002, et_dec_val},
  { "SPEICHERSOLLTEMP"                                 , 0x0003, et_dec_val},

Which is kind of weird - and as mentioned in #4 that json-file looks promising.

@simonlmn let me know, if I can assist you in the ui approach!

Thanks in advance!

from can-wifi-gateway-stiebel-eltron.

simonlmn avatar simonlmn commented on July 28, 2024

A quick heads-up: I have been working on the "run-time" definitions feature for a bit now and it looks pretty promising, though it may take some more time until I can finish that properly (there are some APIs that do not work fully at the moment and the UI has not been adapted and is mostly broken). You can have a peek at it on the branch https://github.com/simonlmn/can-wifi-gateway-stiebel-eltron/tree/switch-to-runtime-value-definitions. For an example how a definitions file could look like, see https://github.com/simonlmn/can-wifi-gateway-stiebel-eltron/blob/switch-to-runtime-value-definitions/misc/definitions/lwz5splus.json.

I kind of got a bit out of hand and in some aspects I got carried away with a few refactorings, so the overall changes are relatively large. As I have completely switched to JSON for all APIs now and also changed the internal storage to JSON (mostly, some parts need to adapted), the new final release will become 2.0.0 as it is a major change and definitely not backwards compatible. But that's probably not a problem for you :)

from can-wifi-gateway-stiebel-eltron.

simonlmn avatar simonlmn commented on July 28, 2024

There is now a first pre-release (v2.0.0-alpha) which I actually ran and tested on my installation using a secondary device. It looks like it is working and it should be possible to freely define what values are behind which IDs on the bus. The UI allows to configure all of that, but I took a few shortcuts and it requires editing JSON documents and it is not that "user-friendly".

As there is no documentation yet, I guess it may be hard to try it out, but maybe you can give it a shot.

Quick summary of how it works:

Before you can configure any datapoints for reading/writing, you have to define the IDs and how the values shall be interpreted. An example how this looks for the LWZ5Splus is mentioned in my previous post. Basically, you have to define for each value ID:

  • a name (32 characters at most)
  • a unit (can be empty, otherwise use any value of the Unit enum)
  • an access "mode": Readable or Writable
  • a codec which controls how the raw bytes are read/written and interpreted on the "byte level" (one of "U8", "S8", "U16" or "S16")
  • a converter which controls how the raw value is converted into an actual number, boolean or more "complex" type (enums or bitfields at the moment). E.g. for numbers there are the converters "int" for integers and "10^-1", "10^-2" and "10^-3" for decimals with the respective scale/number of decimals.

from can-wifi-gateway-stiebel-eltron.

Related Issues (6)

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.