Modul 48_SST zum Einbinden von Samsung SmartThings

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

Vorheriges Thema - Nächstes Thema

pasp

#135
Neue Version 0.7.24

Änderungen zur vorherigen Version:

  • Switch bei Waschmaschinen entfernt
  • Readings Identifikation bis in 6. Hash-Ebene erweitert
  • Diverse Perl Warnings beseitigt
  • Switch (Gerät) Identifikation repariert

noch offene, gemeldete Bugs/Wünsche:

  • saubere Unterstützung von fanMode bei Klimageräten
  • Setzen von erweiterten Befehlen (option-Comode, option-Light bei z.B. Klimageräten)
  • saubere Unterstützung des Programms bei Waschmaschinen (washerCycle)
  • bessere Unterstützung von TV Geräten
  • Unterstützung der set extensions
  • in FHEMWEB werden die Readings erst nach einem Reload angezeigt
    Analyse ausstehend, da nicht immer reproduzierbar
  • Setzen der Temperatur bei Kühlschrank/Gefrierschrank funktioniert nicht
    Das primäre Problem ist, daß die Cloud eine positive Rückmeldung gibt, offensichtlich den Wert aber nicht setzt.
    Das Problem dürfte daher bei Samsung in der SmartThings Cloud liegen.
  • get ... device_list liefert keine Geräte / get ... status liefert eine leere Antwort aus der Cloud
    Dieses Problem tritt derzeit nur bei einem einigen Nutzer auf. Die Gründe hierfür sind noch unklar
Sollte ich hier einen Punkt vergessen haben aufzuführen, bitte um kurze Info.

Bitte neue Probleme soweit möglich hier im Thread melden.
Die Anleitung findet sich im ersten Post unter dem Punkt Melden neuer Geräte/Probleme.

Viel Spaß und vor Allem Erfolg beim Testen :)
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

Zitat von: Dr. Ulfi am 01 November 2020, 22:53:15
Ja, es war schon die aktuellste Version...
Jetzt nicht mehr ;)
Sollte jetzt gelöst sein.
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

Könnte mir bitte einer der Waschmaschinennutzer (Lese-)Zugriff auf sein Gerät geben?
Das würde das debuggen deutlich vereinfachen.

Ach ja: bitte keine Token ins Forum senden ;)
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

dogexan

Zitat von: pasp am 02 November 2020, 16:52:51
Bitte schick mir doch mal die (automatisch gesetzten) Werte von setList und setList_hint.


setList_hint


main_custom.supportedOptions:1C,1B,1E,1D,1F,25,26,33,24,32,20,22,23,2F,21,2A,2E,2D,30,27,28,29
main_custom.washerRinseCycles:0,1,2,3,4,5
main_custom.washerSpinLevel:rinseHold,noSpin,400,800,1000,1200,1400
main_custom.washerWaterTemperature:none,cold,20,30,40,60,90


setList bleibt leer (nach get ... x_options) siehe auch Screenshot im Anhang

Zitat von: pasp am 02 November 2020, 17:49:55
Neue Version 0.7.24
...
  • Switch bei Waschmaschinen entfernt
...

Der set switch Teil ist nun raus  ;)

Zitat von: pasp am 02 November 2020, 18:08:36
Könnte mir bitte einer der Waschmaschinennutzer (Lese-)Zugriff auf sein Gerät geben?
Das würde das debuggen deutlich vereinfachen.

Ach ja: bitte keine Token ins Forum senden ;)
Ich schick dir einen Token per PM.

Gruß Alex

Dr. Ulfi

Zitat von: pasp am 02 November 2020, 17:56:57
Jetzt nicht mehr ;)
Sollte jetzt gelöst sein.

:) Ist es. Jetzt wird das Switch erkannt, wunderbar  :)

Überlege dir mal, ob du das Attribut setList noch mit aufnehmen willst.

attr SST_Meross_Test setList switch:on,off

Danke für deine 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

Zitat von: Dr. Ulfi am 03 November 2020, 23:34:11
Überlege dir mal, ob du das Attribut setList noch mit aufnehmen willst.

