Giter Site home page Giter Site logo

"Listen only" mode about vitowifi HOT 5 CLOSED

bertmelis avatar bertmelis commented on May 28, 2024
"Listen only" mode

from vitowifi.

Comments (5)

bertmelis avatar bertmelis commented on May 28, 2024

I also think it's very outdated not to have a public API. I strongly believe they would sell much more Vitoconnect systems because people won't be tempted to build DIY solutions. Now it only leads to fragmentation of the IoT landscape.

Anyway, obviously VitoWifi was not designed to hack into an existing connection like VitoConnect. But I like the idea.
By just sniffing and analyzing the traffic you can filter out "answer-messages": they start with 0x41 07. Luckily the address of the datapoint is sent along with the value. Transmitting yourself I would not recommend. I read somewhere that it would make the connection(s) unstable --> both connections receive data they don't expect or even collide.

But it is out of the scope of this repo. Furthermore, I don't have a VitoConnect so it's quite hard for me to work on this feature.

from vitowifi.

Jojo-A avatar Jojo-A commented on May 28, 2024

Hey, thanks for the reply!
I do have a Vitoconnect (although it is not configured, yet). If you are willing and having the time to do the software-side, I would do the tests on my system and provide the results.

My approach would be to have a global statement like
#define LISTEN_ONLY

Then one could do
#ifdef LISTEN_ONLY
(well, just skip all the transmitting code and use only the receive/decode code)
#endif

I don't know your code in detail, yet, thats why I am not sure how doable this is. You surely know better ;) .
About own transmissions on parallel to the Vitoconnect: yeah, this might cause trouble for exactly the reasons you pointed out. Thats why I would first take at look at the data, which is there anyway (requested by the Vitoconnect). Own requests might also need some work to "decouple" it from the Vitoconnect...

from vitowifi.

bertmelis avatar bertmelis commented on May 28, 2024

Implementing this in the current base will take a redesign of the FSM.
I'm also not shure how to do this. Because VitoWifi can not know when or what it is receiving in a listen-only" state. So on receive, an iteration in all the known DPs has to be done to launch the correct callback.
Another solution could be to launch a general callback with the DP, length and payload. Then it's up to you to do the correct translation and do something useful.

(Meanwhile, I try to contact Viessmann to consider implementing a public API theirselves)

from vitowifi.

Jojo-A avatar Jojo-A commented on May 28, 2024

@bertmelis hey, thank you for looking into this :) .
my idea was indeed, to just iterate through all known datapoints to determine what has been received. This is why the protocol has to be defined in my model. Otherwise it would get even more complicated to first determine the protocol and then the actual datapoint...
But of course I understand when you say, that this is not possible with the current code base. No problem at all.
About the API: actually I am not very confident about that. I already asked them publically and they answered, that it is "not implemented and not planned". Totally ridiculous, that they force my to blast my data once around the world, then just make these data accessible locally. It is about my data in my WiFi!

from vitowifi.

bertmelis avatar bertmelis commented on May 28, 2024

Closing in favour of #87

from vitowifi.

Related Issues (20)

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.