{"id":22352068,"url":"https://github.com/bertreb/pimatic-assistant","last_synced_at":"2025-03-26T12:10:43.913Z","repository":{"id":57324195,"uuid":"258844262","full_name":"bertreb/pimatic-assistant","owner":"bertreb","description":"Plugin for connecting a Pimatic system via Nora to Google Assistant","archived":false,"fork":false,"pushed_at":"2021-01-06T21:47:48.000Z","size":132,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T11:35:43.283Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CoffeeScript","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/bertreb.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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-04-25T18:20:01.000Z","updated_at":"2021-02-21T16:14:49.000Z","dependencies_parsed_at":"2022-09-09T08:11:58.085Z","dependency_job_id":null,"html_url":"https://github.com/bertreb/pimatic-assistant","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/bertreb%2Fpimatic-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertreb%2Fpimatic-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertreb%2Fpimatic-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertreb%2Fpimatic-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bertreb","download_url":"https://codeload.github.com/bertreb/pimatic-assistant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245650496,"owners_count":20650105,"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-12-04T12:17:03.199Z","updated_at":"2025-03-26T12:10:43.891Z","avatar_url":"https://github.com/bertreb.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pimatic-assistant\nPlugin for connecting a Pimatic system via Nora to Google Assistant\n\nBackground\n-------\nThe Assistant plugin lets you connect a Pimatic home automation system to a Google assistant via Nora.\n\n\nNora is a **NO**de-**R**ed home **A**utomation solution for connecting Node-red to Google Home/Assistant. Nora is build by [Andrei Tatar](https://github.com/andrei-tatar). Nora consists of a plugin for Node-red and the Nora backend server that acts as a gateway between Node-red and Google Assistant.\nFor this plugin I'm not using node-red but use the Nora backend server directly.\nThis plugin is also based on the work done for the Pimatic-gBridge plugin. Because the gBridge service is stopped, this plugin will be a good replacement.\n\nThe Assistant Device interfaces with Google Assistant via Nora. Pimatic devices are added in the config. The mapping of states and actions from Pimatic from/to Google Assistant is done as best as possible.\n\nPreparation\n---------\nBefore you can configure the plugin you need to get a Nora service token. The steps are:\n\n- Go to the [NORA homepage](https://node-red-google-home.herokuapp.com/)\n- Login with your Google or Github account\n- Copy the generated token in your clipboard, to be used later in the device config of the plugin.\n\nLink Nora to your Google Home via the Google Home app (these steps need to happen only once).\nThe steps are:\n- Open your Google Home app and click Add\n- In the Add and manage screen, select Set up device\n- Select 'Have something already set up?'\n- Search and select 'NORA' and login again with the Google/Github account you used when logging in to the NORA homepage.\n\nDone! Nora and Google Home are linked and you can install the plugin and add an Assistant device.\nPimatic devices are not exposed automatically to Nora and Google Assistant. You have to add or remove them individually in the device config.\n\n\nInstallation\n------------\nTo enable the Assistant plugin add this to the plugins section via the GUI or add it in the config.json file.\n\n```\n{\n  plugin: \"assistant\"\n  token:  \"The token from Nora\"\n  debug:  \"Debug mode. Writes debug messages to the pimatic log.\"\n}\n```\n\nAfter the plugin is installed an Assistant device or an Assistant Thermostat device can be added.\n\nAssistant device\n-----------------\nThe Assistant device is the main device for adding Pimatic devices to Google Assistant. When you add/remove a supported Pimatic device to the Assistant devicelist, the device is automatically added/removed in Nora and Google Assistant.\n\nBelow the settings with the default values. In the devices your configure which Pimatic devices will be controlled by Google Assistant and what name they get. The name is visible in the Google Assistant and is the name you use in voice commands.\nIn this release the SwitchActuator, DimmerActuator, ButtonsDevice, ShutterController, Milight (RGBWZone and FullColorZone) and HeatingThermostat based Pimatic devices are supported.\nWhen there's at least 1 device added, the connection to Nora is made. When connected the dot will go to present.\n\nSome specific configurations:\n#### Button\nFor the Buttons device the auxiliary field is used to identify the button. The id of the button can not contain a hyphen ('-'). You can use an underscore to make the id readable.\n\n#### Shutter\nFor the Shutter device the auxiliary field is used to control a shutter via a shell script. The position of the shutter (the value) is added at the end of the script (with a space) before executing the script. A return value is used as actual shutter position.\n\n#### Thermostat\nFor the HeatingThermostat you can add a temperature/humidity sensor. In the auxiliary field, add the device-id of the temperature/humidity sensor. The sensor needs to have 'temperature' and 'humidity' named attributes. If the attribute names are different, you can put a variables devices 'in between' (which converts the attribute names to 'temperature' and 'humidity').\nThe heating device is only using the temperature setting of the device.\nThe following modes are supported: off and heat.\n\nStarting from version 0.2.11 you can use the DummyThermostat. This is an extended Thermostat that uses all the functionality of Google Assistant. DummyThermostat is part of the pimatic-dummis plugin.\n\n#### Temperature\nThe temperature/humidity sensor is not supported directly by Nora and Google Assistant. This temperature/humidity sensor via implemented via a DummyThermostat.\nThe configuration is as follows:\n- pimatic_device_id: the Temp/Hum device-id of the Pimatic Sensor\n- auxiliary: the attribute name of the temperature attribute of the Pimatic sensor. Can be 'temperature' or 'TEMP' or whatever the teperature device is using.\n- auxiliary2: if available the attribute name of the humidity attribute of the Pimatic sensor (the name of the humidity attribute the device is using).\n\nIn the Google Assistant (or Home app) you hear/see a thermostat device with the same ambiant(room) and setpoint temperature. This value is the temperature value of your Pimatic sensor.\n\n\nDevice configuration\n-----------------\n\n```\n{\n  id:     \"\u003cassistant-device-id\u003e\"\n  class:  \"AssistantDevice\"\n    group:    \"name for grouping the devices of this assistant device (default = 'pimatic')\"\n    devices:  \"list of devices connected to Google Assistant\"\n      name:                 \"the device name, and command used in Google Assistant\"\n      roomHint:             \"the optional roomname used in Google Assistant\"\n      pimatic_device_id:    \"the ID of the pimatic device\"\n      pimatic_subdevice_id: \"the ID of a pimatic subdevice, only needed for a button id\"\n      auxiliary:            \"adapter specific field to add functionality\"\n      auxiliary2:            \"2nd adapter specific field to add functionality\"\n      twofa:                 \"Two-step confirmation. Google Assistant will ask for confirmation\"\n                              [\"none\", \"ack\", \"pin\"] default: \"none\"\n      pin:                  \"when twofa \"pin\" is used, the pin string (default: '0000')\"\n}\n```\n\n#### Group\nYou can have 3 simultaneous connections with the nora-backend. So 3 different sources can provide the devices towards Google home. A group name is linked to one connection. The token is the same for all connections. \n#### Two-step confirmation\n2-step confirmation (twofa) is supported. When you enable twofa you can use \"ack\", the assistant will ask if you are sure you what to execute the action. When you enable \"pin\", Google Assistant will ask for the pin to confirm the action. You need to enter the pin via the 'keyboard'.\n\n#### Deleting an Assistant device\nBefore you delete an Assistant device, please remove first all devices in the Assistant device config and save the config. After that you can delete the Assistant device.\n\n\n-----------------\n\nThe minimum node requirement for this plugin is Node v8. You could backup Pimatic before you are using this plugin!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertreb%2Fpimatic-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbertreb%2Fpimatic-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertreb%2Fpimatic-assistant/lists"}