-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wrong length for setTempWWsoll in 300/vito.xml #123
Comments
Thanks for mentioning this, fixed with 7ac1c24 |
What you said seemed to be reasonable, so I simply changed it … now I actually wanted to test it with my heating ;-) Turns out this doesn't work here, neither with len 1, nor 2. How exactly do you invoke |
As of now, the vclient documentation does not tell how to format parameters for set commands … |
öhm, not sure what you mean. Here it is working for a 20 CB 00 2B. Certainly it depends on your device if hot water setpoint is 'mapped' to 6300h, but it seems to be quite common for the more recent Vitodens. With my 20 CB 1F C9 / F0:01 it is also working. 300 telegram is e.g. |
ahh ok (who t f is vclient... ;-) - sorry I never used it. |
What do you use then?! |
I wrote a bloody OptoLinkCommAsync.dll for Windows to 'clean up' ViessData2... (forked from the openv project a long time ago). A completely different matter... |
but probably wouldn't work since the xml file isn't mentioned.... urghs |
Me neither ;-) |
with my dll it is really easy: "Write1ByteValueA(addr, val)"... no xml, no string command, no worry, simply using.... |
isn't there the 'setaddr' cmd with vcontrold that could be used in a similar way? |
Hi I3u, does your vcontrold daemon work correctly? Do you get a correct value when you execute this command (vclient -h localhost:3002 -c getTempA) Timo |
Yeah, of course. My installation has been querying my heating each five minutes for all kind of temperatures for 7 years now ;-) Maybe, my device simply doesn't support this specific set command. But: How is a set command intended to be used with |
If the get-command work connect the server with this line in the cli. Now you work with the vcontrold cli. Timo |
So does this mean this can't be done via |
Okay, seems like my device (
So the get command works as it should, but the set sommand yields an error … |
That could be. I tried it but it didn’t work. I use the iobroker with the viessmann adapter. Set temperature works only with the adapter or over telnet. |
I havt the 20CB too. You have to change the length to 1 Byte in the Vito.xml It‘s funny… |
Hi @ all!
Since WWTemp can get set via ioBroker->vcontrold the device definitely does support. Is there a way to make vc'd logging what happens when ioBroker sets the value? Sorry for my lack of understanding - can you explain how things stick together (vc'd, vclient, telnet, ioBroker, CLI)?! Ok, for ioBroker I read it communicates with vc'd via network port (3002). Most likely vc'd utilizes vito.xml during that since the correction of len in the xml caused ioBroker to be able to set WW Temp. What is communicated via port 3002? commands or telegram bytes? Isn't this the same with vclient? and with telnet? Is it possible that 'set' commands / set value parameters are not implemented with vclient?? by whom/for what vcontrold.xml is used? ps. @l3u Tobias could you please 're-correct' the len because it is definitely 1 byte, in both directions (as veryfied by Timo's ioBroker experience)... thx & greetings! |
my log |
uff, is there a way to preserve line breaks? |
address bytes wrong order?!
|
I did try it with both values … |
did you reboot everything after changing xml?! |
with Timo's target (same as yours) it works with ioBroker after changing len to 1... put your logs here and I tell you if telegram is correct. above it's not and hence it does not work. make the stuff sending the correct telegram and it will work. Vitotronic is not poked that bad... ;-) |
Yeah, of course ;-) Fair enough, here we are again: 70ef62b Here's the debug log trying with the correctly set
So the communication works ...
|
The backticks are used for inline code. For a code block, you have to indent each line by four spaces. |
len looks better but still some strange values in telegr. bytes, but there are some 'toggle bits' or so so I need to check further
does not mean too much... Did you check if the change got performed on the Vito? |
It isn't changed, the device displays the original value, as a subsequent |
man, the suff is over ten years old an still buggy!? |
If you search for software without bugs, my best bet would be the only one to find is TeX ;-) What do those values represent? And where do they come from? Would be nice if we could track this down … |
Here we are. My It still contained
where the
(cf. #63 ) Et voilà: It works:
Damn. This whole configuration thing is really confusing. There really should be an easier way to do it. |
At least, I now can also confirm myself that, with the fix mentioned by @philippoo66, the set command actually works ;-) |
Btw. @philippoo66 I think the data you collected should be part of https://github.com/openv/, with you having write access to it, no?! |
Ok… Great. It works… |
sorry, I had to take a walk with the dog, she was really pushing... but you did it - great! the 01 F4 from above are relicts of the KW protocol (01:Start, F4:Virtuell_Write). Certainly in case of KW (which ist still supported by the Vitotronics) the telegram should start with 01, not following the 41 06 of the 300 frame... Something got really mixed up in a strange way. But most important that you solved it ;-) |
you mean the DP lists and how to 'find' even more DP addresses? Probably you are right. I'm new to github and don't know if/how I can put it there. But e.g. the enums are missing. I haven't figured out a reasonable way to put them up and the links to the DPs. So still 'under construction', even if I don't know how far this old stuff is still interesting since the new E3 gen is up since quite a while. And currently we are some busy trying to unscramble its 'secrets', even we did not get too far up to now.... |
Yes I have, but mostly because I cleaned up the code and ported the ancient build system to cmake back then. Not really because I have extensive knowledge of vcontrold's internals ;-) I think the best would be if you wrote to @speters – it would definitely be a good idea to compile everything about communication with Viessmann heatings in one place. And as this is not only the account for the vcontrold, but also for some other (discontinued) software, building instructions or circuit plans for optolink adapters, wikis about this stuff and so on, I think this is the place to be for your data :-) |
Hmmm … looks like this is not so easy 🙈 Well, maybe, if I mention @speters here, he will see it comment here … |
👍 |
after you recovered the line breaks in Timo's log (thank you!) I took another look at it. And what we see there is that writing WW_Soll works even if data_len_to_be_written is sent as 2. So (at least in case of hotwater setpoint) Vitotronic's set-procedure seems to 'know' the length of the value and ignores that information transfered in the telegram. It work with 1 (as we see in your log) as well as with 2. Probably this is the reason, why nobody cared for the wrong len information with 'setTempWWsoll' in vito.xml. But what is sure is that 'Bedien_WW_Solltemperatur~0x6300' is type 'Byte' which is a 1-byte value, and that it gets read and written with that specific length. 😉 |
ps. @l3u and since you have write access, perhaps you might add that simple example for using a set-command (with value as parameter) in the documentation?! |
Addr 6300h (TempWWsoll) is a 1-byte value. For the get cmd it is right, for the set cmd len is given as 2 - does not work.
https://github.com/openv/vcontrold/blob/master/xml/300/vito.xml
greetings!
The text was updated successfully, but these errors were encountered: