Möhlenhoff Alpha IP Acces Point mit REST-Api auslesen

Begonnen von xerion, 17 November 2019, 14:13:54

Vorheriges Thema - Nächstes Thema

xerion

Hallo zusammen,

ich habe den og. AccesPoint der m.E. zu Homematic Serie gehört. Damit ich die vorhandenen Sensoren und Aktoren in Fhem nutzen kann bin ich auf folgenden Beitrag gestoßen:
https://forum.fhem.de/index.php?topic=83115.0.

Dort kann man mittels Python Skript über einer REST-API Schnittstelle über die Cloud die Werte abfragen.
Die Einrichtung und Erzeugung der Zugnagsdaten hat problemlos geklappt und auch der Abruf der Daten klappt vom Raspi aus ohne Fehler.
Jetzt wollte ich aber das Python Skript in Fhem einbinden und wenn ich das Skript über die Befehlszeile starte bekomme ich folgenden Logeintrag:
ModuleNotFoundError: No module named 'homematicip

Mein Vermutung ist, dass es wohl ein Rechte Problem gibt. Habe dann auch versucht nach besten Wissen und Gewissen die Fhem Rechte zu erteilen und habe vorsichtshalber die Skripte unter /opt/fhem/FHEM/ abgelegt, aber leider erfolglos.

Ein ls -al gibt folgende Werte zurück (habe nur die betroffen Dateien eingefügt)

-rwxr-xr-x  1 fhem root   1592 Nov 16 15:03  api.py

-rwxr-xr-x  1 fhem root    162 Nov 15 22:31  config.ini


Ich hoffe das die Infos für eine grobe Einschätzung des Problem reichen und würde mich über Tipps und Ideen freuen.
Danke.
Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

xerion

Zitat von: amenomade am 17 November 2019, 17:08:03
Was gibtst Du genau in die Befehlezeile ein?
"python3 /opt/fhem/FHEM/api.py"

Gesendet von meinem JSN-L21 mit Tapatalk

Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

amenomade

Was ist api.py? Ich kann das mit der verlinkte Anleitung nicht verknüpfen.

Ein Berechtigungsproblem ist es nicht, zumindest nicht direkt, sonst würde er wegen api.py meckern. Aber was api.py im hinten aufruft...?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

xerion

Zitat von: amenomade am 17 November 2019, 17:24:56
Was ist api.py? Ich kann das mit der verlinkte Anleitung nicht verknüpfen.
Das ist ein Beispiel Skript von der GitHub Seite.
https://github.com/coreGreenberet/homematicip-samples/blob/master/SampleTemplate/empty.py

Gesendet von meinem JSN-L21 mit Tapatalk

Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

xerion

Das hatte ich genommen um erstmal ohne fhem sicher eine Verbindung herstellen zu können. Bevor ich an zwei Stellen suchen muss.

Gesendet von meinem JSN-L21 mit Tapatalk

Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

amenomade

Okay... dann findet er bei "import homematicip" die Quelle nicht.
Wo liegt bei dir das Python-Modul homematicip?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Was sagt
"python3 -c 'import homematicip'"in der Befehlzeile? Vermutlich auch "no module named homematicip"?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

xerion

Ich habe gerade Mal was versucht. Erst hatte ich den Befehl "pip3 Install homematicip" vom Pi aus installiert so wie in der Anleitung beschrieben. Jetzt habe ich den Aufruf nochmal über fhem ausgeführt und jetzt ist der Fehler mir dem fehlenden Modul weg aber dafür kommt jetzt das:

Traceback (most recent call last): File "/opt/fhem/FHEM/api.py", line 8, in <module> home.set_auth_token(config.auth_token) AttributeError: 'NoneType' object has no attribute 'auth_token' Traceback (most recent call last): File "/opt/fhem/FHEM/api.py", line 8, in <module> home.set_auth_token(config.auth_token) AttributeError: 'NoneType' object has no attribute 'auth_token' sh: 1: python3 /opt/fhem/FHEM/api.py: not found sh: 1: python3 /opt/fhem/FHEM/api.py: not found

Gesendet von meinem JSN-L21 mit Tapatalk

Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

amenomade

