New platform for My Home bTicino

Hi Caio, I’ve read that now you use another software. can i ask you how i do to install it in Hassio? I can’t install the open web because i’m unable to use pip install… I tried to download the zip from PyPi and I added it into custom_components but it doesn’t work.

Thank you

It is not free. Here is the link.

Ciao to everyone. I’ve a question about configuring lights. It’s possibile to dimmer a light? I have in my Bticino plant 2 dimmers. Thanks in advance

Hi djmirco, I am no longer developing this component, because I have found a way to integrate bTicino into home assistant through standard components, using Domoticz and MQTT.
It seems to be working very well.
I am testing it with home assistant installed on raspbian, not with Hassio, but being standard components, I expect it to work without problems too.
Domoticz can be installed on several supported devices.
I did the first tests by installing it on a Synology NAS and it didn’t give any problems, now I have placed it on the same Raspberry where Home Assistant runs and several other services.
After installing Domoticz, it must be configured to connect to the bTicino system, MQTT must also be activated on both Domoticz and Home Assistant. I recommend installing Mosquito.
Therefore lights, switches and MQTT sensors must be created in HA as automations to send and receive data from Domoticz.

1 Like

It’s a shame, because the project was valid. I am sorry that the only alternative is to pay!!!

For those who use node red I use a openwebnet to mqtt converter. Currently its only possible to use lights (on/off), covers(up/down) en cen commands. I’m thinking of buying a dimmer so I maybe try to add dimmer support in the future unless someone beats me to it. Node red is a lot easier than developing a home assistant plugin, at least for me.

[{"id":"add648bd.b23638","type":"tcp request","z":"3699bdf7.a4a582","server":"192.168.1.11","port":"20000","out":"sit","splitc":" ","name":"","x":650,"y":200,"wires":[["310c0132.ddc146","1e903399.68ad64"]]},{"id":"310c0132.ddc146","type":"function","z":"3699bdf7.a4a582","name":"Convert to string","func":"msg.payload = msg.payload.toString('utf8');\n//msg.payload = String(msg.payload);\nreturn msg;","outputs":1,"noerr":0,"x":910,"y":240,"wires":[["36aa90ad.d16e9","2516bf50.8a4058"]]},{"id":"1e903399.68ad64","type":"trigger","z":"3699bdf7.a4a582","op1":"","op2":"*99*1##","op1type":"nul","op2type":"str","duration":"135","extend":true,"units":"s","reset":"","bytopic":"all","name":"WatchDog","x":650,"y":140,"wires":[["add648bd.b23638"]]},{"id":"3fa34765.e3a668","type":"inject","z":"3699bdf7.a4a582","name":"Activate socked","topic":"","payload":"*99*1##","payloadType":"str","repeat":"135","crontab":"","once":true,"onceDelay":"","x":210,"y":200,"wires":[["add648bd.b23638"]]},{"id":"113dca8c.89db4d","type":"function","z":"3699bdf7.a4a582","name":"Parse MQTT","func":"//*WHO*WHAT*WHERE##\nvar WHO;\nvar WHAT;\nvar WHERE;\nvar array = msg.topic.split('/');\n\nif(array[1]=='l'){\n    WHO = '1';\n}else if (array[1]=='c'){\n    WHO = '2';\n}\n\nif(msg.payload=='ON' || msg.payload=='UP' ){\n    WHAT = '1';\n}else if (msg.payload=='OFF'|| msg.payload=='STOP'){\n    WHAT = '0';\n}else if (msg.payload=='DOWN'){\n    WHAT = '2';\n}\n\nif(array[2] == 'g'){\n    WHERE = array[3]; \n}else{\n    WHERE = array[2]+array[3];\n}\nmsg.payload = '*'+WHO+'*'+WHAT+'*'+WHERE+'##';\n\nreturn msg;","outputs":1,"noerr":0,"x":390,"y":240,"wires":[["add648bd.b23638","310c0132.ddc146"]]},{"id":"dde915a0.756368","type":"change","z":"3699bdf7.a4a582","name":"To OWN","rules":[{"t":"set","p":"payload","pt":"msg","to":"*#1*0##","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":160,"wires":[["add648bd.b23638"]]},{"id":"36aa90ad.d16e9","type":"function","z":"3699bdf7.a4a582","name":"Parse OWN command","func":"//*WHO*WHAT*WHERE##\nvar WHO;\nvar WHAT;\nvar A;\nvar PL;\nvar array = msg.payload.split('*');\n\nif(array[1]=='1'){\n    WHO = 'l';\n}else if (array[1]=='2'){\n    WHO = 'c';\n}else if (array[1]=='25'){\n    WHO = 'cen';\n}\n\nif(WHO == 'l'){\n    if(array[2]=='1'){\n        WHAT = 'ON';\n    }else if (array[2]=='0'){\n        WHAT = 'OFF';\n    }\n    \n    A = array[3][0];\n    PL = array[3][1];\n    if(A == '#'){\n        A = 'g';\n    }\n    if(PL == '#'){\n        A = 'g';\n        PL = '0';\n    }\n    \n}\n\nif(WHO == 'c'){\n    if(array[2]=='1'){\n        WHAT = 'open';\n    }else if (array[2]=='2'){\n        WHAT = 'closed';\n    }else if (array[2]=='0'){\n        WHAT = 'stop';\n    }\n    \n    A = array[3][0];\n    PL = array[3][1];\n    if(A == '#'){\n        A = '0';\n        WHO = 'g';\n    }\n    \n}\n\n\nif(WHO == 'cen'){\n    A = array[3][1]+array[3][2];\n    PL = array[2][3];\n    if(array[2][1]== '1'){\n      WHAT = \"SHORT\";\n    }else  if(array[2][1]== '2'){\n      WHAT = \"PRESS\";\n    }else  if(array[2][1]== '3'){\n      WHAT = \"HOLD\";\n    }else  if(array[2][1]== '4'){\n      WHAT = \"RELEASE\";\n    }\n}\n\n\nmsg.topic = \"bticino/\"+WHO+\"/\"+A+\"/\"+PL+\"/state\";\n\nmsg.payload = WHAT;\nreturn msg;","outputs":1,"noerr":0,"x":1160,"y":220,"wires":[["1f99f44.2070a8c"]]},{"id":"2516bf50.8a4058","type":"switch","z":"3699bdf7.a4a582","name":"Alles uit?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"*1*0*0##","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1120,"y":260,"wires":[["d9a7ac5a.7ed8b"]]},{"id":"2a1e94e5.967fac","type":"mqtt in","z":"3699bdf7.a4a582","name":"","topic":"bticino/+/+/+/power","qos":"2","datatype":"auto","broker":"ea7806fa.760d78","x":210,"y":240,"wires":[["113dca8c.89db4d"]]},{"id":"ccf0fb31.34f4b8","type":"inject","z":"3699bdf7.a4a582","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":200,"y":100,"wires":[["dde915a0.756368"]]},{"id":"1f99f44.2070a8c","type":"mqtt out","z":"3699bdf7.a4a582","name":"Send to mqt","topic":"","qos":"","retain":"","broker":"ea7806fa.760d78","x":1350,"y":220,"wires":[]},{"id":"d9a7ac5a.7ed8b","type":"link out","z":"3699bdf7.a4a582","name":"Alles Uit","links":["c98ef182.8fe57"],"x":1340,"y":260,"wires":[],"l":true},{"id":"ea7806fa.760d78","type":"mqtt-broker","z":"","name":"Mosquito Nuc","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""}]

Lights

 - platform: mqtt
    name: "GEN OFF"
    command_topic: "bticino/l/G/0/power"
    state_topic: "bticino/l/G/0/state"

  - platform: mqtt
    name: "light A:1 PL:0"
    command_topic: "bticino/l/1/0/power"
    state_topic: "bticino/l/1/0/state"

Cover

  - platform: mqtt
    name: "cover A:9 PL:2"
    command_topic: "bticino/c/9/2/power"
    payload_open: "UP"
    payload_close: "DOWN"
    payload_stop: "STOP"
    optimistic: true

Good news. Thanks. But how do you manage the Server Password ?

I just put the IP of my server in the trusted local connections in my F455 basic gateway. That way I don’t need to enter a password.

Thanks a lot it works. I can read the status. But I am not able to send Commands no lights and no covers are working from HA to the gateway. Node Red send me the feedback status but nothing happend in MyHome. Each time I send the command from HA, I am disconnected from the gateway for a few seconds.

Did you had the same problem and how do you solve it?

Thanks

Hello all,
just updated from HomeAssistant 0.88 to the latest version. I updated the MyHome plugin accordingly. Now, with the new version, I’m facing a general slow down of the plugin. If i switch on light, it takes time to refresh it on the GUI although the light is switched on instantaneously. In the log i have hundreds of the following log:

WARNING (MainThread) [homeassistant.components.light] Updating my_home light took longer than the scheduled update interval 0:00:00.500000

Please help me. I dont want to rollback to the 0.88 :slight_smile:

Hi Cosby86,
no more development nor use any integration to manage the my home system. I’m using node red and mqtt, something similar to what sent by hST

Not sure how the old code handled this, but the bTicino component always worked with a polling system. In other words to know the actual status of a light it would request all statuses around x seconds ( the amount of seconds can be configured I thought ).

Yes I know. in 0.88 I was working with 5sec polling time without issues. With the latest one, i tried from 0.5 up to 6secs with the same issue.

Hmm strange, I do see this also in my logs, but not constantly. So I guess sometimes the polling time and the timing Home Assistant is expecting a response is a bit out of sync?

Hey @clau67 I know you stopped with the development. But I did do a small Pull Request to fix the component in regards of the newer Home Assistant rules.

Could you maybe share you Node Red ? I was able to read the status but not to command my lights.

Thanks

For anyone wanting to get this up and running with a regular home assistant custom component can hop over to Legrand/Bticino MyHome
I have been testing it and works great!

Hi, if you want to try, I created a new repository on Github, with the two flow to import as txt and a tutorial for the set up of HA and also for node red.
https://github.com/pippocla/bTicino-MQTT-NodeRed-Home-Assistant

Yess, it work!

@clau67
I would like to encourage you to try Julien’s custom component - Legrand/Bticino MyHome (no nodeRed, no Mqtt) and maybe collaborate with him.
Both of you are not programmers, but you are the only ones who have integrated this system, and for this we are very grateful!

In any case, thank you very much. :+1:
And I would like to invite anyone who has experience on this system, Please give Julien a hand: 0)

1 Like

Hi Caiosweet, thank you for the link.
Now it’ s more or less one year I use Node Red and MQTT without problems but I’ll test also this solution. I’m really happy to know that some other one decide to create this integration

hi,wondering where to find or how to write a request with time cron or other to update the value of torus F520 more often in place of only 30 sec reading interval, if anyone has an idea?

thanks