Page 2 of 9

Re: Python Plugin: ebusd

Posted: Monday 25 December 2017 19:36
by Barberousse
micha_pr wrote: Monday 25 December 2017 18:29 you have changed the onCommand procedure?
Yes, it is not stable yet, cf. https://github.com/domoticz/domoticz/pu ... -353829492

Merry christmas !

Re: Python Plugin: ebusd

Posted: Wednesday 27 December 2017 11:58
by micha_pr
have tried your latest version "1.1.0" - but still the error.

Code: Select all

2017-12-27 11:52:33.453  (eBus-t-all) Calling message handler 'onCommand'.
2017-12-27 11:52:33.454  Error: (eBus-t-all) 'onCommand' failed 'TypeError':'argument of type 'int' is not iterable'.
2017-12-27 11:52:33.454  Error: (eBus-t-all) ----> Line 701 in /home/pi/domoticz/plugins/DomoticzEbusd/plugin.py, function onCommand
2017-12-27 11:52:33.454  Error: (eBus-t-all) ----> Line 523 in /home/pi/domoticz/plugins/DomoticzEbusd/plugin.py, function onCommand
Will you post here, when the SetPoint (eBus write Option) will work again?

Thanks!

Re: Python Plugin: ebusd

Posted: Wednesday 27 December 2017 16:00
by Barberousse
micha_pr wrote: Wednesday 27 December 2017 11:58 Will you post here, when the SetPoint (eBus write Option) will work again?
Yes I will, but it will work only with the last beta version, when my patch will be accepted. I'll keep you in touch.

Re: Python Plugin: ebusd

Posted: Sunday 31 December 2017 10:51
by micha_pr
Found an issue with Hc1SFMode.

Here will be added a Switch/selector with right pulldown options.
eBus_plugin.JPG
eBus_plugin.JPG (40.08 KiB) Viewed 2669 times
But the values are wrong (by Domoticz design it is "level" 0...90) but should be:

Code: Select all

"values": { "0": "none", "1": "party", "2": "onedaybankholiday", "3": "onedayholiday", "4": "holiday", "5": "bankholiday", "6": "quickveto", "7": "onetimeventilation", "8": "onetimewater" }
So it can not be modified by this selector without a "translation" in the plugin.

Even if the write operation will work - the values will be wrong.

Thanks!

Re: Python Plugin: ebusd

Posted: Sunday 31 December 2017 12:48
by Barberousse
micha_pr wrote: Sunday 31 December 2017 10:51 Found an issue with Hc1SFMode.

Here will be added a Switch/selector with right pulldown options.eBus_plugin.JPG
But the values are wrong (by Domoticz design it is "level" 0...90) but should be:

Code: Select all

"values": { "0": "none", "1": "party", "2": "onedaybankholiday", "3": "onedayholiday", "4": "holiday", "5": "bankholiday", "6": "quickveto", "7": "onetimeventilation", "8": "onetimewater" }
So it can not be modified by this selector without a "translation" in the plugin.

Even if the write operation will work - the values will be wrong.

Thanks!
I'm not sure to understand the issue. By design, Domoticz want selector switch values from ten to ten. Then, when you write the selector switch level, the plugin translates to the expected values by ebusd (you can look at the way dOptionsMapping and dReverseOptionsMapping are used in plugin.py). You can enable the debug mode to check that this is translated as expected.

Re: Python Plugin: ebusd

Posted: Sunday 31 December 2017 13:06
by micha_pr
Hi

inserted a debug line here:

Code: Select all

    def onCommand(self, Unit, Command, ifValue, dDetails = None):
        Domoticz.Debug("onCommand1 called for unit " + str(Unit) + ": Command: '" + str(Command) + "', ifValue: " + str(ifValue) + ", dDetails: " + str(dDetails))
 
Got this result:

Code: Select all

2017-12-31 12:55:29.645  (eBus-t-all) onCommand1 called for unit 19: Command: 'Set Level', ifValue: 30, dDetails: -1
Because I have got the error:

Code: Select all

