{"id":21002538,"url":"https://github.com/pimatic/homeduino","last_synced_at":"2025-05-15T00:31:22.362Z","repository":{"id":19336117,"uuid":"22574949","full_name":"pimatic/homeduino","owner":"pimatic","description":"Arduino library for home control","archived":false,"fork":false,"pushed_at":"2016-12-13T09:12:13.000Z","size":199,"stargazers_count":47,"open_issues_count":11,"forks_count":39,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-04-14T18:07:11.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Arduino","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/pimatic.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":"2014-08-03T13:02:58.000Z","updated_at":"2024-04-14T18:07:11.187Z","dependencies_parsed_at":"2022-08-28T07:51:14.770Z","dependency_job_id":null,"html_url":"https://github.com/pimatic/homeduino","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pimatic%2Fhomeduino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pimatic%2Fhomeduino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pimatic%2Fhomeduino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pimatic%2Fhomeduino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pimatic","download_url":"https://codeload.github.com/pimatic/homeduino/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225316799,"owners_count":17455321,"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-19T08:19:03.797Z","updated_at":"2024-11-19T08:19:04.447Z","avatar_url":"https://github.com/pimatic.png","language":"Arduino","funding_links":[],"categories":[],"sub_categories":[],"readme":"homeduino\n=========\n\nArduino library for home automation. The Library can be used on a Arduino compatible board for home automation task via serial connection and in combination with [pimatic](https://github.com/pimatic/pimatic) and the [pimatic-homeduino](https://github.com/pimatic/pimatic-homeduino) plugin.\n\n\nFlashing\n--------\n\nYou can either import all libraries in `libraries` into your Arduino IDE and open the `homeduino.ino` sketch or you can compile and flash using the `Makefile` (recommended).\n\nThe Makefile uses [Arduino.mk](https://github.com/sudar/Arduino-Makefile). Because the arduino-mk version that comes with raspbian on the raspberry pi is to old, \narduino-mk comes bundled as git submodule with this repository.\n\n```bash\nsudo apt-get install arduino-core avr-libc avrdude binutils-avr gcc-avr libconfig-yaml-perl libftdi1 libyaml-perl screen python-serial\n```\n\nThen clone the homeduino repository with all submodules:\n\n```bash\ngit clone --recursive https://github.com/pimatic/homeduino.git\n```\n\nEdit the `Makefile` to use the right `BOARD_TAG` and `MONITOR_PORT`. You can list all available `BOARD_TAG`s with: `make show_boards`.\n\nYou can now compile it by running `make` or compile and upload it with:\n\n```bash\nmake upload\n```\n\nDS18B20 Support\n---------------\n\nIf you want to connect a DS18B20 sensor to your arduino you have to checkout the `onewire` branch before `make upload`:\n\n```\ngit checkout onewire\ngit submodule update --init --recursive\n```\n\n**The onewire library disables global interrupts, this could lead to worse receiving performance!**\n\nSerial communication\n------------------------\n\nYou can use the serial monitor of the arduino IDE or the `screen` command.\n\nRun \n\n```bash\nmake monitor\n```\n\nType in your message and press `Ctrl+Return`. You can exit it with `Ctrl+a` and then `k`. Keep in mind that it does not echo what you type.\n\nCommands\n--------\n\nAll commands sent to homeduino are accepted with `ACK` or rejected with `ERR`. Homeduino prints an `ready` message on serial port open if it is ready to receive commands.\n\n### PING\n\n```\nPING message\n```\n\nSends back a string, can be used to check if the connection is working.\n\nExample: `PING hello`\n\n\n### RF\n\n#### receive\n\n```\nRF receive interrupt_pin\n```\n\nStarts receiving 433 mhz RF signals on interrupt pin `interrupt_pin` using [RFControl](https://github.com/pimatic/RFControl). `interrupt_pin` can be `0` or `1`.\n\nExample: `RF receive 0`\n\nWhen an RF signal is received it prints a message to the serial port: \n\n```\nRF receive 453 1992 88 9228 0 0 0 0 01020102020201020101010101010102010101010202010202020202010102010102020203\n```\n\n#### send\n\n```\nRF send digital_pin repeats b0 b1 b2 b3 b4 b5 b6 b7 pulse_sequence\n```\n\nSend an rf signal by its buckets and pulse sequence using [RFControl](https://github.com/pimatic/RFControl).\n\nExample: `RF send 4 3 453 1992 88 9228 0 0 0 0 01020102020201020101010101010102010101010202010202020202010102010102020203`\n\n\n### DHT\n\n```\nDHT type digital_pin\n```\n\nReads a DHT temperature sensor of `type` on pin `pin` using [DHTlib](http://playground.arduino.cc//Main/DHTLib).\n\nExample: `DHT 22 3`\n\nResponds with: `ACK temperature humidity` or one of `ERR checksum_error`, `ERR timeout_error`, `ERR unknown_error`.\n\n### DR, DW, AR, AW, PM\n\n*  digital read: `DR pin`\n*  digital write: `DW pin`\n*  analog read: `AR pin`\n*  analog write: `AW pin`\n*  pin mode: `PM mode`\n\nExample: `DR 4`\n\nResponds with `ACK` or `ACK value`. \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpimatic%2Fhomeduino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpimatic%2Fhomeduino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpimatic%2Fhomeduino/lists"}