Nanoleaf setValue gibt "Exit code : 255"

Hallo,

ich habe auf einen Raspberry Openhabian und Homegear laufen und versuche mit meinem Nanoleaf Aurora zu kommunizieren.

Das Aurora ist mir peer 7 und IP verbunden, ls zeigt:
ID │ Name │ IP Address │ Serial Number │ Type │ Type String │ Firmware │ Config Pending │ Unreach ────────────┼───────────────────────────┼─────────────────┼───────────────┼──────┼───────────────────────────┼──────────┼────────────────┼──────── │ │ │ │ │ │ │ │ 7 │ │ 192.168.1.144 │ NLFAA3DDDE4 │ 0001 │ Aurora │ ? │ No │ No ────────────┴───────────────────────────┴─────────────────┴───────────────┴──────┴───────────────────────────┴──────────┴────────────────┴────────

Ich kann Werte auslesen, z.B. mit:

homegear -e rc 'print_v($hg->getValue(7, 1, BRIGHTNESS));'

Antwort:
(Integer) 33
Exit code: 0

Aber folgendes funktioniert nicht:

homegear -e rc '$hg->setValue(7, 1, BRIGHTNESS, 2);'

hier bekomme ich immer:

Exit code: 255

Folgende Variationen hab ich schon probiert:
homegear -e rc '$hg->setValue(7, 1,STATE, false);'
homegear -e rc '$hg->setValue(7, STATE, false);'
homegear -e rc '$hg->setValue(7, 1, EFFECT, "Rain");'

Immer Exit code : 255

Im homegear.log und homegear.err findet sich nichts dazu, der letzte Eintrag ist:
03/04/18 17:44:57.659 Module Nanoleaf: Added peer 7.

Was ist bei den setValue Befehlen falsch?

Hallo @b3n,

Der Variablenname sollte in Anführungszeichen stehen, z. B.:

homegear -e rc '$hg->setValue(7, 1, "STATE", false);'

Was sagt das homegear-scriptengine.err, dort müsste ein Fehler auftauchen?

Viele Grüße

Sathya

Hallo @sathya,

wow, Support am Sonntag Abend, Respekt!

Auch mit Anführungszeichen um den Variablennamen bekomme ich Exit Code : 255

Die Datei homegear-scriptengine.err ist bei mir leer. Wie könnte ich das noch debuggen?

Danke und viele Grüße,

b3n

Hallo @b3n,

wow, Support am Sonntag Abend, Respekt!

Das Forum ist ja Hobby ;-). Dann einmal bitte Debuglevel 5 (homegear -e dl 5) und den Ausschnitt aus dem Homegear-Log. Dass nichts im Skriptengine-Log steht ist komisch. Steht etwas in der homegear-scriptengine.log?

Viele Grüße

Sathya

Hallo,

danke, das mit dem Debuglevel gibt schon mal mehr Aufschluss! Ich habe mit verschiedenen Versionen des setValue Aufrufs folgende Debug Informationen erhalten:

03/05/18 19:29:16.723 Script Engine Server: Info: Client number 0 is calling RPC method:
setValue
(Integer) 7
(Integer) 1
(String) STATE
(Boolean) 0
03/05/18 19:29:16.723 Script Engine Server: Response: 
(Struct length=2)
{
  [faultCode]
  {
    (Integer) -5
  }
  [faultString]
  {
    (String) Unknown parameter.
  }
}

Egal ob ich die Variable mit oder ohne Anführungszeichen eingebe, single quote oder double quote, groß oder klein, im log erscheint die variable als (String). Weiteres Beispiel:

03/05/18 19:29:16.723 Script Engine Server: Info: Client number 0 is calling RPC method:   
setValue
(Integer) 7
(Integer) 1
(String) BRIGHTNESS
(Integer) 80
03/05/18 19:29:16.723 Script Engine Server: Response: 
(Struct length=2)
{
  [faultCode]
  {
    (Integer) -5
  }
  [faultString]
  {
    (String) Unknown parameter.
  }
}

Ich habe noch alle möglichen Schreibweisen probiert, parameter weggelassen, bis jetzt bekomme ich immer “Unknown parameter” oder:

[faultCode]
  {
    (Integer) -1
  }
  [faultString]
  {
    (String) Type error.
  }
}

Steht etwas in der homegear-scriptengine.log?

Hier sehe ich nur log informationen zu Homematic Geräten, nichts zum Nanoleaf Aurora

Als weitere Information: Mit einem PUT htttp request kann ich das Aurora erfolgreich so ansprechen:

Viele Grüße

Hallo @b3n,

da hat sich ein doofer Fehler eingeschlichen. Ist im nächsten Nightly gefixed.

Danke dir und viele Grüße

Sathya

Hallo @sathya,

super, vielen Dank! Ich kannn bestätigen, dass es nun funktioniert und ich alle Nanoleaf Variablen mit setValue setzen kann!

Danke und viele Grüße,

b3n

2 Likes