2017-12-31 12:55:29.645  Error: (eBus-t-all) 'onCommand' failed 'TypeError':'argument of type 'int' is not iterable'.
2017-12-31 12:55:29.645  Error: (eBus-t-all) ----> Line 702 in /home/pi/domoticz/plugins/DomoticzEbusd/plugin.py, function onCommand
2017-12-31 12:55:29.645  Error: (eBus-t-all) ----> Line 524 in /home/pi/domoticz/plugins/DomoticzEbusd/plugin.py, function onCommand
I thought this can be an additional problem. But seems all is ok ;), sorry.

The general "write problem" I have "fixed" as I wrote in PM, seems I need to add here something only, while patch is accepted.

EDIT: with additional patch for the "dDetails" value it is working just now, while your patch is not accepted.

Re: Python Plugin: ebusd

Posted: Friday 02 February 2018 20:10
by Esper
great work, but i get important errors in:

Code: Select all

2018-02-02 20:05:05.610 Error: (ebusd-a) parsing error on field count for value hwc Mode temp0=40;hwcmode=auto;=00;onoff=off (7 fields expected)
2018-02-02 20:05:06.187 Error: (ebusd-a) parsing error on field count for value mc Mode temp0=22;mcmode=auto;=05;onoff=off (7 fields expected)
Any idea?

Re: Python Plugin: ebusd

Posted: Friday 02 February 2018 21:49
by Barberousse
Esper wrote: Friday 02 February 2018 20:10 great work, but i get important errors in:

Code: Select all

2018-02-02 20:05:05.610 Error: (ebusd-a) parsing error on field count for value hwc Mode temp0=40;hwcmode=auto;=00;onoff=off (7 fields expected)
2018-02-02 20:05:06.187 Error: (ebusd-a) parsing error on field count for value mc Mode temp0=22;mcmode=auto;=05;onoff=off (7 fields expected)
Any idea?
Could you send the result of http://192.168.0.10:8889/data?Def (replace ip with the server ip hosting ebusd) then connect to this server and give the result of "ebusctl read -c mc Mode"?

Re: Python Plugin: ebusd

Posted: Saturday 03 February 2018 21:24
by Esper
For now my (yours) plugin is dead in case of phyton, but i can send you requested info:

Code: Select all

ebusctl read -c mc Mode

23;auto;0;0;off;mixer;day

Code: Select all

ebusctl read -V -c mc Mode

mc Mode tempdesired=23 °C [temperature];mcmode=auto [mixer mode];floorpavingdryingday=0 [days];floorpavingdryingtemp=0 °C [temperature];teleswitchmode=off [mixer mode];mctype7=mixer [mixer type];daynight=day [day/night mode]

Code: Select all

ebusctl read -V -c hwc Mode

hwc Mode temp0=40 °C [temperature];hwcmode=auto [hot water mode];hwcmode=on [hot water mode];mctype7=hwc [mixer type];=00;daynight=day [day/night mode]
Which part of json do you need? Its too big..

Re: Python Plugin: ebusd

Posted: Saturday 03 February 2018 23:00
by Barberousse
Esper wrote: Saturday 03 February 2018 21:24 Which part of json do you need? Its too big..
Maybe you can send it by private messaging? I need at least every part with software version (search for "SW") and everything JSON objects that relates to "Mode".

Can you also enable Debug in plugin setting and show the output around the error?

And can you redo the command (warning: lower case "v") and give the output?

Code: Select all

ebusctl read -v -c mc Mode

Re: Python Plugin: ebusd

Posted: Sunday 04 February 2018 14:24
by Esper
After donwgrade to stable:

Code: Select all

