Modul 48_SST zum Einbinden von Samsung SmartThings

Begonnen von pasp, 25 August 2020, 19:39:47

Vorheriges Thema - Nächstes Thema

Dr. Ulfi

#120
Mit Interesse habe ich diesen Thread gelesen....

Als erstes möchte ich meine beiden SmartThings Switches steuern.
Hier das Ergebnis von get device_list.

Zitat------ send below text to developer ------

$VAR1 = {
  "_links" => {},
  "items" => [
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "switch",
              "version" => 1
            },
            {
              "id" => "refresh",
              "version" => 1
            },
            {
              "id" => "healthCheck",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Switch"
            }
          ],
          "id" => "main"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "label" => "Luftentfeuchter",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "c2c-switch",
      "presentationId" => "SmartThings-smartthings-c2c-switch",
      "profile" => {
        "id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      },
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "VIPER",
      "viper" => {
        "manufacturerName" => "Meross",
        "modelName" => "mss310",
        "uniqueIdentifier" => "1912241474197525188148e1e9147d99"
      }
    },
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "switch",
              "version" => 1
            },
            {
              "id" => "refresh",
              "version" => 1
            },
            {
              "id" => "healthCheck",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Switch"
            }
          ],
          "id" => "main"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "label" => "Lampe",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "c2c-switch",
      "presentationId" => "SmartThings-smartthings-c2c-switch",
      "profile" => {
        "id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      },
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "VIPER",
      "viper" => {
        "manufacturerName" => "Meross",
        "modelName" => "mss310",
        "uniqueIdentifier" => "1912240337206125188148e1e9146821"
      }
    }
  ]
};

------ send above text to developer ------

Device-ID - Name

ec19898f-0555-46e6-9ed9-f19576816933 - c2c-switch

f57480b2-1d83-4ec4-8c75-eb6d6ce5af39 - c2c-switch

Ein paar Attribute musste ich für den switch noch manuell setzen:

Attributes:
   IODev      SamsungSmartThingsConnector
   cmdIcon    on:rc_BLANK off:rc_BLANK2
   devStateIcon on:ios-on-green:off off:ios-off:on
   eventMap   /switch on:on/switch off:off/
   icon       unknown
   interval   300
   setList    switch:on,off
   stateFormat switch


Ergänzung:

Dies erscheint noch im Logfile, warum auch immer:

2020.10.28 21:29:35 3: SST (SST_Meross): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
Raspi
CUBE/CUNO a-culfw, Signalduino 433Mhz, Sonoff/Tasmota, EnOceanPI, Meross Smart Plug (IFTTT), ESP8266 Projekte,
MAX!-Heizungssteuerung, Intertechno IT-1500-Steckdosen, Velux KLF200 mit Somfy io

pasp

#121
@felskrone

Irgendwie werde ich nicht so richtig schlau aus den Daten, die ich aus der Cloud erhalte.

Die App scheint ja zwischen offline und ausgeschaltet zu unterscheiden. Mal abgesehen davon, daß ich bei offline eher mit gar keiner Antwort (weil ja nicht erreichbar) rechnen würde, sehe ich da in den Cloud Antworten keine Unterschiede.
Die Zustände Kunstmodus und HDMI4 sind zueinander ebennfalls identisch und unterscheiden zu ausgeschaltet nur durch das zu erwartende off. ???

Du sagst ja, daß Du nur über HDMI4 Daten empfängst - schließt das den Kunstmodus mit ein, oder woher kommen da die Daten?

Ich denke, daß Deine setList um folgende Dinge erweitert werden könnte:

inputSource:digitalTv,HDMI4
soundMode:Standard:Optimiert:Verstärken
volume:0,5,10,15,20,25,30,35,40,45,50,60,70,80,90,100
mute:unmuted,muted
playbackStatus:play,pause,stop,fastForward,rewind
tvChannel

Ich vermute mal, daß tvChannel den internen Receiver anspricht. Wenn der bei Dir nicht angeschlossen/eingerichtet/verfügbar ist, ist fraglich, ob sich da was tut. Müsste meiner Meinung nach jedenfalls ein numerischer Wert sein.
Wenn Du die Funktionalität bitte verifizieren könntest, bevor ich das so mittelfest vordefiniere? :)
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

poiuztr123

Zitat
Zitat von: poiuztr123 am 24 Oktober 2020, 16:53:42

    Mir ist ausserdem aufgefallen, dass ich auf einmal Fehlermeldungen im fhem Logfile von der dewpoint funktion hatte, die ich an anderer Stelle verwende.
    Code: [Auswählen]

    2020.10.24 16:42:35 1: dewpoint_notify: humidity device Klima_Buero (humidity) invalid: 0


    Grund scheint zu sein, dass der Wert humidity auf 0 in den SST devices gesetzt werden, wenn das Gerät ausgeschaltet wird. Alle anderen Werte temperature, coolingsetpoint etc. behalten ihre alten Werte. Gibt es einen Weg, dass das device seinen Wert für humidity behält, wenn das Innengerät ausgeschaltet wird?


Ich bin hier etwas zwiegespalten.

Einerseits sehe ich SST primär als Übermittler von Daten in beide Richtungen:
- Wenn die Cloud Käse liefert, zeigt Fhem dann eben Käse an.
- Wenn man in FHEM Käse einstellt, wird Käse an die Cloud geliefert.

Genau da liegt aber der Hund begraben.

Beim Setzen von z.B. Temperaturen kann ich nicht grundsätzlich feststellen, welche Werte sinnvoll sind (Kühlschrank, Gefrierschrank, Klimaanlage, Waschmaschine, ...), weshalb ich diese Entscheidung der Cloud überlassen muß. In manchen Fällen (Einzelwerte bei Waschmaschinen, Wertebereiche bei Klimaanlagen) bekomme ich hier Datensets aus der Cloud, die ich dann versuchen kann einzubauen. Aber eben nicht immer (Kühlschrank, Gefrierschrank).

Andererseits kann ja über readings_map jeder bekannte Originalwert durch einen relativ beliebigen Text (keine Leerzeichen, keine Kommata, keine Doppelpunkte) ersetzt werden.

Ich fände es aber seltsam, Werte aus der Cloud nur unter bestimmten Bedingungen zu übernehmen. Ich weiß auch nicht, ob man damit mehr Fehler/Irritationen erzeugen, als verhindern würde.

@all: Wie ist Eure Meinung hierzu? ich lasse mich ja gerne überzeugen.

@poiuztr123: Wäre es nicht möglich hier eine Überprüfung in dein dewpoint_notify einzubauen, ob das Gerät zZt überhaupt an/funktionabel ist?

