{"id":18147479,"url":"https://github.com/thestaticturtle/open433","last_synced_at":"2025-06-24T10:08:32.879Z","repository":{"id":54444472,"uuid":"261184703","full_name":"TheStaticTurtle/Open433","owner":"TheStaticTurtle","description":"This project is an opensource usb 433Mhz rf transmitter / receiver based on an atmega328p","archived":false,"fork":false,"pushed_at":"2022-06-06T17:01:38.000Z","size":407,"stargazers_count":37,"open_issues_count":3,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-24T06:11:41.985Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://blog.thestaticturtle.fr/open433-lets-turn-light-on-with-the-computer","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheStaticTurtle.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}},"created_at":"2020-05-04T13:27:40.000Z","updated_at":"2024-08-24T23:26:03.000Z","dependencies_parsed_at":"2022-08-13T15:50:41.448Z","dependency_job_id":null,"html_url":"https://github.com/TheStaticTurtle/Open433","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheStaticTurtle/Open433","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheStaticTurtle%2FOpen433","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheStaticTurtle%2FOpen433/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheStaticTurtle%2FOpen433/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheStaticTurtle%2FOpen433/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheStaticTurtle","download_url":"https://codeload.github.com/TheStaticTurtle/Open433/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheStaticTurtle%2FOpen433/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261649856,"owners_count":23189753,"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":[],"created_at":"2024-11-01T22:06:40.739Z","updated_at":"2025-06-24T10:08:32.849Z","avatar_url":"https://github.com/TheStaticTurtle.png","language":"Python","readme":"# Open433\n\nThis project is an opensource usb 433Mhz rf transmitter / receiver based on an atmega328p the board uses a serial communication with a \"packet\" based systems (simples structs that are sent over the serial port).\nThe project has a basic but working implementation of a custom component for homeassistant  which is similar to the rpi_rf configuration)\n\nSee my blog articles on the implementation / creation of the project:\n\n[https://blog.thestaticturtle.fr/open433-lets-turn-light-on-with-the-computer](https://blog.thestaticturtle.fr/open433-lets-turn-light-on-with-the-computer)\n\n[https://blog.thestaticturtle.fr/creating-a-custom-component-for-homeassistant](https://blog.thestaticturtle.fr/creating-a-custom-component-for-homeassistant)\n\n# Building the project\n\nIf you just got your own barebone pcbs you just need to flash the arduino bootloader to do that you can use any iscp programmer (or even \"arduino as isp\") for the bootloader I use the arduino uno bootloader the hardware is using an atmega328p running at 16MHz at 5V.\nAfter that you just have to compile compile and upload the scketch in the arduino folder\n\n# Using the project\n\n## Using the library\n\nIf you don't use homeassistant you can see an example in the software folder.\n\n\n## From homeassistant\nIf you want to use the board with homeassistant you need to create a `custom_components` folder in the homeassistant configuration directory (same one as the configuration.yaml) then you need to rename the `homeassistant_open433` to `open433` and put it in the `custom_components`.\nThen after restarting the server you need to set the configure homeassistant to use the module:\n```\nopen433:\n  port: COM3\n  speed: 9600 #(Optional default to 9600)\n```\nThen you can add switches like this:\n```\nswitch:\n  - platform: open433\n    switches:\n      KitchenLamp:\n        code_on: 2523794944\n        code_off: 2658012672\n        protocol: 2 #(Optional default to 2)\n        length: 32 #(Optional default to 32)\n        signal_repetitions: 5 #(Optional default to 15)\n        enable_receive: true #(Optional default to false) enable listening to incoming rf message of the switch codes\n```\nOr add binary sensors (with a possible timeout) like this:\n```\nbinary_sensor:\n  - platform: open433\n    switches:\n      inputA:\n        code_on: 2389577216\n        code_off: 2171473408\n        protocol: 2 #(Optional default to 2)\n        length: 32 #(Optional default to 32)\n        on_timeout: 2 #(Optional 0 to turn off) Will turn off 2sec after receiving code_on, code_off will still be functional\n```\n\nAn implementation of the light component has been done and can be used like this:\n```\nlight:\n  - platform: open433\n    switches:\n      BedSideLamp:\n        levels:\n          - brightness: 0\n            code: 2658045484\n          - brightness: 100\n            code: 2523827756\n        protocol: 2\n        length: 32\n        signal_repetitions: 5\n        enable_receive: true\n        force_levels: true\n```\nFor this example, the entity KitchenLamp will send the code `2658045484` from brightness 0 to 99 and `2523827756` to 100 \nThe `force_levels` option allows the module to clamp homeassistant brightness slider to the specific value set in the config (ie. here sending the value 42 will go back to 0)\nYou can add multiple brightness stages with different codes, example:\n```\n- brightness: 0\n  code: 2658045484\n- brightness: 50\n  code: 2926480940\n- brightness: 100\n  code: 2523827756\n```\nThis will send the code `2658045484` from 0 to 49 , the code `2926480940` from 50 to 99 and the code `2523827756` at 100\n\nYou can also listen to events (open433_rx) to get received codes and send events to open433_tx with the following data to send an rf code:\n```\ncode: 2658012672\nprotocol: 2\nbitlength: 32\n```\n\n## Licences\n- Software License: GPL v. 3\n- Hardware License: CERN OHL v. 1.2\n- Documentation License: CC BY-SA 4.0 International\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthestaticturtle%2Fopen433","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthestaticturtle%2Fopen433","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthestaticturtle%2Fopen433/lists"}