Naja... es wird schwierig. Jetzt ist er in homematicip, ladet abernicht ordentlich das Submodul home...
Es ist wahrscheinlich die gleiche Ursache: irgendwie mit sys.modules und sys.path verbunden: der User fhem sucht die Sachen nicht an der gleiche Stelle wie der User pi
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

xerion

#10
Zitat von: amenomade am 17 November 2019, 18:00:23
Naja... es wird schwierig. Jetzt ist er in homematicip, ladet abernicht ordentlich das Submodul home...
Es ist wahrscheinlich die gleiche Ursache: irgendwie mit sys.modules und sys.path verbunden: der User fhem sucht die Sachen nicht an der gleiche Stelle wie der User pi
Ja das vermute ich auch. Zu dem Python Skript wird auch noch eine config.ini benötigt, dort stehen die Client ID usw. drin. Die habe ich auch im gleichen Pfad wo das Python Skript liegt. Denn laut der Doku kann es im gleichen Pfad sein aber vielleicht liegt das am fhem Aufruf. Hast du denn eine Idee wo fhem danach suchen könnte?

https://github.com/coreGreenberet/homematicip-rest-api

Gesendet von meinem JSN-L21 mit Tapatalk
Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

amenomade

Was sagt
"python3 -c 'import sys;;print(sys.path)'"
"python3 -c 'import sys;;print(sys.modules)'"
in Befehlzeile?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

xerion

Zitat von: amenomade am 17 November 2019, 18:49:45
Was sagt
"python3 -c 'import sys;;print(sys.path)'"
"python3 -c 'import sys;;print(sys.modules)'"
in Befehlzeile?

Zitat von: amenomade am 17 November 2019, 18:49:45
Was sagt
"python3 -c 'import sys;;print(sys.path)'"
"python3 -c 'import sys;;print(sys.modules)'"
in Befehlzeile?


python3 -c 'import sys;;print(sys.path):
['', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/opt/fhem/.local/lib/python3.7/site-packages', '/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages']


"python3 -c 'import sys;;print(sys.modules)':

{'sys': , 'builtins': , '_frozen_importlib': , '_imp': , '_thread': , '_warnings': , '_weakref': , 'zipimport': , '_frozen_importlib_external': , '_io': , 'marshal': , 'posix': , 'encodings': , 'codecs': , '_codecs': , 'encodings.aliases': , 'encodings.utf_8': , '_signal': , '__main__': , 'encodings.latin_1': , 'io': , 'abc': , '_abc': , '_bootlocale': , '_locale': , 'site': , 'os': , 'stat': , '_stat': , 'posixpath': , 'genericpath': , 'os.path': , '_collections_abc': , '_sitebuiltins': , 'types': , 'importlib': , 'importlib._bootstrap': , 'importlib._bootstrap_external': , 'warnings': , 'importlib.util': , 'importlib.abc': , 'importlib.machinery': , 'contextlib': , 'collections': , 'operator': , '_operator': , 'keyword': , 'heapq': , '_heapq': , 'itertools': , 'reprlib': , '_collections': , 'functools': , '_functools': , 'logilab': , 'mpl_toolkits': , 'sitecustomize': }



Gesendet von meinem JSN-L21 mit Tapatalk

Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

xerion

Ich bin ein Schritt weiter.
Es reicht nicht aus, dass die config.ini im auszuführenden Verzeichnis liegt. Ich habe den nun nach /etc/homematicip-rest-api/ kopiert und bekomme einen Antwort die auch im Fhem Log geschrieben wird. Jetzt muss ich nur versuchen das in einzelne Readings zu packen.
Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.

xerion

Ich kann mein Skript soweit nutzen und auch weiter verarbeiten.
Habe aber jetzt das Problem das fhem während der Ausführung blockiert obwohl ich das mit qx ausführe.

Gesendet von meinem JSN-L21 mit Tapatalk

Wechsel jetzt zu Octopus Energy und bekomme 150,00 € Bonus auf deine Rechnung. Die Anmeldung geht super leicht und schnell, klicke dafür einfach meinen persönlichen Empfehlungslink:
 https://share.octopusenergy.de/loved-heron-220.