Comments (5)
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.
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.
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.
@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.
Closing in favour of #87
from vitowifi.
Related Issues (20)
- Return type of _readDatapoint and _writeDatapoint HOT 1
- Compilation error at Datapoint.hpp HOT 1
- EOL for message "queue full" HOT 1
- "Betriebsart" as example delivers always "0" HOT 4
- DPCoP and group HOT 1
- 8 Byte read extension with uint64_t brings inconsistent results HOT 30
- VitoWiFi.readDatapoint() only on MQTT request HOT 5
- Serialmonitor "chksum 0x2d" HOT 4
- Blocking after 6 hours HOT 3
- Errors on high MQTT request rate HOT 9
- Keine Verbindung mit ESP32 über USB-Host möglich HOT 3
- Wemos D1 mini / Serial-Pins HOT 7
- Example for DPRaw HOT 2
- Can you explain a bit more how to install the library in Arduino IDE 2.0? HOT 4
- Queue full without any connection
- VitoWiFi 2.0 Debug funcionality HOT 7
- Solved: Vitocal300 WO1B does not start with VitoWifi attached HOT 4
- Vitoconnect passthrough HOT 12
- Up-to-date library version on PlatformIO HOT 3
- Cannot compile HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vitowifi.