2018-02-04 14:22:54.898  (E) Initialized version 1.1.2, author 'Barberousse'
2018-02-04 14:22:54.900  (E) onStart called
2018-02-04 14:22:54.901  (E) IP or named address set to 192.168.32.130
2018-02-04 14:22:54.901  (E) Telnet port set to 8888
2018-02-04 14:22:54.901  (E) JSON  HTTP port set to 8889
2018-02-04 14:22:54.901  (E) Registers set to sc:Storage4Sensor3
2018-02-04 14:22:54.901  (E) Refresh rate set to 300
2018-02-04 14:22:54.901  (E) Disable cache set to False
2018-02-04 14:22:54.901  (E) Read-only set to False
2018-02-04 14:22:54.901  (E) Debug set to Debug
2018-02-04 14:22:54.901  (E) Debug log level set to: 'true'.
2018-02-04 14:22:54.901  (E) findDevices create connection to 192.168.32.130:8889
2018-02-04 14:22:54.901  (E) Connect
2018-02-04 14:22:54.901  (E) Protocol set to: 'HTTP'.
2018-02-04 14:22:54.901  (E) Transport set to: 'TCP/IP', 192.168.32.130:8889.
2018-02-04 14:22:54.901  PluginSystem: Starting I/O service thread.
2018-02-04 14:22:54.902  (E) Connect directive received, action initiated successfully.
2018-02-04 14:22:54.952  (E) Calling message handler 'onConnect'.
2018-02-04 14:22:54.952  (E) onConnect called
2018-02-04 14:22:54.952  (E) onConnect for json called
2018-02-04 14:22:54.952  (E) Find
2018-02-04 14:22:54.952  Error: (E) failed to parse parameters, Message or Message,Verb,URL,Headers,Delay expected.
2018-02-04 14:22:54.952  Error: (E) 'CConnection_send' failed 'TypeError':''dict' does not support the buffer interface'.
JSON -> PM

Re: Python Plugin: ebusd

Posted: Sunday 04 February 2018 14:41
by Barberousse
Esper wrote: Sunday 04 February 2018 14:24After donwgrade to stable:
You must stick to beta, see this post, viewtopic.php?t=19120#p153478, they changed the Send() function prototype for HTTP connection, I can't be compatible with stable and beta at the same time. I will have a look at your JSON extract, I'll keep you in touch.

Re: Python Plugin: ebusd

Posted: Sunday 04 February 2018 15:18
by Barberousse
Barberousse wrote: Sunday 04 February 2018 14:41I will have a look at your JSON extract, I'll keep you in touch.
Ok, I think I have part of the explanation (my plugin must ignore the IGN fields), but I don't understand why I don't get the same number of registers with the "-v" and "-V" options, could you send me the output of:

Code: Select all

ebusctl read -c mc -v Mode
ebusctl read -c mc -V Mode
ebusctl read -c hwc -v Mode
ebusctl read -c hwc -V Mode
And the debug output (when you'll revert to beta).

Thank you

Re: Python Plugin: ebusd

Posted: Sunday 04 February 2018 17:02
by Esper

Code: Select all

 ebusctl read -c mc -v Mode

mc Mode tempdesired=23;mcmode=auto;floorpavingdryingday=0;floorpavingdryingtemp=0;teleswitchmode=off;mctype7=mixer;daynight=day

ebusctl read -c mc -V Mode
mc Mode tempdesired=23 °C [temperature];mcmode=auto [mixer mode];floorpavingdryingday=0 [days];floorpavingdryingtemp=0 °C [temperature];teleswitchmode=off [mixer mode];mctype7=mixer [mixer type];daynight=day [day/night mode]

ebusctl read -c hwc -v Mode
hwc Mode temp0=40;hwcmode=auto;hwcmode=on;mctype7=hwc;=00;daynight=night

ebusctl read -c hwc -V Mode
hwc Mode temp0=40 °C [temperature];hwcmode=auto [hot water mode];hwcmode=on [hot water mode];mctype7=hwc [mixer type];=00;daynight=night [day/night mode]

Re: Python Plugin: ebusd

Posted: Sunday 04 February 2018 19:42
by Barberousse
Esper wrote: Sunday 04 February 2018 17:02

Code: Select all

 ebusctl read -c mc -v Mode

mc Mode tempdesired=23;mcmode=auto;floorpavingdryingday=0;floorpavingdryingtemp=0;teleswitchmode=off;mctype7=mixer;daynight=day

ebusctl read -c mc -V Mode
mc Mode tempdesired=23 °C [temperature];mcmode=auto [mixer mode];floorpavingdryingday=0 [days];floorpavingdryingtemp=0 °C [temperature];teleswitchmode=off [mixer mode];mctype7=mixer [mixer type];daynight=day [day/night mode]

ebusctl read -c hwc -v Mode
hwc Mode temp0=40;hwcmode=auto;hwcmode=on;mctype7=hwc;=00;daynight=night

ebusctl read -c hwc -V Mode
hwc Mode temp0=40 °C [temperature];hwcmode=auto [hot water mode];hwcmode=on [hot water mode];mctype7=hwc [mixer type];=00;daynight=night [day/night mode]
Thank you, but I would really need too the debug output (with debug enabled in the plugin option) of the error from "Parse telnet buffer..." to ""parsing error on field count ... fields expected)".

Thank you.

Re: Python Plugin: ebusd

Posted: Monday 05 February 2018 7:56
by Esper
No problem :)

Code: Select all

2018-02-05 07:54:31.973 (E) Handle
2018-02-05 07:54:31.973 (E) Telnet write: read -v -c mc Mode 
2018-02-05 07:54:31.973 (E) Sending 21 bytes of data:
2018-02-05 07:54:31.973 (E) 72 65 61 64 20 20 2d 76 20 2d 63 20 6d 63 20 4d 6f 64 65 0d read..-v.-c.mc.Mode.
2018-02-05 07:54:31.973 (E) 0a .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .
2018-02-05 07:54:32.023 (E) Received 129 bytes of data:
2018-02-05 07:54:32.023 (E) 6d 63 20 4d 6f 64 65 20 74 65 6d 70 64 65 73 69 72 65 64 3d mc.Mode.tempdesired=
2018-02-05 07:54:32.023 (E) 32 33 3b 6d 63 6d 6f 64 65 3d 61 75 74 6f 3b 66 6c 6f 6f 72 23;mcmode=auto;floor
2018-02-05 07:54:32.024 (E) 70 61 76 69 6e 67 64 72 79 69 6e 67 64 61 79 3d 30 3b 66 6c pavingdryingday=0;fl
2018-02-05 07:54:32.024 (E) 6f 6f 72 70 61 76 69 6e 67 64 72 79 69 6e 67 74 65 6d 70 3d oorpavingdryingtemp=
2018-02-05 07:54:32.024 (E) 30 3b 74 65 6c 65 73 77 69 74 63 68 6d 6f 64 65 3d 6f 66 66 0;teleswitchmode=off
2018-02-05 07:54:32.024 (E) 3b 6d 63 74 79 70 65 37 3d 6d 69 78 65 72 3b 64 61 79 6e 69 ;mctype7=mixer;dayni
2018-02-05 07:54:32.024 (E) 67 68 74 3d 64 61 79 0a 0a .. .. .. .. .. .. .. .. .. .. .. ght=day..
2018-02-05 07:54:32.024 (E) Calling message handler 'onMessage'.
2018-02-05 07:54:32.024 (E) onMessage called
2018-02-05 07:54:32.024 (E) Parse telnet buffer size 129
2018-02-05 07:54:32.024 (E) Reveived value: 'mc Mode tempdesired=23;mcmode=auto;floorpavingdryingday=0;floorpavingdryingtemp=0;teleswitchmode=off;mctype7=mixer;daynight=day'
2018-02-05 07:54:32.024 (E) Match circuit mc register Mode for value mc Mode tempdesired=23;mcmode=auto;floorpavingdryingday=0;floorpavingdryingtemp=0;teleswitchmode=off;mctype7=mixer;daynight=day
2018-02-05 07:54:32.024 Error: (E) parsing error on field count for value mc Mode tempdesired=23;mcmode=auto;floorpavingdryingday=0;floorpavingdryingtemp=0;teleswitchmode=off;mctype7=mixer;daynight=day (8 fields expected)
2018-02-05 07:54:32.024 (E) handleFifo called
2018-02-05 07:54:38.865 (E - SP1 - CWU) Updating device from 0:'41.12' to have values 0:'41.12'.
2018-02-05 07:54:38.868 (E) handleFifo called

