ioBroker / ioBroker.knx

connect KNX via eibd
http://www.iobroker.org
Other
50 stars 32 forks source link

ioBroker can write on the bus, but does not get Values back #167

Open SWeckmann opened 3 years ago

SWeckmann commented 3 years ago

In the ETS there are designated middle-groups for brightness and temperature values: image

ioBroker imported the objects from the project correct, but does not seem to get the packets from the bus: image

While the ETS can see the pakets on the bus: image

The Adapter ist running fine: image image

ETS is version 5.7.5 Adapter is version 1.0.45

Videonisse commented 3 years ago

Check the raw settings for your object for this GA. Does “read” and “write” has true or false?

SWeckmann commented 3 years ago

Both have true: { "from": "system.adapter.knx.0", "user": "system.user.admin", "ts": 1619098151206, "common": { "name": "Diele Ist-Wert-Temperatur", "type": "number", "role": "value", "unit": "°C", "max": 670670, "min": -273, "read": true, "write": true }, "native": { "dpt": "DPT9.001", "address": "3/5/2", "addressRefId": "P-0465-0_GA-224", "statusGARefId": "", "actGARefId": "", "objRef": "O-140_R-56", "devName": "M-0083_A-0077-42-7BD4", "devInst": "P-0465-0_DI-24", "objectSize": "" }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "knx.0.Heizung.Ist-Werte_Temperaturen.Diele_Ist-Wert-Temperatur", "type": "state" }

Videonisse commented 3 years ago

Try to change "read": to false. Then restart KNX Adapter and see if the temp value is received from the bus.

SWeckmann commented 3 years ago

I tried the following setup: image

But there are no values in the objects: image

The bus says there are telegramms are sent: image

Videonisse commented 3 years ago

Are you using Admin v4.x.x? Does the KNX Adapter work with all other group addresses with another DPT#? Is the KNX Adapter installed from Admin or from Github? (if Github: reinstall Adapter from Admin and import again)

SWeckmann commented 3 years ago

image Admin is 4.2.1 All adresses which are used to switch something on or off can be written to and it works. But I don't get any statusses back. Installation was from github, but i completly reinstalled yesterday after i heard 1.0.45 is now stable. But there was no difference.

balferreira commented 3 years ago

I've the same issue with a currency datapoint, I can see the value on ETS but I can't on iobroker (Node.js: v12.21.0, NPM: 6.14.11, KNX: 1.045). ETS_DPT

ETS_DPT_IOBROKER

{ "from": "system.adapter.knx.0", "user": "system.user.admin", "ts": 1618343134426, "common": { "name": "AUX_POWER_3P_TR_COST", "type": "number", "role": "value", "read": true, "write": true, "custom": { "history.0": { "enabled": true, "changesOnly": false, "debounce": "", "maxLength": "", "retention": "31536000", "changesRelogInterval": "", "changesMinDelta": "", "aliasId": "" } } }, "native": { "dpt": "DPT9", "address": "4/2/230", "addressRefId": "P-0203-0_GA-1070", "statusGARefId": "", "actGARefId": "", "objRef": "O-101_R-614", "devName": "M-0071_A-4261-12-662A", "devInst": "P-0203-0_DI-22", "objectSize": "" }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "knx.0.XPTO.XPTO1.AUX_POWER_3P_TR_COST", "type": "state" }

Any idea why?

Videonisse commented 3 years ago

Both of you, are you running File as the database for States and Objects for jscontroller, or are you using Redis? If you haven't changed anything, it should be "File".

The reason I'm asking is that when running some tests, I suddenly I also got a similar problem as you describe, and deleting Objects and re-importing knxproj didn't help (it was working when I started to test). Also, some old values for deleted Objects remained after import of the same group address. I had Redis activated for States and switched back to Files as database. Deleted the objects again, a restart of ioBroker and then import of changed Objects seems ta have restored the malfunctioning group addresses. I'm not 100% sure that Redis was the problem but could be the case.

Something else to test You could also install a second instance of the KNX Adapter (the same license can be reused) and also use a second tunnel to your KNX IP Interface. Then import your knxproj file to this adapter and see if you still have exact same problem.

Videonisse commented 3 years ago

Another suggestion to troubleshoot this. If you are familiar with the Linux console for your ioBroker server. Try to run "iobroker state get STATEID" for an GA/object where the KNX Adapter doesn't view the value when sent from the KNX bus. Replace STATEID with one of yours, for example knx.0.XPTO.XPTO1.AUX_POWER_3P_TR_COST

The output shows the value in the internal State database. Verify if it is the last value sent from the bus.

From Documentation: https://www.iobroker.net/#de/documentation/config/cli.md?iobrokerstateget

