{"id":24184477,"url":"https://github.com/otti/ethswitch","last_synced_at":"2026-05-07T09:35:38.174Z","repository":{"id":272022042,"uuid":"915297052","full_name":"otti/EthSwitch","owner":"otti","description":"Multi Button Smart Light Switch with Ethernet, POE and MQTT","archived":false,"fork":false,"pushed_at":"2025-01-19T17:04:05.000Z","size":4258,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T02:04:02.960Z","etag":null,"topics":["esp32","ethernet","kicad","platformio","poe","smarthome","switch","wallswitch"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/otti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-11T13:40:22.000Z","updated_at":"2025-03-16T21:16:55.000Z","dependencies_parsed_at":"2025-01-11T14:39:17.051Z","dependency_job_id":"2db4a47e-d09f-4d30-9446-a64ae8c1a812","html_url":"https://github.com/otti/EthSwitch","commit_stats":null,"previous_names":["otti/ethswitch"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otti%2FEthSwitch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otti%2FEthSwitch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otti%2FEthSwitch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otti%2FEthSwitch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/otti","download_url":"https://codeload.github.com/otti/EthSwitch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otti%2FEthSwitch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259184739,"owners_count":22818266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","ethernet","kicad","platformio","poe","smarthome","switch","wallswitch"],"created_at":"2025-01-13T10:15:25.208Z","updated_at":"2025-10-13T00:16:05.924Z","avatar_url":"https://github.com/otti.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\u003ctable width=\"100%\"\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cH1\u003eEthSwitch\u003c/H1\u003e\u003c/td\u003e\n\u003ctd align=\"right\"\u003e\u003cimg src=\"./pics/EthSwitch.svg\" height=\"100\"/\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n## Hardware features\n- 6 Buttons\n- 6 RGB LEDs\n- 100 MBit wired Ethernet\n- Supplied by any POE capable switch or POE injector\n- Same dimensions as Jung Push-button module\n- Temperature sensor\n\n## Firmware features\n- Sends button state via MQTT\n- Receives LED states via MQTT\n- Over the air update (OTA)\n- Debugging via Telnet\n- Configuration (Name, MQTT broker, MQTT Topics, ...) via Website\n- Smal website to check the current state of the butons and LEDs\n- Transmit button state and read LED from Beckhoff PLC via ADS (experimental)\n\n## Motivation\n\u003cp\u003e\n\u003cimg src=\"./pics/A5248TSM_Front.jpg\" height=\"200\"/\u003e\n\u003cimg src=\"./pics/A5248TSM_Back.jpg\"  height=\"200\"/\u003e\u003cbr\u003e\n\u003c/p\u003e\nOriginal Jung A 5248 TSM\u003cbr\u003e\u003cbr\u003e\n\nThis is a very nice piece of hardware. But it comes with three downsides.  \n1. For this switch you need 8 wires for the buttons and one common wire. The LEDs also need 8 wires and a common GND. So at least 18 wires have to be routed to your control cabinet. This quickly adds up. Imagine a house with 10 switches where you have to handle 180 wires.  \n2. Usually these wires are connected to your smart home controller or PLC. On this side you also need 8 inputs and 8 outputs for every single switch, which are not cheap and take a lot of space.\nFurther more the LEDs are implemented in positive logic with a nominal voltage of 24 V. So your controller needs outputs with high side switches which are very common but are also more expensive than low side switches.\n3. This switch is not cheap. This 8 channel version with white buttons has a recommended retail price incl. VAT of 165.35 €! Additionally you need the in-/output hardware on the controller side.\n\n## Solution\nI created a PCB which has exactly the same outline like the original PCB used in the Jung switch. The position of the switches, the LEDs and the mounting holes are also identical. Also the 3D printed case has the same dimensions.  \nAfter being installed, all visible parts are the original buttons and the transparent cover purchased from Jung. So this device is visually indistinguishable from the original.  \n\nThe main components on the PCB are:\n- POE logic\n- POE to 3.3V power supply\n- LAN8720 Ethernet Phy\n- ESP32\n- 6 Switches\n- 6 WS2812 RGB LEDs\n- MCP9700 temperature sensor (not implemented yet)\n\n## Jung part numbers\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003cth\u003eArticle Number\u003c/th\u003e\n    \u003cth\u003eDescription\u003c/th\u003e\n    \u003cth\u003eRecommended retail price\u003cbr\u003ewithout VAT (2025)\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eA 503 TSA WW\u003c/td\u003e\n    \u003ctd\u003eCover kit 3-gang, F50, AS/A range, white\u003cbr\u003eTastensatz 3fach, F50, Serie AS/A, alpinweiß\u003c/td\u003e\n    \u003ctd\u003e9,19 € \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eA 50 NA\u003c/td\u003e\n    \u003ctd\u003eTransparent cover with paper inlay 1-gang, F50, A range, transparent\u003cbr\u003e\n    Transparente Abdeckung mit Einlage 1fach, F50, Serie A, transparent\u003c/td\u003e\n    \u003ctd\u003e5,73 €\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003e5000004100\u003c/td\u003e\n    \u003ctd\u003eSupporting metal frame for mounting\u003cbr\u003e\n    Tragring\u003c/td\u003e\n    \u003ctd\u003e?\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eA 5236 TSM\u003c/td\u003e\n    \u003ctd\u003e\u003cb\u003eJust for reference. Not nedded for this project\u003c/b\u003e\u003cbr\u003e\n    Push-button module 24 V AC/DC, 20 mA, 3-channel, 6 contacts, AS/A range\u003cbr\u003e\n    Tastsensor-Modul 24 V AC/DC, 20 mA, 3-kanalig, 6 Schaltpunkte, Serie AS/A\n     \u003c/td\u003e\n    \u003ctd\u003e106,15 €\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n## PCB\n\u003cp\u003e\n\u003cimg src=\"./pics/PCB_V3_Bot.png\" alt=\"Bottom\" width=\"200\"/\u003e\n\u003cimg src=\"./pics/PCB_V3_Top.png\" alt=\"Top\" width=\"200\"/\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\u003cp\u003e\n\u003cimg src=\"./pics/PcbBottom.jpg\" width=\"200\"/\u003e\n\u003cimg src=\"./pics/PcbTop.jpg\" width=\"200\"/\u003e\n\u003c/p\u003e\n\u003cbr\u003e\nMade with KiCad\n\n## Mechanical Parts\n\u003cp\u003e\n\u003cimg src=\"./pics/CaseFront.png\" height=\"200\"/\u003e\n\u003cimg src=\"./pics/CaseBack.png\" height=\"200\"/\u003e\n\u003c/p\u003e\nThe front is printed with transparent resin. So the case also serves as prism for the LEDs\n\n## Real images\n\u003cp\u003e\n\u003cimg src=\"./pics/Front.jpg\" height=\"200\"/\u003e \u003cbr\u003e\u003cbr\u003e\n\u003cimg src=\"./pics/EthSwitch.gif\" height=\"100\"/\u003e\n\u003c/p\u003e\n\n\n\n## Current state / possible improvements\nEverything is working fine :-)\n- Add WiFi. Currently only wired Ethernet is supported\n- Add Home Assistant binary sensor\n- Everything is hand soldered. So the BOM is not optimized for production at one of the large PCB manufacturers\n- Perhaps complete new design based on the Jung LS series. The currently used A series is very smal and needs an adapter frame to fit into my installation.\n\n\nIf there is interest in this project, I can also upload the KiCad project and the step files.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotti%2Fethswitch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fotti%2Fethswitch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotti%2Fethswitch/lists"}