Skip to content

Hardware compatibility: Tab 7S Up 40517, cloud phonebook and Call Home via declared PICG #172

Closed

Description

@andreacasarin

Model and article number

Elvox Tab 7S Up — art. 40517.

Firmware version

System information: SW 2.1.0203 [prod], rev67313-2123 (2025-06-10); FW 1.06; HW 00-02.

Plant type and environment

Due Fili Plus / expected 2FV2 family (the decoded QR planttype was not independently inspected during this troubleshooting). Cloud TLS. Home Assistant Container; exact Home Assistant version not recorded.

What was verified

  • Successful cloud SIP registration and renewal.
  • Cloud phonebook download and import, after correcting the configured PICG.
  • GET_NICKS reply identifying the PICG and the paired mobile clients.
  • Call Home rings the physical indoor monitor successfully when its destination is the PICG declared by GET_NICKS.
  • View outside displays live outdoor video after enabling outgoing video; listening to outdoor audio also works.
  • The phonebook contains four actuators. Their physical operation was not individually verified in this troubleshooting session.

Microphone transmission/two-way audio, doorbell events, door release and voicemail/DND were not separately verified as part of this report. Local/offline operation was not tested.

Changes needed / plant addressing

No code patches were required for the initial registration, phonebook and indoor-call checks. Initial default destinations caused SIP 404 errors for outgoing calls. The local phonebook download failed with a refused connection on port 80. The cloud download initially reported a missing token, although the log showed an accepted GET_INIT_STATUS request without a subsequent GET_INIT_STATUS_REPLY.

After selecting the correct PICG, the cloud phonebook download worked. The imported phonebook provided the SGA, outdoor video destination and door actuator destination. SGA and PICG are distinct on this plant; the outdoor unit is another destination. A targeted GET_NICKS request to the working PICG declared the main indoor monitor, which was then used for Call Home successfully. No ranges of call destinations were tried.

This suggests improving the cloud-download error to distinguish a missing application-level reply from a reply without a token, offering the declared main indoor monitor as a confirmed Call Home destination, and making the import summary explicit that SGA and PICG are independent. Related PRs: #171 (cloud phonebook diagnostics), #173 (confirmed indoor monitor proposal), #174 (import summary).

Outdoor video: problem and verified workaround

View outside initially connected with working outdoor audio, but the card stayed on “Waiting for video” in both Brave and the Home Assistant macOS app. Home Assistant Stream reported Stream has no video. The SIP log showed an accepted call to the phonebook's outdoor destination with an audio media section and video={} in the SDP answer.

The stored config entry had video_enabled: false. The integration maps the pairing QR's video=0 to this value and omits the video media section from its outgoing offers. The original decoded QR field was not independently inspected, so this report does not establish the exact meaning of video=0 on this model.

With Home Assistant stopped and the config entry backed up, changing only video_enabled to true and restarting restored live outdoor video. The outdoor and indoor call destinations were kept unchanged. The owner confirmed that video now works.

PR #175 lets users change this setting through the integration's Settings page, retaining the QR-derived value as the initial default. That UI implementation is covered by automated tests; the hardware verification above used the equivalent stored-data workaround.

Personal thanks

I’ve had this hardware for years and had previously tried to integrate it with Home Assistant by reverse-engineering the app traffic through a man-in-the-middle setup, without success. I also contacted Vimar directly and spoke with a technician, but that did not lead to a workable integration.

This morning I decided to spend the weekend using AI to take another look at the problem. To my surprise, I found this repository and discovered that the work I had been hoping for was already here. Finding it was an unexpected delight, and getting it working on my own system made me very happy. Thank you to the authors and contributors for all the work you’ve put into this project.

Activity

  1. lollox80 commented on Oct 10, 2026

    @lollox80
    Collaborator

    Hi @andreacasarin, and welcome! Thanks a lot for the report and the three PRs. A 40517 on cloud TLS with a PICG that differs from the SGA is exactly the kind of plant we needed data from. The way you went about it also matches how we work: no address guessing, no range scans, and GET_NICKS sent only to the PICG you had already confirmed.

    What happens next:

    1. CI: GitHub holds workflows on a first-time contributor's PRs until a maintainer approves them. I've approved them on fix(phonebook): distinguish missing status replies from missing tokens #171, feat(config): propose the declared indoor monitor for Call Home #173 and fix(config): clarify phonebook source and independent SGA changes #174 and they're running now.
    2. Merge order: all three touch options_flow.py, strings.json, both translation files and test_config_flow_steps.py, so after the first merge the others will conflict. Let's go fix(phonebook): distinguish missing status replies from missing tokens #171 → fix(config): clarify phonebook source and independent SGA changes #174 → feat(config): propose the declared indoor monitor for Call Home #173. Once one is merged, please merge main into the next branch rather than rebasing it (we only use merge commits).
    3. Field test: none of the three has run on your plant yet. Before merging, could you install each branch on your 40517 and post a short comment on its PR?
    4. feat(config): propose the declared indoor monitor for Call Home #173 sends GET_NICKS from the options flow, so I'll go through it more carefully against docs/PROTOCOL.md before approving. Expect a few questions there.

    Thanks again for the kind words, and for not giving up on this hardware after the MITM attempts. 🙂

  2. lollox80 commented on Oct 12, 2026

    @lollox80
    Collaborator

    @andreacasarin, a status update on your four PRs. Thanks again, and thanks to @Apeiv for reviewing all of them and running #173 on his 40515.

    All four are green in CI and reviewed. Before they go into the merge queue, what's missing is a run on your 40517, the plant they come from. Please test each one at the commit below and leave a short note on that PR with what you saw (and the HA version, if you have it):

    #171 (5cf8257): cloud phonebook errors

    1. Set a wrong PICG and download the phonebook from the cloud: you should get the new "no status reply" message, not "missing token".
    2. Set the correct PICG and download again: the download works.

    #174 (c006827): import summary

    1. Download the phonebook from the cloud: the summary says the source is the Vimar cloud (not a file) and that your separately configured PICG is kept.
    2. Change only the SGA: the summary mentions only sga_target.

    #173 (f4fc8bd): find indoor monitor, from the actual form (Apeiv went through the API, so nobody has seen the form yet)

    1. Configure → Find indoor monitor proposes the monitor declared by GET_NICKS, with the current Call Home destination shown next to it.
    2. Confirm it in the form, then Call Home rings that monitor.
    3. Nothing else in the options changes.

    On my side I'll check the PICG = SGA branch on my 40507 (PICG 55001 is also the SGA, Call Home on 55002): it should keep 55002 and say why.

    #175 (98cf288): video in outgoing calls

    1. Option on: View outside shows video and audio.
    2. Option off: audio only, as before.
    3. Back on, then reload the integration: the saved choice wins over the QR value.

    You can test them one at a time or all together. Apeiv already checked that they merge cleanly with each other. If something doesn't behave as described, a debug log of that step is enough (the logs mask plant data).

    Once the notes are in, they go into the queue in the order #171 → #174 → #173 → #175. Since they all touch options_flow.py and the translations, I may ask you to merge main into the later ones as the earlier ones land.

  3. lollox80 commented on Oct 14, 2026

    @lollox80
    Collaborator

    @andreacasarin, all four PRs are now in v1.0.23, released tonight: #171, #174, #173 and #175. Thanks again for the fixes and for testing them together on your 40517; that run is what let them go out.

    Two notes:


    Generated by Claude Code

  4. lollox80 commented on Oct 15, 2026

    @lollox80
    Collaborator

    Closing this one: everything in the report is now in v1.0.23 (#171, #173, #174, #175), and the fully local work goes on in #179.

    @andreacasarin, if after updating Call Home, the cloud phonebook or View outside behave differently from before, just comment here and I'll reopen it. Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions