Bticino C100X/C300X (firmware v1) working on Homekit and via scrypted

And then I found this;
k-the-hidden-hero/bticino_intercom: :telephone_receiver: Bring Back bticino on netatmo API

No need to root, or install anything on the intercom. Just installed the integration using HACS, and it worked on my first try. :+1::blush:

That is indeed the integration I was talking about. Only works on 2.x firmware and works with the Netatmo api

This integration does not work for 1.x firmwares as this hardware does NOT use the netatmo api internally.

What surprised me is that I got the impression from our conversation that ā€œcrackingā€ the 2.x FW would be virtually impossible due to the new Bticino encryption technology - and suddenly here comes a guy that solves the whole thing without as much as any mention of SSH or flashing or hacking. Just plain install! Way to go, if you ask me. And I wouldn’t be surprised if the same is fully doable for the 1.x FW as well if just someone with the right tools and knowledge decided to do it.
It’s always like that with ā€œimpossibleā€ things. They remain impossible until someone comes along and does something completely different, and viola, it’s not impossible any more. :blush:
(It’s called progress)

You are welcome to reverse engineer the protocols for the 1.x my friend. You make it sound I have not spent hours reversing binary files and trying to make sense of it all.

The 2.x implementation just uses the netatmo api as seen in the android app. It uses the endpoints as seen in the app.

The solution fquinto and me proposed predates all that stuff by at least 5 years and barely uses any public http apis (because there are none).

So please don’t pretend to know what you are comparing.

Nevertheless I am happy you found a working solution for your unit. No need to post anything anymore as I find your tone offensive and totally unrespectful, so I won’t bother replying anymore.

1 Like

I get the clear impression that you knew all along that your ā€œtechyā€ solution would never work on v2.x FW devices, and now you also say that you knew about the other solution that do work!
Then why didn’t you tell me (and others) about that and I could have saved myself days of impossible work trying to hack my unit to no avail.
So no need to be grumpy. I apologize if you felt me being offensive. That was not my intention.

Because it was added literally 3 days ago.

1 Like

Ok, by bad then. Sorry for my unfair comments to you. I stand corrected.

2 Likes

Privacy, trust, and the difference between open code and obscure clouds

There’s a big difference between using a project that has no external dependencies and runs fully under your control, versus one that relies on external APIs, hidden dependencies, and corporate cloud infrastructure.

Take ā€œk‑the‑hidden‑heroā€ as an example. Their project uses the Netatmo API, which means:

  • You have no local control of your own device.
  • You depend entirely on internet access and Netatmo’s servers.
  • Your data goes through external platforms you don’t own or audit.

This isn’t something you can easily compare with a minimal, transparent repository that runs locally and doesn’t phone home. It’s a completely different trust model.

And here’s the core issue:

  • We don’t know who ā€œk‑the‑hidden‑heroā€ is.
  • There’s no accountability, no real identity.
  • The project depends on layers of third-party code, platforms, and opaque systems.

If you value privacy, transparency, and local control, the choice is obvious. Some of us prefer software we can actually inspect, understand, and trust.

If you trust people who spend their time building real, privacy-respecting tools, you can support them with a small donation—showing real trust in open work.
If instead you’re okay depending on anonymous sources and obscure infrastructure, that’s your choice too.

But let’s not pretend these two models are even remotely the same.

I see your point, but if one works and the other don’t, then I haven’t got much choice - do I ?

Of course, you always have a good option: take a deep breath and relax. Support community development, keep learning, contribute to the cause, and be patient while the issue is resolved—whether by others or by yourself. And above all, always show gratitude to those who help. It would be wonderful if your good deeds and contributions served as an inspiration for the entire community to follow.

Personally, I find the ā€œfquintoā€ manual very difficult to follow… and on top of that, you lose the functionality of using the original app. Depending on your needs, it may or may not be interesting… if you want to have everything locally, it’s a good solution, but if you want to keep your cloud and add the HA option, it’s not for you…

I’m not sure what you are saying is correct, I have a C300x with firmware 1.x.

I use the rooted firmware with fquinto’s method and have the Door Entry app, Homekit and HomeAssistant all working at the same time.

Of course I cannot speak for people with 2.x firmwares.

I have a BTicino Classe 300 with firm 1.7.19, I currently use the BTicino Door Entry app. I think I’m in the same situation as you.

Does the Door Entry app work perfectly for you? Answering? Listening? Viewing? Opening the door?

@slyoldfox , thanks for your work!
I’m kinda new to HA, and now struggling a bit with your c100x controller component.
I run it in Homekit mode. HA detected it, I’ve paired it using PIN codes from config-homekit.json (there are two different codes), and now I have several entities (see below) However the only thing that works is ā€œUnlockā€ button under the Default device. Although there are two doors/locks connected to this system, it unlocks only one, and I don’t see any way to tell it which lock to open.
There are no events coming either. When doorbell button pressed, for instance. I saw instructions to configure notifications via webhooks, but that doesn’t seem to allow same user experience as on the native door-entry app (receive a ring, turn on the camera, talk, unlock).
There are 6 entities under C100X device, what do they do then ? One of them is a sensor, but it doesn’t do anything, nor has any events… At the same time I have 3 different Mute entities… why is there so much ?
Am I missed any configuration steps, or is it all normal behavior for the Homekit mode ?

Thank you in advance.

Hello, I followed fquinto’s procedure to modify my firmware. I now have SSH access to my CLASSE300X13E. I’m currently reading through your guide. First, I’d like to retrieve the video stream from the intercom, so if I understood correctly, I should focus on the bundle-webrtc.js section. Secondly, I’d like to manage unlocking and enabling/disabling the voicemail and doorbell. I’m not entirely sure I understand—if I don’t want to use HomeKit for this part, could you confirm that the solution is the section of your guide that explains Home Assistant webhooks and endpoints ? Thank you so much for your work, and thanks in advance for your reply.

Hi Skatboy,
I am unable to follow the fifth step to modify the firmware and gain SSH access to the 300X. But I understand that if you follow that tutorial, you lose the functionality of the original door entry app. Is that correct?

thanks

Hello, I followed the procedure explained on fquinto’s GitHub: GitHub - fquinto/bticinoClasse300x: BTicino Classe 300X13E and C100X. I haven’t installed the MQTT part. I do have SSH access to my intercom via the root2 user. After flashing the firmware using MyHome Suite, I wasn’t sure if the device would be reset to factory settings, but it kept its configuration and our access through both accounts on the Door Entry app. It’s working normally. I haven’t yet applied the rest of the procedure explained by slyoldfox GitHub: slyoldfox/c300x-controller due to lack of time and because I’m trying to take the time to fully understand how it works. Wishing you a great day.

You’ve already taken the step that I can’t manage to do: generating the firmware file to upload it with the MyHomeSuite program.

I have a BTicino Classe 300 with firm 1.7.19, I currently use the BTicino Door Entry app
Could you possibly help me with the firmware? Or could you even send me your firmware so I can run it on my video door phone?

Please join the telegram forum, there are many italian and Spanish speaking people there that can help.

I’ve been on Telegram for months now… why? Will you help me there?