(gelöst) [alexa-fhem] Fantasiewerte wenn widgetOverride gesetzt ist

Begonnen von betateilchen, 01 November 2020, 16:43:05

Vorheriges Thema - Nächstes Thema

amenomade

fhem.js
    if( match[3] ) {
      var values = match[3].split(',');
      if( match[3].match(/slider/ ) ) {
        this.mappings.TargetTemperature.minValue = parseFloat(values[0]);
        this.mappings.TargetTemperature.maxValue = parseFloat(values[2]);
        this.mappings.TargetTemperature.minStep = values[1];
      } else {
        this.mappings.TargetTemperature.minValue = parseFloat(values[0]);
        this.mappings.TargetTemperature.maxValue = parseFloat(values[values.length-1]);
        this.mappings.TargetTemperature.minStep = values[1] - values[0];
      }
    }

Jetzt verstehe ich nicht ganz, warum er anscheinend  trotz "slider" den "else" Zweig nimmt... Und der Code hat sich seit Juni nicht geändert.

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

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

amenomade

Vom nodejs package https://www.npmjs.com/package/alexa-fhem
Dort ist Repository = https://github.com/justme-1968/alexa-fhem

fhem.js: https://github.com/justme-1968/alexa-fhem/blob/master/lib/fhem.js

EDIT: Lokal wird es nw. in /usr/local/lib/node_modules/alexa-fhem/lib installiert
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Nächster Test:

Ich habe das Attribut widgetOverride wieder genau wie vorher in das device eingetragen.
Das Setzen der Temperatur über alexa funktionierte danach trotzdem noch.

Und zwar genau bis zum nächsten FHEM Neustart... danach wieder das gleiche Problem wie eingangs beschrieben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

amenomade

Eigentlich ist es ein Bug in fhem.js
Ich habe das gleiche Pb wie Du mit widgetOverride slider, und kein Pb ohne

An der schon erwähnten Stelle (Zeile 2488), statt:
      if( match[3].match(/slider/ ) ) {

sollte es
      if( match[2].match(/slider/ ) ) {

sein, weil
- match[2] = slider,19,.5,24,1
- match[3] = 19,.5,24,1

Ich habe es mit inkl. widgetOverride bei mir getestet, und somit werden minValue & Co ordentlich gesetzt.


Ob das Nebeneffekte haben kann, bin ich nicht 100% sicher, aber Andre sollte es sich anschauen.

Das Setzen des Widgetoverrides wird erst wirksam wenn Du ein "set alexaDevice restart|reload" machst.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

justme1968

danke. ich habe es eben eingecheckt.

der fehler war schon immer (d.h. seit der ersten version mit thermostat support) drin. ist aber noch nie aufgefallen da scheinbar die meisten die drop-down variante verwenden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

#22
Eben habe ich ein update von alexa-fhem gemacht, das Problem scheint gelöst zu sein. Danke für die Hilfestellungen!

Gibt es eigentlich ein debian Paket von npm, mit dem die Warnungen nicht mehr auftreten?
Die Warnungen waren mir neulich auch schon bei der Neuinstallation von RaspiOS (Debian 10.6) aufgefallen.

ii  npm                               5.8.0+ds6-4+deb10u2                 all          package manager for Node.js


npm WARN npm npm does not support Node.js v10.21.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
/usr/local/bin/alexa-fhem -> /usr/local/lib/node_modules/alexa-fhem/bin/alexa
+ alexa-fhem@0.5.57
updated 1 package in 8.388s





EDIT:

ein npm install npm@latest -g hat die Warnungen beseitigt.


# npm --version
6.14.8

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!