attr SST_Meross_Test setList switch:on,off
Ahem...  :-[
Da hab ich wohl nen Fehler bei der Entfernung für Waschmaschinen gemacht.  :D
Is bei der nächsten Version wieder drin.
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

holsteiner-kiel

#141
Mal ne abgefahrene Frage. Ich habe neu de Switchbot Curtains. Das sind im Prinzip Gondeln, die an ner Gardinenstange hängen und die Vorhänge smart machen. Sind sehr zu empfehlen und aktuell leider nicht durch FHEM steuerbar. Aber sie sind SmartThings kompatibel... Sind jetzt natürlich ziemliche 3rdParty Devices. Von Alexa und co werden sie als Jalousie "gehändelt". Ich bekomme sie über deinen Connector in FHEM rein, kann aber nicht steuern. Er erkennt auch den Öffnungszustand (open oder close). Steuern kann man leider nicht. Ist es geplant, sowas zu unterstützen? Kann ich irgendwelche Infos liefern? Viele Grüße und Danke für deine bereits geleistete Arbeit! Meine Waschmaschine rennt wie ne 1 ;-)
Hier noch die Ausgabe von get status
$VAR1 = {
  "components" => {
    "main" => {
      "healthCheck" => {
        "DeviceWatch-DeviceStatus" => {
          "data" => {},
          "timestamp" => "2020-11-21T15:50:00.417+0000",
          "value" => "online"
        },
        "DeviceWatch-Enroll" => {
          "timestamp" => "2020-11-21T15:50:02.144+0000",
          "value" => undef
        },
        "checkInterval" => {
          "data" => {
            "deviceScheme" => "UNTRACKED",
            "protocol" => "cloud"
          },
          "timestamp" => "2020-11-21T15:50:00.156+0000",
          "unit" => "s",
          "value" => 60
        },
        "healthStatus" => {
          "data" => {},
          "timestamp" => "2020-11-21T17:20:15.407+0000",
          "value" => undef
        }
      },
      "refresh" => {},
      "switchLevel" => {
        "level" => {
          "timestamp" => "2020-11-21T17:33:16.422+0000",
          "unit" => "%",
          "value" => 0
        }
      },
      "windowShade" => {
        "supportedWindowShadeCommands" => {
          "timestamp" => "2020-11-21T15:50:02.125+0000",
          "value" => undef
        },
        "windowShade" => {
          "timestamp" => "2020-11-21T17:33:16.422+0000",
          "value" => "closed"
        }
      }
    }
  }
};

pasp

Zitat von: holsteiner-kiel am 21 November 2020, 18:22:52
Mal ne abgefahrene Frage. Ich habe neu de Switchbot Curtains. Das sind im Prinzip Gondeln, die an ner Gardinenstange hängen und die Vorhänge smart machen. Sind sehr zu empfehlen und aktuell leider nicht durch FHEM steuerbar. Aber sie sind SmartThings kompatibel... Sind jetzt natürlich ziemliche 3rdParty Devices. Von Alexa und co werden sie als Jalousie "gehändelt". Ich bekomme sie über deinen Connector in FHEM rein, kann aber nicht steuern. Er erkennt auch den Öffnungszustand (open oder close). Steuern kann man leider nicht.
Sind die denn über SmartThings steuerbar?
Identifizieren sie sich in SmartThings auch als Jalousie?
Sind beide Geräte zu einem Fenster gekoppelt und wenn ja, in SmartThings oder der SwitchBot Cloud?

Zitat von: holsteiner-kiel am 21 November 2020, 18:22:52
Ist es geplant, sowas zu unterstützen?
Schau 'mer mal ;)

