Yes, it is not stable yet, cf. https://github.com/domoticz/domoticz/pu ... -353829492
Merry christmas !
Moderator: leecollings
Yes, it is not stable yet, cf. https://github.com/domoticz/domoticz/pu ... -353829492
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
Code: Select all
"values": { "0": "none", "1": "party", "2": "onedaybankholiday", "3": "onedayholiday", "4": "holiday", "5": "bankholiday", "6": "quickveto", "7": "onetimeventilation", "8": "onetimewater" }
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.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:So it can not be modified by this selector without a "translation" in the plugin.Code: Select all
"values": { "0": "none", "1": "party", "2": "onedaybankholiday", "3": "onedayholiday", "4": "holiday", "5": "bankholiday", "6": "quickveto", "7": "onetimeventilation", "8": "onetimewater" }
Even if the write operation will work - the values will be wrong.
Thanks!
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))
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
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
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)
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"?Esper wrote: ↑Friday 02 February 2018 20:10 great work, but i get important errors in:
Any idea?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)
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]
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".
Code: Select all
ebusctl read -v -c mc Mode
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'.
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.
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:Barberousse wrote: ↑Sunday 04 February 2018 14:41I will have a look at your JSON extract, I'll keep you in touch.
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
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)".Esper wrote: ↑Sunday 04 February 2018 17:02Code: 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]
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
Code: Select all
if (sLowerFieldValue == "on") or (sLowerFieldValue == "yes"):
iValue = 1
sValue = "100"
elif (sLowerFieldValue == "off") or (sLowerFieldValue == "no"):
iValue = 0
sValue = "100"
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
I will have a look, I agree that it is abnormal, but maybe I did as other devices in Domoticz, to be checked
Because it is read-only I think.
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-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)
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?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)
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"
}
]
},
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"
}
]
},
Our problem is with "IGN" type fields that are hidden in read and write commands. My question was about that :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" } ] },
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)
Users browsing this forum: No registered users and 1 guest