{"id":13693870,"url":"https://github.com/openhab/openhab-ios","last_synced_at":"2026-04-09T00:06:53.963Z","repository":{"id":17906644,"uuid":"20864739","full_name":"openhab/openhab-ios","owner":"openhab","description":"The repository of the iOS client","archived":false,"fork":false,"pushed_at":"2026-02-27T22:23:02.000Z","size":19542,"stargazers_count":208,"open_issues_count":27,"forks_count":134,"subscribers_count":25,"default_branch":"develop","last_synced_at":"2026-02-28T02:21:06.665Z","etag":null,"topics":["apple","hacktoberfest","home-automation","internet-of-things","ios","iot","openhab","openhab-ios","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openhab.png","metadata":{"funding":{"custom":["https://www.openhab.org/about/donate.html"]},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2014-06-15T20:33:19.000Z","updated_at":"2026-02-26T01:21:30.000Z","dependencies_parsed_at":"2023-10-17T02:11:00.367Z","dependency_job_id":"7b36d4bb-5664-4b4d-bc44-b347afb49bb9","html_url":"https://github.com/openhab/openhab-ios","commit_stats":null,"previous_names":[],"tags_count":197,"template":false,"template_full_name":null,"purl":"pkg:github/openhab/openhab-ios","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openhab%2Fopenhab-ios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openhab%2Fopenhab-ios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openhab%2Fopenhab-ios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openhab%2Fopenhab-ios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openhab","download_url":"https://codeload.github.com/openhab/openhab-ios/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openhab%2Fopenhab-ios/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29965419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T06:55:38.174Z","status":"ssl_error","status_checked_at":"2026-03-01T06:53:04.810Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["apple","hacktoberfest","home-automation","internet-of-things","ios","iot","openhab","openhab-ios","swift"],"created_at":"2024-08-02T17:01:19.497Z","updated_at":"2026-03-01T09:02:07.957Z","avatar_url":"https://github.com/openhab.png","language":"Swift","funding_links":["https://www.openhab.org/about/donate.html"],"categories":["Home"],"sub_categories":["ResearchKit"],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Logo\" src=\"openHAB/Images.xcassets/AppIcon.appiconset/Icon.png\" width=\"100\"\u003e\n    \u003cbr\u003e\n    \u003cb\u003eopenHAB client for iOS\u003c/b\u003e\n\u003c/p\u003e\n\n## Introduction\n\nThis is the IOS native client for openHAB.\n\n\u003cp float=\"left\"\u003e\n\u003cimg alt=\"Main UI\" src=\"./doc/mainui.png\" width=\"200\"\u003e\n\u003cimg alt=\"Sitemap\" src=\"./doc/sitemap.png\" width=\"200\"\u003e\n\u003c/p\u003e\n\n## Download\n\n### openHAB (Current)\n\nThis is the primary openHAB app which contains the latest features and is updated regularly. This includes Apple Watch support, enhanced notifications, shortcuts and more.\nRequires at least iOS 16 and openHAB 2.x and later.\n\n\u003ca href=\"https://itunes.apple.com/us/app/openhab/id6505005945\"\u003e\u003cimg src=\"https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg\" alt=\"Download on the App Store\"\u003e\u003c/a\u003e\n\n\nBeta releases are available on [TestFlight](https://testflight.apple.com/join/0uFYONeF).\n\n\u003ca href=\"https://testflight.apple.com/join/0uFYONeF\"\u003e\u003cimg src=\"https://developer.apple.com/assets/elements/icons/testflight/testflight-128x128_2x.png\" width=\"100\" alt=\"Download on TestFlight\"\u003e\u003c/a\u003e\n\n### openHAB V1 (Legacy)\n\nThis is the legacy app for users on iOS 15 or earlier as well as openHAB system 1.x and later (tested to at least openHAB 4).\nThis app only receives security updates and minor fixes and is not intended for most users. \n\n\u003ca href=\"https://itunes.apple.com/us/app/openhab/id492054521?ls=1\u0026mt=8\"\u003e\u003cimg src=\"https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg\" alt=\"Download on the App Store\"\u003e\u003c/a\u003e\n\nBeta V1 releases are available on [TestFlight](https://testflight.apple.com/join/563WBakc).\n\n## Features\n\n* Control your openHAB server directly and through a [openHAB Cloud instance](https://github.com/openhab/openhab-cloud)\n* [Enhanced push notification](#push-notifications) from openHAB Cloud and the openHAB cloud binding \n* [Apple Watch](#apple-watch-configuration) companion app\n* [Shortcuts](#shortcuts)\n* [Multiple Home Support](#multiple-homes)\n\n## App Configuration\n\n\u003cp float=\"left\"\u003e\n\u003cimg alt=\"Logo\" src=\"./doc/settings1.png\" width=\"200\"\u003e\n\u003cimg alt=\"Logo\" src=\"./doc/settings2.png\" width=\"200\"\u003e\n\u003cimg alt=\"Logo\" src=\"./doc/screensaver-settings.png\" width=\"200\"\u003e\n\u003c/p\u003e\n\n### Demo Mode\n\nThis sets up the app to use the openHAB demo server and can be used to experience the app without needing to install openHAB.\n\nDisable this to use the app with your own openHAB instance.\n\n### Connection Settings\n  \n#### Local URL\n\nThis is the primary connection to your openHAB instance, a fully qualified URL with a IP or host is required.\n\nExample:\n`https://openhab.local:8443`\n\n#### Remote URL\n\nThis is the secondary connection to your openHAB instance, a fully qualified URL with a IP or host is required.\nIf using the openHAB cloud service, leave this as the default setting of `https://myopenhab.org`.\nWhen set to the public cloud, the app will also register for push notifications (as long as credentials are correct)\n\nThe [Local URL](#local-url) will be used as the primary connection, and if that fails or is not reachable, falls back to the remote URL.\n\nExample:\n`https://myopenhab.org`\n\n#### Username / Password\n\nThis will be sent if the local or remote server challenges for authentication, or if \"Always Send Credentials\" is checked on.\nIf using the openHAB cloud, these should be set to those login credentials.\n\n### Application Settings\n\n#### Certificates\n\nAllows the installation of p12 formatted certificates for use in client side authentication setups.\n\nTo install a client certificate, rename the certificate with the extension `.ohp12`, then send it to your iOS device (airdrop, icloud, dropbox, etc..), then open/save and select `openHAB` from the \"Open In\" menu (you may need to select \"More...\" to see all apps).\n\nTo delete a certificate, swipe left on the certificate name in the certificate menu \n\nIf using openssl v3 to generate certificates, make sure to add `-legacy -certpbe pbeWithSHA1And40BitRC2-CBC` to the pk12 export command.\nSee https://github.com/openssl/openssl/issues/19871 for more information on V3 compatibility with Apple products.  \n\n#### Idle Timeout\n\nUseful for wall or fixed installations, will disable the Idle screen timeout.\n\n#### Screensaver\n\nThe app includes a built-in screen saver that can be shown automatically after a period of inactivity.\n\nKey options (Settings → Screen Saver):\n\n- **Enable Screen Saver** – turns the feature on/off.\n- **Appearance** – decide whether to show the time, date and/or seconds, choose 12- or 24-hour clock, and pick a custom font.\n- **Idle Interval** – number of seconds of user inactivity before the screen saver appears (5 – 600 s).\n- **Movement Interval** – how often the clock moves to a new random position to avoid burn-in (2 – 60 s).\n- **Font Size** – independent sliders for clock and date size (relative to the screen).\n- **Animation** – fade-in/out duration when the screen saver appears or disappears.\n- **Brightness** – optional automatic dimming; set dim level, whether the previous brightness should be restored, and the brightness level to restore to.\n- **Test Screen Saver** – instantly preview the current configuration.\n\nYou can also control the screen saver from the [command item](#command-item) using the `device:screensaver:\u003caction\u003e` syntax.  See [Action Syntax](#action-syntax) for more information.\n\n#### Command Item\n\nThe iOS app can react to updates of a dedicated String Item so you can remotely control the device or navigate the UI from your openHAB server.\n\nWhenever the state of the Item changes the app interprets the new value as an [Action String](#action-syntax) and executes it immediately – exactly the same mechanism that is used for push-notification actions.\n\n**Setting up the Command Item**\n\n1. Create a String Item in openHAB, for example:\n\n```items\nString Tablet_Command \"iOS TabletCommand\"\n```\n\n   Any existing String/Text Item will also work – just remember its name.\n\n2. In the iOS app open **Settings → Application Settings → Command Item** and pick the Item you just created.  \n   The list shown in the picker is populated from your openHAB instance.\n\n3. Send actions by updating the Item.  \n\nExample rules:\n```rules\nTablet_Command.postUpdate(\"device:screensaver:activate\")     // start the screensaver\nTablet_Command.postUpdate(\"device:brightness:0.3\")           // set brightness to 30 %\nTablet_Command.postUpdate(\"device:tts:Hello there!:en-US:Samantha\") // speak \"Hello there!\" using the Samantha voice for the en-US language\nTablet_Command.postUpdate(\"ui:/basicui/app?w=0000\u0026sitemap=main\") // open a sitemap page\nTablet_Command.postUpdate(\"ui:navigate:/page/my_floorplan_page\") // navigate to a page in the Main UI\nTablet_Command.postUpdate(\"command:KitchenLights:ON\")        // send ON to KitchenLights\n```\n\nSee the [Action Syntax](#action-syntax) appendix for more information on the syntax used to send actions to the app.\n\nNotes:\n* The app receives Item updates via Server-Sent Events, and will only receive updates if the app is running in the foreground (like kiosk applications)\n* If the app is unable to connect to the server and a SSE connection is not established, it will continue to try and reconnect, but messages sent to the app during this time will be lost.\n\n---\n\n#### Crash Reporting\n\nSends crash reports to Google / Firebase.\n\n### Main UI Settings\n\n#### WebRTC\n\nAllows audio and video communications in the Main UI for views and widgets that require it.\n\n#### Default Path\n\nAllows the user to enter a path to act as the starting point when the Main UI is loaded.\nClicking the \"+\" button will prompt to enter the current path the of Main UI view.\n\n#### Clear Cache\n\nClears the Main UI web cache.\n\n### Sitemap Settings\n\n#### Realtime Sliders\n\nAllows sitemap sliders to send changes as the control is sliding in realtime.\n\n#### Image Cache\n\nClears the sitemap cached images.\n\n#### Icon Type\n\nSelect which type of icon the sitemap view will attempt to load for icons.\n\n#### Sitemap Sorting\n\nSort order when presenting multiple sitemaps for selection.\n\n### Apple Watch Configuration\n\nSelect the sitemap to use for the Apple Watch companion app.\n\nNote that some advanced sitemap features may not be supported on the Apple watch and its recommended to keep this sitemap simple and appropriate for interaction on a small display.\n\nWhen using the Watch app, slide left to bring up the configuration view and select \"sync\" to ensure the local, remote and username/password configurations are synced to the watch.\n\n## Multiple Homes\n\n\u003cp float=\"left\"\u003e\n\u003cimg alt=\"Logo\" src=\"./doc/sidemenu.png\" width=\"200\"\u003e\n\u003cimg alt=\"Logo\" src=\"./doc/homes.png\" width=\"200\"\u003e\n\u003c/p\u003e\n\nThe app now supports multiple homes, allowing you to connect to multiple openHAB instances and switch between them.\n\n- To manage multiple homes, go to the side menu and select \"Manage Homes\".\n\n- To add, remove or rename a home, click the edit button.\n\n- To manage the current home settings, navigate to the settings screen and make changes.\nAny non global app specific settings will be applied to the current home.\n\n- To switch homes, select the home to control and then navigate back.\n\n## Main UI and Sitemap Usage\n\n\u003cimg alt=\"Logo\" src=\"doc/sidemenu.png\" width=\"200\"\u003e\n\n- Clicking \"Home\" will navigate to the Main UI from the user's openHAB system.\nClicking this when the Main UI is already visible will force a reload of the Main UI.\n\n- Tiles are the alternative UIs installed on a user's system and will be opened in an embedded browser.\n\n- Sitemaps show the available sitemaps on the users system.  Selecting a sitemap will present the native sitemap renderer view.\n\n- Notifications is a list of push notification retrieved from the openHAB cloud (if configured).\n\n- Settings opens the application settings view.\n\n- The app will persist the last primary view opened (Main UI or Sitemaps) when the app is opened or restarted.\n\n## Push Notifications\n\nThe [openHAB Cloud Connector](https://next.openhab.org/addons/integrations/openhabcloud/)  allows users to send push notifications mobile devices registered with an [openHAB Cloud instance](https://github.com/openhab/openhab-cloud) such as [myopenHAB.org](https://www.myopenhab.org).\n\n\u003cp float=\"left\"\u003e\n\u003cimg alt=\"Logo\" src=\"./doc/notifications.png\" width=\"500\"\u003e\n\u003c/p\u003e\n\nPush Notifications on iOS support:\n- Title and message text\n- Image and video attachments\n- Up to 3 action buttons (long press notification)\n- Collapsible / updated notifications\n- Removing notifications\n\nSee [Cloud Push Notifications](https://www.openhab.org/addons/integrations/openhabcloud/#cloud-notification-actions) for more information on sending push notifications from rules.\n\nAlso see [Action Syntax](#action-syntax) for more information on actions that can be included in push notifications.\n\n## Shortcuts\n\nThe app supports exposes several actions that let you control your openHAB installation from the Shortcuts app.\n\n**Supported actions**\n\n- **Get Item State** – Retrieves the current state of any item.\n  - Returns the item’s state text so it can be used by later steps in a shortcut.\n\n- **Set Switch State** – Sends an `ON` or `OFF` command to a Switch item.\n  - Action – `ON` / `OFF`\n\n- **Set Dimmer or Roller Shutter Value** – Sends an integer value (0-100) to Dimmer or Rollershutter items.\n  - Value – 0 … 100\n\n- **Set Number Item Value** – Writes a decimal value to any Number item.\n  - Value – decimal\n\n- **Set String Item Value** – Writes an arbitrary text value to a String item.\n  - Value – text\n\n- **Set Color Item Value** – Sends a color command in HSB format `Hue,Saturation,Brightness` (e.g. `240,100,100` for blue) to a Color item.\n  - Value – HSB string\n\n- **Set Contact Item State** – Sets a Contact item to `OPEN` or `CLOSED` (contacts are typically read-only however).\n  - State – `OPEN` / `CLOSED`\n\n## Setting up development environment\n\nIf you want to contribute to the iOS application we are here to help you to set up\ndevelopment environment. \nopenHAB iOS app is developed using Xcode and the standard iOS SDK from Apple.\nThe iOS application is based on the iOS 16 and watchOS 8 SDK and makes uses of several Swift packages.\n\nTo start developing you need an [Apple Developer](https://developer.apple.com/devcenter/ios/index.action) account.\n\n- Download and install [Xcode](https://developer.apple.com/xcode/downloads/)\n- Check out the latest iOS application code from GitHub\n- Open the project workspace openHAB.xcworkspace\n\nYou are ready to contribute!\n\nBefore producing any amount of code please have a look at the [contribution guidelines](https://github.com/openhab/openhab.ios/blob/master/CONTRIBUTING.md).\n\nAnd also please support with the localization of openhab-ios:\n\n[![Crowdin](https://badges.crowdin.net/openhab-ios/localized.svg)](https://crowdin.com/project/openhab-ios)\n\n## Appendix\n\n### Action Syntax\n\nThe action syntax is a string containing the action type and the action payload separated by a colon.\n\nThere are several types of actions available:\n\n- `command`: Sends a command to an Item by using the following syntax: `command:$itemName:$commandString` where `$itemName` is the name of the Item and `$commandString` is the command to be sent.\n- `ui`: Controls the UI in two possible ways:\n  - `ui:$path` where `$path` is either `/basicui/app?...` for navigating sitemaps (using the native renderer) or `/some/absolute/path` for navigating (using the web view).\n  - `ui:$commandItemSyntax` where `$commandItemSyntax` is the same syntax as used for the [UI Command Item]({{base}}/mainui/about.html#ui-command-item).\n- `http:` or `https:`: Opens the fully qualified URL in an embedded browser on the device.\n- `rule` (currently only on iOS): Runs a rule by using the following syntax: `rule:$ruleId:$prop1Key=$prop1Value,$prop2Key=$prop2Value,...` where `$ruleId` is the id of the rule, and optional properties to send to the rule are in the format `name=value` separated by commas. Most rules can omit the properties.\n- `app` (currently only on iOS): Launches a native app when possible using the following syntax: `app:android=$appId,ios=$appId:$path` where `$appId` on Android is a qualified app id like `com.acme.app` (see [partial list of Android ids](https://github.com/petarov/google-android-app-ids)), and on iOS is the registered URL scheme along with an optional `$path` like `acme://foo` (see [partial list of iOS ids](https://github.com/bhagyas/app-urls)). Either `android` or `ios` can be omitted if that platform is not used.\n- `device`: Performs actions on the iOS device itself using the syntax `device:$operation[:$value]`. Supported operations include:  \n  - `screensaver:activate` – activate the screensaver  \n  - `screensaver:disable` – disables the screensaver from running (call activate to re-enable) \n  - `screensaver:wake` – wakes the screensaver if running  \n  - `idletimer:enable` – allow the device to auto-lock/dim again  \n  - `idletimer:disable` – keep the screen awake (useful for wall-mounted tablets)  \n  - `brightness:\u003c0-1\u003e` – set the display brightness, e.g. `brightness:0.25`  \n  - `tts:$text[:$language[:$voice]]` – text-to-speech; speaks `$text`.  \n    - `$language` (optional) – BCP-47 language tag such as `en-US`.  \n    - `$voice` (optional) – exact voice name reported by iOS (`AVSpeechSynthesisVoice`).\n    - See [TTS Example Voices](#tts-example-voices) for a list of available voices and languages.\n\nExamples:\n\n- `command:KitchenLights:ON`\n- `command:KitchenBlinds:50`\n- `ui:/basicui/app?w=0000\u0026sitemap=main` (use Basic UI to get sitemap URL locations)\n- `ui:/some/absolute/path`: Navigates to the absolut path `/some/absolute/path`.\n- `ui:navigate:/page/my_floorplan_page`: Navigates Main UI to the page with the ID `my_floorplan_page`.\n- `ui:popup:oh-clock-card`: Opens a popup with `oh-clock-card`.\n- `https://openhab.org`: Opens an embedded browser to the site `https://openhab.org`\n- `rule:02ffc3a297:prop1=foo`: Runs the rule with an id of `02ffc3a297` passing in an optional parameter named `prop1` with a value of `foo`\n- `app:android=com.sonos.acr2,ios=sonos-2://`: Opens the Sonos app depending on the device type (Android or iOS)\n- `device:screensaver:activate`: Activates the device screen saver\n- `device:brightness:0.3`: Sets the screen brightness to 30 %\n- `device:tts:Hello there!:en-US:Samantha`: Speaks “Hello there!” using the Samantha voice for the en-US language\n- `device:tts:Hello there!`: Speaks “Hello there!” using the default system voice and language\n\n### TTS Example Voices\n\nThis is an example (partial) list of voices available on iOS.\nSee [AVSpeechSynthesisVoice](https://developer.apple.com/documentation/avfaudio/avspeechsynthesisvoice) for more information.\n\nAdditional voices, including custom and novelty voices can be downloaded in the iOS system settings.\n\n| Voice Name | Language |\n|------------|----------|\n| Majed      | ar-001   |\n| Daria      | bg-BG    |\n| Montse     | ca-ES    |\n| Zuzana     | cs-CZ    |\n| Sara       | da-DK    |\n| Sandy      | de-DE    |\n| Helena     | de-DE    |\n| Shelley    | de-DE    |\n| Grandma    | de-DE    |\n| Grandpa    | de-DE    |\n| Eddy       | de-DE    |\n| Reed       | de-DE    |\n| Martin     | de-DE    |\n| Anna       | de-DE    |\n| Rocko      | de-DE    |\n| Flo        | de-DE    |\n| Melina     | el-GR    |\n| Gordon     | en-AU    |\n| Karen      | en-AU    |\n| Catherine  | en-AU    |\n| Rocko      | en-GB    |\n| Shelley    | en-GB    |\n| Martha     | en-GB    |\n| Daniel     | en-GB    |\n| Grandma    | en-GB    |\n| Grandpa    | en-GB    |\n| Flo        | en-GB    |\n| Eddy       | en-GB    |\n| Reed       | en-GB    |\n| Sandy      | en-GB    |\n| Arthur     | en-GB    |\n| Moira      | en-IE    |\n| Rishi      | en-IN    |\n| Flo        | en-US    |\n| Bahh       | en-US    |\n| Albert     | en-US    |\n| Fred       | en-US    |\n| Jester     | en-US    |\n| Organ      | en-US    |\n| Cellos     | en-US    |\n| Zarvox     | en-US    |\n| Rocko      | en-US    |\n| Shelley    | en-US    |\n| Superstar  | en-US    |\n| Grandma    | en-US    |\n| Eddy       | en-US    |\n| Bells      | en-US    |\n| Grandpa    | en-US    |\n| Trinoids   | en-US    |\n| Kathy      | en-US    |\n| Reed       | en-US    |\n| Boing      | en-US    |\n| Whisper    | en-US    |\n| Good News  | en-US    |\n| Nicky      | en-US    |\n| Wobble     | en-US    |\n| Bad News   | en-US    |\n| Aaron      | en-US    |\n| Bubbles    | en-US    |\n| Samantha   | en-US    |\n| Sandy      | en-US    |\n| Junior     | en-US    |\n| Ralph      | en-US    |\n| Tessa      | en-ZA    |\n| Shelley    | es-ES    |\n| Grandma    | es-ES    |\n| Rocko      | es-ES    |\n| Grandpa    | es-ES    |\n| Sandy      | es-ES    |\n| Flo        | es-ES    |\n| Mónica     | es-ES    |\n| Eddy       | es-ES    |\n| Reed       | es-ES    |\n| Rocko      | es-MX    |\n| Paulina    | es-MX    |\n| Flo        | es-MX    |\n| Sandy      | es-MX    |\n| Eddy       | es-MX    |\n| Shelley    | es-MX    |\n| Grandma    | es-MX    |\n| Reed       | es-MX    |\n| Grandpa    | es-MX    |\n| Shelley    | fi-FI    |\n| Grandma    | fi-FI    |\n| Grandpa    | fi-FI    |\n| Sandy      | fi-FI    |\n| Satu       | fi-FI    |\n| Eddy       | fi-FI    |\n| Rocko      | fi-FI    |\n| Reed       | fi-FI    |\n| Flo        | fi-FI    |\n| Shelley    | fr-CA    |\n| Grandma    | fr-CA    |\n| Grandpa    | fr-CA    |\n| Rocko      | fr-CA    |\n| Eddy       | fr-CA    |\n| Reed       | fr-CA    |\n| Amélie     | fr-CA    |\n| Flo        | fr-CA    |\n| Sandy      | fr-CA    |\n| Grandma    | fr-FR    |\n| Flo        | fr-FR    |\n| Rocko      | fr-FR    |\n| Grandpa    | fr-FR    |\n| Sandy      | fr-FR    |\n| Eddy       | fr-FR    |\n| Daniel     | fr-FR    |\n| Thomas     | fr-FR    |\n| Jacques    | fr-FR    |\n| Marie      | fr-FR    |\n| Shelley    | fr-FR    |\n| Carmit     | he-IL    |\n| Lekha      | hi-IN    |\n| Lana       | hr-HR    |\n| Tünde      | hu-HU    |\n| Damayanti  | id-ID    |\n| Eddy       | it-IT    |\n| Sandy      | it-IT    |\n| Reed       | it-IT    |\n| Shelley    | it-IT    |\n| Grandma    | it-IT    |\n| Grandpa    | it-IT    |\n| Flo        | it-IT    |\n| Rocko      | it-IT    |\n| Alice      | it-IT    |\n| Eddy       | ja-JP    |\n| Reed       | ja-JP    |\n| Hattori    | ja-JP    |\n| Shelley    | ja-JP    |\n| Kyoko      | ja-JP    |\n| Grandma    | ja-JP    |\n| Rocko      | ja-JP    |\n| Grandpa    | ja-JP    |\n| O-ren      | ja-JP    |\n| Sandy      | ja-JP    |\n| Flo        | ja-JP    |\n| Rocko      | ko-KR    |\n| Grandma    | ko-KR    |\n| Grandpa    | ko-KR    |\n| Eddy       | ko-KR    |\n| Sandy      | ko-KR    |\n| Yuna       | ko-KR    |\n| Reed       | ko-KR    |\n| Flo        | ko-KR    |\n| Shelley    | ko-KR    |\n| Amira      | ms-MY    |\n| Nora       | nb-NO    |\n| Ellen      | nl-BE    |\n| Xander     | nl-NL    |\n| Zosia      | pl-PL    |\n| Reed       | pt-BR    |\n| Luciana    | pt-BR    |\n| Shelley    | pt-BR    |\n| Grandma    | pt-BR    |\n| Grandpa    | pt-BR    |\n| Rocko      | pt-BR    |\n| Flo        | pt-BR    |\n| Sandy      | pt-BR    |\n| Eddy       | pt-BR    |\n| Joana      | pt-PT    |\n| Ioana      | ro-RO    |\n| Milena     | ru-RU    |\n| Laura      | sk-SK    |\n| Tina       | sl-SI    |\n| Alva       | sv-SE    |\n| Vani       | ta-IN    |\n| Kanya      | th-TH    |\n| Yelda      | tr-TR    |\n| Lesya      | uk-UA    |\n| Linh       | vi-VN    |\n| Eddy       | zh-CN    |\n| Shelley    | zh-CN    |\n| Grandma    | zh-CN    |\n| Reed       | zh-CN    |\n| Grandpa    | zh-CN    |\n| Rocko      | zh-CN    |\n| Yu-shu     | zh-CN    |\n| Flo        | zh-CN    |\n| Tingting   | zh-CN    |\n| Li-mu      | zh-CN    |\n| Sandy      | zh-CN    |\n| Sinji      | zh-HK    |\n| Shelley    | zh-TW    |\n| Grandma    | zh-TW    |\n| Grandpa    | zh-TW    |\n| Sandy      | zh-TW    |\n| Flo        | zh-TW    |\n| Eddy       | zh-TW    |\n| Reed       | zh-TW    |\n| Meijia     | zh-TW    |\n| Rocko      | zh-TW    |\n\n\n\n## Trademark Disclaimer\nProduct names, logos, brands and other trademarks referred to within the openHAB website are the\nproperty of their respective trademark holders. These trademark holders are not affiliated with\nopenHAB or our website. They do not sponsor or endorse our materials.\n\nApple, the Apple logo, iPhone, and iPad are trademarks of Apple Inc., registered in the U.S. and other countries and regions. App Store is a service mark of Apple Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenhab%2Fopenhab-ios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenhab%2Fopenhab-ios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenhab%2Fopenhab-ios/lists"}