Closed alaska3586 closed 2 years ago
The correct package for raspberry is ism7mqtt-linux-arm.zip
Thanks, that worked well.
After having launched the ism7mqtt program like that:
./ism7mqtt -m localhost -i 192.168.178.
this message comes up: System.InvalidOperationException: There is an error in XML document (0, 0). ---> System.Xml.XmlException: Root element is missing.
The parameter.json file seems to be ok, please refer to file attached. Any ideas?
do have a stacktrace or any additional output? I'm not sure, which XML cannot be parsed.
Pls. find attached the shell output of ./ism7mqtt -m localhost -i 192.168.178.x -p xyz -t ./parameter.json
No additional output files in working directory - is the any possibility to add a debug level?
executed with the -d option: both xml output (with neutralized password) from raspberry and smrtsetpc.sdf (zipped) from windows computer attached.
Just noticed that the directory /home/runner which is mentioned in error.log does not exist on the raspberry installation: /home/runner/work/ism7mqtt/ism7mqtt/src/ism7mqtt/ISM7/Ism7Client.cs
That's interesting... It looks, like your ISM is sending an empty response:
<
System.InvalidOperationException: There is an error in XML document (0, 0).
<
is the prefix for every received message, but there is no message.
Your ISM version also looks outdated, mine is 300.10.1.300.300.1
- can you try to update your BM or ISM? If this is not possible or doesn't work I could build a debugging version, which dumps more information and gracefully handles empty response so we can further investigate this.
Another option would be to remove all devices and parameters - except one - from the parameters.json to check if there is an issue with one of the parameters or devices. If it works with the minimal parameters.json you could try to find the broken device or parameter via trial and error.
Just noticed that the directory /home/runner which is mentioned in error.log does not exist on the raspberry installation:
That's correct and expected, since this is the path to the file on the machine which built the binary (which is a virtual machine hosted by github and executing the build actions).
Cool - will try firmware Update of ISM first.
I now tried editing of the parameter.json file by removing the last 3 {[ --- ]} enumerations:
last 1 enumerations removed --> failure "ReadBusAddress": "0x00", "DeviceTemplateId": 19000, "Parameter": [ ]
last 2 enumerations removed --> failure { "ReadBusAddress": "0x75", "DeviceTemplateId": 2000, "Parameter": [ ]
last 3 enumerations removed --> success ! "ReadBusAddress": "0x76", "DeviceTemplateId": 6000, "Parameter": [ ]
Output look pretty promising, pls. refer to error3.log attached: Since I started the last version, mqtt repeatedly reports any value changed, as expected. However, I do not really know "what" is removed now (TemplateID 19000 / 2000 / 6000) and which data may be missing. Analysis of initial "full" payload seems to indicate that data of the solarthermic roof panel may not be included, which I want to supervise.
Update: all 3 templates with TemplateID 6000, 2000, 19000 bring the XML document (0, 0) error message.
However, I do not really know "what" is removed now (TemplateID 19000 / 2000 / 6000) and which data may be missing.
You've removed the SM1 (Solarmodul), MK (Mischerkreis) and GW (ISM7) devices. All values for those devices will be missing.
Can you try to find out, if only one or some of the parameter for those three devices are broken? You can modify your parameter.json to a minimal version like:
{
"Devices": [
{
"ReadBusAddress": "0x00",
"DeviceTemplateId": 19000,
"Parameter": [
19000
]
}
]
}
I've created a debugging version, which only logs empty messages instead of crashing - can you try it out and check if it works and which parameter is not reported in the initial response? Or just run it three time with only one of the three devices at a time and post the output?
Will do during the Evening. The current solution already works perfect, even without upgrading firmware. Thanks for your work- great!
Holen Sie sich Outlook für Androidhttps://aka.ms/AAb9ysg
From: zivillian @.> Sent: Tuesday, March 8, 2022 7:29:07 PM To: zivillian/ism7mqtt @.> Cc: alaska3586 @.>; Author @.> Subject: Re: [zivillian/ism7mqtt] ism7mqtt on raspberry pi ? (Issue #18)
However, I do not really know "what" is removed now (TemplateID 19000 / 2000 / 6000) and which data may be missing.
You've removed the SM1 (Solarmodul), MK (Mischerkreis) and GW (ISM7) devices. All values for those devices will be missing.
Can you try to find out, if only one or some of the parameter for those three devices are broken? You can modify your parameter.json to a minimal version like:
{ "Devices": [ { "ReadBusAddress": "0x00", "DeviceTemplateId": 19000, "Parameter": [ 19000 ] } ] }
I've created a debugging versionhttps://github.com/zivillian/ism7mqtt/actions/runs/1953129170, which only logs empty messages instead of crashing - can you try it out and check if it works and which parameter is not reported in the initial response? Or just run it three time with only one of the three devices at a time and post the output?
— Reply to this email directly, view it on GitHubhttps://github.com/zivillian/ism7mqtt/issues/18#issuecomment-1062078551, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AYCRKQTCGKO5GF56POQI3MLU66L7HANCNFSM5QBMYVZQ. You are receiving this because you authored the thread.Message ID: @.***>
Tested parameter.json including (templateID /parameter) (19000 / 19000) (19000 / 19021) ( 2000 / 2009) ( 2000 / 30010) ( 6000 / 6000) ( 6000 / 6038) All test were negative, producing "an error in XML document (0, 0)"
Test with original parameter.json file including TemplateID 19000 / 2000 / 6000: ./ism7mqtt -m localhost -i 192.168.178.xx -p xxxxxxxx -t ./parameter.json -d brought no reaction, neither console output nor MQTT messages.
By no reaction you mean actually nothing at all? Not even the direct-logon-request
? Sounds like your ism7 hangs and won't even reply to the TCP connect. Have you tried waiting a few minutes? I've seen something like this during my initial development, but after a few seconds (or minutes) it started working again.
I've also deployed the debugging version locally and it works as expected...
Will Start over tomorrow wirh the debug Version again. Thx.
New day, new try - success! The debug version identified SM1_0x76 solar module and MM_0x51 mixer module, delivering all relevant values.
After program start, this mssage appears: Received empty xml of type 'TgrBundleResp' - skipping dispatch (raw '000000000005') - evtl. the template for ISM GW gateway? output.txt
My configuration: WOLF system with ISM7 module shall be cyclicly monitored from a raspberry pi version4, latest OS version. I connected from a PC to Smartset app and received the parameter.json file via ism7parameter program.
On the raspberry PI , I unpacked ism7mqtt-linux-x64.zip and set execution permission to ism7mqtt. parameter.json was copied in this program directory.
Calling ism7mqtt brouhght this message: ./ism7mqtt: binary file cannot be executed: Error in program file format
Is the ism7mqtt-linux-x64.zip package the right one for a raspberry PI? Is this a supported system platform for the ism mqtt package? Thanks for any advice ...