Habe mich nochmal mit der Fehlermeldung im Zusammenhang mit 98_dewpoint.m beschäftigt. Wenn die Klimaanlage ausgeschaltet ist, meldet die Samsung-Cloud anscheinend für humidity null zurück, während z.B. temperature seinen Wert behält. Das dewpoint Modul wirft dann eine Fehlermeldung aus, da es den Taupunkt nicht berechnen kann. In einem anderen Thread (https://forum.fhem.de/index.php?topic=42867.0) wurde darüber in einem anderen Zusammenhang schon gesprochen.

In folgender Zeile wird der Loglevel in 98_dewpoint.m gesetzt:

Log3($hashName, 1, "dewpoint_notify: humidity device $devName ($hum_name) invalid: $humidity");


Ich habe ihn für mich jetzt von 1 auf 3 gesetzt und damit das Problem gelöst.

@pasp: Ich gebe dir recht, dass dein Modul nicht dafür zuständig ist Werte aus der Cloud abzuändern, damit andere Module besser funktionieren.

Dr. Ulfi

ZitatDies erscheint noch im Logfile, warum auch immer:

2020.10.28 21:29:35 3: SST (SST_Meross): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH

Gibt es hierzu schon eine Idee?
Sonst scheint alles zu funktionieren.

Tolle Arbeit
Raspi
CUBE/CUNO a-culfw, Signalduino 433Mhz, Sonoff/Tasmota, EnOceanPI, Meross Smart Plug (IFTTT), ESP8266 Projekte,
MAX!-Heizungssteuerung, Intertechno IT-1500-Steckdosen, Velux KLF200 mit Somfy io

pasp

Neue Version 0.7.23


  • neuen Gerätetyp switch mit einigen Defaultwerten hinzugefügt
  • bei Gerätetypen mit an/aus Schalter neue Defaults für devStateIcon und cmdIcon
  • neues Attribut readings_map_class zZt nur zur Unterscheidung verschiedener Waschmaschinen
    Notwendig ist das durch identische "übersetzte" Werte in Bezug auf die Table/Course Namen.
    Das Attribut muß hierzu einmalig manuell gesetzt werden (vielleicht bastel ich da noch was...)
  • neue get option x_default zum Setzen einzelner oder aller Defaults
    Hierdurch sollte sich zumindest in einigen Fällen eine komplette Neuanlage von Geräten bei Updates des Moduls erübrigen.
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

Zitat von: Dr. Ulfi am 28 Oktober 2020, 20:04:24
Ein paar Attribute musste ich für den switch noch manuell setzen:

Attributes:
   IODev      SamsungSmartThingsConnector
   cmdIcon    on:rc_BLANK off:rc_BLANK2
   devStateIcon on:ios-on-green:off off:ios-off:on
   eventMap   /switch on:on/switch off:off/
   icon       unknown
   interval   300
   setList    switch:on,off
   stateFormat switch

Ich hab da mal ein paar Defaults übernommen. :)

Zitat von: Dr. Ulfi am 28 Oktober 2020, 20:04:24
Ergänzung:

Dies erscheint noch im Logfile, warum auch immer:

2020.10.28 21:29:35 3: SST (SST_Meross): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
Da scheinen sich irgendwelche neuen Readiings zu verstecken. Dazu bräuchte ich bitte die Ausgabe von
attr SST_Meross verbose 5
get SST_Meross status

Und hernach wieder
attr SST_Meross verbose 3
damit das Log nicht komplett zugemüllt wird.

Zitat von: Dr. Ulfi am 30 Oktober 2020, 20:27:31
Sonst scheint alles zu funktionieren.

Tolle Arbeit
Freut mich, danke :)
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

Zitat von: poiuztr123 am 29 Oktober 2020, 10:52:01
@pasp: Ich gebe dir recht, dass dein Modul nicht dafür zuständig ist Werte aus der Cloud abzuändern, damit andere Module besser funktionieren.
Dann hake ich das Thema für mich mal ab :)
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

Dr. Ulfi

Zitatattr SST_Meross verbose 5
get SST_Meross status

Hier die Loginformationen:

: get SST device_list
Device-ID - Name - Autocreation Status

11ec5c2e-c81b-4468-b610-adeb20dfa9ac - c2c-switchcannot determine device type from name (c2c-switch) or deviceTypeName (). - newly created as SST_adeb20dfa9ac


: get Meross status
$VAR1 = {
  "components" => {
    "main" => {
      "healthCheck" => {
        "DeviceWatch-DeviceStatus" => {
          "data" => {},
          "timestamp" => "2020-10-31T07:02:52.651+0000",
          "value" => "online"
        },
        "DeviceWatch-Enroll" => {
          "timestamp" => "2020-10-31T07:23:03.244+0000",
          "value" => undef
        },
        "checkInterval" => {
          "data" => {
            "deviceScheme" => "UNTRACKED",
            "protocol" => "cloud"
          },
          "timestamp" => "2020-10-31T07:02:51.929+0000",
          "unit" => "s",
          "value" => 60
        },
        "healthStatus" => {
          "data" => {},
          "timestamp" => "2020-10-31T07:28:03.485+0000",
          "value" => undef
        }
      },
      "refresh" => {},
      "switch" => {
        "switch" => {
          "timestamp" => "2020-10-31T07:11:48.760+0000",
          "value" => "on"
        }
      }
    }
  }
};