Zitat von: holsteiner-kiel am 21 November 2020, 18:22:52
Hier noch die Ausgabe von get status
$VAR1 = {
  "components" => {
    "main" => {
[...]
      "switchLevel" => {
        "level" => {
          "timestamp" => "2020-11-21T17:33:16.422+0000",
          "unit" => "%",
          "value" => 0
        }
      },
[...]
      "windowShade" => {
[...]
        "windowShade" => {
          "timestamp" => "2020-11-21T17:33:16.422+0000",
          "value" => "closed"
        }

Ist 0% immer closed, oder kann das ggf zwischen Geräten differieren?
Wird der Wert für level überhaupt geändert?
Wenn überhaupt, dann müsste das m.E. über das Kommando setLevel gehen, das sollte den switchLevel steuern können. Das muß ich dafür aber erstmal hart codieren, kann das aber wenig bis gar nicht testen.
Da würde ich dann keine öffentlichen Pakete für packen wollen, oder ich bau direkt was generisches zum Testen mit ein.
Was ich auf jeden Fall brauche, ist ein
list NameDeinerGondel .R2CCC
und ein
list NameDeinerGondel

Ich bin derzeit leider ein wenig im Zeitdruck, würde Dich dann aber fürs Testen direkt anschreiben.
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

holsteiner-kiel

ZitatSind die denn über SmartThings steuerbar?
Ja das sind sie.
ZitatIdentifizieren sie sich in SmartThings auch als Jalousie?
Ja. Das ist der Fall
ZitatSind beide Geräte zu einem Fenster gekoppelt und wenn ja, in SmartThings oder der SwitchBot Cloud?
Ja es erfolgt eine Kopplung von 2 Geräten zu einer logischen Jalousie. Die Kopplung passiert direkt in der SwitchBot Cloud. SmartThings weiß das nicht und behandelt es als eine Jalousie.
ZitatIst 0% immer closed, oder kann das ggf zwischen Geräten differieren?
Genau. 0% ist closed. 100% ist open. Das ist immer der Fall.
ZitatWird der Wert für level überhaupt geändert?
Ja. Wie eben beschrieben.
ZitatWenn überhaupt, dann müsste das m.E. über das Kommando setLevel gehen, das sollte den switchLevel steuern können. Das muß ich dafür aber erstmal hart codieren, kann das aber wenig bis gar nicht testen.
Klingt gut!
ZitatDa würde ich dann keine öffentlichen Pakete für packen wollen, oder ich bau direkt was generisches zum Testen mit ein.
OK!
ZitatWas ich auf jeden Fall brauche, ist ein
list NameDeinerGondel .R2CCC
und ein
list NameDeinerGondel
Ausgabe von
list NameDeinerGondel .R2CCC:
DeviceWatch-DeviceStatus=main_healthCheck_DeviceWatch-DeviceStatus checkInterval=main_healthCheck_checkInterval level=main_switchLevel_level windowShade=main_windowShade_windowShade

Ausgabe von
list NameDeinerGondel:
Internals:
   CFGFN     
   DEF        unknown IO=SamsungSmartThingsConnector
   FUUID      5fb95661-f33f-7761-172f-b82853c53d98b8ba
   NAME       SST_e16d06fb3ef0
   NR         1131
   NTFY_ORDER 50-SST_e16d06fb3ef0
   STATE      closed
   TYPE       SST
   name       SST_e16d06fb3ef0
   READINGS:
     2020-11-22 11:35:04   DeviceWatch-DeviceStatus online
     2020-11-22 11:35:04   checkInterval   60
     2020-11-22 11:35:04   level           0
     2020-11-22 11:35:04   windowShade     closed
Attributes:
   IODev      SamsungSmartThingsConnector
   alias      Schlafzimmer Gardine
   device_id  5cdad45e-7bfa-49e1-8d18-e16d06fb3ef0
   device_name c2c-shade
   device_type unknown
   icon       unknown
   interval   60
   room       Switchbot
   stateFormat windowShade
   verbose    5


ZitatIch bin derzeit leider ein wenig im Zeitdruck, würde Dich dann aber fürs Testen direkt anschreiben.
Ich habe in dieser Sache keinen Zeitdruck. Mach dir bitte keinen Stress. Darfst dich gern melden :-) Schönen Sonntag!

steven

Hallo zusammen,

Wäre super wenn du ein paar der Gerätetypen einbinden könntest.

folgende Geräte sind hier zu finden:

- 2x Fibaro Motion Sensor
- TP Link Stecker HS100
- 2x Sonos
- Smartthings Hub v3
- ein Virtueller Schalter (switch) für die Spülmaschinen. Umlaute werden nicht richtig dargestellt.
- nanoleaf Canvas



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

$VAR1 = {
  "_links" => {},
  "items" => [
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "switch",
              "version" => 1
            },
            {
              "id" => "switchLevel",
              "version" => 1
            },
            {
              "id" => "colorControl",
              "version" => 1
            },
            {
              "id" => "colorTemperature",
              "version" => 1
            },
            {
              "id" => "refresh",
              "version" => 1
            },
            {
              "id" => "healthCheck",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Switch"
            }
          ],
          "id" => "main"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "label" => "[C2C] Canvas01",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "c2c-rgbw-color-bulb",
      "presentationId" => "SmartThings-smartthings-c2c-rgbw-color-bulb",
      "profile" => {
        "id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      },
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "VIPER",
      "viper" => {
        "hwVersion" => 0,
        "manufacturerName" => "nanoleaf",
        "modelName" => "NL29",
        "swVersion" => 1
      }
    },
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "illuminanceMeasurement",
              "version" => 1
            },
            {
              "id" => "temperatureMeasurement",
              "version" => 1
            },
            {
              "id" => "battery",
              "version" => 1
            },
            {
              "id" => "motionSensor",
              "version" => 1
            },
            {
              "id" => "configuration",
              "version" => 1
            },
            {
              "id" => "accelerationSensor",
              "version" => 1
            },
            {
              "id" => "sensor",
              "version" => 1
            },
            {
              "id" => "healthCheck",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "MotionSensor"
            }
          ],
          "id" => "main",
          "label" => "Fibaro Motion Sensor 2"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceManufacturerCode" => "010F-0800-1001",
      "deviceNetworkType" => "ZWAVE",
      "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceTypeName" => "Fibaro Motion Sensor",
      "dth" => {
        "completedSetup" => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        "deviceNetworkType" => "ZWAVE",
        "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "deviceTypeName" => "Fibaro Motion Sensor",
        "executingLocally" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "hubId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "networkSecurityLevel" => "ZWAVE_LEGACY_NON_SECURE"
      },
      "label" => "Fibaro Motion Sensor 2",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "Fibaro Motion Sensor",
      "presentationId" => "SmartThings-smartthings-Fibaro_Motion_Sensor",
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "DTH"
    },
    {
      "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" => "Tplink01",
      "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" => {
        "hwVersion" => "1.0",
        "manufacturerName" => "TP-LINK",
        "modelName" => "HS100(EU)",
        "swVersion" => "1.1.3 Build 170608 Rel.204734",
        "uniqueIdentifier" => "8006318E69D771FCB6BD08AF5468244F1953F749"
      }
    },
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "notification",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Other"
            }
          ],
          "id" => "main",
          "label" => "mqtt_bridge"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceNetworkType" => "UNKNOWN",
      "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceTypeName" => "MQTT Bridge",
      "dth" => {
        "completedSetup" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "deviceNetworkType" => "UNKNOWN",
        "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "deviceTypeName" => "MQTT Bridge",
        "executingLocally" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        "hubId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "networkSecurityLevel" => "UNKNOWN"
      },
      "label" => "mqtt_bridge",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "mqtt_bridge",
      "presentationId" => "SmartThings-smartthings-MQTT_Bridge",
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "DTH"
    },
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "switch",
              "version" => 1
            },
            {
              "id" => "sensor",
              "version" => 1
            },
            {
              "id" => "actuator",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Switch"
            }
          ],
          "id" => "main",
          "label" => "Sp\x{fc}hlmaschine"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceNetworkType" => "UNKNOWN",
      "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceTypeName" => "Virtual Switch",
      "dth" => {
        "completedSetup" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "deviceNetworkType" => "UNKNOWN",
        "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "deviceTypeName" => "Virtual Switch",
        "executingLocally" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "hubId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "networkSecurityLevel" => "UNKNOWN"
      },
      "label" => "Sp\x{fc}hlmaschine",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "Sp\x{fc}lmaschine",
      "presentationId" => "generic-switch",
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "DTH"
    },
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "ocf",
              "version" => 1
            },
            {
              "id" => "execute",
              "version" => 1
            },
            {
              "id" => "refresh",
              "version" => 1
            },
            {
              "id" => "switch",
              "version" => 1
            },
            {
              "id" => "remoteControlStatus",
              "version" => 1
            },
            {
              "id" => "washerOperatingState",
              "version" => 1
            },
            {
              "id" => "samsungce.driverVersion",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Washer"
            }
          ],
          "id" => "main"
        }
      ],
      "deviceId" => "F8042EED-AA28-0000-0000-000000000000",
      "deviceManufacturerCode" => "Samsung Electronics",
      "deviceTypeName" => "Samsung OCF Washer",
      "label" => "Waschmaschine",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "Samsung Electronics",
      "name" => "Waschmaschine",
      "ownerId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "presentationId" => "DA-WM-WM-100001",
      "profile" => {
        "id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      },
      "restrictionTier" => 0,
      "type" => "OCF"
    },
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "refresh",
              "version" => 1
            },
            {
              "id" => "healthCheck",
              "version" => 1
            },
            {
              "id" => "audioNotification",
              "version" => 1
            },
            {
              "id" => "audioVolume",
              "version" => 1
            },
            {
              "id" => "audioTrackData",
              "version" => 1
            },
            {
              "id" => "mediaTrackControl",
              "version" => 1
            },
            {
              "id" => "audioMute",
              "version" => 1
            },
            {
              "id" => "mediaPlayback",
              "version" => 1
            },
            {
              "id" => "mediaPresets",
              "version" => 1
            },
            {
              "id" => "mediaGroup",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Other"
            }
          ],
          "id" => "main",
          "label" => "B\x{fc}ro"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceNetworkType" => "UNKNOWN",
      "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceTypeName" => "LAN Sonos Player Websocket",
      "dth" => {
        "completedSetup" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "deviceNetworkType" => "UNKNOWN",
        "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "deviceTypeName" => "LAN Sonos Player Websocket",
        "executingLocally" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "hubId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "networkSecurityLevel" => "UNKNOWN"
      },
      "label" => "B\x{fc}ro",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "B\x{fc}ro",
      "presentationId" => "SmartThings-smartthings-LAN_Sonos_Player_Websocket",
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "DTH"
    },
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "illuminanceMeasurement",
              "version" => 1
            },
            {
              "id" => "temperatureMeasurement",
              "version" => 1
            },
            {
              "id" => "battery",
              "version" => 1
            },
            {
              "id" => "motionSensor",
              "version" => 1
            },
            {
              "id" => "configuration",
              "version" => 1
            },
            {
              "id" => "accelerationSensor",
              "version" => 1
            },
            {
              "id" => "sensor",
              "version" => 1
            },
            {
              "id" => "healthCheck",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "MotionSensor"
            }
          ],
          "id" => "main",
          "label" => "Fibaro Motion Sensor"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceManufacturerCode" => "010F-0800-1001",
      "deviceNetworkType" => "ZWAVE",
      "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceTypeName" => "Fibaro Motion Sensor",
      "dth" => {
        "completedSetup" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "deviceNetworkType" => "ZWAVE",
        "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "deviceTypeName" => "Fibaro Motion Sensor",
        "executingLocally" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "hubId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "networkSecurityLevel" => "ZWAVE_LEGACY_NON_SECURE"
      },
      "label" => "Fibaro Motion Sensor",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "Fibaro Motion Sensor",
      "presentationId" => "SmartThings-smartthings-Fibaro_Motion_Sensor",
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "DTH"
    },
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "refresh",
              "version" => 1
            },
            {
              "id" => "healthCheck",
              "version" => 1
            },
            {
              "id" => "audioNotification",
              "version" => 1
            },
            {
              "id" => "audioVolume",
              "version" => 1
            },
            {
              "id" => "audioTrackData",
              "version" => 1
            },
            {
              "id" => "mediaTrackControl",
              "version" => 1
            },
            {
              "id" => "audioMute",
              "version" => 1
            },
            {
              "id" => "mediaPlayback",
              "version" => 1
            },
            {
              "id" => "mediaPresets",
              "version" => 1
            },
            {
              "id" => "mediaGroup",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Other"
            }
          ],
          "id" => "main",
          "label" => "Wohnzimmer"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceNetworkType" => "UNKNOWN",
      "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceTypeName" => "LAN Sonos Player Websocket",
      "dth" => {
        "completedSetup" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "deviceNetworkType" => "UNKNOWN",
        "deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "deviceTypeName" => "LAN Sonos Player Websocket",
        "executingLocally" => $VAR1->{"items"}[1]{"dth"}{"completedSetup"},
        "hubId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "networkSecurityLevel" => "UNKNOWN"
      },
      "label" => "Wohnzimmer",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "SmartThings",
      "name" => "Wohnzimmer",
      "presentationId" => "SmartThings-smartthings-LAN_Sonos_Player_Websocket",
      "restrictionTier" => 0,
      "roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type" => "DTH"
    },
    {
      "childDevices" => [
        {
          "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        },
        {
          "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        },
        {
          "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        },
        {
          "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        },
        {
          "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        },
        {
          "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        }
      ],
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "bridge",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "name" => "Hub"
            }
          ],
          "id" => "main"
        }
      ],
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "label" => "SmartThings Hub",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "name" => "SmartThings v3 Hub",
      "profile" => {
        "id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      },
      "restrictionTier" => 0,
      "type" => "HUB"
    }
  ]
};

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

buzzmain

Moin ihr Lieben,
ich versuche verzweifelt das State Reding etwas anzupassen.
Hierzu möchte ich dass wenn machineState "stop" zeigt im state auch nur "Stop" steht. Wenn die Maschine läuft (run), dann wäre der machineState / jobState und (neue Zeile) die completionTime

Das ist mein bisherige Versuch aber da kommt nix bei heraus :(
{ if(ReadingsVal("SmartWaschmaschine","machineState",0) eq "stop") {return "machineState";} else {return "machineState /" " washerJobState"<br>"completionTime";} }
Ich bekomme nur Fehlermeldungen.
Hab ihr eine Idee wie das geschickter gestalltet werden könnte?

einen Wunsch habe ich noch, die completionTime entweder nur als Uhrzeit (ohne Datum) formatiert oder noch besser die Restzeit bis zum Ablauf :) (das ist ein Feature-Wunsch meiner Chefin zu hause)

Danke Euch
... And on the 8th Day God Created The Homeautomation.

amenomade

Wenn ich mich richtig erinnere, ab dem Moment wo Du stateFormat als Perl schreibst, musst Du alles mit Perl machen. Also z.B. statt "completionTime" eher ReadingsVal("SmartWaschmaschine", "completionTime", 0) und das gleiche für die andere.

Um zwei Strings zu konkatenieren in Perl, benutzt man einen Punkt.

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

buzzmain

Zitat von: amenomade am 28 Dezember 2020, 01:46:09
Wenn ich mich richtig erinnere, ab dem Moment wo Du stateFormat als Perl schreibst, musst Du alles mit Perl machen. Also z.B. statt "completionTime" eher ReadingsVal("SmartWaschmaschine", "completionTime", 0) und das gleiche für die andere.

Um zwei Strings zu konkatenieren in Perl, benutzt man einen Punkt.

Danke, werde ich versuchen.


... And on the 8th Day God Created The Homeautomation.

rossi007

Zuerst mal - herzlichen Glückwunsch zu dem super Modul und vielen Dank ! Ich habe schon länger mit Smartthings herumprobiert und bin noch nie so weit gekommen, wie dieses Modul. Selbst das Einstellen der Temperaturen und Schnellkühlung funktioniert auf Anhieb.

Ich habe einen Samsung Side-by-Side Kühlschrank RS68N8941B1. Wie im Anhang zu sehen, wird auf dem Display oben links die Temperatur im Raum und die Luftfeuchte recht präzise angezeigt. Leider bin ich noch nicht fündig geworden, ob und wie man diese beiden Werte ebenfalls abrufen und in FHEM nutzbar machen könnte - es würde zum Beispiel einen Thermostat im Aufstellraum für die Heizungssteuerung ersparen oder zum Beispiel in der Küche über die Luftfeuchtigkeit eine Aktivierung der Dunstabzugshaube möglich machen. Samsung weigert sich, auf eine detaillierte Anfrage zu verschiedenen Problemen und Themen irgendetwas Brauchbares zu antworten - man bekommt nur inhaltslose Textbausteine ".. wir freuen uns ..."

Durch einen https-Aufruf mittels HTTPMOD nach diesem Muster : https://graph-eu01-euwest1.api.smartthings.com/device/show/yexyayxy-2xe7-yxyx-0x7x-yxyxyxyxyxyx
bekomme ich noch zwei weitere Parameter des Geräts in der Antwort :
filterStatus (normal) des eingebauten Wasserfilters und iceStatus (stop) des Eiswürfelbereiters (besagt wohl, ob er aktuell läuft - nicht identisch mit icemaker_switch (on)) - kann ich irgendwie dazu beitragen, diese Werte ebenfalls aufzunehmen ?

Die angehängte Zahlenkombination im Aufruf ist die device-Id des Geräts, die der SST-Connector bei device_list ausgibt.

oggy512

Hallo zusammen,
auch von mir erstmal ein dickes Lob für die tolle Arbeit!

ich habe eine Samsung Waschmaschine und würde diese gerne per FHEM steuern können.
Hab dazu dieses Modul eingebunden.
Die Connection zur Cloud funktioniert prima, über die get device_list Funktion vom Connector wurde mit per autocreate auch meine Waschmaschine angelegt.
Wenn ich diese dann laufen lasse, werden auch Readings übertragen, zb. machineState = stop oder run und washerJobState none, wash, rinse und spin.

Jetzt stellt sich mir die Frage, ob auch das jeweilige Programm angezeigt werden kann (z.b. Baumwolle 60°) und noch interessanter, ob ich die Maschine steuern kann?
Nachdem ich den Thread durchgelesen hab, scheint das grundsätzlich ja zu funktionieren, jedoch ist meine SetList leer.
Auch das Ausführen von get x_options hat daran nichts geändert.

Und zuletzt: Über die SmartThigns App wird mir auch der Stromverbrauch in kWh angezeigt, ist es möglich diesen Wert auch nach FHEM zu kriegen?

Hier mal noch die Ausgabe von get_status bei verb 5


$VAR1 = {
  "components" => {
    "main" => {
      "execute" => {
        "data" => {
          "data" => {},
          "timestamp" => "2021-01-04T14:18:50.473Z",
          "value" => {
            "payload" => {}
          }
        }
      },
      "ocf" => {
        "di" => {
          "timestamp" => "2020-07-10T15:58:33.149Z",
          "value" => "blablabla-74D0-0000-0000-000000000000"
        },
        "dmv" => {
          "timestamp" => "2020-07-10T15:58:33.163Z",
          "value" => "res.1.1.0,sh.1.1.0"
        },
        "icv" => {
          "timestamp" => "2020-07-10T15:58:33.174Z",
          "value" => "core.1.1.0"
        },
        "mndt" => {
          "timestamp" => "2021-01-04T14:16:34.616Z",
          "value" => undef
        },
        "mnfv" => {
          "timestamp" => "2021-01-04T14:15:58.368Z",
          "value" => undef
        },
        "mnhw" => {
          "timestamp" => "2021-01-04T14:15:27.499Z",
          "value" => undef
        },
        "mnml" => {
          "timestamp" => "2021-01-04T14:14:29.080Z",
          "value" => undef
        },
        "mnmn" => {
          "timestamp" => "2020-07-10T15:58:33.115Z",
          "value" => "Samsung Electronics"
        },
        "mnmo" => {
          "timestamp" => "2021-01-07T08:03:40.113Z",
          "value" => "TP6X_WW6500|FF03E000|20010102001011070000000000000000"
        },
        "mnos" => {
          "timestamp" => "2021-01-04T14:10:12.183Z",
          "value" => undef
        },
        "mnpv" => {
          "timestamp" => "2021-01-04T14:10:50.118Z",
          "value" => undef
        },
        "mnsl" => {
          "timestamp" => "2021-01-04T14:14:48.918Z",
          "value" => undef
        },
        "n" => {
          "timestamp" => "2021-01-04T14:16:02.220Z",
          "value" => "WM-Samsung"
        },
        "pi" => {
          "timestamp" => "2020-07-10T15:58:33.129Z",
          "value" => "shp"
        },
        "st" => {
          "timestamp" => "2021-01-04T14:17:29.142Z",
          "value" => undef
        },
        "vid" => {
          "timestamp" => "2020-07-10T15:58:33.089Z",
          "value" => "DA-WM-WM-100001"
        }
      },
      "refresh" => {},
      "remoteControlStatus" => {
        "remoteControlEnabled" => {
          "timestamp" => "2021-01-07T08:03:40.460Z",
          "value" => "true"
        }
      },
      "samsungce.driverVersion" => {
        "versionNumber" => {
          "timestamp" => "2021-01-07T08:04:31.470Z",
          "value" => 20091001
        }
      },
      "switch" => {
        "switch" => {
          "timestamp" => "2020-12-22T13:23:23.764Z",
          "value" => undef
        }
      },
      "washerOperatingState" => {
        "completionTime" => {
          "timestamp" => "2021-01-07T09:07:41.715Z",
          "value" => "2021-01-07T09:30:41Z"
        },
        "machineState" => {
          "timestamp" => "2021-01-07T08:06:11.357Z",
          "value" => "run"
        },
        "supportedMachineStates" => {
          "timestamp" => "2020-08-23T08:39:48.849Z",
          "value" => undef
        },
        "washerJobState" => {
          "timestamp" => "2021-01-07T08:57:39.563Z",
          "value" => "rinse"
        }
      }
    }
  }
};




Any ideas?

Vielen Dank!