Re: Python Plugin: ebusd

Posted: Monday 05 February 2018 8:51
by Esper
And new problem for on/off devices.. (its always 100)
for example Ciculation pump off is value 100 and when its on, the value is 100.
I found it in code:

Code: Select all

        if (sLowerFieldValue == "on") or (sLowerFieldValue == "yes"):
            iValue = 1
            sValue = "100"
        elif (sLowerFieldValue == "off") or (sLowerFieldValue == "no"):
            iValue = 0
            sValue = "100"
In line 850 (the second sValue) shouldn't be 0?

And second question: Why hwc:CirPump2 is TextSensor?

Code: Select all

2018-02-05 08:40:57.292 (E) Telnet write: read -v -c hwc CirPump2 
2018-02-05 08:40:57.293 (E) read called for unit 7
2018-02-05 08:40:57.293 (E) handleFifo called
2018-02-05 08:40:57.293 (E) read called for unit 10
2018-02-05 08:40:57.293 (E) handleFifo called
2018-02-05 08:40:57.293 (E) read called for unit 6
2018-02-05 08:40:57.293 (E) handleFifo called
2018-02-05 08:40:57.293 (E) read called for unit 5
2018-02-05 08:40:57.293 (E) handleFifo called
2018-02-05 08:40:57.293 (E) read called for unit 3
2018-02-05 08:40:57.293 (E) handleFifo called
2018-02-05 08:40:57.293 (E) read called for unit 4
2018-02-05 08:40:57.293 (E) handleFifo called
2018-02-05 08:40:57.294 (E) read called for unit 2
2018-02-05 08:40:57.294 (E) handleFifo called
2018-02-05 08:40:57.294 (E) read called for unit 1
2018-02-05 08:40:57.294 (E) handleFifo called
2018-02-05 08:40:57.294 (E) read called for unit 9
2018-02-05 08:40:57.294 (E) handleFifo called
2018-02-05 08:40:57.294 (E) read called for unit 8
2018-02-05 08:40:57.294 (E) handleFifo called
2018-02-05 08:40:57.294 (E) Sending 26 bytes of data:
2018-02-05 08:40:57.294 (E) 72 65 61 64 20 20 2d 76 20 2d 63 20 68 77 63 20 43 69 72 50 read..-v.-c.hwc.CirP
2018-02-05 08:40:57.294 (E) 75 6d 70 32 0d 0a .. .. .. .. .. .. .. .. .. .. .. .. .. .. ump2..
2018-02-05 08:40:57.345 (E) Received 24 bytes of data:
2018-02-05 08:40:57.345 (E) 68 77 63 20 43 69 72 50 75 6d 70 32 20 6f 6e 6f 66 66 3d 6f hwc.CirPump2.onoff=o
2018-02-05 08:40:57.345 (E) 66 66 0a 0a .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ff..
2018-02-05 08:40:57.345 (E) Calling message handler 'onMessage'.
2018-02-05 08:40:57.345 (E) onMessage called
2018-02-05 08:40:57.345 (E) Parse telnet buffer size 24
2018-02-05 08:40:57.346 (E) Reveived value: 'hwc CirPump2 onoff=off'
2018-02-05 08:40:57.346 (E) Match circuit hwc register CirPump2 for value hwc CirPump2 onoff=off
2018-02-05 08:40:57.346 (E) Update domoticz with iValue 0 and sValue 100 field number 0
2018-02-05 08:40:57.346 (E - CirPump2) Updating device from 0:'100' to have values 0:'100'.
2018-02-05 08:40:57.350 (E) handleFifo called

Re: Python Plugin: ebusd

Posted: Monday 05 February 2018 10:18
by Barberousse
Esper wrote: Monday 05 February 2018 8:51 And new problem for on/off devices.. (its always 100)
I will have a look, I agree that it is abnormal, but maybe I did as other devices in Domoticz, to be checked
Esper wrote: Monday 05 February 2018 8:51 Why hwc:CirPump2 is TextSensor?
Because it is read-only I think.

