[gelöst] Please define first

Begonnen von kimbolero, 02 Dezember 2017, 23:27:25

Vorheriges Thema - Nächstes Thema

kimbolero

Hallo zusammen,

ich bin gerade dabei mit Google Home einige Befehle an FHEM weiterzugeben.
Folgendes habe ich bereits eingerichtet:
1. FHEM von außen erreichbar gemacht (MyFritz-URL & HTTPS auf dem Raspberry)
2. Eigene apiWeb Instanz inkl. allowedWeb mit folgenden Attributen:

define apiWEB FHEMWEB 8088 global
attr apiWEB HTTPS 1
attr apiWEB csrfToken none
attr apiWEB sslVersion TLSv12:!SSLv3
attr apiWEB webname webhook


define allowedApiWEB allowed
attr allowedApiWEB validFor apiWEB

allowedCommands und allowedDevices habe ich mal für die ersten Tests komplett leer gelassen (es handelt sich hierbei nicht um meine produktive FHEM-Umgebung).

Ein Dummy kann ich über folgenden URL Aufruf bereits setzen:
https://Benutzer:Passwort@xxxxxxxxxx.myfritz.net:8088/webhook?cmd=set%20iftt%20an&XHR=1

Lege ich nun einen weiteren Dummy an und möchte diesen ebenfalls über einen URL-Aufruf verändern, dann erhalte ich lediglich die FHEM-Rückmeldung:
Please define first
und es passiert nichts. Im Log ist ebenfalls nichts ersichtlich.

Ich habe diese Frage bereits im untergeordneten Board für Sprachsteuerung gestellt - dort konnte mir leider niemand weiterhelfen - ggf. it die Frage hier besser aufgehoben.
Wo liegt mein Denkfehler?

Grüße, Kimbolero
CUL 868, Jeelink 868 Clone, NanoCUL 868, HM-CC-RT-DN,  max! Fensterkontakte, Zigbee, GoogleAssistant, GHoma Wifi-Steckdosen, Telegram etc.....

Benni

Die Fehlermeldung kommt aus FHEM, d.h. dein Aufruf kommt auf jeden Fall schon mal in FHEM an.

Aber normalerweise müsste die Fehlermeldung doch

Zitat
please define <Gerätename> first

heißen. Und eigentlich sagt die Fehlermeldung dann aus, dass kein Gerät mit dem angegebenen Namen <Gerätename> gefunden wurde, sprich entweder wurde der Dummy gar nicht erst angelegt, oder du hast dich einfach beim Namen vertan (Tippfehler?).

Leider zeigst du uns nur das was geht und nicht das, was nicht funktioniert. Schön wäre hier ein list des 2. Dummy gewesen, so wie der vollständige Aufruf, der die Fehlermeldung erzeugt und dazu die vollständige Fehlermeldung.

gb#

kimbolero

Anbei die beiden Lists für die zwei Dummys:

Funktionierender Dummy:
Internals:
   NAME       iftt
   NR         327
   STATE      an
   TYPE       dummy
   READINGS:
     2017-12-02 23:43:00   state           an


Nicht funktionierender Dummy:
Internals:
   NAME       dummy123
   NR         331
   STATE      hallo
   TYPE       dummy
   READINGS:
     2017-11-25 12:56:34   state           hallo


Der exerne Aufruf für den zweiten Dummy (welcher nicht funktioniert):
https://Benutzer:Passwort@xxxxxxxxxx.myfritz.net:8088//webhook?cmd=set%20dummy123%20Hallo

In der Standard-Instanz (IpAdresse:8083) funktionieren beide Dummys, lediglich über die von außen erreichbare Instanz funktioniert nur ein Dummy. Ich vermute den Fehler somit nicht direkt im Dummy sondern in der neuen Instanz.

Soweit ich es nachstellen konnte, funktioniert lediglich der eine Dummy in der extern erreichbaren FHEM Instanz. Probiere ich beispielsweise einen get Befehl, dann erhalte ich die gleiche Fehlermeldung (Please define first).

Da die Attribute allowedCommands und allowedDevices komplett leer sind, sollte per Default jeder Befehl und jedes Device ansprechbar sein.

