Skip to content

Conversation

@giladtamam
Copy link

@giladtamam giladtamam commented Jan 6, 2026

  • Add ON_WALL device type with hex code 0321
  • Add 170-byte datagram length support in bridge
  • Add test coverage for new device type
  • Update supported devices documentation

Description

Checklist

  • I have followed this repository's contributing guidelines.
  • I will adhere to the project's code of conduct.

Additional information

image

@pull-request-size pull-request-size bot added the size: xs Pull request has less then 10 lines label Jan 6, 2026
@auto-me-bot auto-me-bot bot added the status: needs review Pull request needs a review label Jan 6, 2026
@codecov
Copy link

codecov bot commented Jan 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.99%. Comparing base (bd5c398) to head (a12c688).
⚠️ Report is 3 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #847   +/-   ##
=======================================
  Coverage   98.99%   98.99%           
=======================================
  Files          11       11           
  Lines        1292     1293    +1     
=======================================
+ Hits         1279     1280    +1     
  Misses         13       13           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@YogevBokobza
Copy link
Collaborator

Hey
This PR is a good start but it only very partially.
there is a lot of work to do.
You can see my PR of the heater implementation.

- Add ON_WALL device type with hex code 0321
- Add 170-byte datagram length support in bridge
- Add test coverage for new device type
- Update supported devices documentation
@giladtamam giladtamam force-pushed the feature/add-on-wall-device branch from a12c688 to f70b103 Compare January 7, 2026 18:58
@giladtamam
Copy link
Author

@YogevBokobza Thanks for you response, I have updated the PR following your last comment. let me know if something still missing. As far as I understand in your PR you added a new Category but in my PR, I'm using WATER_HEATER category there fore it's not a lot as you mention.

@YogevBokobza YogevBokobza reopened this Jan 7, 2026
@YogevBokobza
Copy link
Collaborator

@giladtamam
Closed by mistake haha
Anyway, I think that this On Wall device is needed a token therefore it changing a lot here..
I was planning to work on this implementaion soon after the other PR is done

@giladtamam
Copy link
Author

@YogevBokobza with help from cursor I got the following info:
ON_WALL Device Testing Results:

  • Token Required: NO
  • Protocol Type: 2 (port 10000, not 9957)
  • Login Packet: LOGIN_PACKET_TYPE2 works
  • State Packet: GET_STATE_PACKET_TYPE1 returns data but format differs

Changes needed in aioswitcher:

  1. DeviceType.ON_WALL: protocol_type should be 2 (not 1)
  2. _login(): ON_WALL should use LOGIN_PACKET_TYPE2
  3. State parsing: ON_WALL needs custom state response parser
    • The 111-byte response has different field positions
    • Position 150:152 is NOT the device state (value is '04')

Raw state response (111 bytes):
fef06f00040201030000000034000200000000000000000061bf5e6900000000000000000000f0fe53776974636865725f6f6e57616c6c5f393244380000000000000000000000000320000400000000000000000000000000000000000000000000000000004d280000025b83ade0
can you verify?

@ewino
Copy link

ewino commented Jan 16, 2026

Hi @giladtamam, I made some research on the OnWall - mind if I push a couple of my changes to this PR?

For reference (ImHex pattern):

u16 signature @ 0x00;
u16 device_type @ 0x4a;
bool device_state @ 0x87; // 2 after v2
le u16 power_consumption @ 0x8f;
u24 time @ 0x18;

u24 device_id @ 0x12;
u16 device_key @ 0x28;
u32 ip @ 0x4d; // 1 after v2
u48 mac @ 0x51; // 1 after v2
char name[32] @ 0x2a;
u32 remaining @ 0x9d; // 9 after v2
// u32 auto_shutdown @ 0x9b;  didn't find mention of auto_shutdown in OnWall packets

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

Labels

size: xs Pull request has less then 10 lines status: needs review Pull request needs a review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants