DerMitch / fritzbox-smarthome

Client library for querying and controling AVM SmartHome Actors

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Actor not found

Mc-Raw opened this issue · comments

Hallo

Irgendwie scheint bei den Schaltbefehlen was nicht richtig hinzuhauen. Wenn ich mir die Steckdosen anzeigen lasse werden diese zwar gefunden und auch der Energieverbrauch angezeigt,aber sobald ich die Steckdose schalten will bekomme ich immer "Actor not found: 087*********" ausgegeben.

Actors
(fritzenv) kodi@TV-Box:~$ fritzhome --password ****** actors

Steckdose Sat-Ip (AVM FRITZ!DECT 200; AIN 087** ********)

(fritzenv) kodi@TV-Box:~$

Schalten
(fritzenv) kodi@TV-Box:~$ fritzhome --password ******** switch-on 087*********
Actor not found: 087***********
(fritzenv) kodi@TV-Box:~$

Hast Du bereits Firmware 06.50 (neue UI)? Damit ist die Library bisher noch nicht getestet, vielleicht hat AVM etwas an deren APIs umgebaut - die ist leider ziemlich schlecht dokumentiert :/

Ja ,hab gerade auf 06.51 geupdated weil das Kodi Plugin für die Steckdosen was ich nutze auf Version 06.01 Probleme gemacht hat und mir der Entwickler sagte das ich mindestens 06.35 benötige.... Bis zu welcher Version läuft das Script denn maximal, dann würde ich wieder downgraden?

Ich habs damals für 6.23 entwickelt (ja, ist schon älter) und schon eine Weile selbst nicht mehr im Einsatz. Laut der AVM-Dokumentation wurde in der 6.50+ nur die SID erzwungen, aber die schickt die Library eh schon mit.

Vor dem Wochenende werde ich wahrscheinlich nicht dazu kommen, mir das anzuschauen.

Wie gesagt das Abrufen der Actoren und das Auslesen des Energieverbrauch funktioniert ja auch ,dafür wird die SID normal ja auch gebraucht (ohne Passwort im Befehl klappts nämlich nicht).

Ich denke ich habe den Fehler: In der AIN ist ein Leerzeichen, das Du beim Steuern mit angeben musst. Dazu einfach die AIN in Anführungszeichen anhängen:

python -m fritzhome --host 192.168.2.1 switch-on "00000 0000000"

Löst das dein Problem?

Ja,super, jetzt läufts!

Mal so nebenbei.. Kann man das ganze eigentlich auch ohne die virtualenv starten,ich würde nämlich gerne per autostart über die /etc/rc.local eine Steckdose schalten..wenn ich die fritzhome datei so ausführe fehlen dateien

fritzenv/bin$ python fritzhome

Traceback (most recent call last):
  File "fritzhome", line 7, in <module>
    from fritzhome.__main__ import cli
ImportError: No module named fritzhome.__main__

Du kannst das virtualenv-Python direkt über seinen absoluten Pfad ansprechen, dann brauchst du das activate-Skript nicht.

/home/mitch/venv/bin/python -m fritzhome

Beziehungsweise, wenn das Modul über pip installiert wurde:

/home/mitch/venv/bin/fritzhome

Falls Du die Version ausm git nimmst, kannst du diese auch per pip installieren:

. venv/bin/activate
cd fritzbox-smarthome
pip install --editable .