BTicino/Legrand Home automation general discussions: openwebnet protocol


This thread is for general discussions on BTicino/Legrand openwebnet automation, how to’s, beginner help, expert help etc. Please post here for anything other than binding specifc topics. For binding topics use links below.

Let me know if you have anything you would like to see in the list.

Main openwebnet binding threads:

Other forums for discussion:

  • BTicino’s own forum is now for installers. I have not linked it
  • Legrand community

Useful links:

Manuals, product links:


Support the project and say thanks via donations or coding


Great idea, M4rk, thank you!

Hi @m4rk , I have made this PHP OpenWeb lib some time ago - GitHub - michnovka/openwebnet-php . While limited, maybe you can list it under DEV links and it may serve its purpose for some. Cheers!

I relay the following post, wondering where to find or how to write a request with time cron to update the value of torus F520 more often, if anyone has an idea?

I hope not to be off topic, otherwise, great initiative this post!

Rest API ?

Yes , or python script or any way

There is a python script here

But I couldn’t get it to work :frowning:

Another approach might be to use the binding generic own command… not sure when that will be implented.

i send a mail to this guy and he reply to me , so he send me a .dev file i never use .dev file so i try to find a way

binding generic own… ? ist real ?

@massi planned to implement it but I don’t know what stage he’s at.

Python script is possible but talking about the password handshake isn’t a good idea on a public platform … so you need do a bit of research of your own

The issue is the following

1 Like

I succeeded to control my alarm with the pyton script from Francesco_Re, this way:

That item is configured as an exec:command in things and items files:

Thing exec:command:alarm_state [command="/usr/bin/python /usr/local/src/openwebnet-alarm-master/", interval=5, timeout=1, autorun=true ]

String Stato_allarme {channel=“exec:command:alarm_state:output”}

When you send a “#50##” to a gateway it passes the open command to 3486 who MUST answer following the own protocol, and the script MUST answer 0 or 1 after analizing the own answer from 3486 (0=disengaged, 1=engaged, the alarm cannot have other states if it’s active). But if the script fails to decode the own answer, it simply exit without returning neither 0 or 1 so I force the N to debug if the answer is null. But I’m not a programmer and the python script, that I downloaded from GitHub - francesco-re-1107/openwebnet-alarm: Python scripts that allow you to retrieve the openwebnet alarm status and enable/disable it is quite difficult for me to debug.

This solution could answer many guy that still have the 3486 and cannot manage it.

I was also able to use the pyton check script in a bash terminal this way:
/usr/bin/python /usr/local/src/openwebnet-alarm-master/
But I see that somewhen it asnswers correctly and somewhen it ends without returning any value, so I modify it to print the result of the command and I can see that only few times it returns a value. Is there any control on the timmout or checking the answer I can add?