Giter Site home page Giter Site logo

Comments (16)

Supergiovane avatar Supergiovane commented on June 18, 2024

Hello Ronald, thank you!
It's actually not possible to listen to all telegrams, without a CVS file, because without CSV file, the node is unable to determine the Datapoint of the incomings group addresses.
Without datapoint, it cannot decode the RAW value coming from BUS, nor it can send a decoded value to the BUS. It's useless.
If you wish to do a workaround, you can paste this code into the "ETS Group Addresses list" textblock of the config node and modify/add your group address:

"Group name" "Address" "Central" "Unfiltered" "Description" "DatapointType" "Security"
"Attuatori luci" "0/-/-" "" "" "Attuatori luci" "" "Auto"
"Luci primo piano" "0/0/-" "" "" "Luci primo piano" "" "Auto"
"Camera da letto luce" "0/0/1" "" "" "Camera da letto luce" "DPST-1-8" "Auto"
"Loggia camera da letto" "0/0/2" "" "" "Loggia camera da letto" "DPST-1-1" "Auto"
"Camera armadi luce" "0/0/3" "" "" "Camera armadi luce" "DPST-1-1" "Auto"
"Bagno grande luce" "0/0/4" "" "" "Bagno grande luce" "DPST-1-1" "Auto"
"Loggia bagno grande" "0/0/5" "" "" "Loggia bagno grande" "DPST-1-1" "Auto"
"Bagno grande specchio (switch)" "0/0/6" "" "" "Bagno grande specchio switch" "DPST-1-1" "Auto"
"Lavanderia luce" "0/0/7" "" "" "Lavanderia luce" "DPST-1-1" "Auto"
"Lavanderia specchio (switch)" "0/0/8" "" "" "Lavanderia specchio switch" "DPST-1-1" "Auto"
"Studio luce" "0/0/9" "" "" "Studio luce" "DPST-1-1" "Auto"
"Soggiorno luce (switch)" "0/0/10" "" "" "Soggiorno luce switch" "DPST-1-1" "Auto"
"Soggiorno aplique (switch)" "0/0/11" "" "" "Soggiorno aplique switch" "DPST-1-1" "Auto"
"Loggia soggiorno cucina" "0/0/12" "" "" "Loggia soggiorno-cucina" "DPST-1-1" "Auto"
"Cucina luce" "0/0/13" "" "" "Cucina luce" "DPT-1" "Auto"
"Cucina luce pensili" "0/0/14" "" "" "Cucina luce pensili" "DPT-1" "Auto"
"Corridoio luce" "0/0/15" "" "" "Corridoio luce" "DPST-1-1" "Auto"
"Scala LED" "0/0/16" "" "" "Scala LED" "DPST-1-1" "Auto"
"Soggiorno aplique brighness value" "0/0/17" "" "" "" "DPST-5-1" "Auto"

This is part of my CVS file. Be aware that each text must be between " and the separation is done by a tabulation (TAB key on your keyboard).

Please try this manner and if you're in trouble, please tell me how do you intend to decode the telegrams, in case you'll receive a RAW value from the BUS (in case of "Listen to all Group Addresses" enabled and no CSV file set).
Thanks.

from node-red-contrib-knx-ultimate.

wijnsema avatar wijnsema commented on June 18, 2024

Interesting to see how you appreciate the data point types. I have mostly ignored them, even in ETS because you don't really have to use them. That's also why my export file has mostly empty data point types.

I do agree that it would be better to use them though, and I will indeed fix this in ETS.

On the other hand it's not completely useless to work without them. I have used an older library node-red-contrib-knx (which you surely know ;-) and it is emitting just the RAW values, and the type is no_dtp. I have successfully used this for a KNX-MQTT router function within Node-red.

It would be even more powerful to always output the raw value, and decoded value in case a type was defined. Indeed this is what is shown in the Info column of the Group Monitor in ETS5.

from node-red-contrib-knx-ultimate.

Supergiovane avatar Supergiovane commented on June 18, 2024

Yes, i know this node and i used it at beginning.
Me as well find the use of Datapoint very annoying but it's very useful to work with it, because there are many values that can be translated in different ways, using different datapoints. When i was not using datapoints, it was a mess with dimming values, brighten values, wind speed, philips hue color selection and so on. Me too had not set any datapoint on ETS until i had to handle group addresses out of ETS.
At the beginning, i wrote a c# handler, using Falcon SDK, then some 4-5 years later, i migrated to node-red.
Thrust me, the use of correctly set datapoints is very useful not only in node-red, but in other software/hardware black boxes you already have or you'll for sure try (for example, Gira Homeserver, Thinknx, Ilevia, loxone, and others i used in this years).
For example, i use the smartvisu.de web gui and it needs a correctly handled datapoints.
You'll lost some time to specify each datapoint in ETS, but you then will have a correctly setup system and, with some good music and good headphones, you'll enjoy this annoying work.

If you import your ETS CSV file, not only the node will output the right value, but it will output the device name as well.
Other than that, you can create a device-node in no time. Just add node, type in the device name or group address and the node will automatically fill Datapoint type and node name.

Try to fix your datapoints in ETS. If this is for you too much a big deal, i'll modify the node to output raw values.

from node-red-contrib-knx-ultimate.

wijnsema avatar wijnsema commented on June 18, 2024

You certainly convinced me! I will add datapoints to my ETS project ASAP!

Thanks for your sharing the background!

About the raw values: you don't have to do this for me, I just think is a nice feature. And to make this the standard library for KNX-Nodered it should cover all use cases.