Auszug aus dem LogFile mit verbose 5
2020.10.31 08:43:33 2: SST (SamsungSmartThingsConnector): get device_list - cannot determine device type from name (c2c-switch) or deviceTypeName ().
2020.10.31 08:43:33 3: SST (SamsungSmartThingsConnector): get device_list - automatically adding device SST_adeb20dfa9ac as unknown
2020.10.31 08:43:33 3: SST (SST_adeb20dfa9ac): define - unknown defined as SST_adeb20dfa9ac
2020.10.31 08:47:11 3: SST (SST_adeb20dfa9ac): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
2020.10.31 08:48:24 3: SST (SST_Meross_EG): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
2020.10.31 08:48:26 3: SST (SST_Meross_KG): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
2020.10.31 08:48:26 5: SST (SST_adeb20dfa9ac): get command - received ?
2020.10.31 08:48:33 5: SST (SST_adeb20dfa9ac): reschedule - running command first
2020.10.31 08:48:33 4: SST (SST_adeb20dfa9ac): get status - query cloud service
2020.10.31 08:48:33 5: SST (SST_adeb20dfa9ac): get status - received JSON data
2020.10.31 08:48:33 3: SST (SST_adeb20dfa9ac): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
2020.10.31 08:48:33 5: SST (SST_adeb20dfa9ac): get status - identified disabled components:
$VAR1 = [];

2020.10.31 08:48:33 5: SST (SST_adeb20dfa9ac): get status - identified readings:
$VAR1 = {
  "main_healthCheck_DeviceWatch-DeviceStatus" => "online",
  "main_healthCheck_checkInterval" => 60,
  "main_switch_switch" => "on"
};

2020.10.31 08:48:33 5: SST (SST_adeb20dfa9ac): get status - identified setList options:
$VAR1 = [];

2020.10.31 08:48:33 4: SST (SST_adeb20dfa9ac): reschedule - next update in 300 seconds
2020.10.31 08:48:37 5: SST (SST_adeb20dfa9ac): get command - received status
2020.10.31 08:48:37 4: SST (SST_adeb20dfa9ac): get status - query cloud service
2020.10.31 08:48:37 5: SST (SST_adeb20dfa9ac): get status - received JSON data
2020.10.31 08:48:37 3: SST (SST_adeb20dfa9ac): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
2020.10.31 08:48:37 5: SST (SST_adeb20dfa9ac): get status - identified disabled components:
$VAR1 = [];

2020.10.31 08:48:37 5: SST (SST_adeb20dfa9ac): get status - identified readings:
$VAR1 = {
  "main_healthCheck_DeviceWatch-DeviceStatus" => "online",
  "main_healthCheck_checkInterval" => 60,
  "main_switch_switch" => "on"
};

2020.10.31 08:48:37 5: SST (SST_adeb20dfa9ac): get status - identified setList options:
$VAR1 = [];


Weiterhin habe ich noch einige Warnungen gefunden:
2020.10.31 08:38:25 1: PERL WARNING: Reference found where even-sized list expected at ./FHEM/48_SST.pm line 758.
2020.10.31 08:43:33 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/48_SST.pm line 655.
2020.10.31 08:43:33 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/48_SST.pm line 657.
2020.10.31 08:43:33 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/48_SST.pm line 659.
2020.10.31 08:43:33 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/48_SST.pm line 662.
2020.10.31 08:43:33 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/48_SST.pm line 663.


Ich hoffe dies hilft dir weiter das Modul weiter zu verbessern. Hier noch das Listing nach dem autocreate:
Internals:
   CFGFN     
   DEF        unknown IO=SamsungSmartThingsConnector
   FUUID      5f9d15a5-f33f-8ee8-6fc6-fafbb25e004a5370
   NAME       SST_adeb20dfa9ac
   NR         463
   NTFY_ORDER 50-SST_adeb20dfa9ac
   STATE      ???
   TYPE       SST
   name       SST_adeb20dfa9ac
   READINGS:
     2020-10-31 09:38:33   DeviceWatch-DeviceStatus online
     2020-10-31 09:38:33   checkInterval   60
     2020-10-31 09:38:33   switch          on