Grüße,
Jens
CUL 868, Jeelink 868 Clone, NanoCUL 868, HM-CC-RT-DN,  max! Fensterkontakte, Zigbee, GoogleAssistant, GHoma Wifi-Steckdosen, Telegram etc.....

rudolfkoenig

Die Meldung zeigt an, dass das erste Argument fuer set (Geraetename) ein nicht druckbares Text ist.
Man koennte mit "attr FHEMWEB verbose 5" weitersuchen.

kimbolero

Danke für die Info, folgende Einträge sind im Logfile hinterlegt (mit Einstellung verbose 5):

Dummy, welcher bisher nicht funktioniert:
2017.12.03 13:33:37 4: Connection accepted from apiWEB_<ext_IP-Adresse>_50549
2017.12.03 13:33:37 4: Connection accepted from apiWEB_<ext_IP-Adresse>_50550
2017.12.03 13:33:37 4: apiWEB_<ext_IP-Adresse>_50550 GET /webhook?cmd=set%20dummy123%20HalloJens&XHR=1; BUFLEN:0
2017.12.03 13:33:37 4: authorize apiWEB/cmd/set: allowedApiWEB returned dont care
2017.12.03 13:33:37 4: authorize apiWEB/cmd/set: allowed_apiWEB returned dont care
2017.12.03 13:33:37 4: authorize apiWEB/devicename/dummy123: allowedApiWEB returned dont care
2017.12.03 13:33:37 4: authorize apiWEB/devicename/dummy123: allowed_apiWEB returned prohibited
2017.12.03 13:33:37 4: apiWEB: /webhook?cmd=set%20dummy123%20HalloJens&XHR=1 / RL:41 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2017.12.03 13:33:42 4: Connection closed for apiWEB_<ext_IP-Adresse>_50549: EOF


Dummy welcher funktioniert:
2017.12.03 13:35:47 4: Connection closed for apiWEB_<ext_IP-Adresse>_50565: EOF
2017.12.03 13:36:30 4: apiWEB_<ext_IP-Adresse>_50566 GET /webhook?cmd=set%20iftt%20an&XHR=1; BUFLEN:0
2017.12.03 13:36:30 4: authorize apiWEB/cmd/set: allowedApiWEB returned dont care
2017.12.03 13:36:30 4: authorize apiWEB/cmd/set: allowed_apiWEB returned dont care
2017.12.03 13:36:30 4: authorize apiWEB/devicename/iftt: allowedApiWEB returned dont care
2017.12.03 13:36:30 4: authorize apiWEB/devicename/iftt: allowed_apiWEB returned dont care
2017.12.03 13:36:30 3: NanoCUL433 IT_set: Drucker on
2017.12.03 13:36:30 4: apiWEB: /webhook?cmd=set%20iftt%20an&XHR=1 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2017.12.03 13:36:30 4: Connection accepted from apiWEB_<ext_IP-Adresse>_50573



Komischerweise ist der nicht funktionierende Dummy "prohibited"....
CUL 868, Jeelink 868 Clone, NanoCUL 868, HM-CC-RT-DN,  max! Fensterkontakte, Zigbee, GoogleAssistant, GHoma Wifi-Steckdosen, Telegram etc.....

kimbolero

Problem ist gelöst - habe mir eben mal die fhem.cfg im Editor im Detail angeschaut:

attr allowed_apiWEB allowedCommands get,set
attr allowed_apiWEB allowedDevices iftt

Dies beiden Attribute waren hinterlegt - was eigentlich nicht sein kann, da mir in der GUI diese nicht angezeigt wurden - hatte ich vor einigen Tagen jeweils komplett gelöscht.
Habe nun die beiden Attribute manuell aus der fhem.cfg gelöscht und FHEM neu gestartet - siehe da, es funktioniert!

Installiert ist Version 5.8.

CUL 868, Jeelink 868 Clone, NanoCUL 868, HM-CC-RT-DN,  max! Fensterkontakte, Zigbee, GoogleAssistant, GHoma Wifi-Steckdosen, Telegram etc.....