Also one more argument: suppose you add an extra GA in ETS, telegrams would still show up in the output with unknown datatype, instead of silently vanishing because there is no entry in the CSV file.

from node-red-contrib-knx-ultimate.

Supergiovane avatar Supergiovane commented on June 18, 2024

I'll do it.
Cheers!

from node-red-contrib-knx-ultimate.

SystemKeeper avatar SystemKeeper commented on June 18, 2024

+1 for allowing unknown datatypes! Migrated from node-red-contrib-knx to node-red-contrib-knx-ultimate and just wanted to test a few things... Although I do have a complete ETS project with datatypes its cumbersome for new GAs... So yes, would definitly like this!
Also it would be nice to allow sending GAs to knx-ultimate-node without first setting up its GA and DPT, as those are provided in the message:

msg = {
    payload: true,
    destination: "12/0/0", 
    dpt: "1.001"
};

Besides tests I totally agree with @Supergiovane : using correct set up ETS project with datatypes is a great feature of this lib!

from node-red-contrib-knx-ultimate.

Supergiovane avatar Supergiovane commented on June 18, 2024

Hello Systemkeeper.
I’ve not understood this:

Also it would be nice to allow sending GAs to knx-ultimate-node without first setting up its GA and DPT, as those are provided in the message:

msg = {
payload: true,
destination: "12/0/0",
dpt: "1.001"
};

How can you tell to the node, to what GA send a value, if you don’t specify the GA in the message?
You already can send a message to the "listen all GA" node, by passing the msg above.
Or maybe i’ve not understood your question?

from node-red-contrib-knx-ultimate.

SystemKeeper avatar SystemKeeper commented on June 18, 2024

Hello @Supergiovane,

sorry for not being clear here. I'll try it again:

  • Place a inject-, function- and knx-ultimate-node on the flow and connect them
  • The function node contains the following
msg = {
    payload: true,
    destination: "30/1/1", 
    dpt: "1.001"
};
return msg;
  • Configure just the gateway on the knx-ultimate-node (leave datatype and group-address empty).

Expected:
An knx-telegram is sent to the GA "30/1/1" with DPT 1.001 and Payload true (the message already contains all information needed).

Actual result:
Nothing happens... An telegram will only be sent, when the knx-ultimate-node is set up with GA and DPT (this don't need to be the GA and the DPT which the function node passes - for the node to function correctly it just needs to setup any GA and any DPT).

Basically I'm looking for an knx-node which allows me to send knx-telegrams, but doesn't need to receive/parse them in any way.

Does that make sense to you?

Here's an test-flow:

[{"id":"8d12759.aba0288","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"e3b58f9c.eb5e3","type":"inject","z":"8d12759.aba0288","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":280,"y":260,"wires":[["cfe24e49.3d43b"]]},{"id":"cfe24e49.3d43b","type":"function","z":"8d12759.aba0288","name":"KNX Message","func":"msg = {\n payload: true,\n destination: "30/1/1", \n dpt: "1.001"\n};\nreturn msg;","outputs":1,"noerr":0,"x":510,"y":260,"wires":[["78d488a3.3f7678"]]},{"id":"78d488a3.3f7678","type":"knxUltimate","z":"8d12759.aba0288","server":"535a9aa6.357284","topic":"","dpt":"","initialread":false,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"","outputtype":"write","outputRBE":true,"inputRBE":false,"x":750,"y":260,"wires":[[]]},{"id":"535a9aa6.357284","type":"knxUltimate-config","z":"","host":"224.0.23.12","port":"3671","physAddr":"15.15.22","suppressACKRequest":false,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","statusDisplayLastUpdate":true,"statusDisplayDeviceNameWhenALL":true,"statusDisplayDataPoint":false}]

from node-red-contrib-knx-ultimate.

Supergiovane avatar Supergiovane commented on June 18, 2024

Hello,
Got it. thanks. On it’s way for the next coming version.

from node-red-contrib-knx-ultimate.

SystemKeeper avatar SystemKeeper commented on June 18, 2024

Hey, very cool - thx! Looking forward to it.

from node-red-contrib-knx-ultimate.

Supergiovane avatar Supergiovane commented on June 18, 2024

Out for delivery with V. 1.1.11

from node-red-contrib-knx-ultimate.

SystemKeeper avatar SystemKeeper commented on June 18, 2024

@Supergiovane: Very cool, thanks for the quick addition! Quick feedback:

  • Universal mode to send messages to the knx bus is working great
  • Universal decoding produces a lot of DPT3: Buffer should be 1 byte long errors in the log, this is mostly due to 2-byte values (DPT 9). Judging from your code and looking at this link I guess we could infer DPT 9 for 2-byte raw values?!

Looking at the code I noticed some redundancy in the event code. Are you interested in PRs for this?

Thanks again!

from node-red-contrib-knx-ultimate.

Supergiovane avatar Supergiovane commented on June 18, 2024

Hello
i noticed the logs. The fix is in progress.
Yes i accept pull requests. The code is complex, because there are many things involved.
Feel free to pr.

from node-red-contrib-knx-ultimate.

Supergiovane avatar Supergiovane commented on June 18, 2024

V 1.1.12 with fix for that will be out today.

from node-red-contrib-knx-ultimate.

SystemKeeper avatar SystemKeeper commented on June 18, 2024

Working good on my end! Thanks for the quick implementation!

from node-red-contrib-knx-ultimate.

Supergiovane avatar Supergiovane commented on June 18, 2024

I should have covered the majority of cases. If not, it "blind" tries all datapoints.
Thank you to you for the feedback. Hope this will help you growing your home automation!

from node-red-contrib-knx-ultimate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.