Attributes:
   IODev      SamsungSmartThingsConnector
   device_id  11ec5c2e-c81b-4468-b610-adeb20dfa9ac
   device_name c2c-switch
   device_type unknown
   icon       unknown
   interval   300
   room       Adapter->SST
   setList    switch:on,off


Raspi
CUBE/CUNO a-culfw, Signalduino 433Mhz, Sonoff/Tasmota, EnOceanPI, Meross Smart Plug (IFTTT), ESP8266 Projekte,
MAX!-Heizungssteuerung, Intertechno IT-1500-Steckdosen, Velux KLF200 mit Somfy io

Dr. Ulfi

Wie groß ist der Aufwand für SST-switches noch die switch spezifischen SET Befehle hinzuzufügen?

ZitatManche Module unterstützen die sog. set extensions, und in der entsprechenden Dokumentation ist ein Link auf diesem Text zu finden. Falls im Modul selber einer der unten aufgeführten Befehle implementiert ist, dann wird die Modul-Implementation verwendet.
on-for-timer <sekunden>
Das Gerät wird per "on" eingeschaltet, und ein interner Zeitgeber wird erstellt, um nach <sekunden> ein "off" Kommando auszuführen. Um diesen Zeitgeber zu entfernen sollte man das Kommando mit dem Argument 0 erneut aufrufen. Achtung: dieser Zeitgeber wird bei einem restart nicht gespeichert.
off-for-timer <sekunden>
siehe on-for-timer.
on-till <timedet>
Das Gerät wird per "on" eingeschaltet, und ein at Instanz wird definiert, um es um <timedet> (Format: HH:MM[:SS]) per off auszuschalten. Diese at Instanz ist sichtbar unter dem Namen geräteName+"_till". Um das Ausschalten zu deaktivieren löscht man diese at Definition. Achtung: das Ein/Ausschalten wird nicht durchgeführt, falls die aktuelle Uhrzeit nach der spezifizierten Zeit ist, um folgende Szenarien zu vereinfachen:
define morningLight at *06:00 set Lamp on-till {sunrise()}
on-till-overnight <timedet>
Wie on-till, aber die aktuelle Uhrzeit wird nicht mit der Spezifizierten verglichen, damit folgendes funktioniert:
define nightLight at *{sunset()} set Lamp on-till-overnight 01:00
off-till <timedet>
siehe on-till.
off-till-overnight <timedet>
siehe on-till-overnight.
blink <anzahl> <blink-periode>
Das Gerät wird mit "on" für die <blink-periode> eingeschaltet, und das wird nach <blink-periode> wiederholt. Um das Blinken vorzeitig zu stoppen spezifiziert man "0 0" als Argument.
intervals <from1>-<till1> <from2>-<till2>...
Das Gerät wird für die spezifizierten Intervalle eingeschaltet. Die einzelnen Intervalle sind Leerzeichen getrennt, und ein Intervall besteht aus zwei Zeitspezifikationen, die mit einem "-" getrennt sind.
toggle
Das Gerät wird mit "on" eingeschaltet, falls STATE "off" ist (oder dim 0), sonst wird es mit "off" ausgeschaltet.
Beispiele:
set switch on-for-timer 12.5
set switch on-till {sunset()}
set switch blink 3 1
set switch intervals 08:00-12:00 13:00-18:00
Raspi
CUBE/CUNO a-culfw, Signalduino 433Mhz, Sonoff/Tasmota, EnOceanPI, Meross Smart Plug (IFTTT), ESP8266 Projekte,
MAX!-Heizungssteuerung, Intertechno IT-1500-Steckdosen, Velux KLF200 mit Somfy io

reinhard@seven-up.at

Hallo Pasp,

