Modul 48_SST zum Einbinden von Samsung SmartThings

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

Vorheriges Thema - Nächstes Thema

bismosa

Hallo!

Auch wir haben eine neue Waschmaschine. Da ist dieses Modul echt super!

Da ich die Restzeit ebenfalls gerne auf meinem Display anzeigen möchte, habe ich die userReadings angepasst.
Nur wenn der "machineState" "run" ist, wird die Zeit angezeigt...sonst der "machineState".

Hier habe ich auch gleich eine "Übersetzungsliste" für den JobState und den WasherCycle integriert.
@dogexan Danke für das übersetzen der Programmnamen  :)

Restzeit {if(ReadingsVal("Waschmaschine","machineState","stop") eq "run"){
strftime("%H:%M",gmtime(time_str2num(ReadingsVal("Waschmaschine","completionTime",0))-time));;}
else{ReadingsVal("Waschmaschine","machineState","stop")}},

washerJobStateDE:washerJobState.* {
my %JobStates = (
    none    => 'kein',
    weightSensing => 'Gewichtserkennung',
    wash => 'Waschen',
    rinse => 'Spülen',
    spin => 'Schleudern',
    finish => 'Fertig'
);
my $state=ReadingsVal("Waschmaschine","washerJobState","none");
if (exists($JobStates{$state})){$JobStates{$state}}else{$state};
},

washerCycleDE:washerCycle.* {
my %WashCycles = (
    Table_02_Course_1C    => 'ECO 40-60',
    Table_02_Course_1B    => 'Baumwolle',
Table_02_Course_1E    => 'Schnelle Wäsche 15',
Table_02_Course_1D    => 'SuperSpeed',
Table_02_Course_1F    => 'Kaltwäsche Intensiv',
Table_02_Course_25    => 'Pflegeleicht',
Table_02_Course_26    => 'Feinwäsche',
Table_02_Course_33    => 'Handtücher',
Table_02_Course_24    => 'XXL-Wäsche',
Table_02_Course_32    => 'Hemden',
Table_02_Course_20    => 'Hygiene-Dampf',
Table_02_Course_22    => 'Wolle',
Table_02_Course_23    => 'Outdoor',
Table_02_Course_2F    => 'Sportkleidung',
Table_02_Course_21    => 'Buntwäsche',
Table_02_Course_2A    => 'Jeans',
Table_02_Course_2E    => 'Baby Care Intensiv',
Table_02_Course_2D    => 'Super Leise',
Table_02_Course_30    => 'Bewölkter Tag',
Table_02_Course_27    => 'Spülen+Schleudern',
Table_02_Course_28    => 'Abpumpen+Schleudern',
Table_02_Course_29    => 'Trommelreinigung+'
);
my $state=ReadingsVal("Waschmaschine","washerCycle","none");
if (exists($WashCycles{$state})){$WashCycles{$state}}else{$state};
}

Ggf. muss der Name "Waschmaschine" mit dem Devicenamen ersetzt werden.

Vielleicht hilft es hier ja  :) Die Fragen sind ja schon häufiger aufgetaucht.
Wäre vielleicht auch eine Idee, das direkt mit ins Modul aufzunehmen? Derzeit fehlt mir leider die Zeit um hier einen Änderungsvorschlag zu machen. Vielleicht komme ich dazu ja irgendwann noch.

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

Lazgar

Hallo!

Habe versucht meinen Samsung QLED TV in Fhem einzubinden.
Leider funktioniert, bis auf aus und einschalten, kein set-Befehl.
Fehlermeldung ist "Could not identify internal name for value main_mediaInputSource!" wenn ich z.B. das inputDevice ändern will...

Ein device-list im Connector liefert mir folgendes zurück:

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

