Closed jatty closed 1 year ago
So your Smartset pC isn't working at all, correct? Do you have another local software accessing the ISM, like maybe the mobil app on a phone in local access mode? Cause the ISM can only accept one connection at a time. Can you access the website of the ISM and login there succesfully? How is it connected, Wifi or LAN? My experience with the Wifi connection was horrible, so I had to run a cable there...
So your Smartset pC isn't working at all, correct?
Yes. 😫
Do you have another local software accessing the ISM, like maybe the mobil app on a phone in local access mode? Cause the ISM can only accept one connection at a time.
Yes, I've terminated the iPhone app, and after terminating the browser with the direct http session (port 80) to ISM7, and rebooted the ISM7, waited until it was ready again. But still no connection. Only thing is: it connects to the wolf-smartset.de cloud-service at the same time.
Can you access the website of the ISM and login there succesfully?
Yes, on port 80. It says: Internet access: | active Portal: | Direct connected eBus: | Online Modbus: | Offline
How is it connected, Wifi or LAN?
It's connected by Ethernet cabling.
I thought I would have tried anything, perhaps there's still some client connecting. I'll try a crossover ethernet cable between ISM7 and Laptop next, to be directly attached.
@infocfc I get "Fault: The individual components of the heating system are just determined. Please try again in a few minutes." after booting the ISM7. When trying later again, I get "Fault: The connection to the system cannot be established. Refresh the system list and try again." after some 30 seconds idling time. Of course, the refresh doesn't help.
Hmm. This almost sounds as if the ISM itself or it's connection to the heating isn't working properly. But the wolf-smartset website itself works as expected?
Can you tell us as much details as possible about your setup? What heating, what ISM (and where did you get it) including versions, what OS are you running SMartset-PC (and which version) on? For instance, my ISM looks like this: ` Internetfreigabe: | aktiv |
---|---|
Portal: | Direktverbunden |
eBus: | verbunden |
Modbus: | nicht verbunden |
Weitere Informationen Seriennummer: | xxxxxxx FW-Version: | 3.00 MAC-Adresse LAN: | xxxxxxx Direktverbindung: | Direktverbunden
`
Last but not least, there has been issues in the past with complex passwords in the ISM. Maybe you can try to change that to something as simple as possible.
Hmm. This almost sounds as if the ISM itself or it's connection to the heating isn't working properly. But the wolf-smartset website itself works as expected?
Yes, wolf-smartset via Cloud works well, I see all values and can also make new settings for heating, this all works well. I've tried a non so complex password for testing now. I've tested with Windows 10, Windows 7, no difference.
Can you tell us as much details as possible about your setup? What heating, what ISM (and where did you get it) including versions, what OS are you running SMartset-PC (and which version) on? For instance, my ISM looks like this:
I have a Wolf TGB-2-30 with BM-2 AB FW 3.00 Also I have a "Wolf Link home (Mat. Nr. 2746365) with FW: 3.00 BL 3.00. Its ISM7 Info: Internet access: | active |
---|---|
Portal: | Direct connected |
eBus: | Online |
Modbus: | Offline |
Serial number: | xxxxxxx |
FW version: | 3.00 |
MAC address LAN: | xxxxxxx |
Direct link: | Try to connect+log on |
The "Try to connect+log on" changes to "Direct connected" when I start my iPhone Wolf Smartset app.
When I try with the Windows Smartset Java App instead, I see a log file "smartset" (within %USERPROFILE%\AppData\Roaming\Wolf GmbH\Smartset\logs)
It throws an error:
System.Exception: Heizmodul address:'0x8' unknown WRSDeviceId:0x35%
Do i have an incompatible device?
Can you attach the logfile from the smartset app and the sdf file (%AppData%\Roaming\Wolf GmbH\Smartset\App_Data\smartsetpc.sdf
)?
Can you attach the logfile from the smartset app and the sdf file (
%AppData%\Roaming\Wolf GmbH\Smartset\App_Data\smartsetpc.sdf
)?
I've uploaded it to https://github.com/jatty/ism7mqtt/blob/master/smartsetpc.sdf - it's a binary file with 1.8 MB, and https://github.com/jatty/ism7mqtt/blob/master/smartset.txt
It looks like the TGB-2 is not supported by the Smartset PC App because the PC version is from 2019. I'll take a look into the android version and try to find out if there is an option to retrieve the config from the app.
The android app also contains the device, parameter and converter xml files. The device.xml contains a template for the TGB-2, but it has no WRSDeviceId - so I guess additional changes are required.
Can you create a trace using the mobile app? The android version does not validate the certificate, so hopefully the iOS app also works. You need to run the ism7proxy on a PC (ism7proxy.exe -i <ip of your ism>
) and then connect to the ip of the pc instead of your ism ip. This should dump the communication between the app and your ism.
Please redact your password, when posting the log.
Sadly the android app does not create a database like the desktop version, but it contains the unencrypted binaries - so we might be able to reverse how the parameters are computed.
Good news - the android app creates a verbose log file. It is aes encrypted, but the binaries contain the key & iv so I've created a console app to decrypt the log file.
After connecting to the ISM, the app first dumps the devices and their config (I've replaces some weird separators by newlines and tabs):
followed by the parameter mapping:
With this information we can create the required parameter.json. I've retrieved this via adb backup
from an emulated android device after connecting to the ism7. Since it's a Xamarin app the iOS app should create the same log, but I don't know how to retrieve it from the device.
If you are able to retrieve the log, you can use the smartsetlogdecryptor (from the latest build) to get the plaintext. Please redact your password before uploading the log file.
The log file also contains a full dump of the communication, so this should be enough to add to support for TGB-2.
Unfortunately, it took me a while to reactivate my old Android phone. But here we are. https://github.com/jatty/ism7mqtt/blob/master/smartset-decrypter.log
This look's good! I'll try to build something - hopefully I have something tomorrow.
@jatty I hand crafted a parameter.json from your log file - can you test it with the binaries from the tgb branch?
@jatty I hand crafted a parameter.json from your log file - can you test it with the binaries from the tgb branch?
@zivillian Thank you very much. Yes, this works perfect with my TGB2.
ism7mqtt | publishing mqtt with topic 'Wolf/192.168.1.42/BM-2_0x35/Funktion_des_Bedienmoduls/value' '0'
ism7mqtt | publishing mqtt with topic 'Wolf/192.168.1.42/BM-2_0x35/Funktion_des_Bedienmoduls/text' 'System'
ism7mqtt | publishing mqtt with topic 'Wolf/192.168.1.42/BM-2_0x35/Zeitprogramm_Zirkulation_Heizgeraet/value' '1'
ism7mqtt | publishing mqtt with topic 'Wolf/192.168.1.42/BM-2_0x35/Zeitprogramm_Zirkulation_Heizgeraet/text' '1'
ism7mqtt | publishing mqtt with topic 'Wolf/192.168.1.42/BM-2_0x35/Raumeinflussfaktor' '4'
ism7mqtt | publishing mqtt with topic 'Wolf/192.168.1.42/BM-2_0x35/Aussenfuehler_gemittelt_Berechnungszeitraum' '3'
[...]
That's great - I started to build a console application to read the parameters directly from the ISM by calling the binaries from the android app. It looks promising - the first prototype is working with my installation.
The latest binaries from the tgb2 branch contain an ism7config (instead of ism7parameter). It connects directly to the ISM7 to "extract" the parameters instead of relying on the smartset sdf file.
@jatty Can you test and verify that it produces a parameter.json (which is somehow similar to my hand crafted version)?
The latest binaries from the tgb2 branch contain an ism7config (instead of ism7parameter). It connects directly to the ISM7 to "extract" the parameters instead of relying on the smartset sdf file.
@jatty Can you test and verify that it produces a parameter.json (which is somehow similar to my hand crafted version)?
On linux it doesn't work yet - I've been trying ism7config-linux-x64.zip but got an error:
# ./ism7config
Unhandled exception. System.NotImplementedException: The method or operation is not implemented.
at ism7config.Program.<>c.<Main>b__0_2(String x) in /home/runner/work/ism7mqtt/ism7mqtt/src/ism7config/Program.cs:line 97
at lucon.common.secret.Encryption.StreamHandlerDisposable.CreateReaderStream(String path, Func`2 getStream, Boolean useEncryption)
at lucon.common.secret.Encryption.StreamHandlerDisposable..ctor(String path, Func`2 getStream, Boolean useEncryption)
at lucon.common.secret.XmlSerialization.DeserializeXmlFile[DeserializeType](XmlSerializer serializer, String path, Func`2 getStream, Boolean useEncryption)
at lucon.common.secret.XmlSerialization.DeserializeXmlFile[DeserializeType](String path, Func`2 getStream, Boolean useEncryption)
at LuCon.Common.ConfigService.ParameterTemplateServiceImpl..ctor(FileSystemSettings settings, Func`2 getStream)
at ism7config.Program.Main(String[] args) in /home/runner/work/ism7mqtt/ism7mqtt/src/ism7config/Program.cs:line 88
at ism7config.Program.<Main>(String[] args)
@jatty thanks for testing - I've fixed the linux compatibilty in the latest build. Can you try again? You may need to override your openssl settings like this:
# OPENSSL_CONF=openssl.cnf ./ism7config -i <your ip> -p <your password>
My setup is a CHA-10 combined with a TGB-2 as a fallback and the ISM7i module. I, too can't get the Windows software to connect to my ISM7i locally.
Does anybody know if there's a newer version available from Wolf?
@sniesen I've published a new version, which should also work for your setup. It no longer needs the windows application but uses a separate tool (ism7config) to create the parameter.json by directly connecting to your ISM7i - can you test the latest binaries and create a new issue if it still doesn't work?
Wolf SmartSet provisioning is not working as described in README. This is not an Issue within ism7mqtt itself, but I don't get the point how to get the parameter.yaml
The SmartSet PC-App is working up to the point when it's handshaking the password with the ISM7. When I enter a wrong password, this is recognized via the GUI on port 5000. But then the backend communication runs into a timeout at some time, and there's no parameter.yaml getting generated.
Maybe an issue with ISM7 (without i at the end) and FW 3.00?