Habe bei meiner Klimasplitanlage probiert das Windfree einzustellen. Hab dabei folgende Information ausgegeben bekommen.
Command failed:
ConstraintViolationError: The request is malformed.
Command has results:
{"commands":[{"command":"setAcOptionalMode",
"component":"main",
"arguments":["windfree"],
"capability":"custom.airConditionerOptionalMode"}]}
{"requestId":"XXXXXXXX-C83D-43BC-8760-85XXXXXXXXX4",
"error":{"code":"ConstraintViolationError",
"message":"The request is malformed.",
"details":[{"code":"UnprocessableEntityError",
"target":"commands[0].arguments[0]",
"message":"commands[0].arguments[0]: does not have a value in the enumeration [off,
energySaving,
windFree,
sleep,
windFreeSleep,
speed,
smart,
quiet,
twoStep,
comfort,
dlightCool,
cubePurify,
longWind,
motionIndirect,
motionDirect]",
"details":[]}]}}


Es gibt ja mehrere Optionen noch. Hilft diese Information um diese Optionen möglicherweise freizugeben?


pasp

#130
Zitat von: reinhard@seven-up.at am 01 November 2020, 17:08:47
Command failed:
[...]
"arguments":["windfree"],
[...]
"message":"commands[0].arguments[0]: does not have a value in the enumeration [off,
energySaving,
windFree,
sleep,
[...]

Woher kommt denn Dein windfree? Wurde das durch das Modul selbst gesetzt bzw. in setList hinterlegt?
Im Listing wird ja gezeigt, daß es windFree heißen muß, ich denke, wenn Du das F in setList groß schreibst, sollte es gehen. Bitte um Verifikation.
Aber mir wär's am Liebsten, wenn das Modul das gleich richtig setzte.  :(

Kannst Du mir bitte die Werte von

  • setList
  • setList_hint
, inclusive der Info, was davon manuell gesetzt wurde, schicken?
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

Zitat von: Dr. Ulfi am 31 Oktober 2020, 09:42:46
Hier die Loginformationen:

: get SST device_list
Device-ID - Name - Autocreation Status

11ec5c2e-c81b-4468-b610-adeb20dfa9ac - c2c-switchcannot determine device type from name (c2c-switch) or deviceTypeName (). - newly created as SST_adeb20dfa9ac

Ist das sicher die letzte/aktuelle Version von SST (0.7.23 von 2020-10-30, 22:15)?
Eigentlich sollte er jetzt den Switch erkennen. ???
Bitte ggf. nochmal ein
update all
shutdoen restart

laufen lassen und das Gerät neu erkennen lassen. :)

Zitat von: Dr. Ulfi am 31 Oktober 2020, 09:42:46
: get Meross status
[...]
Auszug aus dem LogFile mit verbose 5
2020.10.31 08:47:11 3: SST (SST_adeb20dfa9ac): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
2020.10.31 08:48:24 3: SST (SST_Meross_EG): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH
2020.10.31 08:48:26 3: SST (SST_Meross_KG): get status - unexpected reading at attribute level: components/main/healthCheck/healthStatus/data of type HASH


Weiterhin habe ich noch einige Warnungen gefunden:
[...]
Danke, mach ich raus.

Zitat von: Dr. Ulfi am 31 Oktober 2020, 10:45:09
Wie groß ist der Aufwand für SST-switches noch die switch spezifischen SET Befehle hinzuzufügen?
Muß ich mir erstmal genau zu Gemüte führen, dürfte aber nicht allzu wild sein.
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

reinhard@seven-up.at

Hallo,

ZitatWoher kommt denn Dein windfree? Wurde das durch das Modul selbst gesetzt bzw. in setList hinterlegt?
Im Listing wird ja gezeigt, daß es windFree heißen muß, ich denke, wenn Du das F in setList groß schreibst, sollte es gehen. Bitte um Verifikation.
Aber mir wär's am Liebsten, wenn das Modul das gleich richtig setzte.  :(

Kannst Du mir bitte die Werte von

    setList
    setList_hint