Thank you for your inputs, I think I will be able to correct this problem now:
Esper wrote:

Code: Select all

2018-02-05 07:54:32.024 Error: (E) parsing error on field count for value mc Mode tempdesired=23;mcmode=auto;floorpavingdryingday=0;floorpavingdryingtemp=0;teleswitchmode=off;mctype7=mixer;daynight=day (8 fields expected)
What I don't understand is why the error is different than the first time you report the problem:
Esper wrote:

Code: Select all

2018-02-02 20:05:06.187 Error: (ebusd-a) parsing error on field count for value mc Mode temp0=22;mcmode=auto;=05;onoff=off (7 fields expected)
This one, I really don't see where the problem comes from (see the number of fields). Did you change ebus version or configuration in the meantime?

Re: Python Plugin: ebusd

Posted: Monday 05 February 2018 13:48
by Esper
Hi,
yes, i've updated ebusd-configuration, but i can see one important difference:

fileldscount != fielddefscount - 6 != 7 - its our problem, i believe

code for hwc:Mode

Code: Select all

"Mode": {
"name": "Mode",
"passive": false,
"write": false,
"lastup": 1517834228,
"zz": 37,
"id": [
181,
4,
1
],
"comment": "Operation mode",
"fields": {
"0": {
"name": "temp0",
"value": 40,
"unit": "°C",
"comment": "temperature"
},
"1": {
"name": "hwcmode",
"value": "auto",
"comment": "hot water mode"
},
"2": {
"name": "hwcmode",
"value": "on",
"comment": "hot water mode"
},
"3": {
"name": "mctype7",
"value": "hwc",
"comment": "mixer type"
},
"4": {
"name": "",
"value": "00"
},
"5": {
"name": "daynight",
"value": "night",
"comment": "day/night mode"
}
},
"fielddefs": [
{
"name": "temp0",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"unit": "°C",
"comment": "temperature"
},
{
"name": "hwcmode",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "disabled",
"1": "on",
"2": "off",
"3": "auto"
},
"unit": "",
"comment": "hot water mode"
},
{
"name": "",
"slave": true,
"type": "IGN",
"isbits": false,
"length": 2,
"unit": "",
"comment": ""
},
{
"name": "hwcmode",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "disabled",
"1": "on",
"2": "off",
"3": "auto"
},
"unit": "",
"comment": "hot water mode"
},
{
"name": "mctype7",
"slave": true,
"type": "BI0",
"isbits": true,
"length": 7,
"values": {
"0": "inactive",
"1": "mixer",
"2": "fixed",
"3": "hwc",
"4": "returnincr",
"5": "pool"
},
"unit": "",
"comment": "mixer type"
},
{
"name": "",
"slave": true,
"type": "HEX",
"isbits": false,
"length": 1,
"unit": "",
"comment": ""
},
{
"name": "daynight",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "night",
"1": "day",
"7": "floorpaving"
},
"unit": "",
"comment": "day/night mode"
}
]
},

and for mc:Mode

Code: Select all

