Homematic verbindung

Hallo,

Ich hoffe, das Thema existiert noch nicht so, wie meine Fehler auftauchen.
Wenn ja, bitte ich um Entschuldigung! :slight_smile:

ich bekomme einfach nicht die Pimatic zum Homeassistant verbunden.

Ich habe hier schon alles durchsucht, bekomme aber immer den selben Fehler.
Bin aktuell am verzweifeln.
Ist es vielleicht sinnvoller, Homegear anstatt PImatic zu nehmen?

Ich habe aktuell die Version von Hass 0.53.

Fehlermeldung ist kurz:

Failed config
homematic:
interfaces: [source /home/homeassistant/.homeassistant/configuration.yaml:135]
wireless: [source /home/homeassistant/.homeassistant/configuration.yaml:136]
host: XX.XX.XX.XX

General Errors:
- Setup failed for homematic: Invalid config.

Zur konstellation:
CUU2 auf einem PI
HomeAssistant auf auf einer PI.
Die zwei möchte ich verbinden.
Ich bitte auch um Rücksicht, da ich noch sehr unerfahren mit dem HomeAssistant bin.

LG

Hi,

vorab: hier im Forum wird üblicherweise Englisch geschrieben. :slightly_smiling_face:

Zu deinem Problem: wie sieht denn der Konfigurations-Block in deiner configuration.yaml aus? Pimatic ist ja im Prinzip auch nur eine virtuelle CCU. Da ist also nichts spezielles zu beachten. Eine vollständige Konfiguration inkl. HomeMatic IP unterstützung und Thermostat-Gruppen sieht z.B. so aus:

homematic:
  interfaces:
    hmrf:
      host: 192.168.1.123
    hmip:
      host: 192.168.1.123
      port: 2010
    hmgroups:
      host: 192.168.1.123
      port: 9292
      username: Admin
      password: adminpasswort
      path: /groups
      resolvenames: json
  hosts:
    hmrf_hub:
      host: 192.168.1.123
      username: Admin
      password: adminpasswort

Die IP ist die von Pimatic, und welche Login-Daten dein Admin-User braucht weißt du ja.
Das unten in dem hosts-Block ist übrigens nur dann relevant, wenn du die System-Variablen der CCU und die Summe der Servicemeldungen in Home Assistant verarbeiten willst. Und das was bei mir hmip und hmgroups heißt kannst du auch weg lassen wenn du weder IP-Geräte noch Thermostatgruppen benutzt.

Wenn du auch die Funk-Geräte namentlich haben willst, dann musst du das resolvenames: json zzgl. username usw. auch im hmrf Block mit drin haben. Eben überall dort, wo die Namen ausgelesen werden sollen.

Hallo danielperna84,

vielen lieben Dank für Deine Antwort.

Ich habe die config jetzt so übernommen wie Du sie mir bereitgestellt hast.

Der Fehler bleibt dennoch vorhanden.
(Viell. die Info, dass es nicht HM-IP ist, sondern nur die normale HM)
Aktuell sind nur ein Fensterkontakt und ein Thermostat für die Heizung vorhanden.

Hier die Meldung:

Failed config
homematic:
hosts: [source /home/homeassistant/.homeassistant/configuration.yaml:163]
hmrf_hub: [source /home/homeassistant/.homeassistant/configuration.yaml:165]
host: IP
password: 123456
username: Admin
interfaces: [source /home/homeassistant/.homeassistant/configuration.yaml:137]
hmgroups: [source /home/homeassistant/.homeassistant/configuration.yaml:149]
host: IP
password: 123456
path: /groups
port: 9292
resolvenames: json
username: Admin
hmip: [source /home/homeassistant/.homeassistant/configuration.yaml:143]
host: IP
port: 2010
hmrf: [source /home/homeassistant/.homeassistant/configuration.yaml:139]
host: IP

General Errors:
- Setup failed for homematic: Invalid config.

Grüße

PS: Mein Englisch ist nicht das beste und da ich aktuell völlig auf dem schlauch stehe, reicht mein Englisch hier aktuell nicht aus. Sorry! :frowning:

Ohne IP (und ohne Thermostatgruppen) müsste es so aussehen:

homematic:
  interfaces:
    hmrf:
      host: 192.168.1.123
      username: Admin
      password: adminpasswort
      resolvenames: json
  hosts:
    hmrf_hub:
      host: 192.168.1.123
      username: Admin
      password: adminpasswort

Bitte poste deine Config noch mal richtig formatiert, da dies bei Home Assistant eine wichtige Rolle spielt. Die Anzahl der Leerzeichen bestimmt welcher Teil wohin gehört. Das ist eine Vorgabe vom YAML Format. Ohne die genaue config zu sehen kann man nicht sagen was der Fehler ist.

So müsstest du es hier schreiben (ohne den Backslash vor den letzten 3 backticks):

```yaml
hier deine config
\```

Hallo Daniel,
#hier meine config. (Noch nicht geändert, nach Deiner letzten Antwort)

homeassistant:
  # Name of the location where Home Assistant is running
  name: Home
  # Location required to calculate the time the sun rises and sets
  latitude: 51.05
  longitude: 13.75
  # Impacts weather/sunrise data (altitude above sea level in meters)
  elevation: 117
  # metric for Metric, imperial for Imperial
  unit_system: metric
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: Europe/Berlin
  # Customization file
  customize: !include customize.yaml

# Show links to resources in log and frontend

# Enables the frontend
frontend:

# Enables configuration UI
config:

http:
  # Uncomment this to add a password (recommended!)
   api_password: XXXXXXX
  # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
   base_url: myip.dns:8123

# Checks for available updates
# Note: This component will send some information about your system to
# the developers to assist with development of Home Assistant.
# For more information, please see:
# https://home-assistant.io/blog/2016/10/25/explaining-the-updater/
updater:
  # Optional, allows Home Assistant developers to focus on popular components.
  # include_used_components: true

# Discover some devices automatically
#discovery:

# Allows you to issue voice commands from the frontend in enabled browsers
#conversation:

# Enables support for tracking state changes over time
#history:

# View all events in a logbook
#logbook:

# Track the sun
###sun:

# Weather prediction

sensor:

  - platform: yr
    name: Wetter
    forecast: 24
    monitored_conditions:
      - temperature
      - symbol

#  - platform: cpuspeed


# Text to speech
tts:
  - platform: google
    language: 'de'

switch:
  platform: command_line
  switches:
    vlc:
      command_on: "sudo /home/pi/raspberry-remote/send 00001 1 1"
      command_off: "sudo /home/pi/raspberry-remote/send 00001 1 0"
      friendly_name: Farbeimer

    kitchen_light:
      command_on: "sudo /home/pi/raspberry-remote/send 00001 2 1"
      command_off: "sudo /home/pi/raspberry-remote/send 00001 2 0"
      friendly_name: Spüle

    kitchen_light1:
      command_on: "sudo /home/pi/raspberry-remote/send 00001 4 1"
      command_off: "sudo /home/pi/raspberry-remote/send 00001 4 0"
      friendly_name: Arbeitsplatte

    bathroom_light:
      command_on: "sudo /home/pi/raspberry-remote/send 00001 3 1"
      command_off: "sudo /home/pi/raspberry-remote/send 00001 3 0"
      friendly_name: Stehlampe

group:
  default_view:
    view: yes
    entities:
      - group.Wohnzimmer
      - group.Küche
      - group.Schlafzimmer
      - group.Wetter
  Wohnzimmer:
    name: Wohnzimmer
    view: yes
    entities:
#      - switch.vlc
      - switch.bathroom_light
  Küche:
    name: Küche
    view: yes
    entities:
      - switch.kitchen_light
      - switch.kitchen_light1
  Schlafzimmer:
    name: Schlafzimmer
    view: yes
    entities:
#      - switch.bathroom_light
      - switch.vlc

  Wetter:
    name: Wetter
    view: yes
    entities:
      - sensor.wetter_temperature
      - sun.sun
      - sensor.wetter_symbol

homematic:
  interfaces:
    hmrf:
      host: 10.0.0.XXX
      username: Admin
      password: 123456
#      path: /groups
      resolvenames: json
    hmip:
      host: 10.0.0.XXX
      port: 2010
    hmgroups:
      host: 10.0.0.XXX
      port: 9292
      username: Admin
      password: 123456
      path: /groups
      resolvenames: json
  hosts:
    hmrf_hub:
      host: 10.0.0.XXX
      username: Admin
      password: 123456

#group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml

Moment, der Fehler ist glaube ich was ganz anderes. Du hast eine SEHR SEHR alte Version im Einsatz. Damals war die Konfiguration noch anders. Aktuell ist Home Assistant 0.73.1. Bitte erst mal das Update machen. Ggf. erst mal HomeMatic noch weg lassen um sicherzustellen, das die anderen Geräte noch funktionieren wie vorher. Seit 0.53 kann es eine große Anzahl an breaking changes gegeben haben, wodurch dann vielleicht auch andere Sachen beeinträchtigt sind. Wie es z.B. bei HomeMatic der Fall ist.

Okay, werde ich machen.
Das Update geht folgendermaßen? :open_mouth:
gibts da eine Updater?

Das kommt ganz darauf an wie du es installiert hast. Grundsätzlich gilt diese Anleitung: https://www.home-assistant.io/docs/installation/updating/
Aber je nachdem ob du hassbian, den all in one installer oder ganz was anderes gemacht hast kann es stark abweichen. Da musst du dich wohl oder übel einfach mal durch die oben genannte Seite arbeiten.

Alles klar - werde ich machen :slight_smile:

Ich hatte das damals von einem YouTube Video installiert - einfach auf ein Debian.
Ich werde bescheid geben, ob´s geklappt hat, oder nicht. :wink:

Allerdings wird es eine Zeit brauchen.
Schaffe das erst nächste Woche.

Trotzdem - DANKE(!) für Deine Hilfe.
Ich hoffe, wir können dementsprechend in Kontakt bleiben :slight_smile:
LG

Hallo Daniel,

leider hat das Update des HA nichts gebracht.
Ich bekomme immer noch die gleiche Fehlermeldung :frowning:

VG

Sicher, dass das Update erfolgreich war? Bitte im GUI von Home Assistant nachschauen welche Version es ist.
Und danach Schritt für Schritt vorgehen. Am Anfang ganz ohne Homematic starten. Dann erst mal den hosts-Block weglassen. Erst wenn der interfaces-Block funktioniert wird der hosts-Block relevant.

Wenn es dann weiterhin nicht geht bitte erneut deine configuration.yaml und das zugehörige Log posten. Und

Guten Morgen :slight_smile:

Ich habe tatsächlich das Update erfolgreich durchgeführt.

Version
Home Assistant
0.73.2

Path to configuration.yaml: /home/homeassistant/.homeassistant

Hier nochmal die config:
FYI: Habe die homematic Blöcke auskommentiert, damirt die Fehlermeldung nicht weiter angezeigt wird

homeassistant:
  # Name of the location where Home Assistant is running
  name: Home
  # Location required to calculate the time the sun rises and sets
  latitude: 51.05
  longitude: 13.75
  # Impacts weather/sunrise data (altitude above sea level in meters)
  elevation: 117
  # metric for Metric, imperial for Imperial
  unit_system: metric
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: Europe/Berlin
  # Customization file
  customize: !include customize.yaml

# Show links to resources in log and frontend

# Enables the frontend
frontend:

# Enables configuration UI
config:

http:
  # Uncomment this to add a password (recommended!)
   api_password: XXXXXX
  # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
   base_url: homeXXXXX.de:8123

# Checks for available updates
# Note: This component will send some information about your system to
# the developers to assist with development of Home Assistant.
# For more information, please see:
# https://home-assistant.io/blog/2016/10/25/explaining-the-updater/
updater:
  # Optional, allows Home Assistant developers to focus on popular components.
  # include_used_components: true

# Discover some devices automatically
#discovery:

# Allows you to issue voice commands from the frontend in enabled browsers
#conversation:

# Enables support for tracking state changes over time
#history:

# View all events in a logbook
#logbook:

# Track the sun
###sun:

# Weather prediction

sensor:

  - platform: yr
    name: Wetter
    forecast: 24
    monitored_conditions:
      - temperature
      - symbol

#  - platform: cpuspeed


# Text to speech
tts:
  - platform: google
    language: 'de'

#ifttt:
#  key: dEHL8OMTXXXXXXXXXX

switch:
  platform: command_line
  switches:
    vlc:
      command_on: "sudo /home/pi/raspberry-remote/send 00001 1 1"
      command_off: "sudo /home/pi/raspberry-remote/send 00001 1 0"
      friendly_name: Farbeimer

    kitchen_light:
      command_on: "sudo /home/pi/raspberry-remote/send 00001 2 1"
      command_off: "sudo /home/pi/raspberry-remote/send 00001 2 0"
      friendly_name: Spüle

    kitchen_light1:
      command_on: "sudo /home/pi/raspberry-remote/send 00001 4 1"
      command_off: "sudo /home/pi/raspberry-remote/send 00001 4 0"
      friendly_name: Arbeitsplatte

    bathroom_light:
      command_on: "sudo /home/pi/raspberry-remote/send 00001 3 1"
      command_off: "sudo /home/pi/raspberry-remote/send 00001 3 0"
      friendly_name: Stehlampe

group:
  default_view:
    view: yes
    entities:
      - group.Wohnzimmer
      - group.Küche
      - group.Schlafzimmer
      - group.Wetter
  Wohnzimmer:
    name: Wohnzimmer
    view: yes
    entities:
      - switch.bathroom_light
  Küche:
    name: Küche
    view: yes
    entities:
      - switch.kitchen_light
      - switch.kitchen_light1
  Schlafzimmer:
    name: Schlafzimmer
    view: yes
    entities:
      - switch.vlc

  Wetter:
    name: Wetter
    view: yes
    entities:
      - sensor.wetter_temperature
      - sun.sun
      - sensor.wetter_symbol

homematic:
  interfaces:
    hmrf:
      host: 10.0.0.248
      username: Admin
      password: 123456
      resolvenames: json
#  hosts:
#    hmrf_hub:
#      host: 10.0.0.248
#      username: Admin
#      password: 123456

#  interfaces:
#    hmrf:
#      host: 10.0.0.248
#    hmip:
#      host: 10.0.0.248
#      port: 2010
#    hmgroups:
#      host: 10.0.0.248
#      port: 9292
#      username: Admin
#      password: 123456
#      path: /groups
#      resolvenames: json
#  hosts:
#    hmrf_hub:
#      host: 10.0.0.248
#      username: Admin
#      password: 123456

#group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml

Was ich nach dem Update nicht mehr ausführen kann (homeassistant User) ist folgender Befehl:

(homeassistant) homeassistant@homematic:/home/pi $ hass --script check_config
Traceback (most recent call last):
File “/srv/homeassistant/homeassistant/bin/hass”, line 7, in
from homeassistant.main import main
ImportError: No module named ‘homeassistant’

Allerdings bekomme ich den HA mit dem User PI sauber zum laufen.
Alles andere funktioniert (Steckdosenschaltung)

Vielleicht bringt Dir das enwas mehr Infos -.-

LG

Also mit der config so wie du sie gepostet hast müsstest du deine Homematic Funk-Geräte sehen (wenn es keine Fehler gab). Dass der hosts-Teil nicht klappt kann an der Firewall vom pimatic liegen. Irgendwo in den Systemeinstellungen der CCU gibt es einen Sicherheitsbereich in dem man einstellen kann von wo aus der Zugriff auf die JSON-RPC API erlaubt wird.

Warum das mit dem Check-Script nicht funktioniert weiß ich nicht. Gefühlt würde ich bei der Fehlermeldung schätzen, dass es ggf. etwas Durcheinander bei deiner Installation gab. Also dass sie eigentlich in einem virtualenv drin ist, du den Befehl aber ohne aktiviertes virtualenv ausführst. Das ist aber ein Thema zu dem es genug Lektüre gibt wenn man sucht.

Hast du mal in Erwägugn gezogen hassio anstatt das normale Home Assistant zu nehmen? Damit lassen sich viele Kleinigkeiten umgehen die ggf. zu Fehlern führen. Dann kann der Pi zwar nur noch Home Assistant (+ Add-ons), aber es würde mich nicht wundern, wenn schon bei der Basis-Installation etwas nicht ganz glatt gelaufen ist. hassio macht es dir da wesentlich einfacher.

Hallo Daniel,

ich denke, hier ist das Problem.
Die Fehler waren heute das erste mal im Log:


Setup failed for homematic: Could not install all requirements.

Not initializing homematic because could not install requirement pyhomematic==0.1.44

Unable to install package pyhomematic==0.1.44: Exception:
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.5/site-packages/pip/basecommand.py”, line 215, in main
status = self.run(options, args)
File “/srv/homeassistant/lib/python3.5/site-packages/pip/commands/install.py”, line 360, in run
prefix=options.prefix_path,
File “/srv/homeassistant/lib/python3.5/site-packages/pip/req/req_set.py”, line 784, in install
**kwargs
File “/srv/homeassistant/lib/python3.5/site-packages/pip/req/req_install.py”, line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File “/srv/homeassistant/lib/python3.5/site-packages/pip/req/req_install.py”, line 1064, in move_wheel_files
isolated=self.isolated,
File “/srv/homeassistant/lib/python3.5/site-packages/pip/wheel.py”, line 345, in move_wheel_files
clobber(source, lib_dir, True)
File “/srv/homeassistant/lib/python3.5/site-packages/pip/wheel.py”, line 316, in clobber
ensure_dir(destdir)
File “/srv/homeassistant/lib/python3.5/site-packages/pip/utils/init.py”, line 83, in ensure_dir
os.makedirs(path)
File “/usr/lib/python3.5/os.py”, line 241, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Keine Berechtigung: ‘/srv/homeassistant/lib/python3.5/site-packages/pyhomematic-0.1.44.dist-info’

Setup of config is taking over 10 seconds.


Ich verstehe nur nicht, welche Berechtigung da fehlen soll?
Hier die Berechtigungen:

ls -l /srv/homeassistant/
insgesamt 32
drwxr-xr-x 2 homeassistant homeassistant 4096 Jul 17 08:37 bin
drwxr-xr-x 5 homeassistant homeassistant 4096 Sep 24 2017 homeassistant
drwxr-xr-x 2 homeassistant homeassistant 4096 Sep 24 2017 include
drwxr-xr-x 5 homeassistant homeassistant 4096 Jul 17 08:37 lib
-rw-r–r-- 1 homeassistant homeassistant 60 Sep 24 2017 pip-selfcheck.json
-rw-r–r-- 1 homeassistant homeassistant 97 Jul 17 08:51 pyvenv.cfg
drwxr-xr-x 4 homeassistant homeassistant 4096 Jul 17 08:37 share
drwxr-xr-x 5 homeassistant homeassistant 4096 Sep 24 2017 venv

und das /lib Verzeichnis:

ls -l /srv/homeassistant/lib/
insgesamt 12
drwxrwxr-x 3 homeassistant homeassistant 4096 Sep 24 2017 python3.4
drwxrwxr-x 3 homeassistant homeassistant 4096 Jul 17 08:37 python3.5
drwxrwxr-x 2 homeassistant homeassistant 4096 Sep 24 2017 python-wheels

Ich denke hier ist der “Hund” begraben.
Wenn das nicht geklärt werden kann, nehme ich das hassIO :wink:

LG

//EDIT
Ich habe nun das Berechtigungsproblem gelöst.
Ein “sudo chmod -R o+w” hat das gelöst.

Jetzt alles gut, bis auf das, dass die HomeMatic nicht auf der WebUI angezeigt wird.
Bin ich da komplett auf dem falschen Dampfer? :smiley:

//EDIT_2

Es läuft nun alles!
Für mich ist das Thema jetzt gelöst :slight_smile:

VIELEN LIEBEN DANK für Deine Unterstützung :slight_smile: @danielperna84

LG

Freut mich, dass es nun läuft. Von den Fehlermeldungen her sieht es für mich aber tatsächlich nach einem virtualenv Problem aus. Vor dem Start oder Update von Home Assistant müsstest du vermutlich source /srv/homeassistant/bin/activate ausführen. Dann hätte es die Berechtigungsprobleme wahrscheinlich nicht gegeben. Und so funktioniert dann wahrscheinlich auch das config-Check script. Allerdings wird es dann wohl auf Fehler stoßen, weil das Home Assistant Update dann vermutlich auch außerhalb des virtualenvs passiert ist. Aber gut, Hauptsache es funktioniert erst mal. :slightly_smiling_face:

1 Like