Das windfree habe ich manuel gesetzt.
Hab den Fehler von mir gefunden.
Habe nun folgenden Befehl gesetzt und dann funktioniert es:
set SST_b0b81b605080 acOptionalMode windFree

Zum Ausschalten
set SST_b0b81b605080 acOptionalMode off

Bei setList_hint schreibt das Programm folgendes heraus:

main_airConditionerFanMode:auto,low,medium,high,turbo
main_airConditionerMode:cool,dry,wind,auto,heat
main_custom.airConditionerOptionalMode:off,windFree

setList
airConditionerMode:cool,dry,wind,auto,heat switch:an,aus coolingSetpoint:16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 fanOscillationMode:all,fixed,horizontal,vertical

Danke für Deine tolle Arbeit ohne diesem Modul hätte ich das nie soweit geschafft.


Dr. Ulfi

ZitatIst das sicher die letzte/aktuelle Version von SST (0.7.23 von 2020-10-30, 22:15)?
Eigentlich sollte er jetzt den Switch erkennen.

Ja, es war schon die aktuellste Version...

2020.11.01 22:49:33 1 :
2020.11.01 22:49:33 1 : Downloading https://raw.githubusercontent.com/PatricSperling/FHEM_SST/master/controls_SST.txt
2020.11.01 22:49:33 1 :
2020.11.01 22:49:33 1 : SST
2020.11.01 22:49:34 1 : nothing to do...
Raspi
CUBE/CUNO a-culfw, Signalduino 433Mhz, Sonoff/Tasmota, EnOceanPI, Meross Smart Plug (IFTTT), ESP8266 Projekte,
MAX!-Heizungssteuerung, Intertechno IT-1500-Steckdosen, Velux KLF200 mit Somfy io

pasp

Zitat von: dogexan am 28 Oktober 2020, 17:46:22
set Waschmaschine washerWaterTemperature 40 ergibt:
[...]
Command failed:
[...]


set Waschmaschine washerWaterTemperature cold funktioniert weiterhin

Das gleiche gilt auch für washerSpinLevel und washerRinseCycles.
Woran liegt das nu wieder? >:(

Zitat von: dogexan am 28 Oktober 2020, 17:46:22
Bei supportedOptions kommt übrigens folgendende Meldung:  Could not identify internal name for value supportedOptions!

z.B. bei set Waschmaschine supportedOptions 1C

Bin mir da aber auch nicht sicher für was diese "supportedOptions" sein sollen. Vielleicht für das Hauptwaschprogramm? Oder hat das was mit dem Fernstart zu tun? Die Fehlermeldung ändert sich aber auch nicht wenn der Fernstart aktiviert wurde an der Waschmaschine :o
Das kommt bei fehlendem Zusammenhang von erkannten Optionen und tatsächlich vorhandenem Reading.
Bei supportedOptions ist das washerCycle.
Allerdings weiß ich gerade beim washerCycle überhaupt nicht, was ich da schicken soll. Den Hex-Wert oder diesen String Table_00_Course_...  ::)

Zitat von: dogexan am 28 Oktober 2020, 17:46:22
get Waschmaschine x_options holt nicht den Inhalt aus setList_hint und vordefiniert so nicht die set Waschmaschine... Befehle.
Ist das noch so gewollt?
Tatsächlich ja, da es sich gezeigt hat, daß die Namen aus setList_hint idR nicht den zu setzenden Readings entsprechen.
Daher gibt es ein hart codiertes Mapping, das mittels x_options eigentlich gesetzt werden sollte.
Das scheint bei Dir nicht zu funktionieren. ???
Bitte schick mir doch mal die (automatisch gesetzten) Werte von setList und setList_hint.

Zitat von: dogexan am 28 Oktober 2020, 17:46:22
Es taucht wieder standardmässig set Waschmaschine switch on/off auf. Dieser Befehl hat meiner Meinung nach bei der Waschmachine nichts verloren. Ein und Ausschalten gibt es nicht
Ist in nächster Version enfernt.
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST