I took some time to create an MVC application able to respond as a Restful API.
You may have some part to remove or change (MySQL server information in .env).
The program is able to listen to others UDP connexion (in my case Vents Modbus for airflow and TeleInfo protocol for french electric counter): if it hangs, remove them.
The idea behind this project is to test some proof of concept (I’ve tried Open Hab, but still to long to configure as I which).
Here, my app is able to scan the Velbus network and creating a list of modules (addresses) and submodules (key is address-part)
If someone want to send me feedback, I would be happy (even if it’s not working in your home). I use it on a Raspberry Pi 3 (32 bits) without problem now.
It’s between alpha and beta phase, so it’s recommend for developpers: feel free to use part as you want in your own programs.
I’m like Gandalf (pass from grey to white after a big challenge: mine was to access a better ranking in my teaching job. As you know, french teacher have lowest salary from all Europe).
Well, ArVel would be an API able to send full actualised list of Velbus modules/subMobules (JSON format)
My idea is a way to simplify starting project with Velbus (scanning, then asking name, then searching status, etc. through the bus).
It could send some order like http://localhost:8001/name/118/1 (RequestName for submodule address 118, part 1)
I would Arvel to be able to recognized modules/submodules automatically.
However, as it’s an API, you could code any program (C, C#, C++, Rust, Python, Java, PHP, etc.) to access it, without the need to analyze each message (althrough, I will try to keep a way to send/receive live trames in browser with socketIO).
It’s hard to create such a piece of program, but I think it’s structured enough to evolve in the time.
If I could, I’ll create some example in NodeRed to use it.
The main problem for me, is to create a kind of container (like flatpak or snap) easy to install…
I’ll have a look at it.
For now, I used a different structure, that would allow me to recognize a module as two or three functions or more.
I could then use filter like http://localhost:8001/modules/cat=relay and have only relay capable submodules.
But I like NodeRed, so I’ll try to create something with it, thanks.
For now, I’m still working on the API: when it run, it’s able to learn (I will add features later, for learning memory from module) and add categories to already present modules.
As explain, my wish is autolearn, thanks to Velbus protocol: if a detected module from category “relay” send a temperature, then my API will add it “temp” capacity. I just need to know the number of part.
As it save automatically it status every hour (only if needed), it’s able to restart without having to scan all modules.
Node-Red was already installed on my Raspberry, with @GertSt library, so I’m trying it again, but I’m unsure about the way to use/reuse it.
However, I probably need to have a look to new modules (those who have a different behavior). Could you give me a list of them (those who gives problems to their owners)?
I’ll send you an email with a spreadsheet of modules.— or rather… I would if your email address I have on file still worked… can you send me your new details please
Hi @MDAR !
As computer science teacher, I don’t have time between September to June: developing my new solution is an “every summer holidays”…
But this time, it’s really better, and it could be tested as an alpha version (I still have few work with dimmer’s status) and I’ve got a static page to test it. I’m creating a kind of API that would let other developers to use my software.
The project is on GitHub : https://github.com/droumanet/ArVel
Here is the static HTML page :
I’m playing with teleinfo (french Enedis protocol on their counters) and my VMC (ModBus over Ethernet) : a simple Python’s code that send datas over TCPIP/UDP protocol.
It’s far away from HomeAssistant (I’ve tried it but discovering is such a sh#t process on my installation) but it may give ideas for others developers
Thanks. Now I’m able to manage dimmer on VMB1DM or VMBDME/VMBDMI (seems to be compatible with VMB1LED, because using only $EE and $07 functions only, for now).
Again, the static file (index_listes.html) is just for easy managment and testing (was IA generated at 90%). You should have a mariadb services of course (little use at present time, but would be use for status changes, later, and some graphical usage).
I really hope the API Rest approach would be a better way to manage Velbus network than direct message and I’m ready to listen at new ideas or push request
My main concern is about VMB2BL channel managment: who have had this idea to use 0b11 and 0b1100 to select channel, rather 1 and 2?