{"action":"created","issue":{"url":"https://api.github.com/repos/danielperna84/pyhomematic/issues/170","repository_url":"https://api.github.com/repos/danielperna84/pyhomematic","labels_url":"https://api.github.com/repos/danielperna84/pyhomematic/issues/170/labels{/name}","comments_url":"https://api.github.com/repos/danielperna84/pyhomematic/issues/170/comments","events_url":"https://api.github.com/repos/danielperna84/pyhomematic/issues/170/events","html_url":"https://github.com/danielperna84/pyhomematic/issues/170","id":364377048,"node_id":"MDU6SXNzdWUzNjQzNzcwNDg=","number":170,"title":"Adding support for HmIP-MOD-TM","user":{"login":"martykiico","id":34889193,"node_id":"MDQ6VXNlcjM0ODg5MTkz","avatar_url":"https://avatars1.githubusercontent.com/u/34889193?v=4","gravatar_id":"","url":"https://api.github.com/users/martykiico","html_url":"https://github.com/martykiico","followers_url":"https://api.github.com/users/martykiico/followers","following_url":"https://api.github.com/users/martykiico/following{/other_user}","gists_url":"https://api.github.com/users/martykiico/gists{/gist_id}","starred_url":"https://api.github.com/users/martykiico/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martykiico/subscriptions","organizations_url":"https://api.github.com/users/martykiico/orgs","repos_url":"https://api.github.com/users/martykiico/repos","events_url":"https://api.github.com/users/martykiico/events{/privacy}","received_events_url":"https://api.github.com/users/martykiico/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-09-27T09:12:29Z","updated_at":"2018-09-27T20:52:13Z","closed_at":null,"author_association":"NONE","body":"Hi,\r\n\r\nich habe einen Garagentor-Antrieb mit einem HmIP device.\r\nELV Link: https://www.elv.at/tormatic-funk-garagentorantrieb-white-800-mit-2-funk-handsendern-und-homematic-ip-funkmodul.html\r\n\r\nIch setze RaspberryMatic Version 3.37.8.20180922 ein.\r\n\r\n**Problem:**\r\nDas HMIP Modul scheint noch nicht unterstützt zu sein. Es liefert zwei Kanäle über welche sich das Tor steuern lässt (Öffnen, Lüftungsstellung, Schließen) auf Channel: 1 \r\nChannel: 2 ist für die Lichtsteuerung (An und Aus).\r\n\r\n**Home Assistant 0.78.1 :**\r\n\r\n\r\n**Ich denke nicht, dass es mit einer falschen Konfiguration zutun hat:**\r\n```yaml\r\nhomematic:\r\n  interfaces:\r\n    rf_hhs_rpc:\r\n      host: 192.168.2.28\r\n      resolvenames: json\r\n      username: Admin\r\n      password: !secret hmccupass\r\n    groups:\r\n      host: 192.168.2.28\r\n      port: 9292\r\n      resolvenames: json\r\n      username: Admin\r\n      password: !secret hmccupass\r\n      path: /groups\r\n    ip:\r\n      host: 192.168.2.28\r\n      resolvenames: json\r\n      username: Admin\r\n      password: !secret hmccupass\r\n      port: 2010\r\n  hosts:\r\n    rf_hhs_ccu:\r\n      host: 192.168.2.28\r\n      username: Admin\r\n      password: !secret hmccupass\r\n```\r\nIch bin bereit alles zutun um die Aufnahme des Moduls zu unterstützen und liefere Daten hierfür.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/danielperna84/pyhomematic/issues/comments/425239053","html_url":"https://github.com/danielperna84/pyhomematic/issues/170#issuecomment-425239053","issue_url":"https://api.github.com/repos/danielperna84/pyhomematic/issues/170","id":425239053,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNTIzOTA1Mw==","user":{"login":"danielperna84","id":7396998,"node_id":"MDQ6VXNlcjczOTY5OTg=","avatar_url":"https://avatars1.githubusercontent.com/u/7396998?v=4","gravatar_id":"","url":"https://api.github.com/users/danielperna84","html_url":"https://github.com/danielperna84","followers_url":"https://api.github.com/users/danielperna84/followers","following_url":"https://api.github.com/users/danielperna84/following{/other_user}","gists_url":"https://api.github.com/users/danielperna84/gists{/gist_id}","starred_url":"https://api.github.com/users/danielperna84/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielperna84/subscriptions","organizations_url":"https://api.github.com/users/danielperna84/orgs","repos_url":"https://api.github.com/users/danielperna84/repos","events_url":"https://api.github.com/users/danielperna84/events{/privacy}","received_events_url":"https://api.github.com/users/danielperna84/received_events","type":"User","site_admin":false},"created_at":"2018-09-27T20:52:13Z","updated_at":"2018-09-27T20:52:13Z","author_association":"OWNER","body":"So habe mir das mal angeschaut. Wenn du möchtest kannst du folgendes _live_ in der Python Shell testen.\r\n\r\n```python\r\n# 00112233 ist der Platzhalter für die tatsächliche Adresse von dem Gerät\r\nfrom xmlrpc.client import ServerProxy\r\np = ServerProxy(\"http://rasp-ip:2010\")\r\n# Das sollte dir True / False liefern, je nachdem ob das Licht ein- oder ausgeschaltet ist\r\np.getValue(\"00112233:2\", \"STATE\")\r\n# Das hier sollte das Licht einschalten\r\np.setValue(\"00112233:2\", \"STATE\", True)\r\n# Das hier sollte das Licht ausschalten\r\np.setValue(\"00112233:2\", \"STATE\", False)\r\n```\r\n\r\nWie man tatsächlich den Aktor steuert müsstest du selbst testen, da für mich gerade nicht ersichtlich ist wie das genau gehen soll. Folgende Möglichkeiten gibt es.\r\n\r\n```python\r\n# Den Import und die Verbindung wie oben machen\r\n# Das könnte entweder nichts (das würde ich vermuten) oder einen der folgenden Werte zurückgeben: NOP, OPEN, STOP, CLOSE, PARTIAL_OPEN\r\np.getValue(\"00112233:1\", \"DOOR_COMMAND\")\r\n# Es kann aber sein, dass du damit steuern kannst. Z.B. zum öffnen\r\np.setValue(\"00112233:1\", \"DOOR_COMMAND\", \"OPEN\")\r\n# Selbes wie eben, nur folgende mögliche Werte: CLOSED, OPEN, VENTILATION_POSITION, POSITION_UNKNOWN\r\np.getValue(\"00112233:1\", \"DOOR_STATE\")\r\n# Und ggf. steuern mit\r\np.setValue(\"00112233:1\", \"DOOR_STATE\", \"OPEN\")\r\n# Auch interessant falls das Tor manuell bedient wurde und der Aktor nicht bescheid weiß, mögliche Werte: NORMAL, UNKNOWN\r\np.getValue(\"00112233:1\", \"SECTION_STATUS\")\r\n```\r\n\r\nIm Prinzip kannst du selbst einfach probieren wann was passiert. Der Teil vom JSON wo ich das her habe:\r\n```json\r\n            \"VALUES\": {\r\n                \"PROCESS\": {\r\n                    \"ID\": \"PROCESS\",\r\n                    \"DEFAULT\": \"STABLE\",\r\n                    \"VALUE_LIST\": [\r\n                        \"STABLE\",\r\n                        \"NOT_STABLE\"\r\n                    ],\r\n                    \"FLAGS\": 1,\r\n                    \"MAX\": \"NOT_STABLE\",\r\n                    \"TYPE\": \"ENUM\",\r\n                    \"OPERATIONS\": 5,\r\n                    \"MIN\": \"STABLE\"\r\n                },\r\n                \"DOOR_COMMAND\": {\r\n                    \"ID\": \"DOOR_COMMAND\",\r\n                    \"DEFAULT\": \"NOP\",\r\n                    \"VALUE_LIST\": [\r\n                        \"NOP\",\r\n                        \"OPEN\",\r\n                        \"STOP\",\r\n                        \"CLOSE\",\r\n                        \"PARTIAL_OPEN\"\r\n                    ],\r\n                    \"CONTROL\": \"DOOR_RECEIVER.DOOR_COMMAND\",\r\n                    \"FLAGS\": 1,\r\n                    \"MAX\": \"PARTIAL_OPEN\",\r\n                    \"TYPE\": \"ENUM\",\r\n                    \"OPERATIONS\": 2,\r\n                    \"MIN\": \"NOP\"\r\n                },\r\n                \"ERROR_CODE\": {\r\n                    \"ID\": \"ERROR_CODE\",\r\n                    \"DEFAULT\": 0,\r\n                    \"CONTROL\": \"DOOR_RECEIVER.ERROR_CODE\",\r\n                    \"FLAGS\": 9,\r\n                    \"MAX\": 255,\r\n                    \"TYPE\": \"INTEGER\",\r\n                    \"OPERATIONS\": 5,\r\n                    \"MIN\": 0\r\n                },\r\n                \"SECTION\": {\r\n                    \"ID\": \"SECTION\",\r\n                    \"DEFAULT\": 0,\r\n                    \"FLAGS\": 1,\r\n                    \"MAX\": 15,\r\n                    \"TYPE\": \"INTEGER\",\r\n                    \"OPERATIONS\": 5,\r\n                    \"MIN\": 0\r\n                },\r\n                \"DOOR_STATE\": {\r\n                    \"ID\": \"DOOR_STATE\",\r\n                    \"DEFAULT\": \"CLOSED\",\r\n                    \"VALUE_LIST\": [\r\n                        \"CLOSED\",\r\n                        \"OPEN\",\r\n                        \"VENTILATION_POSITION\",\r\n                        \"POSITION_UNKNOWN\"\r\n                    ],\r\n                    \"CONTROL\": \"DOOR_RECEIVER.DOOR_STATE\",\r\n                    \"FLAGS\": 1,\r\n                    \"MAX\": \"POSITION_UNKNOWN\",\r\n                    \"TYPE\": \"ENUM\",\r\n                    \"OPERATIONS\": 5,\r\n                    \"MIN\": \"CLOSED\"\r\n                },\r\n                \"SECTION_STATUS\": {\r\n                    \"ID\": \"SECTION_STATUS\",\r\n                    \"DEFAULT\": \"NORMAL\",\r\n                    \"VALUE_LIST\": [\r\n                        \"NORMAL\",\r\n                        \"UNKNOWN\"\r\n                    ],\r\n                    \"FLAGS\": 1,\r\n                    \"MAX\": \"UNKNOWN\",\r\n                    \"TYPE\": \"ENUM\",\r\n                    \"OPERATIONS\": 5,\r\n                    \"MIN\": \"NORMAL\"\r\n                }\r\n            }\r\n```\r\n\r\nVielversprechend sehen auf jeden Fall aus: `DOOR_COMMAND`, `SECTION`, `DOOR_STATE`, `SECTION_STATUS`.\r\n\r\nDas Licht zu implementieren wird gar kein Problem. Der Aktor schon eher, da es in Home Assistant kein UI-Element gibt was das so ohne Weiteres steuern kann. Es ist ja kein Ein/Ausschalter. Im Grunde ist es aus Sicht von Home Assistant ein [cover](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/cover) component. Das hat aber nur _Hoch_, _Runter_ und _Stop_, sowie einen prozentualen Wert wo es gerade ist. So sind auch die _alten_ HomeMatic Aktoren implementiert (man kann ein Garagentor mit einem Rolladen vergleichen).\r\nDer einfachste Weg wäre es als ersten Schritt den Status einfach nur als Sensor anzeigen zu lassen, und das steuern dann über eine Automation und dem `homematic.set_device_value` Service zu machen. Aber dafür muss das Gerät erst mal grundsätzlich verfügbar sein. Das kann ich machen sobald du deine Testergebnisse lieferst. 😉 "}}
{"actor":{"display_login":"danielperna84"}}