"Mode": {
"name": "Mode",
"passive": false,
"write": false,
"lastup": 1517834217,
"zz": 80,
"id": [],
"comment": "Operation mode",
"fields": {
"tempdesired": {
"value": 23,
"unit": "°C",
"comment": "temperature"
},
"mcmode": {
"value": "auto",
"comment": "mixer mode"
},
"floorpavingdryingday": {
"value": 0,
"comment": "days"
},
"floorpavingdryingtemp": {
"value": 0,
"unit": "°C",
"comment": "temperature"
},
"teleswitchmode": {
"value": "off",
"comment": "mixer mode"
},
"mctype7": {
"value": "mixer",
"comment": "mixer type"
},
"daynight": {
"value": "day",
"comment": "day/night mode"
}
},
"fielddefs": [
{
"name": "tempdesired",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"unit": "°C",
"comment": "temperature"
},
{
"name": "mcmode",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "disabled",
"1": "on",
"2": "off",
"3": "auto",
"4": "eco",
"5": "low"
},
"unit": "",
"comment": "mixer mode"
},
{
"name": "floorpavingdryingday",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"unit": "",
"comment": "days"
},
{
"name": "floorpavingdryingtemp",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"unit": "°C",
"comment": "temperature"
},
{
"name": "teleswitchmode",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "disabled",
"1": "on",
"2": "off",
"3": "auto",
"4": "eco",
"5": "low"
},
"unit": "",
"comment": "mixer mode"
},
{
"name": "mctype7",
"slave": true,
"type": "BI0",
"isbits": true,
"length": 7,
"values": {
"0": "inactive",
"1": "mixer",
"2": "fixed",
"3": "hwc",
"4": "returnincr",
"5": "pool"
},
"unit": "",
"comment": "mixer type"
},
{
"name": "",
"slave": true,
"type": "IGN",
"isbits": false,
"length": 1,
"unit": "",
"comment": ""
},
{
"name": "daynight",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "night",
"1": "day",
"7": "floorpaving"
},
"unit": "",
"comment": "day/night mode"
}
]
},

Re: Python Plugin: ebusd

Posted: Monday 05 February 2018 13:52
by Barberousse
Esper wrote: Monday 05 February 2018 13:48 Hi,
yes, i've updated ebusd-configuration, but i can see one important difference:

fileldscount != fielddefscount - 6 != 7 - its our problem, i believe

Code: Select all

"Mode": {
"name": "Mode",
"passive": false,
"write": false,
"lastup": 1517834228,
"zz": 37,
"id": [
181,
4,
1
],
"comment": "Operation mode",
"fields": {
"0": {
"name": "temp0",
"value": 40,
"unit": "°C",
"comment": "temperature"
},
"1": {
"name": "hwcmode",
"value": "auto",
"comment": "hot water mode"
},
"2": {
"name": "hwcmode",
"value": "on",
"comment": "hot water mode"
},
"3": {
"name": "mctype7",
"value": "hwc",
"comment": "mixer type"
},
"4": {
"name": "",
"value": "00"
},
"5": {
"name": "daynight",
"value": "night",
"comment": "day/night mode"
}
},
"fielddefs": [
{
"name": "temp0",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"unit": "°C",
"comment": "temperature"
},
{
"name": "hwcmode",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "disabled",
"1": "on",
"2": "off",
"3": "auto"
},
"unit": "",
"comment": "hot water mode"
},
{
"name": "",
"slave": true,
"type": "IGN",
"isbits": false,
"length": 2,
"unit": "",
"comment": ""
},
{
"name": "hwcmode",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "disabled",
"1": "on",
"2": "off",
"3": "auto"
},
"unit": "",
"comment": "hot water mode"
},
{
"name": "mctype7",
"slave": true,
"type": "BI0",
"isbits": true,
"length": 7,
"values": {
"0": "inactive",
"1": "mixer",
"2": "fixed",
"3": "hwc",
"4": "returnincr",
"5": "pool"
},
"unit": "",
"comment": "mixer type"
},
{
"name": "",
"slave": true,
"type": "HEX",
"isbits": false,
"length": 1,
"unit": "",
"comment": ""
},
{
"name": "daynight",
"slave": true,
"type": "UCH",
"isbits": false,
"length": 1,
"values": {
"0": "night",
"1": "day",
"7": "floorpaving"
},
"unit": "",
"comment": "day/night mode"
}
]
},
Our problem is with "IGN" type fields that are hidden in read and write commands. My question was about that :

Code: Select all

2018-02-02 20:05:06.187 Error: (ebusd-a) parsing error on field count for value mc Mode temp0=22;mcmode=auto;=05;onoff=off (7 fields expected)
where the read command returns only 4 fields, with 7 fields expected (???), and afterwards in your messages, I can now see 7 fields for 8 expected, because my plugin must ignore "IGN" type field.