zivillian / ism7mqtt

GNU General Public License v3.0
56 stars 10 forks source link

Can only see one device #8

Closed Sont0777 closed 2 years ago

Sont0777 commented 2 years ago

Hi,

thanks a lot for this great tool. For a lot of parameter it works very well. I have an issue on my setup, I only can see the device 0x8 via mqtt. Do you have any idea? In the parameter.json and also in the smartset portal there are more devices. I already have restarted the service and the heating system while the mqtt client is listening.

ism7.zip

Thanks Tobi

zivillian commented 2 years ago

Hi Tobi,

can you attach a debug log (using the debug switch -d and don't forget to redact your password)? I'm surprised that you have multiple devices with the same BusAddress - this may currently be unsupported.

Sont0777 commented 2 years ago

yes, of course. You mean the attached output?

output_status.txt

zivillian commented 2 years ago

Yes, this look's good. I'll look into it, but my first question is - you are running this on a Raspberry Pi? Do you use the precompiled binaries, or did you compile it yourself? I'm asking, because I've never tested this, and am surprised it actually works.

Sont0777 commented 2 years ago

Yes I use it on a raspberry pi and I used the precompiled binaries. 🤷‍♂️

zivillian commented 2 years ago

After looking into your log and my code, I'm still unsure, what's the problem. Can you send your full log (without the password of course) after a minute or two where actual data was transmitted? Currently the log stops, after the initial request per device - I'm specifically looking for the firsts <tbresp...

Sont0777 commented 2 years ago

I don't get a <tbresp... in the log. For me it looks like the service crashes every 60 seconds and is restarted afterwards. For the device I receive data, I always get the full data set and not just the changed ones. So I think the issue is that the service does not run correct. I also removed the duplicated devices with the same BusAddress in the parameter. json but this doesn't fix the problem.

zivillian commented 2 years ago

It looks like your log is truncated - there must be at least one tbresp to get data via mqtt. During startup all parameters are requested, so the first mqtt message always contains all values.

zivillian commented 2 years ago

And it sound like there is a problem during this startup period. Can you try to run ism7mqtt with only single device defined in the config? Maybe there is an unsupported parameter on one of the defined devices which results in your ISM7 dropping the connection. If this works you can try to find the reponsible device an parameter via trial and error.

Sont0777 commented 2 years ago

Thank you, that solved my problem. If I remove the other parameter and add just a few, the service keeps running and I also get the values from the other devices. Now I can try what works, that's fine.

zivillian commented 2 years ago

This sounds great! It would be great if you can tell me the broken device and/or parameter if you find it. Maybe I can find a hint, why it's unsupported.

Sont0777 commented 2 years ago

Sorry for long time not responding. I found out the broken parameter, it was just the 35016.

"ReadBusAddress": "0x35", "DeviceTemplateId": 35000, "Parameter": [ 35016,

zivillian commented 2 years ago

Thanks, now I've found the reason - parameter 35016 ("Warmwasserkreis Benamung") uses a UnicodeTextConverter which is currently not implemented. I'll look into this.

zivillian commented 2 years ago

sadly I don't get any useful test data from my setup for this parameter. I've added some logging for the unsupported UnicodeTextConverter, so it won't crash, but just log the unsupported data. Maybe some get's some useful reponses and will reopen this ticket.