{
  "_links" => {},
  "items" => [
    {
      "components" => [
        {
          "capabilities" => [
            {
              "id" => "ocf",
              "version" => 1
            },
            {
              "id" => "switch",
              "version" => 1
            },
            {
              "id" => "audioVolume",
              "version" => 1
            },
            {
              "id" => "audioMute",
              "version" => 1
            },
            {
              "id" => "tvChannel",
              "version" => 1
            },
            {
              "id" => "mediaInputSource",
              "version" => 1
            },
            {
              "id" => "mediaPlayback",
              "version" => 1
            },
            {
              "id" => "mediaTrackControl",
              "version" => 1
            },
            {
              "id" => "custom.error",
              "version" => 1
            },
            {
              "id" => "custom.picturemode",
              "version" => 1
            },
            {
              "id" => "custom.soundmode",
              "version" => 1
            },
            {
              "id" => "custom.accessibility",
              "version" => 1
            },
            {
              "id" => "custom.launchapp",
              "version" => 1
            },
            {
              "id" => "custom.recording",
              "version" => 1
            },
            {
              "id" => "custom.tvsearch",
              "version" => 1
            },
            {
              "id" => "custom.disabledCapabilities",
              "version" => 1
            },
            {
              "id" => "samsungvd.ambient",
              "version" => 1
            },
            {
              "id" => "samsungvd.ambientContent",
              "version" => 1
            },
            {
              "id" => "samsungvd.ambient18",
              "version" => 1
            },
            {
              "id" => "samsungvd.mediaInputSource",
              "version" => 1
            },
            {
              "id" => "refresh",
              "version" => 1
            },
            {
              "id" => "execute",
              "version" => 1
            },
            {
              "id" => "samsungvd.firmwareVersion",
              "version" => 1
            },
            {
              "id" => "samsungvd.supportsPowerOnByOcf",
              "version" => 1
            }
          ],
          "categories" => [
            {
              "categoryType" => "manufacturer",
              "name" => "Television"
            }
          ],
          "id" => "main",
          "label" => "main"
        }
      ],
      "createTime" => "2021-06-21T12:38:53.887Z",
      "deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "deviceManufacturerCode" => "Samsung Electronics",
      "deviceTypeName" => "Samsung OCF TV",
      "label" => "Samsung Q7 Series (65)",
      "locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "manufacturerName" => "Samsung Electronics",
      "name" => "[TV] Samsung Q7 Series (65)",
      "ownerId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "presentationId" => "VD-STV_2018_K",
      "profile" => {
        "id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      },
      "restrictionTier" => 0,
      "type" => "OCF"
    }
  ]
}

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


Eine statusabfrage im TV-Device gibt folgendes aus:

{
  "components" => {
    "main" => {
      "audioMute" => {
        "mute" => {
          "value" => undef
        }
      },
      "audioVolume" => {
        "volume" => {
          "value" => undef
        }
      },
      "custom.accessibility" => {},
      "custom.disabledCapabilities" => {
        "disabledCapabilities" => {
          "timestamp" => "2021-12-09T05:51:44.159Z",
          "value" => [
            "samsungvd.ambient",
            "samsungvd.ambientContent"
          ]
        }
      },
      "custom.error" => {
        "error" => {
          "value" => undef
        }
      },
      "custom.launchapp" => {},
      "custom.picturemode" => {
        "pictureMode" => {
          "value" => undef
        },
        "supportedPictureModes" => {
          "value" => undef
        },
        "supportedPictureModesMap" => {
          "value" => undef
        }
      },
      "custom.recording" => {},
      "custom.soundmode" => {
        "soundMode" => {
          "value" => undef
        },
        "supportedSoundModes" => {
          "value" => undef
        },
        "supportedSoundModesMap" => {
          "value" => undef
        }
      },
      "custom.tvsearch" => {},
      "execute" => {
        "data" => {
          "value" => {
            "payload" => {}
          }
        }
      },
      "mediaInputSource" => {
        "inputSource" => {
          "timestamp" => "2021-12-20T08:43:13.767Z",
          "value" => "HDMI1"
        },
        "supportedInputSources" => {
          "timestamp" => "2021-12-09T05:51:44.180Z",
          "value" => [
            "digitalTv",
            "HDMI1",
            "HDMI2"
          ]
        }
      },
      "mediaPlayback" => {
        "playbackStatus" => {
          "value" => undef
        },
        "supportedPlaybackCommands" => {
          "timestamp" => "2021-12-09T05:51:43.031Z",
          "value" => [
            "play",
            "pause",
            "stop",
            "fastForward",
            "rewind"
          ]
        }
      },
      "mediaTrackControl" => {
        "supportedTrackControlCommands" => {
          "value" => undef
        }
      },
      "ocf" => {
        "di" => {
          "timestamp" => "2021-12-09T05:51:43.010Z",
          "value" => "99dad140-dab0-4985-9e6f-030d61a53329"
        },
        "dmv" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "res.1.1.0,sh.1.1.0"
        },
        "icv" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "core.1.1.0"
        },
        "mndt" => {
          "timestamp" => "2021-12-09T05:51:43.010Z",
          "value" => "2018-01-01"
        },
        "mnfv" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "T-KTM2DEUC-1320.4"
        },
        "mnhw" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "0-0"
        },
        "mnml" => {
          "timestamp" => "2021-12-09T05:51:43.010Z",
          "value" => "http://www.samsung.com"
        },
        "mnmn" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "Samsung Electronics"
        },
        "mnmo" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "QE65Q7FNA"
        },
        "mnos" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "4.1.10"
        },
        "mnpv" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "Tizen 4.0"
        },
        "mnsl" => {
          "timestamp" => "2021-12-09T05:51:43.010Z",
          "value" => "http://www.samsung.com/sec/tv/overview/"
        },
        "n" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "[TV] Samsung Q7 Series (65)"
        },
        "pi" => {
          "timestamp" => "2021-12-09T05:51:43.010Z",
          "value" => "99dad140-dab0-4985-9e6f-030d61a53329"
        },
        "st" => {
          "timestamp" => "2021-12-09T05:51:43.010Z",
          "value" => "2021-12-08T14:42:45Z"
        },
        "vid" => {
          "timestamp" => "2021-09-27T19:08:21.678Z",
          "value" => "VD-STV_2018_K"
        }
      },
      "refresh" => {},
      "samsungvd.ambient" => {},
      "samsungvd.ambient18" => {},
      "samsungvd.ambientContent" => {
        "supportedAmbientApps" => {
          "timestamp" => "2021-12-09T05:51:43.031Z",
          "value" => []
        }
      },
      "samsungvd.firmwareVersion" => {
        "firmwareVersion" => {
          "timestamp" => "2021-07-29T08:31:32.247Z",
          "value" => "2.4.0"
        }
      },
      "samsungvd.mediaInputSource" => {
        "inputSource" => {
          "timestamp" => "2021-12-20T08:43:13.767Z",
          "value" => "HDMI1"
        },
        "supportedInputSourcesMap" => {
          "timestamp" => "2021-10-01T12:22:22.485Z",
          "value" => [
            {
              "id" => "dtv",
              "name" => "TV"
            },
            {
              "id" => "HDMI1",
              "name" => "PC"
            },
            {
              "id" => "HDMI2",
              "name" => "Samsung"
            }
          ]
        }
      },
      "samsungvd.supportsPowerOnByOcf" => {
        "supportsPowerOnByOcf" => {
          "timestamp" => "2021-07-29T08:31:32.247Z",
          "value" => "false"
        }
      },
      "switch" => {
        "switch" => {
          "timestamp" => "2021-12-21T08:25:13.089Z",
          "value" => "on"
        }
      },
      "tvChannel" => {
        "tvChannel" => {
          "value" => undef
        },
        "tvChannelName" => {
          "value" => undef
        }
      }
    }
  }
}


Wäre wirklich toll, wenn der Fernseher ans laufen kommen würde.

Danke und LG

Lasgar

masterpete23

kleines Feedback von mir.
Ich konnte auch meinen QLED als Device erzeugen.
Aber schalten ging nicht und jedes mal wenn ich vom TV den Status holen wollte, verlor mein Webbrowser die Verbindung zu fhem - merkwürdig.

timmib

Hi,

bitte nutze HttpUtils_NonblockingGet von hier https://wiki.fhem.de/wiki/HttpUtils.
So wie es jetzt ist wird der komplette FHEM Hauptthread blockiert solange der Request und Response läuft!

Außerdem habe ich grade herausgefunden, das Umlaute im Reading in diesem Modul nicht UTF-8 sind und damit den longPoll vom websocket zum Absturz bringen und damit keine Updates mehr zum TabletUI gelangen.
Bei meinen Fernseher steht "Verstärken" im Reading. Das "ä" war nicht richtig encoded.

Viele Grüße

Tim

schnitzelbrain

#169
Ich bin jetzt auch Besitz eines Samsung TV
Die readings konnten abgerufen werden und erscheinen unter SetList.

ZitatsetList
switch:on,off main_mediaPlayback:play,pause,stop,fastForward,rewind
main_mediaInputSource:digitalTv,HDMI1,HDMI3,HDMI4
main_samsungvd.ambientContent:weather
main_samsungvd.mediaInputSource:HASH(0x417cad8),HASH(0x2e749f0),HASH(0x3aee190),HASH(0x41cbd18)
main_custom.picturemode:HASH(0x415a4b8),HASH(0x41d7db0),HASH(0x3bac848),HASH(0x4157af8),HASH(0x41d1d38)
main_custom.picturemode:Dynamisch,FILMMAKER MODE,Film,Nat�rlich,Standard
main_custom.soundmode:HASH(0x415aba8),HASH(0x41d1df8)
main_custom.soundmode:Standard,Verst�rken   


  • zum einen tauchen Werte doppelt auf, einmal als hash und dann als Befehl
  • zum anderen funktioniert der set Befehl nicht und gibt die schon bekannten Fehlermeldung aus
  • dann tauchen oben in dem klapp menu unter set nicht alle zur Auswahl auf. Die Kategorie ja, aber die einzelnen Befehle nicht. Die Hash Felder sind aber im klapp menu nicht vorhanden.

Wenn ich was testen soll oder noch andere Informationen benötigt werden bitte melden.

Grüße

Edit:wording

holsteiner-kiel

Wird hier eigentlich noch entwickelt? Das von Tim genannte Thema wäre echt wichtig. Wenn kein Internet vorhanden ist, läuft fhem überhaupt nicht weil das Modul den ganzen Hauptthread blockt.

Viele Grüße und Danke!

Zitat von: timmib am 02 Februar 2022, 21:16:51
Hi,

bitte nutze HttpUtils_NonblockingGet von hier https://wiki.fhem.de/wiki/HttpUtils.
So wie es jetzt ist wird der komplette FHEM Hauptthread blockiert solange der Request und Response läuft!

Außerdem habe ich grade herausgefunden, das Umlaute im Reading in diesem Modul nicht UTF-8 sind und damit den longPoll vom websocket zum Absturz bringen und damit keine Updates mehr zum TabletUI gelangen.
Bei meinen Fernseher steht "Verstärken" im Reading. Das "ä" war nicht richtig encoded.

Viele Grüße

Tim

rabehd

Zitat von: holsteiner-kiel am 28 Juni 2022, 04:48:58
Wird hier eigentlich noch entwickelt?

Wenn der Entwickler seit Monaten nicht mehr im Forum war und noch länger hier nichts geschrieben hat, dann ist das hier wohl tot.
Schade, vielleicht übernimmt jemand das Modul.
Auch funktionierende Lösungen kann man hinterfragen.

columbine

seit heute geht bei mir das modul nicht mehr, ergeht es euch auch?

trockner, waschmaschine und tv.


musste alles was mit dem modul zu tun hatte löschen, fhem ist sonst nicht hochgefahren.

holsteiner-kiel

Das Modul in dem Zustand ist Müll und unbrauchbar leider. Ich hätte Hoffnungen. Aber man hat Mal kein Internet und das ganze Thema friert ein. Mittlerweile hole ich mir die SmartThings Sachen über Homeassistent und dann weiter über mqtt ins fhem.

columbine

Zitat von: holsteiner-kiel am 04 Oktober 2022, 19:08:31
Das Modul in dem Zustand ist Müll und unbrauchbar leider. Ich hätte Hoffnungen. Aber man hat Mal kein Internet und das ganze Thema friert ein. Mittlerweile hole ich mir die SmartThings Sachen über Homeassistent und dann weiter über mqtt ins fhem.

danke für die info, muss ich mir wohl oder übel auch so als lösung bauen. hast du da ne passende anleitung? geht homeassisten auch im container?

holsteiner-kiel

Ja das geht im Container. Eingerichtet ist das sehr einfach. Auch SST ist easy dann. Ein bisschen knifflig ist das mqtt Thema. Da muss ich selbst schauen, wie das noch war. Schreib mich privat an, wenn du alles soweit vorbereit hast... Dann schauen wir sonst Mal.

columbine

#176
moin,

hatte homeassistant in einer vm, konnte aber keine verbindung zu samsung herstellen und ich wollte nicht extra was zahlen für die cloud. aber homeassistant ist schon sehr interessant.

ich habe es nun mit iobroker gelöst, konnte den smartthings adapter installieren und eine verbindung herstellen, mit mqtt übermittel ich jetzt die werte ich die ich benötige an fhem.


Kai-Alfonso

Moin, ich hänge mich mal zum testen rein - ich habe eine Waschmaschine von Samsung
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

columbine

Zitat von: Kai-Alfonso am 06 Oktober 2022, 11:11:51
Moin, ich hänge mich mal zum testen rein - ich habe eine Waschmaschine von Samsung

naja das modul hier scheint tot zu sein, sodass ich nach einer alternative gesucht habe, gefunden habe ich eine im iobroker. habe mir den smartthings adapter und 3 mqtt clients installiert und eingerichtet, die werte werden dann an fhem über mqtt gesendet, im fhem habe ich ein mqtt2 server.



rabehd

Zitat von: columbine am 06 Oktober 2022, 13:38:39
naja das modul hier scheint tot zu sein, sodass ich nach einer alternative gesucht habe, gefunden habe ich eine im iobroker. habe mir den smartthings adapter und 3 mqtt clients installiert und eingerichtet, die werte werden dann an fhem über mqtt gesendet, im fhem habe ich ein mqtt2 server.

Hast Du einen Link zu einer Beschreibung/Anleitung?
Auch funktionierende Lösungen kann man hinterfragen.