SWeckmann commented 3 years ago

The redis-part is what I did not get. How can I look for that? (I did not hear this term until I googled it 5min ago, so I think it should be unchanged in the settings). When i intall another instance with the same project file I get this on the console: image

Videonisse commented 3 years ago

Did you before sending data from the KNX bus to those GAs? Maybe you should also change debug level to "Debug Most" and check for "Received TUNNEL_REQUEST" in the log file for KNX Adapter.

balferreira commented 3 years ago

I've created a new adapter and after a few refreshes the number start showing. ETS_1

But I've to manually to add the datapoint type and change from "mixed" to "number", but even with that I'm not able to see the "float" value. IOBROKER_3 IOBROKER_2 IOBROKER_1

{"val":2210,"ack":true,"ts":1619470530232,"q":0,"from":"system.adapter.knx.1","user":"system.user.admin","lc":1619469977179}

Any idea why I've to add this automatically? Another thing that I've noticed is that I'm not using the datapoint notation of x/x/x but full integer numbers as you can see on the first image, any idea why the adapter are converting to x/x/x notation?

Videonisse commented 3 years ago

Good, it worked with the new Instance. Next time when the values don't show up in Admin, could you from the console run "iobroker state get STATEID" for the respective object to verify if the state is written or not?

I never add objects manually, I think it's recommended to always import them from the ETS.

KNX Adapter actually doesn't support the Free group address numbering. But as you noticed, it still works but your GAs are "converted" to the 3-level numbering. Maybe you can write a feature request and ask for the support of free GAs?

balferreira commented 3 years ago

And what about the fact of the adapter are not showing the float values? Any idea of how to fix this?

Videonisse commented 3 years ago

That's the reason I asked you to check the State database next time the float values aren't visible in the Admin GUI. If it shows up in the State database using the above command, it should help the developer troubleshooting this Issue.

(I'm not a developer, I just trying to help out as a user of the adapter)

SWeckmann commented 3 years ago

So the values did not show up. I started a fresh container under proxmox, installed ioBroker and the KNX adapter. After that I imported the project-file but the problem seems to be the same. I can write values to switches, but the temperature values which my devices send on the bus do not show up: image

The config of the values are like this after the import: { "_id": "knx.0.Heizung.Ist-Werte_Temperaturen.Ankleidezimmer_Ist-Wert-Temperatur", "type": "state", "common": { "name": "Ankleidezimmer Ist-Wert-Temperatur", "type": "number", "role": "value", "read": true, "write": true, "unit": "°C", "max": 670670, "min": -273 }, "native": { "dpt": "DPT9.001", "address": "3/5/3", "addressRefId": "P-0465-0_GA-226", "statusGARefId": "", "actGARefId": "", "objRef": "O-108_R-1932", "devName": "M-0083_A-008A-25-6CE4", "devInst": "P-0465-0_DI-70", "objectSize": "" }, "from": "system.adapter.knx.0", "user": "system.user.admin", "ts": 1619711120207, "acl": { "object": 1638, "state": 1638 } }

The console input Videonisse told me to use reported just the error "... was not found" even when the ETS reported there were values send on these adresses. image

chefkoch009 commented 2 years ago

is the problem still persistent with new admin version and knx-adapter version V2.x?

SWeckmann commented 2 years ago

Seems so be this way. I can send data to the bus but there are no values from the bus readable. Tried the true / false matrix from above again, but no success. image

chefkoch009 commented 2 years ago

Your raw seems to be ok. Check if your status object is configured properly. And also check the config of your actuator in ETS. Sometimes you have to enable the function "send on Read and Update". The request is sent properly, but there is no answer from your actuator.

SWeckmann commented 2 years ago

image This ist the config of the status object. image This ist the ETS view of the parameter from the light channel image There are the comm-objects And if I send the switch order to on the light goes on and the status appears on the bus. But the status object does not get the message: image

Videonisse commented 2 years ago

@SWeckmann Enable Loglevel "All" for the Adapter and then switch the light on or off and verify if you in the log can see: WRITE : mappedName : Flur-Licht-Schalten-Status dest : 1/2/10 val: 0 (DPT1.001) Flur-Licht-Schalten-Status

In my config I also have Update/Aktualisieren enabled in the ETS for the communication settings. Have you tried that?

SWeckmann commented 2 years ago

image This comes when I turn on the lights

Videonisse commented 2 years ago

Above is Debug level "Info", change it to "All". And you are using v 2.0.5 of the KNX Adapter as well as the latest of the Admin 5?

I don't have "easy-knx.js" in my log so is this really the correct version you have installed?

chefkoch009 commented 2 years ago

Wenn das Problem noch besteht, dann schreib mir bitte eine PN im Forum.