Inspiriert durch das Modul 48_Smartthings (https://forum.fhem.de/index.php/topic,91090.0.html (https://forum.fhem.de/index.php/topic,91090.0.html)) will ich mich an einer generellen Implementation von Samsung SmartThings machen.
Achtung: Das Modul befindet sich im Beta-Status!Beschreibung:Das Modul kann alle Samsung Geräte über SmartThings einbinden, deren Werte/Statusänderungen anzeigen und soll im Endausbau, wo möglich, Werte neu setzen können.
Da ich selbst zumindest bislang nur eine Kühl-Gefrier-Kombi besitze, benötige ich noch Hilfe zur korrekten Einbindung anderer Gerätetypen. Näheren hierzu siehe unten.
Zur Autentifizierung bei Samsung ist ein Token nötig, das unter
https://account.smartthings.com/tokens (https://account.smartthings.com/tokens)
erstellt werden muß. Aktuell muß mindestens der Zugriff auf Geräte und Geräteprofile gestattet werden!
Ein Hinweis sei gestattet an alle, die hier Screenshots posten wollen: Bitte achtet darauf, daß das Token nicht lesbar ist, sonst kann jeder all eure Geräte abfragen und steuern! Zunächst legt man einen
Connector an, über den dann alle tatsächlichen Geräte aus der SmartThings Cloud in FHEM angelegt werden (der Name ist natürlich frei wählbar):
define SamsungSmartThingsConnector SST <token>
Aus diesem
Connector-Device heraus können über
get SamsungSmartThingsConnector device_list
die in SmartThings angelegten Geräte als Readings (mit dem Wert 'new') erzeugt werden.
Hat man den Wert des Attributs
autocreate zuvor auf 1 gesetzt, werden als neu markierte Readings als FHEM Devices angelegt. Die Namen der neuen Devices kann man dem dann geänderten Reading entnehmen (SST_<12-stelliger Hex-Wert>).
Will man verhindern, daß ein Gerät als Device angelegt wird, muß man das entsprechende Reading auf einen Wert ungleich 'new' setzen.
In den nun erzeugten gerätespezifischen FHEM Devices können dann über
get <name> status
sämtliche Readings mit verfügbaren Werten erzeugt werden.
Damit das Setzen von Werten, deren Liste von Geräteart zu Geräteart unterschiedlich ist, funktioniert, ist es nötig zumindest einmalig (pro Gerät)
get <name> x_options
auszuführen. Hierdurch wird das Attribut
setList erstellt/überschrieben, das die erkannten Kommandos nebst ihrer möglichen Werte auflistet.
Zusätzliche Graphiken:Da meines Erachtens einige SVG Graphiken nicht oder nicht schön genug gibt, habe ich dem Modul noch folgende, selbst gezeichnete Graphiken beigefügt:
- samsung_sidebyside - Samsung Kühl-/Gefrierkombi
- samsung_smartthings_cloud - SmartThings Logo in einer Wolke
- samsung_smartthings_house - SmartThings Logo in einem Haus
- samsung_smartthings_house2 - SmartThings Logo in einem anderen Haus
- samsung_smartthings - SmartThings Logo
- samsung_tv - Samsung Fernsehgerät
- samsung_tv_curved - Samsung Fernsehgerät (Curved)
TODOs:
- Defaults definieren für alle Gerätetypen für
stateFormat
icon - Logik
SST_Read
Update der Status über Zentralfunktion - list_devices: Gerätetyp zuverlässig erkennen
- Dokumentation aktuell halten
Testen:Testnutzer gibt es zurzeit für folgende Gerätetypen:
- Fernseher (felskrone, awel, Prof. Dr. Peter Henning, poiuztr123)
- Klimagerät (tremichl, reinhard@seven-up.at)
- Kühl-Gefrier-Kombi (pasp)
- Schalter (Dr. Ulfi)
- Waschmaschine (buzzmain, fergison, holsteiner-kiel, Firetic, doxegan)
Melden neuer Geräte/Probleme:Beim Melden neuer Gerätetypen, d.h., wenn beim
device_list des CONNECTORs die Meldung
[/list]
cannot determine device type from name (...) or deviceTypeName (...)
augegeben wird, bitte - falls nicht schon geschehen - die Ausgabe von
attr SamsungSmartThingsConnector verbose 5
get SamsungSmartThingsConnector device_list
nebst Information, um was für ein Gerät es sich handelt, beifügen. Danach nicht vergessen,
verbose wieder auf einen niedrigeren Wert zu setzen!
Bei Problemen mit fehlenden Readings oder
set Befehlen für ein Gerät bitte - falls nicht schon geschehen - die Ausgabe von
attr <name> verbose 5
get <name> status
beifügen. Danach nicht vergessen,
verbose wieder auf einen niedrigeren Wert zu setzen!
Die Liste bekannter Probleme is im jeweiligen Post zum Update zu finden.Installation:Das Modul kann über GitHub eingebunden werden:
update add https://raw.githubusercontent.com/PatricSperling/FHEM_SST/master/controls_SST.txt
update SST
update
shutdown restart
So, hier mal ein kleines Update (Datei im ursprünglichen Thread aktualisiert).
Aufgrund einiger interner Änderungen sollten die Geräte nochmal ganz neu angelegt werden (falls es schon jemand einsetzt).
Ein
get <name> status
holt jetzt sämtliche verfügbare Werte (egal was für ein Gerät) und erzeugt daraus zumindest bei mir zuverlässig Readings.
Als get Kommando ist jeweils entweder status (bei Geräten) oder device_list (beim Connector) möglich.
Es werden (außer beim Connector) sämtliche set Kommandos aus dem Attribut setList gelesen.
Die Syntax von setList ist:
<set Kommando 1>:<Komma getrennte Werteliste> <set Kommando 2> <set Kommando 3>:<Komma getrennte Werteliste>
Die Kommandos und Werteliste dürfen zZt. keine Leerzeichen enthalten.
Das obige Beispiel würde eine Set Liste mit den 3 Kommandos im FHEMWEB anzeigen.
Achtung: das Ganze führt noch nicht dazu, daß tatsächlich Werte gesetzt werden!
Offene TODO Liste siehe oben.
Hallo,
ich hab das mal getestet.
Ich habe einen Samsung "The Frame" TV und die SmartThings-App installiert, ein Token erzeugt. Soweit gut.
Danach den Connector erstellt -> auch OK
dann ein get Devicelist new -> ok, aber:
Device-ID - Name
7052f469-4f5b-4975-9728-689a977cc472 - [TV] Samsung Frame Series (65) (creation failed!)
main:
- switch
- audioVolume
- audioMute
- tvChannel
- mediaInputSource
- mediaPlayback
- custom.picturemode
- custom.error
- custom.soundmode
- custom.accessibility
- custom.launchapp
- custom.recording
- custom.tvsearch
- samsungtv.firmwareVersion
- samsungtv.supportsPowerOnByOcf
- refresh
- execute
- ocf
- mediaTrackControl
Bin gespannt, wie Dein Projekt weitergeht.
Ich suche speziell eine Lösung um zuverlässig die seltsamen Stati des Fernsehers:
- ganz aus
- ein bisschen an (Bild oder Diashow wird angezeigt) oder vielleicht ein bisschen aus?!
- an
zu erkennen und am liebsten dazwischen hin- und her schalten zu können (was die SmartThingsApp immerhin kann!)
Hallo felskrone,
super, daß Du testest. Danke schon mal dafür!
Zitat von: felskrone am 04 September 2020, 13:46:58
Danach den Connector erstellt -> auch OK
dann ein get Devicelist new -> ok, aber:
OK, ich habe mal die Fehlerausgabe etwas verbessert. Bitte nochmal herunterladen, installieren, mittels
reload 48_SST.pm
aktivieren und nochmal
get <DEVICENAME> device_list
starten. Den oberen Teil der Ausgabe bräuchte ich bitte (
creation failed with).
Zitat von: felskrone am 04 September 2020, 13:46:58
- ganz aus
- ein bisschen an (Bild oder Diashow wird angezeigt) oder vielleicht ein bisschen aus?!
- an
Da wird dann die Statusanzeige auch zur Herausforderung... :D
Zitat von: felskrone am 04 September 2020, 13:46:58
zu erkennen und am liebsten dazwischen hin- und her schalten zu können (was die SmartThingsApp immerhin kann!)
Ganz soweit bin ich leider noch nicht, da es mir eigentlich missfällt, die set Kommandos fest zu codieren. Ich suche gerade noch nach einer Möglichkeit, die zu Verfügung stehenden Kommandos aus SmartThings direkt zu befüllen. Dann kann ich mir ersparen, die Kommandoliste für jeden Gerätetyp oder ggf. auch einzelne Geräte spezifisch zu definieren.
Hallo,
bin ebenfalls gespannt und interessiert.
Hier die Fehlermeldung bei der Erstellung eines TV
Device-ID - Name
- Autocreation Status
51634350-3124-45fe-af6e-de22e046c473 - [TV] Samsung Q60 Series (43) - creation failed with: 'TV, 60, 51634350-3124-45fe-af6e-de22e046c473'
main:
- switch
- audioVolume
- audioMute
- tvChannel
- mediaInputSource
- mediaPlayback
- custom.picturemode
- custom.error
- custom.soundmode
- custom.accessibility
- custom.launchapp
- custom.recording
- custom.tvsearch
- samsungtv.firmwareVersion
- samsungtv.supportsPowerOnByOcf
- refresh
- execute
- ocf
- mediaTrackControl
Gruß
Achim
Hallo Achim,
je mehr, desto besser :)
Zitat von: awel am 04 September 2020, 18:28:35
51634350-3124-45fe-af6e-de22e046c473 - [TV] Samsung Q60 Series (43) - creation failed with: 'TV, 60, 51634350-3124-45fe-af6e-de22e046c473'
Danke, hab den Code nochmal etwas angepaßt - der
define sollte jetzt gehen.
Schritte wie oben beschrieben.
Gruß
pasp
Moin moin,
ich hab es direkt auch ausprobiert.
es ist eine Waschmaschiene.
nach "get SamsungSmartThingsConnector device_list" kam dies:
------ send below text to developer ------
$VAR1 = {
'items' => [
{
'manufacturerName' => 'Samsung Electronics',
'deviceId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-fe4c4efc70e7',
'label' => "Wasch\x{ad}maschine",
'restrictionTier' => 0,
'deviceNetworkType' => 'UNKNOWN',
'presentationId' => 'DA-WM-WM-000001',
'roomId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-6d375ccbd4da',
'locationId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-1b1c758bee3f',
'components' => [
{
'id' => 'main',
'capabilities' => [
{
'id' => 'switch',
'version' => 1
},
{
'id' => 'refresh',
'version' => 1
},
{
'id' => 'ocf',
'version' => 1
},
{
'id' => 'execute',
'version' => 1
},
{
'version' => 1,
'id' => 'remoteControlStatus'
},
{
'id' => 'washerMode',
'version' => 1
},
{
'version' => 1,
'id' => 'washerOperatingState'
},
{
'version' => 1,
'id' => 'powerConsumptionReport'
},
{
'id' => 'custom.error',
'version' => 1
},
{
'id' => 'custom.disabledCapabilities',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.dthVersion'
},
{
'id' => 'custom.washerAutoDetergent',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.washerAutoSoftener'
},
{
'id' => 'custom.washerRinseCycles',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.washerSoilLevel'
},
{
'id' => 'custom.washerSpinLevel',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.washerWaterTemperature'
},
{
'version' => 1,
'id' => 'custom.washerAddwashAlarm'
},
{
'id' => 'custom.supportedOptions',
'version' => 1
},
{
'id' => 'custom.jobBeginningStatus',
'version' => 1
},
{
'id' => 'samsungce.washerCycle',
'version' => 1
}
],
'categories' => [
{
'name' => 'Switch'
}
],
'label' => "Wasch\x{ad}maschine"
}
],
'deviceTypeName' => 'Samsung OCF Washer',
'deviceTypeId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-9b86ba6ff166',
'type' => 'DTH',
'dth' => {
'deviceTypeName' => 'Samsung OCF Washer',
'completedSetup' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'deviceNetworkType' => 'UNKNOWN',
'networkSecurityLevel' => 'UNKNOWN',
'deviceTypeId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-9b86ba6ff166'
},
'name' => 'dummy_name'
}
],
'_links' => {}
};
------ send above text to developer ------
Device-ID - Name
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx sdfsdf7 - dummy_name
main:
- switch
- refresh
- ocf
- execute
- remoteControlStatus
- washerMode
- washerOperatingState
- powerConsumptionReport
- custom.error
- custom.disabledCapabilities
- custom.dthVersion
- custom.washerAutoDetergent
- custom.washerAutoSoftener
- custom.washerRinseCycles
- custom.washerSoilLevel
- custom.washerSpinLevel
- custom.washerWaterTemperature
- custom.washerAddwashAlarm
- custom.supportedOptions
- custom.jobBeginningStatus
- samsungce.washerCycle
OK
Ergänzung:
Das Device wurden angelegt und ich habe auch sehr viele Readings.
Werde mir die Tage mal anschauen was die Readings alles so bedeuten ;)
Scheint aber grundsätzlich zu funktionieren.
Super Sache schon mal.
Eine Frage, der Refresh steht auf 300.
Sind das Sekunden?
Ist zu erwarten, dass wenn Tag und Nacht alle 300sek. eine Request geschickt wird, dass irgend etwas geblockt wird bei Samsung.?
was kann ich noch tun für Dich um zu helfen?
Hallo,
ich würde gerne helfen und die Informationen über unsere Samsung Waschmaschine zur Verfügung stellen.
Die Einrichtung des Conectors läuft einwandfrei. Die Waschmaschine wird bei einem get device-list auch angezeigt und auch das Reading mit new erscheint. Allerdings wird trotz aktivem autocreate kein Device angelegt. Was mache ich falsch?
Gruß
Lars
Zitat von: buzzmain am 06 September 2020, 23:11:00
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx sdfsdf7 - dummy_name
Hm...
dummy_name ist natürlich doof :(
Bei den anderen Geräten habe ich bislang immer einen String in der Art
[<Gerätetyp>] <Hersteller>
im Reading für
ocf_n bekommen. Muß ich wohl doch anders identifizieren, was es ist... :-\
Zitat von: buzzmain am 06 September 2020, 23:11:00
Das Device wurden angelegt und ich habe auch sehr viele Readings.
Werde mir die Tage mal anschauen was die Readings alles so bedeuten ;)
Die
ocf Readings kann man m.E. ignorieren (villeicht schmeisse ich die später wieder raus, mal sehen).
Zumindest bei mir sind die ganzen
custom Readings auch irrelevant.
Wie sieht das bei Dir aus?
Zitat von: buzzmain am 06 September 2020, 23:11:00
Eine Frage, der Refresh steht auf 300.
Sind das Sekunden?
Ist zu erwarten, dass wenn Tag und Nacht alle 300sek. eine Request geschickt wird, dass irgend etwas geblockt wird bei Samsung.?
Ja, das sollen Sekunden sein, aber das funktioniert m.E. noch nicht.
Ein 5-minütiges Polling sollte laut Dokumentation überhaupt kein Problem darstellen - man könnte wohl auch noch deutlich weiter runtergehen...
Zitat von: buzzmain am 06 September 2020, 23:11:00
was kann ich noch tun für Dich um zu helfen?
Ich muß das erstmal etwas analysieren :)
Hallo Lars,
Zitat von: fergison am 07 September 2020, 09:42:06
Die Einrichtung des Conectors läuft einwandfrei. Die Waschmaschine wird bei einem get device-list auch angezeigt und auch das Reading mit new erscheint. Allerdings wird trotz aktivem autocreate kein Device angelegt. Was mache ich falsch?
Dein
autocreate ist für das Device nicht gesetzt.
Einfach bei den Attributen
autocreate auswählen und auf 1 setzen oder
attr SamsungSmartThingsConnector autocreate 1
ausführen und nochmal einen
device_list laufen lassen.
Danke, das hat geholfen.
Hier der Auszug zum Anlegen der Waschmaschine.
------ send below text to developer ------
{
'items' => [
{
'presentationId' => 'DA-WM-WM-000001',
'roomId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-826b0c6fa7e3',
'type' => 'DTH',
'deviceTypeId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-9b86ba6ff166',
'deviceNetworkType' => 'UNKNOWN',
'dth' => {
'deviceTypeId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-9b86ba6ff166',
'deviceTypeName' => 'Samsung OCF Washer',
'deviceNetworkType' => 'UNKNOWN',
'networkSecurityLevel' => 'UNKNOWN',
'completedSetup' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
},
'locationId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-70e8a877aace',
'label' => 'Waschmaschine',
'components' => [
{
'categories' => [
{
'name' => 'Switch'
}
],
'capabilities' => [
{
'id' => 'switch',
'version' => 1
},
{
'version' => 1,
'id' => 'refresh'
},
{
'id' => 'ocf',
'version' => 1
},
{
'id' => 'execute',
'version' => 1
},
{
'version' => 1,
'id' => 'remoteControlStatus'
},
{
'id' => 'washerMode',
'version' => 1
},
{
'id' => 'washerOperatingState',
'version' => 1
},
{
'version' => 1,
'id' => 'powerConsumptionReport'
},
{
'id' => 'custom.error',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.disabledCapabilities'
},
{
'version' => 1,
'id' => 'custom.dthVersion'
},
{
'id' => 'custom.washerAutoDetergent',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.washerAutoSoftener'
},
{
'version' => 1,
'id' => 'custom.washerRinseCycles'
},
{
'version' => 1,
'id' => 'custom.washerSoilLevel'
},
{
'version' => 1,
'id' => 'custom.washerSpinLevel'
},
{
'version' => 1,
'id' => 'custom.washerWaterTemperature'
},
{
'version' => 1,
'id' => 'custom.washerAddwashAlarm'
},
{
'version' => 1,
'id' => 'custom.supportedOptions'
},
{
'id' => 'custom.jobBeginningStatus',
'version' => 1
},
{
'version' => 1,
'id' => 'samsungce.washerCycle'
}
],
'label' => 'Waschmaschine',
'id' => 'main'
}
],
'manufacturerName' => 'Samsung Electronics',
'restrictionTier' => 0,
'deviceId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-1e7f08321661',
'deviceTypeName' => 'Samsung OCF Washer',
'name' => '[washer] Samsung'
}
],
'_links' => {}
}
Scheint mir auf den ersten schnellen Blick identisch zu sein, zum Auszug von buzzmain
Viele Grüße
Lars
Hey zusammen. Cool, dass es in Sachen SmartThings weiter geht. Ich habe einen Samsung Washer WW80K6404QW/EG und das Autocreate endet leider in einem Fehler. Wenn du mehr Infos benötigst, melde dich gern.
Hier der Output:
------ send below text to developer ------
$VAR1 = {
'_links' => {},
'items' => [
{
'locationId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-16e8ed2d3ab3',
'roomId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-d74787e4e1e8',
'deviceTypeName' => 'Samsung OCF Washer',
'name' => 'Washer',
'presentationId' => 'DA-WM-WM-100001',
'deviceTypeId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-9b86ba6ff166',
'dth' => {
'deviceNetworkType' => 'UNKNOWN',
'networkSecurityLevel' => 'UNKNOWN',
'completedSetup' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'deviceTypeName' => 'Samsung OCF Washer',
'deviceTypeId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-9b86ba6ff166'
},
'deviceId' => 'C097276B-8Dxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
'label' => "Wasch\x{ad}maschine",
'manufacturerName' => 'Samsung Electronics',
'type' => 'DTH',
'components' => [
{
'capabilities' => [
{
'version' => 1,
'id' => 'switch'
},
{
'id' => 'refresh',
'version' => 1
},
{
'id' => 'ocf',
'version' => 1
},
{
'id' => 'execute',
'version' => 1
},
{
'id' => 'remoteControlStatus',
'version' => 1
},
{
'version' => 1,
'id' => 'washerMode'
},
{
'id' => 'washerOperatingState',
'version' => 1
},
{
'version' => 1,
'id' => 'powerConsumptionReport'
},
{
'version' => 1,
'id' => 'custom.error'
},
{
'id' => 'custom.disabledCapabilities',
'version' => 1
},
{
'id' => 'custom.dthVersion',
'version' => 1
},
{
'id' => 'custom.washerAutoDetergent',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.washerAutoSoftener'
},
{
'id' => 'custom.washerRinseCycles',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.washerSoilLevel'
},
{
'id' => 'custom.washerSpinLevel',
'version' => 1
},
{
'id' => 'custom.washerWaterTemperature',
'version' => 1
},
{
'version' => 1,
'id' => 'custom.washerAddwashAlarm'
},
{
'id' => 'custom.supportedOptions',
'version' => 1
},
{
'id' => 'custom.jobBeginningStatus',
'version' => 1
},
{
'id' => 'samsungce.washerCycle',
'version' => 1
}
],
'label' => "Wasch\x{ad}maschine",
'categories' => [
{
'name' => 'Switch'
}
],
'id' => 'main'
}
],
'restrictionTier' => 0,
'deviceNetworkType' => 'UNKNOWN'
}
]
};
------ send above text to developer ------
Device-ID - Name
- Autocreation Status
C097276B-8D88-0000-0000-000000000000 - Washer - creation failed with: 'unknown, 60, C097276B-8D88-0000-0000-000000000000 IODevice=SamsungSmartThingsConnector'
main:
- switch
- refresh
- ocf
- execute
- remoteControlStatus
- washerMode
- washerOperatingState
- powerConsumptionReport
- custom.error
- custom.disabledCapabilities
- custom.dthVersion
- custom.washerAutoDetergent
- custom.washerAutoSoftener
- custom.washerRinseCycles
- custom.washerSoilLevel
- custom.washerSpinLevel
- custom.washerWaterTemperature
- custom.washerAddwashAlarm
- custom.supportedOptions
- custom.jobBeginningStatus
- samsungce.washerCycle
Zitat von: pasp am 04 September 2020, 16:46:50
Hallo felskrone,
super, daß Du testest. Danke schon mal dafür!
gerne
Zitat von: pasp am 04 September 2020, 16:46:50
OK, ich habe mal die Fehlerausgabe etwas verbessert. Bitte nochmal herunterladen, installieren, mittels
reload 48_SST.pm
aktivieren und nochmal
get <DEVICENAME> device_list
starten. Den oberen Teil der Ausgabe bräuchte ich bitte (creation failed with).
...hat aber jetzt mit neuer Version funktioniert!
[/size]Zitat von: pasp am 04 September 2020, 16:46:50
Da wird dann die Statusanzeige auch zur Herausforderung... :D
...ein set list wurde da ja schon generiert:
setList power:off,on,inbetweendas sieht jetzt schon super aus, nur ein set-Befehl lässt mein FHEM abstürzen. (Ich weiss, dass das noch todo ist, Absturz ist aber unschön...) mimimimimi
es geht also weiter, vielen Dank für die Arbeit und zum Schluss noch ein list device, fyi:
Device-ID - Name
- Autocreation Status
7052f469-4f5b-4975-9728-689a977cc472 - [TV] Samsung Frame Series (65) - already known: no creation
main:
- switch
- audioVolume
- audioMute
- tvChannel
- mediaInputSource
- mediaPlayback
- custom.picturemode
- custom.error
- custom.soundmode
- custom.accessibility
- custom.launchapp
- custom.recording
- custom.tvsearch
- samsungtv.firmwareVersion
- samsungtv.supportsPowerOnByOcf
- refresh
- execute
- ocf
- mediaTrackControl
Habe das ganze heute mal getestet als die Maschine lief. Ein manuell ausgeführtes get status liefert aussagekräftige Readings (siehe Screenshots).
So bin ich schon fast am Ziel eine "Wäsche fertig" Meldung über Lautsprecher zu generieren.
Die Restlaufzeit wird allerdings nicht korrekt angegeben. Jedenfalls stimmt die Angabe der Zeit nicht mit der Angabe der Maschine überein. Auch nicht Zeitzonen verschoben. Ok; ich wollte nur wohl nur nicht glauben, dass die Maschine heute so lange läuft. Die Laufzeit war doch korrekt.
Viele Grüße und einen großen Dank für deine Arbeit!
Zitat von: pasp am 07 September 2020, 11:31:30
Ich muß das erstmal etwas analysieren :)
OK, du meldest Dich wenn Du etwas brauchst.
Colle Sache und Danke für Deine Mühe schon einmal...
THX
Buzzy
Zitat von: holsteiner-kiel am 08 September 2020, 14:15:03
Ich habe einen Samsung Washer WW80K6404QW/EG und das Autocreate endet leider in einem Fehler. Wenn du mehr Infos benötigst, melde dich gern.
Hier der Output:
C097276B-8D88-0000-0000-000000000000 - Washer - creation failed with: 'unknown, 60, C097276B-8D88-0000-0000-000000000000 IODevice=SamsungSmartThingsConnector'
Sehr seltsam... ich habe gerade eine neue Version hochgeladen. Vielleicht kannst Du das ja nochmal probieren.
Wenn der Fehler wieder auftritt, bräuchte ich bitte den entsprechenden Auszug aus der Logdatei (hier das Kommando für die Linux Shell):
grep -C2 -w SST ~fhem/log/fhem-$( date +%Y-%m-%d ).log
Zitat von: felskrone am 08 September 2020, 17:14:52
...hat aber jetzt mit neuer Version funktioniert!
Super!
Zitat von: felskrone am 08 September 2020, 17:14:52
...ein set list wurde da ja schon generiert:
setList power:off,on,inbetween
Ja, allerdings sind die momentan von mir händisch im Code eingepflegt. Gefällt mir nicht wirklich, aber solange ich noch keine bessere Variante habe... :-\
Zitat von: felskrone am 08 September 2020, 17:14:52
... nur ein set-Befehl lässt mein FHEM abstürzen. (Ich weiss, dass das noch todo ist, Absturz ist aber unschön...) mimimimimi
Beta Version hin oder her, das sollte eigentlich nicht sein. Du solltest normalerweise eine Meldung bekommen, daß das für Dein Devicetyp noch nicht unterstützt wird.
Kannst Du mir bitte mal die letzte Zeilen vom Absturz aus der Logdatei schicken? Die nächste Zeile danach sollte etwa so aussehen:
2020.09.09 22:32:39 1: Including ./log/fhem.save
Zitat von: fergison am 08 September 2020, 21:02:31
Habe das ganze heute mal getestet als die Maschine lief. Ein manuell ausgeführtes get status liefert aussagekräftige Readings (siehe Screenshots).
Das sieht ja schon halbwegs ok aus, allerdings stören mich die ARRAY Einträge. Ich nehm das mal in meine ToDo Liste auf.
Ich brauch dafür aber noch ein paar Informationen.
reload 48_SST.pm
attr ST_<Irgendwas> verbose 5
get ST_<Irgendwas> status
Die Ausgabe bräuchte ich bitte. Und danach
attr ST_<Irgendwas> verbose 3
nicht vergessen. ;)
Zitat von: pasp am 09 September 2020, 23:14:46
Super!
Ja, allerdings sind die momentan von mir händisch im Code eingepflegt. Gefällt mir nicht wirklich, aber solange ich noch keine bessere Variante habe... :-\
Beta Version hin oder her, das sollte eigentlich nicht sein. Du solltest normalerweise eine Meldung bekommen, daß das für Dein Devicetyp noch nicht unterstützt wird.
Kannst Du mir bitte mal die letzte Zeilen vom Absturz aus der Logdatei schicken? Die nächste Zeile danach sollte etwa so aussehen:
2020.09.09 22:32:39 1: Including ./log/fhem.save
Hallo pasp,
ich habe mal ein neues FHEM zum Testen aufgesetzt.
Da läuft jetzt alles soweit mit der neusten Version von gestern - auch das setzten (mit Hinweis, dass es noch nicht unterstützt wird).
...und danke für den Hinweis per PN! :-X
fk
So. Ich habe nun mit dem neuen Script meine Waschmaschine anlegen können. Allerdings endet ein get status in einem fhem crash.
Log:
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: remoteControlStatus
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: remoteControlStatus -> remoteControlEnabled
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: ocf
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> pi
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mnmo
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> vid
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mnmn
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> dmv
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mnfv
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> icv
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mnml
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mnsl
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mnhw
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mnos
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> di
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> st
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> n
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mndt
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: ocf -> mnpv
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: samsungce.washerCycle
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: samsungce.washerCycle -> washerCycle
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: washerOperatingState
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: washerOperatingState -> machineState
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: washerOperatingState -> completionTime
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: washerOperatingState -> supportedMachineStates
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: washerOperatingState -> washerJobState
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.jobBeginningStatus
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.jobBeginningStatus -> jobBeginningStatus
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.washerWaterTemperature
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerWaterTemperature -> washerWaterTemperature
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerWaterTemperature -> supportedWasherWaterTemperature
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: washerMode
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: washerMode -> washerMode
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.error
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.error -> error
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.supportedOptions
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.supportedOptions -> supportedCourses
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.washerSpinLevel
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerSpinLevel -> washerSpinLevel
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerSpinLevel -> supportedWasherSpinLevel
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: powerConsumptionReport
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: powerConsumptionReport -> powerConsumption
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.washerAutoDetergent
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerAutoDetergent -> washerAutoDetergent
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: switch
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: switch -> switch
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.washerSoilLevel
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerSoilLevel -> supportedWasherSoilLevel
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerSoilLevel -> washerSoilLevel
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.washerRinseCycles
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerRinseCycles -> washerRinseCycles
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerRinseCycles -> supportedWasherRinseCycles
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.dthVersion
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.dthVersion -> versionNumber
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.washerAddwashAlarm
2020.09.11 13:14:50 4: SST (ST_000000000000): Key1: custom.washerAddwashAlarm -> washerAddwashAlarm
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.disabledCapabilities
Can't use an undefined value as an ARRAY reference at ./FHEM/48_SST.pm line 507.
Zitat von: holsteiner-kiel am 11 September 2020, 13:16:15
So. Ich habe nun mit dem neuen Script meine Waschmaschine anlegen können. Allerdings endet ein get status in einem fhem crash.
Log:
[...]
2020.09.11 13:14:50 4: SST (ST_000000000000): Key0: custom.disabledCapabilities
Can't use an undefined value as an ARRAY reference at ./FHEM/48_SST.pm line 507.
Wer Variablen prüft, ist klar im Vorteil. :-[
Ich denke, ich habe den Fehler jetzt korrigiert (Anhang aus erstem Post aktualisiert). Bitte testen :)
Mich wundert etwas Dein seltsamer Device Name, hast Du den selbst geändert, oder ist das der von SST angelegte? Nicht, daß ich da auch noch in Probleme (doppelte FHEM Device Namen) reinrausche...
Ich teste nachher. Der wurde automatisch so angelegt. Geändert hab ich nichts.
Zitat von: pasp am 09 September 2020, 23:50:10
Das sieht ja schon halbwegs ok aus, allerdings stören mich die ARRAY Einträge. Ich nehm das mal in meine ToDo Liste auf.
@felskrone, @fergison:
Ich habe das vielleicht schon gelöst. :)
Bitte aktualisiertes Perl Modul laden und
deleteReading <device> .*
get <device> status
laufen lassen. Wenn alles klappt, sollten die ARRAY Readings nicht wieder aktualisiert/erstellt werden.
Ein zusätzliches, neues Reading namens
setList_hint sollte aufgetaucht sein.
Wenn ihr mir das bitte mal schicken könntet.
Ich habe auch versucht eine Automatisierung zu Implementieren, kann das aber leider nicht testen. Mittels
set <device> autoextend_setList 1
get <device> status
sollte das Attribut setList um alle neuen "Capabilities" erweitert werden. Löschungen oder Aktualisierungen der Attributliste werden nicht vorgenommen.
Wäre ebenfalls toll, wenn das bitte einer testen könnte. Mein Kühlschrank liefert sowas leider nicht. :(
Jetzt legt er das Device an. Meine Waschmaschine hat wirklich die ocf_di C097276B-8D88-0000-0000-000000000000. Daraus resultiert dann der Name. Testen kann ich morgen früh mit einer neuen Waschladung ;-)
Hi Pasp,
hier der Screenshot vom Reading setList hint.
Das Modul-Update scheint zu laufen. Ich teste es nochmal im Betrieb der Waschmaschine am Wochenende.
Das set List wird angelegt.
Unklar ist mir noch die Ausgabe custom.supportedOptions:D0,BD,DC,DB,DA,D9,D8,D6,D5,BA,D4,D3,D2,D1
Den Rest verstehe ich.
Grüße
Lars
Ich habe nun versuct, mit einem Notify auf Änderungen von washerOperatingState_machineState zu reagieren. Kann es sein, dass aktuell noch keine Events gesendet werden? Der Event Monitor bleibt stumm bzgl. meiner Waschmaschine. Spielen mit event-on-change-reading und timestamp-on-change-reading haben leider erstmal nicht geholfen.
Vielen Dank für deine Leistung hier!!!
Zitat von: fergison am 11 September 2020, 22:40:38
Das set List wird angelegt.
Unklar ist mir noch die Ausgabe custom.supportedOptions:D0,BD,DC,DB,DA,D9,D8,D6,D5,BA,D4,D3,D2,D1
Den Rest verstehe ich.
Danke.
Könnten das vielleicht die internen Namen verschiedener Waschprogramme sein?
Zitat von: holsteiner-kiel am 12 September 2020, 16:21:16
Kann es sein, dass aktuell noch keine Events gesendet werden? Der Event Monitor bleibt stumm bzgl. meiner Waschmaschine.
:-[ Oopsie...
Ich war so sehr mit dem Datenempfang beschäftigt, daß ich das gar nicht bemerkt habe, aber Du hast natürlich Recht: So Events könnten ganz praktisch sein! ;D
In der gerade aktualisierten Version sollte das nun auch behoben sein. Allerdings habe ich
elementare Änderungen, insbesondere beim Define vorgenommen, d.h. ich glaube
ein Update des Moduls alleine tut da nicht.
Daher rate ich zur Löschung aller SST devices (incl. des Connectors) (das alte Token zuvor vermerken ;) ) mit nachfolgender Neuerzeugung.
Hintergrund: Das Token ist jetzt kein Attribut mehr, sondern ein Internal, d.h. es kann nicht ohne weiteres versehentlich geändert werden. Des Weiteren wird das Token nur noch zur Anlage des Connectors benötigt, und auch nur dort gespeichert. Die anderen, verbundenen FHEM Geräte fragen den Wert bei Bedarf vom Connector ab.
Was ich auch noch etwas verbessert habe, ist die Dokumentation. Einerseits zweisprachig, andererseits jetzt auch inhaltlich zutreffender.
Laut Samsung Entwickler Support wird in meinem Fall wohl von der API nicht alles richtig zurückgemeldet (z.B. fehlen sämtliche Angaben für den Gefrierteil). >:(
Darüber hinaus habe ich auch Probleme Werte zu setzen; möglich, daß das die selbe Ursache hat...
Daher kann bzw. will ich an der Front (Geräte steuern) zumindest bei bei meinem Kühlschrank derzeit nicht weiterbasteln, v.a. um zu verhindern, daß ich zwar den richtigen Code nutze, das aber gar nicht merken kann. ::)
Sobald Samsung das gerichtet hat, nehme ich die Arbeit an diesem Teil wieder auf.
Solange werde ich mich mit ein paar Schönheitsthemen auseinandersetzen, u.a. das Aufsetzen als GIT Repository, damit man das vernünftig einbinden kann und einem das ständige rumkopiere erspart bleibt. :)
Ich habe alles gelöscht und mit der neuen Version neu angelegt. Sieht erstmal (ohne Livetest) gut aus. Ich ann leider wohl frühestens heute Abend weiter testen. Danke dir für die großartige Arbeit!
So. Nun doch noch spontan die Wohnung geputzt, um 60 Grad Wäsche an machen zu können. Ich muss mich in vielerlei Hinsicht bei dir bedanken.
1. ist nun meine Wohnung sauber
2. Blinken nach Abschluss einer Waschladung nun meine HUE Lampen in der Wohnung, damit ich es mit bekomme und bald wird auch noch ein ECHO melden, dass die Maschine fertig ist. Dafür habe ich vorher IFTT (für HUE) genutzt und die Ansage war gar nicht möglich. Geniale Sache. Dei Events funktionieren also!
Jetzt noch im github veröffentlichen und etwas Feinschliff und dann könnte man es als offizielles Modul einreichen ;-) Weiter so!
So. Nun doch noch spontan die Wohnung geputzt, um 60 Grad Wäsche an machen zu können. Ich muss mich in vielerlei Hinsicht bei dir bedanken.
Zitat von: holsteiner-kiel am 13 September 2020, 12:01:16
1. ist nun meine Wohnung sauber
Gerne geschehen ;D
Zitat von: holsteiner-kiel am 13 September 2020, 12:01:16
2. Blinken nach Abschluss einer Waschladung nun meine HUE Lampen in der Wohnung, damit ich es mit bekomme und bald wird auch noch ein ECHO melden, dass die Maschine fertig ist. Dafür habe ich vorher IFTT (für HUE) genutzt und die Ansage war gar nicht möglich. Geniale Sache. Dei Events funktionieren also!
Super. Kaum, daß man wirklich alle nötigen Kommandos in den Code schreibt, geht's plötzlich!
Ein Teufelszeug, dieses Perl :D
Zitat von: holsteiner-kiel am 13 September 2020, 12:01:16
Jetzt noch im github veröffentlichen und etwas Feinschliff und dann könnte man es als offizielles Modul einreichen ;-) Weiter so!
Naja,
etwas Feinschliff ist gut, da ist schon noch einiges zu machen/klären. :-[
Im Moment könnte z.B. ein Timeout das ganze FHEM anhalten. :o
Auch würde ich gerne einige SVGs mitverteilen, und, und, und... Ein Faß ohne Boden :D
Ach ja, an alle: was habt ihr denn in
stateFormat hinterlegt? Ich würde da gerne Defaults definieren.
Ich hab für meine Waschmaschine auf die schnelle erstmal folgendes angegeben als stateFormat
washerOperatingState_machineState<br>washerOperatingState_washerJobState
Zitat von: holsteiner-kiel am 13 September 2020, 17:03:32
Ich hab für meine Waschmaschine auf die schnelle erstmal folgendes angegeben als stateFormat
washerOperatingState_machineState<br>washerOperatingState_washerJobState
Gute Idee, habe ich direkt bei mir eingebaut. Klappt soweit super.
Zwei Dinge hätt ich noch:
1. wie bekommen wir die Zeit umgerechnet, um die Enduhrzeit anzuzeigen? (Z.B.: washerOperatingState_completionTime
2020-09-13T19:05:40.338Z = 21:05)
2. Die Waschprogramme entschlüsseln (Z.B: washerMode_washerMode
Table_00_Course_67 = "Plegeleicht")
Btw.. ich hab jetzt fast alles gewaschen was da ist.. Danke dafür ;)
Zitat von: buzzmain am 13 September 2020, 18:45:34
1. wie bekommen wir die Zeit umgerechnet, um die Enduhrzeit anzuzeigen? (Z.B.: washerOperatingState_completionTime
2020-09-13T19:05:40.338Z = 21:05)
Das kann ich leicht einbauen.
Zitat von: buzzmain am 13 September 2020, 18:45:34
2. Die Waschprogramme entschlüsseln (Z.B: washerMode_washerMode
Table_00_Course_67 = "Plegeleicht")
Hier brauch ich euren Input :)
Zitat von: holsteiner-kiel am 13 September 2020, 17:03:32
Ich hab für meine Waschmaschine auf die schnelle erstmal folgendes angegeben als stateFormat
washerOperatingState_machineState<br>washerOperatingState_washerJobState
Hiermit als (vorläufigen?) Default gesetzt.
Zitat von: buzzmain am 13 September 2020, 18:45:34
1. wie bekommen wir die Zeit umgerechnet, um die Enduhrzeit anzuzeigen? (Z.B.: washerOperatingState_completionTime
2020-09-13T19:05:40.338Z = 21:05)
Soeben eingebaut (hoffe ich). Bitte testen und Erfolg vermelden ;)
Soeben ist mein gesamtes FHEm abgestürzt mit folgender Meldung im Log: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/48_SST.pm line 514.
Vielleicht kannst du ja damit was anfangen.
Schönen Abend!
Zitat von: holsteiner-kiel am 13 September 2020, 21:12:28
Soeben ist mein gesamtes FHEm abgestürzt mit folgender Meldung im Log: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/48_SST.pm line 514.
:(
Die Zeilennummer paßt nicht aktuellen Version. War das vor der aktuellen Version?
An der Stelle im Code hab ich jedenfalls gar nix geändert... :o
Scheint ein Problem bei Samsung zu sein. Aus irgendeinem Grund ist als Antwort anstatt JSON Daten direkt HTML gekommen... Hast Du das Interval eventuell auf 1 Sekunde gesetzt?
Blöd, daß das JSON Modul da so mimosenhaft reagiert und gleich abschmiert. >:(
Hab jetzt den Code angepaßt, daß das Problem wahrscheinlich nicht nochmal auftritt. Bei einem solchen Fehler wird dann die Statusanzeige angepaßt und - bei manuellem Aufruf - eine Fehlermeldung gezeigt.
Neue Dateiversion wieder im ersten Post.
Guten Morgen. War auf der letzten Version. Die letzte hab ich danach eingebaut. Jetzt wieder die neue. Interval ist nicht auf 1s. Ich teste weiter :-)
Hallo PASP,
Zitat von: pasp am 11 September 2020, 19:08:43
@felskrone, @fergison:
Ich habe das vielleicht schon gelöst. :)
Bitte aktualisiertes Perl Modul laden und
deleteReading <device> .*
get <device> status
laufen lassen. Wenn alles klappt, sollten die ARRAY Readings nicht wieder aktualisiert/erstellt werden.
Ein zusätzliches, neues Reading namens setList_hint sollte aufgetaucht sein.
Wenn ihr mir das bitte mal schicken könntet.
Ich habe auch versucht eine Automatisierung zu Implementieren, kann das aber leider nicht testen. Mittels
set <device> autoextend_setList 1
get <device> status
sollte das Attribut setList um alle neuen "Capabilities" erweitert werden. Löschungen oder Aktualisierungen der Attributliste werden nicht vorgenommen.
Wäre ebenfalls toll, wenn das bitte einer testen könnte. Mein Kühlschrank liefert sowas leider nicht. :(
ich hab mit neuester Version getestet:
setList_hint mediaPlayback:play,pause,stop,fastForward,rewind mediaInputSource:digitalTv,HDMI4 custom.soundmode:Standard,Optimiert,Verst�rken custom.picturemode:HDR+
die Array-Readings sind weg
ein "set TheFrame autoextend_setList 1" liefert mir "device tv not supported"
was mir noch auffällt: ein "get <device> status" läuft bei mir entweder sehr lange (und ich habe nicht genug Geduld), oder terminiert gar nicht: die Status werden erst nach erneuten "get <device> status" angezeigt.
bei eine Fhem-Update zeigte er mir gerade
2020.09.14 14:28:45 1 : *** EN SST: nonempty line after =begin html ignored
2020.09.14 14:28:45 1 : *** DE SST: nonempty line after =begin html ignored
ein Umschalten am TV führt nicht zu einer Status-Änderung bei Fhem
Zitat von: felskrone am 14 September 2020, 14:43:55
ein "set TheFrame autoextend_setList 1" liefert mir "device tv not supported"
Versuch es mal mit attr statt set. autoextend_setList ist ein Attribut.
Zitat von: felskrone am 14 September 2020, 14:43:55
setList_hint mediaPlayback:play,pause,stop,fastForward,rewind mediaInputSource:digitalTv,HDMI4 custom.soundmode:Standard,Optimiert,Verst�rken custom.picturemode:HDR+
die Array-Readings sind weg
Zitat von: felskrone am 14 September 2020, 14:43:55
ein "set TheFrame autoextend_setList 1" liefert mir "device tv not supported"
Wie holsteiner-kiel schon geschrieben hat, handelt es sich um ein Attribut und keinen set Befehl.
Entweder
attr TheFrame autoextend_setList 1
eingeben, oder direkt in FHEMWEB das Attribut mit der Maus setzen.
Zitat von: felskrone am 14 September 2020, 14:43:55
was mir noch auffällt: ein "get <device> status" läuft bei mir entweder sehr lange (und ich habe nicht genug Geduld), oder terminiert gar nicht: die Status werden erst nach erneuten "get <device> status" angezeigt.
Das ist mir auch schon aufgefallen, daß in FHEMWEB da kein automatischer Update passiert, ich weiß aber im Moment noch nicht, woran das liegt. :(
Die Abfrage läuft aber (zumindest bei mir) flott und problemlos im Hintergrund.
Zitat von: felskrone am 14 September 2020, 14:43:55
bei eine Fhem-Update zeigte er mir gerade
2020.09.14 14:28:45 1 : *** EN SST: nonempty line after =begin html ignored
2020.09.14 14:28:45 1 : *** DE SST: nonempty line after =begin html ignored
Sollte jetzt behoben sein.
Zitat von: felskrone am 14 September 2020, 14:43:55
ein Umschalten am TV führt nicht zu einer Status-Änderung bei Fhem
Das ist eine Frage der Häufigkeit der Updates. Das wird über das Attribut intervall eingestellt.
Ab sofort kann das Modul über GitHub eingebunden werden: 8)
update add https://raw.githubusercontent.com/PatricSperling/FHEM_SST/master/controls_SST.txt
update SST
shutdown restart
Damit werden automatisch keine Updates mehr verpaßt (so zumindest der Plan).
Moin pasp,
bei "update SST"
friert mein ganzes System ein.
Nur noch zu retten via ssh "sudo reboot"
Korrektur:
Einfach mal warten kann helfen ;)
Zitat von: buzzmain am 16 September 2020, 17:12:22
bei "update SST"
friert mein ganzes System ein.
Nur noch zu retten via ssh "sudo reboot"
Danke für den Schock ;D
Habe das Modul soeben aktualisiert.
Leider musste ich, nachdem Samsung ihre Antworten jetzt richtig formatieren, feststellen, daß die cloudseitigen Antworten deutlich komplexer ausfallen, als ich vermutete, weshalb sich leider auch die Namen für alle Readings geändert haben. Ein paar OCF Readings habe ich aufgrund ihrer Belanglosigkeit vorerst ganz rausgeschmissen. Wenn hier jemand von euch was vermisst, bitte mir einfach sagen, dann nehm' ich das wieder rein.
Bezüglich der Readingnamen habe ich ein neues Attribut eingeführt (brief_readings), das zwischen kurzen (Default) und langen, aber dafür 100%ig eindeutigen Namen umschaltet. Ich persönlich rechne hier nicht mit Dopplungen, aber better be safe than sorry. :)
Sowohl bei der Umschaltung, als auch nach diesem Update empfielt sich ein
deleteReading <DEVICE> .*
um den alten Kram loszuwerden.
Ach ja, loglevel 5 würde ich, wenn ich keine aktuellen Probleme identifizieren will, lieber lassen. Da kommt mittlerweile ordentlich was zusammen.
Das Umbenennen der FHEM Devices führt jetzt nicht mehr dazu, daß die Verknüpfungen verloren gehen.
Ich glaube das war's im Großen und Ganzen.
Da meine Tochter diesen Sonntag verspätete Corona-Kommunion hat, glaube ich nicht, daß ich diese Woche noch groß zu was kommen werde. :)
[Edit 18:22]:
P.S.: Ach ja, aufgrund des neuen Abfragepunktes für den Gerätestatus wäre es klasse, wenn ihr mir nochmal die Ergebnisse von get <device> status schicken könntet.
Zitat von: pasp am 16 September 2020, 18:08:33
[Edit 18:22]:
P.S.: Ach ja, aufgrund des neuen Abfragepunktes für den Gerätestatus wäre es klasse, wenn ihr mir nochmal die Ergebnisse von get <device> status schicken könntet.
Device-ID - Name
- Autocreation Status
dbd8b662-aff0-74fd-2b38-fe4c9efc70i7 - dummy_name - already known: no creation
main:
- switch
- refresh
- ocf
- execute
- remoteControlStatus
- washerMode
- washerOperatingState
- powerConsumptionReport
- custom.error
- custom.disabledCapabilities
- custom.dthVersion
- custom.washerAutoDetergent
- custom.washerAutoSoftener
- custom.washerRinseCycles
- custom.washerSoilLevel
- custom.washerSpinLevel
- custom.washerWaterTemperature
- custom.washerAddwashAlarm
- custom.supportedOptions
- custom.jobBeginningStatus
- samsungce.washerCycle
Danke nochmal für Deine Mühe.
Viel Spaß bei der Feier und lieben Gruß an Deine Tochter ;)
Scheint soweit zu gehen bei mir.
Allerdings ist es noch immer so, dass bei update SST das System komplett steht bei mir. Für ca 3-4 Minuten, dann ist alles wieder i.O.
K.A warum das so ist
aber nu mach mal ersteinmal WE und feier schön. Nächste Woche ist auch noch Zeit ;-)
Buzzy
Ich habe diese "FHEM friert ein" Sache noch weiter angeschaut.
Wenn FHEM keine Verbindung mit dem Internet hat, dann friert beim Refresh bzw. get status komplett ein.
In diesem Zustand werden auch keine Logs geschrieben. Das ganze dauert etwa 7 Minuten (geschätzt).
Leider hat mein InetProvider derzeit massive Probleme, daher habe ich tatsächlich mehrmals am Tag das Problem das FHEM einfriert :(
Ich habe den Refresh jetzt auf 500000 gesetzt, damit es erst einmal keine solchen Überraschungen mehr gibt.
Evtl. würde ein Timeout bei der Abfrage helfen.
Trotzdem schöne Feier ;)
Buzzy
Zitat von: buzzmain am 17 September 2020, 08:49:55
Device-ID - Name
- Autocreation Status
...
Danke, aber ich bräuchte eigentlich den Output des Gerätestatus, nicht die
device_list :)
Zitat von: buzzmain am 17 September 2020, 08:49:55
Viel Spaß bei der Feier und lieben Gruß an Deine Tochter ;)
Danke, sie hat sich gefreut und grüßt zurück ;)
Zitat von: buzzmain am 17 September 2020, 08:49:55
Allerdings ist es noch immer so, dass bei update SST das System komplett steht bei mir. Für ca 3-4 Minuten, dann ist alles wieder i.O.
Sowas läßt mir keine Ruh'...
Neue Version ist draußen. Der Timeout läßt ich über das Attribut
timeout setzen. Default ist 3 Sekunden.
Hallo!
Ganz toll, dass an diesem Modul weitergearbeitet wird.
Habe ein Samsung Klima-Splitgerät.
Ein device_list bringt dieses Ergebnis:
------ send below text to developer ------
$VAR1 = {
"_links" => {},
"items" => [
{
"components" => [
{
"capabilities" => [
{
"id" => "ocf",
"version" => 1
},
{
"id" => "switch",
"version" => 1
},
{
"id" => "airConditionerMode",
"version" => 1
},
{
"id" => "airConditionerFanMode",
"version" => 1
},
{
"id" => "fanOscillationMode",
"version" => 1
},
{
"id" => "airQualitySensor",
"version" => 1
},
{
"id" => "temperatureMeasurement",
"version" => 1
},
{
"id" => "thermostatCoolingSetpoint",
"version" => 1
},
{
"id" => "relativeHumidityMeasurement",
"version" => 1
},
{
"id" => "dustSensor",
"version" => 1
},
{
"id" => "veryFineDustSensor",
"version" => 1
},
{
"id" => "audioVolume",
"version" => 1
},
{
"id" => "remoteControlStatus",
"version" => 1
},
{
"id" => "powerConsumptionReport",
"version" => 1
},
{
"id" => "demandResponseLoadControl",
"version" => 1
},
{
"id" => "refresh",
"version" => 1
},
{
"id" => "execute",
"version" => 1
},
{
"id" => "custom.spiMode",
"version" => 1
},
{
"id" => "custom.thermostatSetpointControl",
"version" => 1
},
{
"id" => "custom.airConditionerOptionalMode",
"version" => 1
},
{
"id" => "custom.airConditionerTropicalNightMode",
"version" => 1
},
{
"id" => "custom.autoCleaningMode",
"version" => 1
},
{
"id" => "custom.deviceReportStateConfiguration",
"version" => 1
},
{
"id" => "custom.energyType",
"version" => 1
},
{
"id" => "custom.dustFilter",
"version" => 1
},
{
"id" => "custom.airConditionerOdorController",
"version" => 1
},
{
"id" => "custom.deodorFilter",
"version" => 1
},
{
"id" => "custom.disabledComponents",
"version" => 1
},
{
"id" => "custom.disabledCapabilities",
"version" => 1
},
{
"id" => "samsungce.driverVersion",
"version" => 1
}
],
"categories" => [
{
"name" => "AirConditioner"
}
],
"id" => "main"
},
{
"capabilities" => [
{
"id" => "switch",
"version" => 1
},
{
"id" => "airConditionerMode",
"version" => 1
},
{
"id" => "airConditionerFanMode",
"version" => 1
},
{
"id" => "fanOscillationMode",
"version" => 1
},
{
"id" => "temperatureMeasurement",
"version" => 1
},
{
"id" => "thermostatCoolingSetpoint",
"version" => 1
},
{
"id" => "relativeHumidityMeasurement",
"version" => 1
},
{
"id" => "airQualitySensor",
"version" => 1
},
{
"id" => "dustSensor",
"version" => 1
},
{
"id" => "veryFineDustSensor",
"version" => 1
},
{
"id" => "odorSensor",
"version" => 1
},
{
"id" => "remoteControlStatus",
"version" => 1
},
{
"id" => "audioVolume",
"version" => 1
},
{
"id" => "custom.thermostatSetpointControl",
"version" => 1
},
{
"id" => "custom.autoCleaningMode",
"version" => 1
},
{
"id" => "custom.airConditionerTropicalNightMode",
"version" => 1
},
{
"id" => "custom.disabledCapabilities",
"version" => 1
},
{
"id" => "ocf",
"version" => 1
},
{
"id" => "powerConsumptionReport",
"version" => 1
},
{
"id" => "demandResponseLoadControl",
"version" => 1
},
{
"id" => "custom.spiMode",
"version" => 1
},
{
"id" => "custom.airConditionerOptionalMode",
"version" => 1
},
{
"id" => "custom.deviceReportStateConfiguration",
"version" => 1
},
{
"id" => "custom.energyType",
"version" => 1
},
{
"id" => "custom.dustFilter",
"version" => 1
},
{
"id" => "custom.airConditionerOdorController",
"version" => 1
},
{
"id" => "custom.deodorFilter",
"version" => 1
}
],
"categories" => [],
"id" => 1
}
],
"deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceManufacturerCode" => "Samsung Electronics",
"deviceTypeName" => "Samsung OCF Air Conditioner",
"label" => "SZRaumklimaanlage",
"locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"manufacturerName" => "Samsung Electronics",
"name" => "[room a/c] Samsung",
"presentationId" => "DA-AC-RAC-000001",
"profile" => {
"id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"restrictionTier" => 0,
"roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type" => "OCF"
}
]
};
------ send above text to developer ------
Ein neues Device wird nicht angelegt.
Ich hoffe die Info hilft etwas. Teste gerne und freue mich auf Weiterentwicklung
Danke, Liebe Grüße Michael
Zitat von: tremichl am 23 September 2020, 10:59:17
Habe ein Samsung Klima-Splitgerät.
Super, hatten wir noch nicht.
Zitat von: tremichl am 23 September 2020, 10:59:17
"name" => "[room a/c] Samsung",
...
1bee6b2a-82d2-284a-131a-65d1e967e9eb - [room a/c] Samsung - creation failed with: 'room a/c, 60, 1bee6b2a-82d2-284a-131a-65d1e967e9eb IO=SamsungSmartThingsConnector'
Ein neues Device wird nicht angelegt.
Immer mal wieder was Neues :)
Habe das Modul jetzt angepaßt. Die Geräteerstellung sollte jetzt auch für das Klimagerät funktionieren.
Das ging ja schnell, danke!
nach:
Update
Shutdown restart
Connector gelöscht und neu angelegt (autocreate 1)
get device_list
wird leider noch kein Device angelegt
Device-ID - Name - Autocreation Status
Muss ich noch auf etwas achten?
Wie peinlich, ich hab ein _ im Code vergessen :-[
Bug ist gefixed. Bitte upgraden.
Den Connector mußt Du nicht löchen, ein
attr <Connector> autocreate 2
get <Connector> device_list
(oder eben graphisch) reicht völlig. :)
Gar nicht peinlich! Wo gehobelt wird fallen Späne....
Jetzt hat es geklappt!
Einige Readings sind schon da, werde mir diese einmal genauer ansehen....
Danke!
Neue Version 0.7.12So, da war noch n Fehler beim SVG upload - hiermit beseitigt.
D.h. ich habe SVG Graphiken (ab)gemalt für:
- Samsung SmartThings (Logo in 'nem Haus)
- meinen Samsung Kühl- und Gefrierschrank
- ein Samsung Klimagerät (@tremichl: ich hoffe, Deins sieht in etwa so aus)
Fangen alle mit 'samsung_' an :)
Des Weiteren habe ich einen timeout Zähler als reading eingeführt, d.h. bei entsprechendem Timeout wird das reading angelegt bzw. um 1 erhöht.
Icon sieht besser aus als in der Samsung App. :)
Fast alle Readings zeigen plausible Werte an. Nur bei powerConsumption steht HASH(0x5a292d8) drin. Wie kommt man zu kWh? Und natürlich wäre es ganz toll, wenn man bei Gelegenheit auch die Grundfunktionen (ON/OFF, Fan Speed, Tempereatur,..) steuern könnte...
Bis jetzt sieht das ganze aber schon sehr vielversprechend aus.
Zitat von: tremichl am 25 September 2020, 16:33:39
Icon sieht besser aus als in der Samsung App. :)
Danke sehr :)
Zitat von: tremichl am 25 September 2020, 16:33:39
Fast alle Readings zeigen plausible Werte an. Nur bei powerConsumption steht HASH(0x5a292d8) drin. Wie kommt man zu kWh?
Da lese ich offenbar nicht tief genug in den Baum hinein...
Mach doch bitte mal
attr <device> verbose 5
get <device> status
attr <device> verbose 3
und schick mir die Ausgabe.
Zitat von: tremichl am 25 September 2020, 16:33:39Und natürlich wäre es ganz toll, wenn man bei Gelegenheit auch die Grundfunktionen (ON/OFF, Fan Speed, Tempereatur,..) steuern könnte...
Zitat von: TheMandalorianDas ist der Weg.
;)
Kann das Modul aus einem SmartThings-Fernseher den eingestellten Kanal abfragen?
LG
pah
Hier die Ausgabe von get status:
$VAR1 = {
"components" => {
"1" => {
"airConditionerFanMode" => {
"fanMode" => {
"value" => undef
},
"supportedAcFanModes" => {
"value" => undef
}
},
"airConditionerMode" => {
"airConditionerMode" => {
"value" => undef
},
"supportedAcModes" => {
"value" => undef
}
},
"airQualitySensor" => {
"airQuality" => {
"value" => undef
}
},
"audioVolume" => {
"volume" => {
"value" => undef
}
},
"custom.airConditionerOdorController" => {
"airConditionerOdorControllerProgress" => {
"value" => undef
},
"airConditionerOdorControllerState" => {
"value" => undef
}
},
"custom.airConditionerOptionalMode" => {
"acOptionalMode" => {
"value" => undef
},
"supportedAcOptionalMode" => {
"value" => undef
}
},
"custom.airConditionerTropicalNightMode" => {
"acTropicalNightModeLevel" => {
"value" => undef
}
},
"custom.autoCleaningMode" => {
"autoCleaningMode" => {
"value" => undef
}
},
"custom.deodorFilter" => {
"deodorFilterCapacity" => {
"value" => undef
},
"deodorFilterResetType" => {
"value" => undef
},
"deodorFilterStatus" => {
"value" => undef
},
"deodorFilterUsage" => {
"value" => undef
},
"deodorFilterUsageStep" => {
"value" => undef
}
},
"custom.deviceReportStateConfiguration" => {
"reportStatePeriod" => {
"value" => undef
},
"reportStateRealtime" => {
"value" => undef
},
"reportStateRealtimePeriod" => {
"value" => undef
}
},
"custom.disabledCapabilities" => {
"disabledCapabilities" => {
"value" => undef
}
},
"custom.dustFilter" => {
"dustFilterCapacity" => {
"value" => undef
},
"dustFilterResetType" => {
"value" => undef
},
"dustFilterStatus" => {
"value" => undef
},
"dustFilterUsage" => {
"value" => undef
},
"dustFilterUsageStep" => {
"value" => undef
}
},
"custom.energyType" => {
"energyType" => {
"value" => undef
}
},
"custom.spiMode" => {
"spiMode" => {
"value" => undef
}
},
"custom.thermostatSetpointControl" => {
"maximumSetpoint" => {
"value" => undef
},
"minimumSetpoint" => {
"value" => undef
}
},
"demandResponseLoadControl" => {
"drlcStatus" => {
"value" => undef
}
},
"dustSensor" => {
"dustLevel" => {
"value" => undef
},
"fineDustLevel" => {
"value" => undef
}
},
"fanOscillationMode" => {
"fanOscillationMode" => {
"timestamp" => "2020-07-09T12:53:17.597+0000",
"value" => "fixed"
}
},
"ocf" => {
"di" => {
"value" => undef
},
"dmv" => {
"value" => undef
},
"icv" => {
"value" => undef
},
"mndt" => {
"value" => undef
},
"mnfv" => {
"value" => undef
},
"mnhw" => {
"value" => undef
},
"mnml" => {
"value" => undef
},
"mnmn" => {
"value" => undef
},
"mnmo" => {
"value" => undef
},
"mnos" => {
"value" => undef
},
"mnpv" => {
"value" => undef
},
"mnsl" => {
"value" => undef
},
"n" => {
"value" => undef
},
"pi" => {
"value" => undef
},
"st" => {
"value" => undef
},
"vid" => {
"value" => undef
}
},
"odorSensor" => {
"odorLevel" => {
"value" => undef
}
},
"powerConsumptionReport" => {
"powerConsumption" => {
"value" => undef
}
},
"relativeHumidityMeasurement" => {
"humidity" => {
"timestamp" => "2020-07-07T14:19:43.602+0000",
"unit" => "%",
"value" => 0
}
},
"remoteControlStatus" => {
"remoteControlEnabled" => {
"value" => undef
}
},
"switch" => {
"switch" => {
"value" => undef
}
},
"temperatureMeasurement" => {
"temperature" => {
"value" => undef
}
},
"thermostatCoolingSetpoint" => {
"coolingSetpoint" => {
"value" => undef
}
},
"veryFineDustSensor" => {
"veryFineDustLevel" => {
"value" => undef
}
}
},
"main" => {
"airConditionerFanMode" => {
"fanMode" => {
"timestamp" => "2020-09-25T14:16:30.504+0000",
"value" => "low"
},
"supportedAcFanModes" => {
"timestamp" => "2020-04-22T12:48:40.896+0000",
"value" => [
"auto",
"low",
"medium",
"high",
"turbo"
]
}
},
"airConditionerMode" => {
"airConditionerMode" => {
"timestamp" => "2020-09-14T00:54:23.582+0000",
"value" => "cool"
},
"supportedAcModes" => {
"timestamp" => "2020-04-22T12:48:40.946+0000",
"value" => [
"cool",
"dry",
"wind",
"auto",
"heat"
]
}
},
"airQualitySensor" => {
"airQuality" => {
"timestamp" => "2020-09-25T10:49:04.949+0000",
"unit" => "CAQI",
"value" => undef
}
},
"audioVolume" => {
"volume" => {
"timestamp" => "2020-09-14T09:21:09.869+0000",
"unit" => "%",
"value" => 0
}
},
"custom.airConditionerOdorController" => {
"airConditionerOdorControllerProgress" => {
"timestamp" => "2020-09-25T10:59:05.822+0000",
"value" => undef
},
"airConditionerOdorControllerState" => {
"timestamp" => "2020-09-25T10:59:05.822+0000",
"value" => undef
}
},
"custom.airConditionerOptionalMode" => {
"acOptionalMode" => {
"timestamp" => "2020-07-07T06:46:48.594+0000",
"value" => "off"
},
"supportedAcOptionalMode" => {
"timestamp" => "2020-04-22T12:48:40.933+0000",
"value" => [
"off"
]
}
},
"custom.airConditionerTropicalNightMode" => {
"acTropicalNightModeLevel" => {
"timestamp" => "2020-06-27T22:32:52.157+0000",
"value" => 0
}
},
"custom.autoCleaningMode" => {
"autoCleaningMode" => {
"timestamp" => "2020-04-22T12:48:41.049+0000",
"value" => "off"
}
},
"custom.deodorFilter" => {
"deodorFilterCapacity" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterResetType" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterStatus" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterUsage" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterUsageStep" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
}
},
"custom.deviceReportStateConfiguration" => {
"reportStatePeriod" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
},
"reportStateRealtime" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
},
"reportStateRealtimePeriod" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
}
},
"custom.disabledCapabilities" => {
"disabledCapabilities" => {
"timestamp" => "2020-07-07T11:58:00.802+0000",
"value" => [
"airFlowDirection",
"dustSensor",
"odorSensor",
"airQualitySensor",
"odorSensor",
"spiMode",
"veryFineDustSensor",
"remoteControlStatus",
"custom.airConditionerOdorController",
"demandResponseLoadControl",
"custom.dustFilter",
"custom.deodorFilter",
"custom.eletricHepaFilter",
"custom.periodicSensing",
"custom.doNotDisturbMode"
]
}
},
"custom.disabledComponents" => {
"disabledComponents" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => [
1
]
}
},
"custom.dustFilter" => {
"dustFilterCapacity" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterResetType" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterStatus" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterUsage" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterUsageStep" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
}
},
"custom.energyType" => {
"energyType" => {
"timestamp" => "2020-04-22T12:48:41.098+0000",
"value" => "1.0"
}
},
"custom.spiMode" => {
"spiMode" => {
"timestamp" => "2020-09-25T10:54:05.376+0000",
"value" => undef
}
},
"custom.thermostatSetpointControl" => {
"maximumSetpoint" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => 30
},
"minimumSetpoint" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => 16
}
},
"demandResponseLoadControl" => {
"drlcStatus" => {
"timestamp" => "2020-07-07T11:58:00.764+0000",
"value" => {
"drlcLevel" => -1,
"duration" => 0,
"override" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
"start" => "1970-01-01T00:00:00Z"
}
}
},
"dustSensor" => {
"dustLevel" => {
"timestamp" => "2020-08-21T18:42:54.007+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
},
"fineDustLevel" => {
"timestamp" => "2020-08-21T18:42:54.007+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
}
},
"execute" => {
"data" => {
"data" => {
"href" => "/mode/vs/0"
},
"timestamp" => "2020-09-26T08:35:35.114+0000",
"value" => {
"payload" => {
"if" => [
"oic.if.baseline",
"oic.if.a"
],
"rt" => [
"x.com.samsung.da.mode"
],
"x.com.samsung.da.modes" => [
"Cool"
],
"x.com.samsung.da.options" => [
"Comode_Off",
"Sleep_0",
"OutdoorTemp_62",
"CoolCapa_35",
"WarmCapa_35",
"Autoclean_Off",
"Light_Off",
"Volume_Mute",
"AutocleanProgress_1",
"StopAutoClean_Idle",
"FilterTime_5080",
"FilterAlarmTime_500",
"OptionCode_53304",
"ExtendOptionCode_0",
"RacInfo_None",
"UpdateAllow_NotAllowed"
],
"x.com.samsung.da.supportedModes" => [
"Cool",
"Dry",
"Wind",
"Auto",
"Heat",
"HOMECARE_WIZARD_V2"
]
}
}
}
},
"fanOscillationMode" => {
"fanOscillationMode" => {
"timestamp" => "2020-09-14T20:53:54.188+0000",
"value" => "fixed"
}
},
"ocf" => {
"di" => {
"timestamp" => "2020-04-22T12:48:40.469+0000",
"value" => "1bee6b2a-82d2-284a-131a-65d1e967e9eb"
},
"dmv" => {
"timestamp" => "2020-04-22T12:48:40.479+0000",
"value" => "res.1.1.0,sh.1.1.0"
},
"icv" => {
"timestamp" => "2020-04-22T12:48:40.490+0000",
"value" => "core.1.1.0"
},
"mndt" => {
"timestamp" => "2020-09-25T10:39:04.162+0000",
"value" => undef
},
"mnfv" => {
"timestamp" => "2020-04-22T12:48:40.079+0000",
"value" => "0.1.0"
},
"mnhw" => {
"timestamp" => "2020-04-22T12:48:40.090+0000",
"value" => "1.0"
},
"mnml" => {
"timestamp" => "2020-04-22T12:48:40.419+0000",
"value" => "http://www.samsung.com"
},
"mnmn" => {
"timestamp" => "2020-04-22T12:48:40.429+0000",
"value" => "Samsung Electronics"
},
"mnmo" => {
"timestamp" => "2020-04-22T12:48:40.407+0000",
"value" => "ARTIK051_KRAC_18K|10193441|60010123001111000200000000000000"
},
"mnos" => {
"timestamp" => "2020-04-22T12:48:40.383+0000",
"value" => "TizenRT2.0"
},
"mnpv" => {
"timestamp" => "2020-04-22T12:48:40.396+0000",
"value" => "0.1.0"
},
"mnsl" => {
"timestamp" => "2020-09-25T10:34:03.766+0000",
"value" => undef
},
"n" => {
"timestamp" => "2020-04-22T12:48:40.500+0000",
"value" => "[room a/c] Samsung"
},
"pi" => {
"timestamp" => "2020-04-22T12:48:40.440+0000",
"value" => "1bee6b2a-82d2-284a-131a-65d1e967e9eb"
},
"st" => {
"timestamp" => "2020-09-25T10:44:04.521+0000",
"value" => undef
},
"vid" => {
"timestamp" => "2020-04-22T12:48:40.451+0000",
"value" => "DA-AC-RAC-000001"
}
},
"powerConsumptionReport" => {
"powerConsumption" => {
"timestamp" => "2020-09-26T02:38:06.247+0000",
"value" => {
"deltaEnergy" => 0,
"end" => "2020-09-26T02:38:06Z",
"energy" => 28400,
"energySaved" => 0,
"persistedEnergy" => 28400,
"power" => 0,
"powerEnergy" => 0,
"start" => "2020-09-25T14:13:52Z"
}
}
},
"refresh" => {},
"relativeHumidityMeasurement" => {
"humidity" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"unit" => "%",
"value" => 0
}
},
"remoteControlStatus" => {
"remoteControlEnabled" => {
"timestamp" => "2020-08-21T18:54:54.995+0000",
"value" => undef
}
},
"samsungce.driverVersion" => {
"versionNumber" => {
"timestamp" => "2020-08-21T13:04:49.325+0000",
"value" => 20081101
}
},
"switch" => {
"switch" => {
"timestamp" => "2020-09-25T14:21:01.770+0000",
"value" => "off"
}
},
"temperatureMeasurement" => {
"temperature" => {
"timestamp" => "2020-09-26T07:01:17.670+0000",
"unit" => "C",
"value" => 20
}
},
"thermostatCoolingSetpoint" => {
"coolingSetpoint" => {
"timestamp" => "2020-08-17T20:30:03.618+0000",
"unit" => "C",
"value" => 22
}
},
"veryFineDustSensor" => {
"veryFineDustLevel" => {
"timestamp" => "2020-07-07T12:13:43.124+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
}
}
}
}
};
Liebe Grüße, Michael
Zitat von: Prof. Dr. Peter Henning am 26 September 2020, 06:29:59Kann das Modul aus einem SmartThings-Fernseher den eingestellten Kanal abfragen?
Das kann ich mangels Samsung Fernseher nicht sicher sagen, aber wenn ich diesen Post ansehe (http://forum.fhem.de/index.php/topic,113820.msg1083877.html#msg1083877), glaube ich fest daran.
Vielleicht kann das ja einer der Fernsehbesitzer bestätigen :)
Würde ich wirklich gerne wissen - denn das fehlt bisher in den diversen Wegen, Samsung-Kisten zu steuern.
LG
pah
Neue Version 0.7.14Änderungen:
- Unterstützung von mehreren, unterschiedlichen Werten in der Rückgabe des Wertefeldes (HASH(0x5a292d8))
- Bug aus Zeitumwandlung entfernt (Angabe in aktueller Zeitzone statt 2020-09-13T19:05:40.338Z)
- Dokumentation um ein paar Readings erweitert.
Zitat von: buzzmain am 13 September 2020, 18:45:34
1. wie bekommen wir die Zeit umgerechnet, um die Enduhrzeit anzuzeigen? (Z.B.: washerOperatingState_completionTime
2020-09-13T19:05:40.338Z = 21:05)
Somit eingebaut/repariert.
Zitat von: tremichl am 25 September 2020, 16:33:39
Nur bei powerConsumption steht HASH(0x5a292d8) drin.
Sollte jetzt gelöst sein.
Wie immer bei Erweiterungen, die ich bei mir nicht richtig testen kann: Bitte testen und hoffentlich Erfolg vermelden ;)
Zitat von: Prof. Dr. Peter Henning am 26 September 2020, 19:12:40
Würde ich wirklich gerne wissen - denn das fehlt bisher in den diversen Wegen, Samsung-Kisten zu steuern.
Was spricht denn gegen ein kurzes Ausprobieren? :D
Witzbold. Das kann nur ein Neuling fragen...
Ich habe in FHEM wirklich genügend Baustellen, die anderen zu Gute kommen - da kann ich es mir durchaus leisten, mal auf diese anderen zu bauen.
pah
Hallo,
Erstmals möchte ich einmal ein Großes Lob an pasp aussprechen für diese Arbeit.
Ich habe einen Samsung QLED, Samsung Windfree Splitklimaanlage in 4 Räumen und Samsung Bluray Player.
Hausautomatisierung ist Loxone und ein Raspberry mit Loxberry Software.
Für den Rasberry gibt es ein Plugin https://www.loxwiki.eu/display/LOXBERRY/Fhem
Kann das Programm bei mir auch funktionieren?
Zitat von: reinhard@seven-up.at am 27 September 2020, 01:32:32
Ich habe einen Samsung QLED, Samsung Windfree Splitklimaanlage in 4 Räumen und Samsung Bluray Player.
Hausautomatisierung ist Loxone und ein Raspberry mit Loxberry Software.
Für den Rasberry gibt es ein Plugin https://www.loxwiki.eu/display/LOXBERRY/Fhem
Kann das Programm bei mir auch funktionieren?
Da bin ich überfragt, weil ich nicht weiß, wie sich FHEM als Plugin verhält.
Ist das ein komplettes Standard-FHEM oder wurde da was angepaßt? ???
Sollte der normale Installationsverlauf nicht funktioniert, lade Dir doch mal das 48_SST.pm von Github runter und legs manuell in das FHEM Verzeichnis, in dem auch die ganzen anderen *.pm Dateien liegen (ggf. einfach mal nach z.B. 00_MQTT.pm suchen). Spätestens nach 'nem Neustart von FHEM sollte es dann eigentlich funktionieren. :)
Interessant wäre das auf jeden Fall :D
Sehe jetzt 8 Readings welche sich auf powerConsumption beziehen. Danke! Versuche nun herauszufinden was sie im einzelnen bedeuten.
Neue Version 0.7.16Änderungen:
- anstatt eines Timout counters gibt es jetzt 4 - getrennt nach Setzen und Abfragen sowie nach Total und Aktuell (*_row)
- neues get-Kommando: x_option - muß einmalig pro Gerät (nicht beim CONNECTOR) ausgeführt werden, damit das Setzen funktionieren kann (es wird ein unsichtbares Internal gesetzt)
Achtung: setList wird dabei überschrieben! - das Setzen von Werten sollte jetzt in den meisten Fällen funktionieren
Bitte reichlich Testen und mir Rückmeldung geben - bei Fehlern am Besten mit der Ausgabe bei
verbose 5 :)
Das Modul (aktuelle Version heute) ist bei mir leider funktionslos.
Nach Installation mit einem frisch generierten Samsung Token (ALLE Rechte) ist der Connector zunächst im Status "connection idle".
Verbose ist auf 5 gesetzt, im Log ist nach dem Systemstart zu lesen
ZitatSST (SST): reschedule for epoch 1601556544.87883
Beim manuellen Absetzen eines get device_list wechselt der Status auf "polling device from cloud", im Popup lese ich:
Zitat------ send below text to developer ------
$VAR1 = {
"_links" => {},
"items" => []
};
------ send above text to developer ------
Device-ID - Name - Autocreation Status
Das wars. get_timeouts_row bleibt auf 0, keine Devices werden gefunden oder angelegt, keine Meldung im Log, Niente.
Gleichzeitig kann ich mit der SmartThings App auf dem Handy wunderbar meinen Samsung-Fernseher erkennen und steuern.
Eine Kleinigkeit noch
ZitatPERL WARNING: Possible attempt to separate words with commas at /opt/fhem/FHEM/48_SST.pm line 71, <$fh> line 1021.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 30 September 2020, 15:18:05
Nach Installation mit einem frisch generierten Samsung Token (ALLE Rechte) ist der Connector zunächst im Status "connection idle".
...
Beim manuellen Absetzen eines get device_list wechselt der Status auf "polling device from cloud", im Popup lese ich:
$VAR1 = {
"_links" => {},
"items" => []
};
Das ist sehr seltsam. Das ist eigentlich die die komplette Antwort JSON der Samsung Cloud, d.h. der Connect funktioniert offensichtlich, aber es kommen keine Daten. :o
Ich habe zur Verifikation bei mir gerade nochmal alles neu erstellt (bis auf das Token), und hatte keine Probleme und eine deutlich längere (=korrekte) Ausgabe.
Ich tippe dennoch auf fehlende Berechtigungen im Token, vielleicht kannst Du das nochmal überprüfen.
Unter https://account.smartthings.com/tokens (https://account.smartthings.com/tokens) kann man die vergebenen Rechte listen, das sieht dann in etwa so aus:
fhemconnect — r:locations:*, w:customcapability, x:rules:*, l:installedapps, r:scenes:*, r:customcapability, w:rules:*, w:schedules, x:notifications:*, w:installedapps:*, x:scenes:*, r:installedapps:*, r:schedules, w:deviceprofiles, r:rules:*, x:devices:*, l:devices, w:locations:*, r:devices:*, w:devices:*, x:locations:*, r:apps:*, r:deviceprofiles, w:apps:*
Zitat von: Prof. Dr. Peter Henning am 30 September 2020, 15:18:05
Das wars. get_timeouts_row bleibt auf 0, keine Devices werden gefunden oder angelegt, keine Meldung im Log, Niente.
Gleichzeitig kann ich mit der SmartThings App auf dem Handy wunderbar meinen Samsung-Fernseher erkennen und steuern.
Ja, solange das Modul noch in diesem Stadion ist, sende ich viele Infos direkt in die Oberfläche, damit man nicht ständig alles aus der Shell greppen muß.
Die SmartThings App nutzt ja nicht das Token. Bei mir hat die auch funktioniert, aber die Antwort führ meinen Kühlschrank war auch fehlehaft, bis Samsung das repariert hatte. :/
Das dürfte aber hier nicht das Problem sein, hier geht's ja erstmal um das Basislisting.
Zitat von: Prof. Dr. Peter Henning am 30 September 2020, 15:18:05
Eine Kleinigkeit noch
PERL WARNING: Possible attempt to separate words with commas at /opt/fhem/FHEM/48_SST.pm line 71, <$fh> line 1021.
Danke für den Hinweis, sollte in der nächsten Version behoben sein.
So, ich bin einen Schritt weiter. Die App findet den Samsung-Fernseher zwar problemlos, für das SST-Modul muss aber zusätzlich ein Device in der SmartThings-Cloud angelegt werden.
Zitat------ send below text to developer ------
$VAR1 = {
"_links" => {},
"items" => [
{
"components" => [
{
"capabilities" => [
{
"id" => "switch",
"version" => 1
},
{
"id" => "refresh",
"version" => 1
}
],
"categories" => [
{
"name" => "Switch"
}
],
"id" => "main"
}
],
"deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceNetworkType" => "UNKNOWN",
"deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceTypeName" => "2015 Samsung Smart TV",
"dth" => {
"completedSetup" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
"deviceNetworkType" => "UNKNOWN",
"deviceTypeId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceTypeName" => "2015 Samsung Smart TV",
"networkSecurityLevel" => "UNKNOWN"
},
"label" => "TV",
"locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"manufacturerName" => "SmartThings",
"name" => "TV",
"presentationId" => "SmartThings-smartthings-2015_Samsung_Smart_TV",
"restrictionTier" => 0,
"type" => "DTH"
}
]
};
------ send above text to developer ------
Device-ID - Name - Autocreation Status
xxxxxxxxxxxxxxxxxxxxxxxxxxx - TVcannot determine device type from name (TV) or deviceTypeName (2015 Samsung Smart TV). - newly created as SST_3b5abadacf89
Das entsprechend FHEM-Device wird auch angelegt. Das wars dann aber auch - weder ergibt eine Statusabfrage irgendwelche Readings außer get_timeouts_row, noch liefert ein get x_options etwas Anderes als
Zitatr2ccc:
$VAR1 = {}
LG
pah
Zitat von: Prof. Dr. Peter Henning am 01 Oktober 2020, 21:05:21
So, ich bin einen Schritt weiter. Die App findet den Samsung-Fernseher zwar problemlos, für das SST-Modul muss aber zusätzlich ein Device in der SmartThings-Cloud angelegt werden.
Also irgendwas ist bei Dir grundlegend anders. Das ist das mit Abstand kürzeste device_list von allen. :o
Ich kann mich nicht erinnern irgendein Device in Samsung angelegt haben zu müssen...
Die presentationId und der manufacturerName sehen mir auch recht seltsam aus.
Gibt's da ggf. irgendwelche firmware updates, die noch ausstehen?
Zitat von: Prof. Dr. Peter Henning am 01 Oktober 2020, 21:05:21
Das entsprechend FHEM-Device wird auch angelegt. Das wars dann aber auch - weder ergibt eine Statusabfrage irgendwelche Readings außer get_timeouts_row, noch liefert ein get x_options etwas Anderes als
Update doch bitte nochmal SST und setze verbose auf 5. Wenn da beim status keine Rückmeldung kommt, wäre das schon wieder ein Novum. :-\
Zitat
- das Setzen von Werten sollte jetzt in den meisten Fällen funktionieren
Bitte reichlich Testen und mir Rückmeldung geben - bei Fehlern am Besten mit der Ausgabe bei verbose 5 :)
set coolingsetpoint 22 C
ergibt diese Ausgabe:
Command failed:
ConstraintViolationError: The request is malformed.
Command has results:
{"commands":[{"capability":"thermostatCoolingSetpoint",
"command":"setCoolingSetpoint",
"arguments":[22,
"C"],
"component":"main"}]}
{"requestId":"BD045F5A-E1AF-401B-BE86-6F8F5FA8C7F0",
"error":{"code":"ConstraintViolationError",
"message":"The request is malformed.",
"details":[{"code":"SizeError",
"target":"commands[0].arguments",
"message":"commands[0].arguments must have a size between 1 and 1.",
"details":[]}]}}
Vermutlich liegt es am vorausgefüllten " C". Wenn man nur den Wert eingibt wird die Variable gesetzt und erfolgreich ins Gerät übertragen :)
Zur Zeit kann ich 4 Werte setzen:
coolingSetpoint
maximumSetpoint
minimumSetpoint
switch
In der App gibt es noch einige Optionen wie z.B. "Zweistifenkühlung, Super-Turbo, Komfort, Flüsterbetrieb, Einzelbenutzer" die ich in den Readings nicht finden kann...
Schön wäre auch noch wenn man z.B. auch fanMode, fanOscillationMode setzten könnte
Jedenfalls sehr erfreulich zu sehen wie das Modul Gestalt annimmt! Danke!
Liebe Grüße Michael
OK, im Log zeigt sich
Zitat2020.10.02 18:02:13 5: SST (SST_3b5abadacf89): get command - received ?
2020.10.02 18:02:27 5: SST (SST): get command - received ?
2020.10.02 18:02:31 5: SST (SST_3b5abadacf89): get command - received ?
2020.10.02 18:02:33 5: SST (SST_3b5abadacf89): get command - received status
2020.10.02 18:02:33 4: SST (SST_3b5abadacf89): get status - query cloud service
2020.10.02 18:02:34 5: SST (SST_3b5abadacf89): get status - received JSON data
2020.10.02 18:02:34 5: SST (SST_3b5abadacf89): get status - identified disabled components:
$VAR1 = [];
2020.10.02 18:02:34 5: SST (SST_3b5abadacf89): get status - identified readings:
$VAR1 = {};
2020.10.02 18:02:34 5: SST (SST_3b5abadacf89): get status - identified setList options:
$VAR1 = [];
und bei einem get ... status
Zitat$VAR1 = {
"components" => {
"main" => {
"refresh" => {},
"switch" => {
"switch" => {
"timestamp" => "2020-10-01T18:47:52.671+0000",
"value" => undef
}
}
}
}
};
Ein set ... power off, oder on, oder inbetween führt zur Fehlermeldung
ZitatCould not identify internal name for value power!
Ein get ... x_options ergibt im FHEMWEB gar nichts, im Log steht
Zitat2020.10.02 18:06:34 5: SST (SST_3b5abadacf89): get command - received x_options
2020.10.02 18:06:34 4: SST (SST_3b5abadacf89): get x_options - query cloud service
2020.10.02 18:06:34 5: SST (SST_3b5abadacf89): get x_options - received JSON data
2020.10.02 18:06:34 5: SST (SST_3b5abadacf89): get x_options - identified disabled components:
$VAR1 = [];
2020.10.02 18:06:34 5: SST (SST_3b5abadacf89): get x_options - identified readings:
$VAR1 = {};
2020.10.02 18:06:34 5: SST (SST_3b5abadacf89): get x_options - identified setList options:
$VAR1 = [];
2020.10.02 18:06:34 5: SST (SST_3b5abadacf89): get x_options - identified readings to c3 path mappings:
$VAR1 = {};
Noch eine Kleinigkeit: In dem Github fürs Update stimmt etwas nicht.
Zitat2020.10.02 17:54:05 1 : Downloading https://raw.githubusercontent.com/PatricSperling/FHEM_SST/master/controls_SST.txt
2020.10.02 17:54:05 1 :
2020.10.02 17:54:05 1 : SST
2020.10.02 17:54:05 1 : UPD ./FHEM/48_SST.pm
2020.10.02 17:54:06 1 : UPD ./FHEM/48_SST.pm.bak
2020.10.02 17:54:06 1 : Got 14 bytes for ./FHEM/48_SST.pm.bak, expected 57275
2020.10.02 17:54:06 1 : aborting.
LG
pah
Zitat von: tremichl am 02 Oktober 2020, 17:14:54
set coolingsetpoint 22 C
ergibt diese Ausgabe:
...
Vermutlich liegt es am vorausgefüllten " C". Wenn man nur den Wert eingibt wird die Variable gesetzt und erfolgreich ins Gerät übertragen :)
Genau. Da mich das C eh genervt hat, hatte ich
discard_units eingeführt. Entweder auf 1 setzen, das C manuell entfernen oder auf die nächste Version upgraden, dann sollte das ignoriert werden.
Zitat von: tremichl am 02 Oktober 2020, 17:14:54
Zur Zeit kann ich 4 Werte setzen:
coolingSetpoint
maximumSetpoint
minimumSetpoint
switch
Super ;D
Zitat von: tremichl am 02 Oktober 2020, 17:14:54
In der App gibt es noch einige Optionen wie z.B. "Zweistifenkühlung, Super-Turbo, Komfort, Flüsterbetrieb, Einzelbenutzer" die ich in den Readings nicht finden kann...
Schön wäre auch noch wenn man z.B. auch fanMode, fanOscillationMode setzten könnte
Nicht so super :(
Schick mir doch bitte mal die komplette Ausgabe von
get status bei
verbose 5 (unbedingt danach wieder auf 3 oder 4 runtersetzen, sonst müllt Dein Log voll). Ich hoffe, ich finde da dann irgendwas, sonst bin ich mit meinem Latein erstmal am Ende. :-\
Zitat von: Prof. Dr. Peter Henning am 02 Oktober 2020, 18:08:02
OK, im Log zeigt sich
...
und bei einem get ... status
...
Aus irgendeinem Grund werden bei Dir keine capabilities gelistet, bzw. ist die eine capability (switch) ohne Wert.
Daher hätte ich eine Bitte an felskrone und awel, das mal zu testen, ob die mit ihren TV Geräten ein ähnliches Problem haben, ich hoffe ihr lest mit.
Zitat von: Prof. Dr. Peter Henning am 02 Oktober 2020, 18:08:02
Ein set ... power off, oder on, oder inbetween führt zur Fehlermeldung
...
Das kann nicht gehen, diese vordefinierten Werte haben keinen Bezug zu den (bei Dir ja nicht vorhandenen) Readings. Ich hatte die initial mal eingeführt, weil ich dachte, ich müsse sie im Code vordefinieren. In der aktuellen Version habe ich die Vordefinitionen jetzt mal rausgeschmissen, da irreführend.
Zitat von: Prof. Dr. Peter Henning am 02 Oktober 2020, 18:08:02
Ein get ... x_options ergibt im FHEMWEB gar nichts, im Log steht
...
Ist zu erwarten, weil die selbe Abfrage wie für status ausgewertet wird. Wo nix ist...
Zitat von: Prof. Dr. Peter Henning am 02 Oktober 2020, 18:08:02
Noch eine Kleinigkeit: In dem Github fürs Update stimmt etwas nicht.
Wenn man einmal ein neues Tool probiert, muß das einem natürlich gleich die Verzeichnisse volmüllen... >:(
Danke für den Hinweis, hab's gefixed.
Neue Version 0.7.18Änderungen:
- Setzen der Temperatur mit Einheit
Es ist jetzt egal, ob die Eineit beim Setzen der Temperatur mitgegeben wird, oder nicht. - default Werte für discard_units und setList entfernt
Die Werte für setList werden mittlerweile über get ... x_options gesetzt, und ergeben keinen Sinn mehr.
Das discard_units für Kühlschränke ist durch die Entfernung de C beim setzen nicht mehr relevant. - SVGs repariert und mit Metadaten versehen
- neue SVGs:
- samsung_smartthings_cloud - SmartThings Logo in einer Wolke
- samsung_smartthings_house2 - SmartThings Logo in einem Haus (alternative Hausform)
- samsung_tv - Samsung Fernseher (Frontalansicht)
- samsung_tv_curved - Samsung Fernseher (Curved)
Hier die Ausgabe von get Status bei switch=off:
$VAR1 = {
"components" => {
"1" => {
"airConditionerFanMode" => {
"fanMode" => {
"value" => undef
},
"supportedAcFanModes" => {
"value" => undef
}
},
"airConditionerMode" => {
"airConditionerMode" => {
"value" => undef
},
"supportedAcModes" => {
"value" => undef
}
},
"airQualitySensor" => {
"airQuality" => {
"value" => undef
}
},
"audioVolume" => {
"volume" => {
"value" => undef
}
},
"custom.airConditionerOdorController" => {
"airConditionerOdorControllerProgress" => {
"value" => undef
},
"airConditionerOdorControllerState" => {
"value" => undef
}
},
"custom.airConditionerOptionalMode" => {
"acOptionalMode" => {
"value" => undef
},
"supportedAcOptionalMode" => {
"value" => undef
}
},
"custom.airConditionerTropicalNightMode" => {
"acTropicalNightModeLevel" => {
"value" => undef
}
},
"custom.autoCleaningMode" => {
"autoCleaningMode" => {
"value" => undef
}
},
"custom.deodorFilter" => {
"deodorFilterCapacity" => {
"value" => undef
},
"deodorFilterResetType" => {
"value" => undef
},
"deodorFilterStatus" => {
"value" => undef
},
"deodorFilterUsage" => {
"value" => undef
},
"deodorFilterUsageStep" => {
"value" => undef
}
},
"custom.deviceReportStateConfiguration" => {
"reportStatePeriod" => {
"value" => undef
},
"reportStateRealtime" => {
"value" => undef
},
"reportStateRealtimePeriod" => {
"value" => undef
}
},
"custom.disabledCapabilities" => {
"disabledCapabilities" => {
"value" => undef
}
},
"custom.dustFilter" => {
"dustFilterCapacity" => {
"value" => undef
},
"dustFilterResetType" => {
"value" => undef
},
"dustFilterStatus" => {
"value" => undef
},
"dustFilterUsage" => {
"value" => undef
},
"dustFilterUsageStep" => {
"value" => undef
}
},
"custom.energyType" => {
"energyType" => {
"value" => undef
}
},
"custom.spiMode" => {
"spiMode" => {
"value" => undef
}
},
"custom.thermostatSetpointControl" => {
"maximumSetpoint" => {
"value" => undef
},
"minimumSetpoint" => {
"value" => undef
}
},
"demandResponseLoadControl" => {
"drlcStatus" => {
"value" => undef
}
},
"dustSensor" => {
"dustLevel" => {
"value" => undef
},
"fineDustLevel" => {
"value" => undef
}
},
"fanOscillationMode" => {
"fanOscillationMode" => {
"timestamp" => "2020-07-09T12:53:17.597+0000",
"value" => "fixed"
}
},
"ocf" => {
"di" => {
"value" => undef
},
"dmv" => {
"value" => undef
},
"icv" => {
"value" => undef
},
"mndt" => {
"value" => undef
},
"mnfv" => {
"value" => undef
},
"mnhw" => {
"value" => undef
},
"mnml" => {
"value" => undef
},
"mnmn" => {
"value" => undef
},
"mnmo" => {
"value" => undef
},
"mnos" => {
"value" => undef
},
"mnpv" => {
"value" => undef
},
"mnsl" => {
"value" => undef
},
"n" => {
"value" => undef
},
"pi" => {
"value" => undef
},
"st" => {
"value" => undef
},
"vid" => {
"value" => undef
}
},
"odorSensor" => {
"odorLevel" => {
"value" => undef
}
},
"powerConsumptionReport" => {
"powerConsumption" => {
"value" => undef
}
},
"relativeHumidityMeasurement" => {
"humidity" => {
"timestamp" => "2020-07-07T14:19:43.602+0000",
"unit" => "%",
"value" => 0
}
},
"remoteControlStatus" => {
"remoteControlEnabled" => {
"value" => undef
}
},
"switch" => {
"switch" => {
"value" => undef
}
},
"temperatureMeasurement" => {
"temperature" => {
"value" => undef
}
},
"thermostatCoolingSetpoint" => {
"coolingSetpoint" => {
"value" => undef
}
},
"veryFineDustSensor" => {
"veryFineDustLevel" => {
"value" => undef
}
}
},
"main" => {
"airConditionerFanMode" => {
"fanMode" => {
"timestamp" => "2020-10-02T15:00:01.988+0000",
"value" => "auto"
},
"supportedAcFanModes" => {
"timestamp" => "2020-04-22T12:48:40.896+0000",
"value" => [
"auto",
"low",
"medium",
"high",
"turbo"
]
}
},
"airConditionerMode" => {
"airConditionerMode" => {
"timestamp" => "2020-09-14T00:54:23.582+0000",
"value" => "cool"
},
"supportedAcModes" => {
"timestamp" => "2020-04-22T12:48:40.946+0000",
"value" => [
"cool",
"dry",
"wind",
"auto",
"heat"
]
}
},
"airQualitySensor" => {
"airQuality" => {
"timestamp" => "2020-09-25T10:49:04.949+0000",
"unit" => "CAQI",
"value" => undef
}
},
"audioVolume" => {
"volume" => {
"timestamp" => "2020-09-14T09:21:09.869+0000",
"unit" => "%",
"value" => 0
}
},
"custom.airConditionerOdorController" => {
"airConditionerOdorControllerProgress" => {
"timestamp" => "2020-09-25T10:59:05.822+0000",
"value" => undef
},
"airConditionerOdorControllerState" => {
"timestamp" => "2020-09-25T10:59:05.822+0000",
"value" => undef
}
},
"custom.airConditionerOptionalMode" => {
"acOptionalMode" => {
"timestamp" => "2020-07-07T06:46:48.594+0000",
"value" => "off"
},
"supportedAcOptionalMode" => {
"timestamp" => "2020-04-22T12:48:40.933+0000",
"value" => [
"off"
]
}
},
"custom.airConditionerTropicalNightMode" => {
"acTropicalNightModeLevel" => {
"timestamp" => "2020-06-27T22:32:52.157+0000",
"value" => 0
}
},
"custom.autoCleaningMode" => {
"autoCleaningMode" => {
"timestamp" => "2020-04-22T12:48:41.049+0000",
"value" => "off"
}
},
"custom.deodorFilter" => {
"deodorFilterCapacity" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterResetType" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterStatus" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterUsage" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterUsageStep" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
}
},
"custom.deviceReportStateConfiguration" => {
"reportStatePeriod" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
},
"reportStateRealtime" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
},
"reportStateRealtimePeriod" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
}
},
"custom.disabledCapabilities" => {
"disabledCapabilities" => {
"timestamp" => "2020-07-07T11:58:00.802+0000",
"value" => [
"airFlowDirection",
"dustSensor",
"odorSensor",
"airQualitySensor",
"odorSensor",
"spiMode",
"veryFineDustSensor",
"remoteControlStatus",
"custom.airConditionerOdorController",
"demandResponseLoadControl",
"custom.dustFilter",
"custom.deodorFilter",
"custom.eletricHepaFilter",
"custom.periodicSensing",
"custom.doNotDisturbMode"
]
}
},
"custom.disabledComponents" => {
"disabledComponents" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => [
1
]
}
},
"custom.dustFilter" => {
"dustFilterCapacity" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterResetType" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterStatus" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterUsage" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterUsageStep" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
}
},
"custom.energyType" => {
"energyType" => {
"timestamp" => "2020-04-22T12:48:41.098+0000",
"value" => "1.0"
}
},
"custom.spiMode" => {
"spiMode" => {
"timestamp" => "2020-09-25T10:54:05.376+0000",
"value" => undef
}
},
"custom.thermostatSetpointControl" => {
"maximumSetpoint" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => 30
},
"minimumSetpoint" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => 16
}
},
"demandResponseLoadControl" => {
"drlcStatus" => {
"timestamp" => "2020-07-07T11:58:00.764+0000",
"value" => {
"drlcLevel" => -1,
"duration" => 0,
"override" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
"start" => "1970-01-01T00:00:00Z"
}
}
},
"dustSensor" => {
"dustLevel" => {
"timestamp" => "2020-08-21T18:42:54.007+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
},
"fineDustLevel" => {
"timestamp" => "2020-08-21T18:42:54.007+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
}
},
"execute" => {
"data" => {
"data" => {
"href" => "/mode/vs/0"
},
"timestamp" => "2020-10-04T15:25:02.572+0000",
"value" => {
"payload" => {
"if" => [
"oic.if.baseline",
"oic.if.a"
],
"rt" => [
"x.com.samsung.da.mode"
],
"x.com.samsung.da.modes" => [
"Cool"
],
"x.com.samsung.da.options" => [
"Comode_Off",
"Sleep_0",
"OutdoorTemp_72",
"CoolCapa_35",
"WarmCapa_35",
"Autoclean_Off",
"Light_Off",
"Volume_Mute",
"AutocleanProgress_1",
"StopAutoClean_Idle",
"FilterTime_5080",
"FilterAlarmTime_500",
"OptionCode_53304",
"ExtendOptionCode_0",
"RacInfo_None",
"UpdateAllow_NotAllowed"
],
"x.com.samsung.da.supportedModes" => [
"Cool",
"Dry",
"Wind",
"Auto",
"Heat",
"HOMECARE_WIZARD_V2"
]
}
}
}
},
"fanOscillationMode" => {
"fanOscillationMode" => {
"timestamp" => "2020-09-14T20:53:54.188+0000",
"value" => "fixed"
}
},
"ocf" => {
"di" => {
"timestamp" => "2020-04-22T12:48:40.469+0000",
"value" => "1bee6b2a-82d2-284a-131a-65d1e967e9eb"
},
"dmv" => {
"timestamp" => "2020-04-22T12:48:40.479+0000",
"value" => "res.1.1.0,sh.1.1.0"
},
"icv" => {
"timestamp" => "2020-04-22T12:48:40.490+0000",
"value" => "core.1.1.0"
},
"mndt" => {
"timestamp" => "2020-09-25T10:39:04.162+0000",
"value" => undef
},
"mnfv" => {
"timestamp" => "2020-04-22T12:48:40.079+0000",
"value" => "0.1.0"
},
"mnhw" => {
"timestamp" => "2020-04-22T12:48:40.090+0000",
"value" => "1.0"
},
"mnml" => {
"timestamp" => "2020-04-22T12:48:40.419+0000",
"value" => "http://www.samsung.com"
},
"mnmn" => {
"timestamp" => "2020-04-22T12:48:40.429+0000",
"value" => "Samsung Electronics"
},
"mnmo" => {
"timestamp" => "2020-04-22T12:48:40.407+0000",
"value" => "ARTIK051_KRAC_18K|10193441|60010123001111000200000000000000"
},
"mnos" => {
"timestamp" => "2020-04-22T12:48:40.383+0000",
"value" => "TizenRT2.0"
},
"mnpv" => {
"timestamp" => "2020-04-22T12:48:40.396+0000",
"value" => "0.1.0"
},
"mnsl" => {
"timestamp" => "2020-09-25T10:34:03.766+0000",
"value" => undef
},
"n" => {
"timestamp" => "2020-04-22T12:48:40.500+0000",
"value" => "[room a/c] Samsung"
},
"pi" => {
"timestamp" => "2020-04-22T12:48:40.440+0000",
"value" => "1bee6b2a-82d2-284a-131a-65d1e967e9eb"
},
"st" => {
"timestamp" => "2020-09-25T10:44:04.521+0000",
"value" => undef
},
"vid" => {
"timestamp" => "2020-04-22T12:48:40.451+0000",
"value" => "DA-AC-RAC-000001"
}
},
"powerConsumptionReport" => {
"powerConsumption" => {
"timestamp" => "2020-10-04T02:28:36.249+0000",
"value" => {
"deltaEnergy" => 0,
"end" => "2020-10-04T02:28:36Z",
"energy" => 28400,
"energySaved" => 0,
"persistedEnergy" => 28400,
"power" => 0,
"powerEnergy" => 0,
"start" => "2020-10-04T00:35:46Z"
}
}
},
"refresh" => {},
"relativeHumidityMeasurement" => {
"humidity" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"unit" => "%",
"value" => 0
}
},
"remoteControlStatus" => {
"remoteControlEnabled" => {
"timestamp" => "2020-08-21T18:54:54.995+0000",
"value" => undef
}
},
"samsungce.driverVersion" => {
"versionNumber" => {
"timestamp" => "2020-08-21T13:04:49.325+0000",
"value" => 20081101
}
},
"switch" => {
"switch" => {
"timestamp" => "2020-10-04T15:22:58.434+0000",
"value" => "off"
}
},
"temperatureMeasurement" => {
"temperature" => {
"timestamp" => "2020-10-04T10:14:05.869+0000",
"unit" => "C",
"value" => 19
}
},
"thermostatCoolingSetpoint" => {
"coolingSetpoint" => {
"timestamp" => "2020-10-04T15:22:41.197+0000",
"unit" => "C",
"value" => 22
}
},
"veryFineDustSensor" => {
"veryFineDustLevel" => {
"timestamp" => "2020-07-07T12:13:43.124+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
}
}
}
}
};
und bei switch=on: siehe nächster Beitrag
Zum Beispiel x.com.samsung.da.options gibt es nur im ausgeschaltenen Zustand ???
Werte die ich noch gerne setzten möchte:
airConditionerMode
fanMode
fanOscillationMode
dieses gibt es noch nicht als reading, wäre aber auch interessant einzustellen:
Light_Off (schaltet das Display aus)
Einheiten beim setzte der Werte führen zu keinem Fehler mehr, danke!
Liebe Grüße
Michael
$VAR1 = {
"components" => {
"1" => {
"airConditionerFanMode" => {
"fanMode" => {
"value" => undef
},
"supportedAcFanModes" => {
"value" => undef
}
},
"airConditionerMode" => {
"airConditionerMode" => {
"value" => undef
},
"supportedAcModes" => {
"value" => undef
}
},
"airQualitySensor" => {
"airQuality" => {
"value" => undef
}
},
"audioVolume" => {
"volume" => {
"value" => undef
}
},
"custom.airConditionerOdorController" => {
"airConditionerOdorControllerProgress" => {
"value" => undef
},
"airConditionerOdorControllerState" => {
"value" => undef
}
},
"custom.airConditionerOptionalMode" => {
"acOptionalMode" => {
"value" => undef
},
"supportedAcOptionalMode" => {
"value" => undef
}
},
"custom.airConditionerTropicalNightMode" => {
"acTropicalNightModeLevel" => {
"value" => undef
}
},
"custom.autoCleaningMode" => {
"autoCleaningMode" => {
"value" => undef
}
},
"custom.deodorFilter" => {
"deodorFilterCapacity" => {
"value" => undef
},
"deodorFilterResetType" => {
"value" => undef
},
"deodorFilterStatus" => {
"value" => undef
},
"deodorFilterUsage" => {
"value" => undef
},
"deodorFilterUsageStep" => {
"value" => undef
}
},
"custom.deviceReportStateConfiguration" => {
"reportStatePeriod" => {
"value" => undef
},
"reportStateRealtime" => {
"value" => undef
},
"reportStateRealtimePeriod" => {
"value" => undef
}
},
"custom.disabledCapabilities" => {
"disabledCapabilities" => {
"value" => undef
}
},
"custom.dustFilter" => {
"dustFilterCapacity" => {
"value" => undef
},
"dustFilterResetType" => {
"value" => undef
},
"dustFilterStatus" => {
"value" => undef
},
"dustFilterUsage" => {
"value" => undef
},
"dustFilterUsageStep" => {
"value" => undef
}
},
"custom.energyType" => {
"energyType" => {
"value" => undef
}
},
"custom.spiMode" => {
"spiMode" => {
"value" => undef
}
},
"custom.thermostatSetpointControl" => {
"maximumSetpoint" => {
"value" => undef
},
"minimumSetpoint" => {
"value" => undef
}
},
"demandResponseLoadControl" => {
"drlcStatus" => {
"value" => undef
}
},
"dustSensor" => {
"dustLevel" => {
"value" => undef
},
"fineDustLevel" => {
"value" => undef
}
},
"fanOscillationMode" => {
"fanOscillationMode" => {
"timestamp" => "2020-07-09T12:53:17.597+0000",
"value" => "fixed"
}
},
"ocf" => {
"di" => {
"value" => undef
},
"dmv" => {
"value" => undef
},
"icv" => {
"value" => undef
},
"mndt" => {
"value" => undef
},
"mnfv" => {
"value" => undef
},
"mnhw" => {
"value" => undef
},
"mnml" => {
"value" => undef
},
"mnmn" => {
"value" => undef
},
"mnmo" => {
"value" => undef
},
"mnos" => {
"value" => undef
},
"mnpv" => {
"value" => undef
},
"mnsl" => {
"value" => undef
},
"n" => {
"value" => undef
},
"pi" => {
"value" => undef
},
"st" => {
"value" => undef
},
"vid" => {
"value" => undef
}
},
"odorSensor" => {
"odorLevel" => {
"value" => undef
}
},
"powerConsumptionReport" => {
"powerConsumption" => {
"value" => undef
}
},
"relativeHumidityMeasurement" => {
"humidity" => {
"timestamp" => "2020-07-07T14:19:43.602+0000",
"unit" => "%",
"value" => 0
}
},
"remoteControlStatus" => {
"remoteControlEnabled" => {
"value" => undef
}
},
"switch" => {
"switch" => {
"value" => undef
}
},
"temperatureMeasurement" => {
"temperature" => {
"value" => undef
}
},
"thermostatCoolingSetpoint" => {
"coolingSetpoint" => {
"value" => undef
}
},
"veryFineDustSensor" => {
"veryFineDustLevel" => {
"value" => undef
}
}
},
"main" => {
"airConditionerFanMode" => {
"fanMode" => {
"timestamp" => "2020-10-02T15:00:01.988+0000",
"value" => "auto"
},
"supportedAcFanModes" => {
"timestamp" => "2020-04-22T12:48:40.896+0000",
"value" => [
"auto",
"low",
"medium",
"high",
"turbo"
]
}
},
"airConditionerMode" => {
"airConditionerMode" => {
"timestamp" => "2020-09-14T00:54:23.582+0000",
"value" => "cool"
},
"supportedAcModes" => {
"timestamp" => "2020-04-22T12:48:40.946+0000",
"value" => [
"cool",
"dry",
"wind",
"auto",
"heat"
]
}
},
"airQualitySensor" => {
"airQuality" => {
"timestamp" => "2020-09-25T10:49:04.949+0000",
"unit" => "CAQI",
"value" => undef
}
},
"audioVolume" => {
"volume" => {
"timestamp" => "2020-09-14T09:21:09.869+0000",
"unit" => "%",
"value" => 0
}
},
"custom.airConditionerOdorController" => {
"airConditionerOdorControllerProgress" => {
"timestamp" => "2020-09-25T10:59:05.822+0000",
"value" => undef
},
"airConditionerOdorControllerState" => {
"timestamp" => "2020-09-25T10:59:05.822+0000",
"value" => undef
}
},
"custom.airConditionerOptionalMode" => {
"acOptionalMode" => {
"timestamp" => "2020-07-07T06:46:48.594+0000",
"value" => "off"
},
"supportedAcOptionalMode" => {
"timestamp" => "2020-04-22T12:48:40.933+0000",
"value" => [
"off"
]
}
},
"custom.airConditionerTropicalNightMode" => {
"acTropicalNightModeLevel" => {
"timestamp" => "2020-06-27T22:32:52.157+0000",
"value" => 0
}
},
"custom.autoCleaningMode" => {
"autoCleaningMode" => {
"timestamp" => "2020-04-22T12:48:41.049+0000",
"value" => "off"
}
},
"custom.deodorFilter" => {
"deodorFilterCapacity" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterResetType" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterStatus" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterUsage" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
},
"deodorFilterUsageStep" => {
"timestamp" => "2020-09-25T10:20:11.796+0000",
"value" => undef
}
},
"custom.deviceReportStateConfiguration" => {
"reportStatePeriod" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
},
"reportStateRealtime" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
},
"reportStateRealtimePeriod" => {
"timestamp" => "2020-09-25T10:29:03.347+0000",
"value" => undef
}
},
"custom.disabledCapabilities" => {
"disabledCapabilities" => {
"timestamp" => "2020-07-07T11:58:00.802+0000",
"value" => [
"airFlowDirection",
"dustSensor",
"odorSensor",
"airQualitySensor",
"odorSensor",
"spiMode",
"veryFineDustSensor",
"remoteControlStatus",
"custom.airConditionerOdorController",
"demandResponseLoadControl",
"custom.dustFilter",
"custom.deodorFilter",
"custom.eletricHepaFilter",
"custom.periodicSensing",
"custom.doNotDisturbMode"
]
}
},
"custom.disabledComponents" => {
"disabledComponents" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => [
1
]
}
},
"custom.dustFilter" => {
"dustFilterCapacity" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterResetType" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterStatus" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterUsage" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
},
"dustFilterUsageStep" => {
"timestamp" => "2020-09-25T10:24:02.923+0000",
"value" => undef
}
},
"custom.energyType" => {
"energyType" => {
"timestamp" => "2020-04-22T12:48:41.098+0000",
"value" => "1.0"
}
},
"custom.spiMode" => {
"spiMode" => {
"timestamp" => "2020-09-25T10:54:05.376+0000",
"value" => undef
}
},
"custom.thermostatSetpointControl" => {
"maximumSetpoint" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => 30
},
"minimumSetpoint" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"value" => 16
}
},
"demandResponseLoadControl" => {
"drlcStatus" => {
"timestamp" => "2020-07-07T11:58:00.764+0000",
"value" => {
"drlcLevel" => -1,
"duration" => 0,
"override" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
"start" => "1970-01-01T00:00:00Z"
}
}
},
"dustSensor" => {
"dustLevel" => {
"timestamp" => "2020-08-21T18:42:54.007+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
},
"fineDustLevel" => {
"timestamp" => "2020-08-21T18:42:54.007+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
}
},
"execute" => {
"data" => {
"data" => {
"href" => "/mode/vs/0"
},
"timestamp" => "2020-10-04T15:58:40.800+0000",
"value" => {
"payload" => {
"if" => [
"oic.if.baseline",
"oic.if.a"
],
"rt" => [
"x.com.samsung.da.mode"
],
"x.com.samsung.da.modes" => [
"Cool"
],
"x.com.samsung.da.options" => [
"Comode_Quiet",
"Sleep_0",
"OutdoorTemp_73",
"CoolCapa_35",
"WarmCapa_35",
"Autoclean_Off",
"Light_On",
"Volume_Mute",
"AutocleanProgress_0",
"StopAutoClean_Idle",
"FilterTime_5080",
"FilterAlarmTime_500",
"OptionCode_53304",
"ExtendOptionCode_0",
"RacInfo_None",
"UpdateAllow_NotAllowed"
],
"x.com.samsung.da.supportedModes" => [
"Cool",
"Dry",
"Wind",
"Auto",
"Heat",
"HOMECARE_WIZARD_V2"
]
}
}
}
},
"fanOscillationMode" => {
"fanOscillationMode" => {
"timestamp" => "2020-09-14T20:53:54.188+0000",
"value" => "fixed"
}
},
"ocf" => {
"di" => {
"timestamp" => "2020-04-22T12:48:40.469+0000",
"value" => "1bee6b2a-82d2-284a-131a-65d1e967e9eb"
},
"dmv" => {
"timestamp" => "2020-04-22T12:48:40.479+0000",
"value" => "res.1.1.0,sh.1.1.0"
},
"icv" => {
"timestamp" => "2020-04-22T12:48:40.490+0000",
"value" => "core.1.1.0"
},
"mndt" => {
"timestamp" => "2020-09-25T10:39:04.162+0000",
"value" => undef
},
"mnfv" => {
"timestamp" => "2020-04-22T12:48:40.079+0000",
"value" => "0.1.0"
},
"mnhw" => {
"timestamp" => "2020-04-22T12:48:40.090+0000",
"value" => "1.0"
},
"mnml" => {
"timestamp" => "2020-04-22T12:48:40.419+0000",
"value" => "http://www.samsung.com"
},
"mnmn" => {
"timestamp" => "2020-04-22T12:48:40.429+0000",
"value" => "Samsung Electronics"
},
"mnmo" => {
"timestamp" => "2020-04-22T12:48:40.407+0000",
"value" => "ARTIK051_KRAC_18K|10193441|60010123001111000200000000000000"
},
"mnos" => {
"timestamp" => "2020-04-22T12:48:40.383+0000",
"value" => "TizenRT2.0"
},
"mnpv" => {
"timestamp" => "2020-04-22T12:48:40.396+0000",
"value" => "0.1.0"
},
"mnsl" => {
"timestamp" => "2020-09-25T10:34:03.766+0000",
"value" => undef
},
"n" => {
"timestamp" => "2020-04-22T12:48:40.500+0000",
"value" => "[room a/c] Samsung"
},
"pi" => {
"timestamp" => "2020-04-22T12:48:40.440+0000",
"value" => "1bee6b2a-82d2-284a-131a-65d1e967e9eb"
},
"st" => {
"timestamp" => "2020-09-25T10:44:04.521+0000",
"value" => undef
},
"vid" => {
"timestamp" => "2020-04-22T12:48:40.451+0000",
"value" => "DA-AC-RAC-000001"
}
},
"powerConsumptionReport" => {
"powerConsumption" => {
"timestamp" => "2020-10-04T02:28:36.249+0000",
"value" => {
"deltaEnergy" => 0,
"end" => "2020-10-04T02:28:36Z",
"energy" => 28400,
"energySaved" => 0,
"persistedEnergy" => 28400,
"power" => 0,
"powerEnergy" => 0,
"start" => "2020-10-04T00:35:46Z"
}
}
},
"refresh" => {},
"relativeHumidityMeasurement" => {
"humidity" => {
"timestamp" => "2020-07-07T11:57:55.602+0000",
"unit" => "%",
"value" => 0
}
},
"remoteControlStatus" => {
"remoteControlEnabled" => {
"timestamp" => "2020-08-21T18:54:54.995+0000",
"value" => undef
}
},
"samsungce.driverVersion" => {
"versionNumber" => {
"timestamp" => "2020-08-21T13:04:49.325+0000",
"value" => 20081101
}
},
"switch" => {
"switch" => {
"timestamp" => "2020-10-04T15:45:04.497+0000",
"value" => "on"
}
},
"temperatureMeasurement" => {
"temperature" => {
"timestamp" => "2020-10-04T10:14:05.869+0000",
"unit" => "C",
"value" => 19
}
},
"thermostatCoolingSetpoint" => {
"coolingSetpoint" => {
"timestamp" => "2020-10-04T15:22:41.197+0000",
"unit" => "C",
"value" => 22
}
},
"veryFineDustSensor" => {
"veryFineDustLevel" => {
"timestamp" => "2020-07-07T12:13:43.124+0000",
"unit" => "\x{3bc}g/m^3",
"value" => undef
}
}
}
}
};
ZitatBitte Code Tag reparieren
Vorschau im vorhergehenden Post war OK, beim speichern offensichtlich nicht mehr. Daher der Code nun hier extra.
LG, Michael
Zitat von: tremichl am 04 Oktober 2020, 18:06:46Zum Beispiel x.com.samsung.da.options gibt es nur im ausgeschaltenen Zustand ???
Das stimmt so nicht. Allerdings sehen die Werte deutlich anders aus.
Bei switch off:
"x.com.samsung.da.options" => [
"Comode_Off",
"Sleep_0",
"OutdoorTemp_72",
"CoolCapa_35",
"WarmCapa_35",
"Autoclean_Off",
"Light_Off",
"Volume_Mute",
"AutocleanProgress_1",
"StopAutoClean_Idle",
"FilterTime_5080",
"FilterAlarmTime_500",
"OptionCode_53304",
"ExtendOptionCode_0",
"RacInfo_None",
"UpdateAllow_NotAllowed"
],
und bei switch on:
"x.com.samsung.da.options" => [
"Comode_Quiet",
"Sleep_0",
"OutdoorTemp_73",
"CoolCapa_35",
"WarmCapa_35",
"Autoclean_Off",
"Light_On",
"Volume_Mute",
"AutocleanProgress_0",
"StopAutoClean_Idle",
"FilterTime_5080",
"FilterAlarmTime_500",
"OptionCode_53304",
"ExtendOptionCode_0",
"RacInfo_None",
"UpdateAllow_NotAllowed"
],
Zitat von: tremichl am 04 Oktober 2020, 18:06:46Werte die ich noch gerne setzten möchte:
airConditionerMode
fanMode
fanOscillationMode
dieses gibt es noch nicht als reading, wäre aber auch interessant einzustellen:
Light_Off (schaltet das Display aus)
Samsung nervt. Warum können die nicht bei allen Capablities gleich agieren... ::)
Wenn ich das richtig sehe, müssten dafür folgende Werte in die
setList:
- airConditionerMode:auto,cool,dry,coolClean,dryClean,fanOnly,heat,heatClean,wind
Wahrscheinlich gehen die ...Clean Kommandos nicht) - fanMode:auto,circulate,followschedule,on
oder
fanMode:auto,low,medium,high,turbo
(allerdings glaube ich, daß ich dafür erst ein Mapping im Code hinterlegen muß)
Vielleicht kannst Du die ja mal manuell setzen und testen, bevor ich das in den Code übernehme.
Zu
fanOscillationMode find ich nix.
Dein Displaylist scheint in
x.com.samsung.da.options definiert zu sein, aber ich hab keinen Plan, wie ich das ansprechen sollte... :o
Zitat von: tremichl am 04 Oktober 2020, 18:06:46Einheiten beim setzte der Werte führen zu keinem Fehler mehr, danke!
Wenigstens etwas! ;D
Zitat von: tremichl am 04 Oktober 2020, 18:06:46
Werte die ich noch gerne setzten möchte:
airConditionerMode
fanMode
fanOscillationMode
In diesem Zusammenhang - schick mir doch bitte mal die Ausgabe von
list SST_.* .R2CCC
und den aktuellen Wert von
setList.
Es funktioniert jetzt schon sehr viel! :) Alles was in der erweiterten SetList steht ist erfolgreich getestet:
maximumSetpoint coolingSetpoint minimumSetpoint switch:on,off airConditionerMode:auto,cool,dry,heat,wind fanMode:auto,low,medium,high,turbo fanOscillationMode:fixed,vertical autoCleaningMode:on,off
Was ich noch nicht gefunden habe sind die Optionen. Bei den x.com.samsung.da.options fallen mir zwei unterschiedliche Werte auf:
"Comode_Off" > "Comode_Quiet" das dürfte die Quiet Option auf der Fernbedienung sein
"Light_Off" > "Light_On" das dürfte das LED Display sein
Und hier noch die Listings:
SST_65d1e967e9eb 1_fanOscillationMode=1_fanOscillationMode_fanOscillationMode 1_humidity=1_relativeHumidityMeasurement_humidity acOptionalMode=main_custom.airConditionerOptionalMode_acOptionalMode acTropicalNightModeLevel=main_custom.airConditionerTropicalNightMode_acTropicalNightModeLevel airConditionerMode=main_airConditionerMode_airConditionerMode autoCleaningMode=main_custom.autoCleaningMode_autoCleaningMode coolingSetpoint=main_thermostatCoolingSetpoint_coolingSetpoint energyType=main_custom.energyType_energyType fanMode=main_airConditionerFanMode_fanMode fanOscillationMode=main_fanOscillationMode_fanOscillationMode humidity=main_relativeHumidityMeasurement_humidity maximumSetpoint=main_custom.thermostatSetpointControl_maximumSetpoint minimumSetpoint=main_custom.thermostatSetpointControl_minimumSetpoint mnmn=main_ocf_mnmn mnmo=main_ocf_mnmo n=main_ocf_n powerConsumption-deltaEnergy=main_powerConsumptionReport_powerConsumption-deltaEnergy powerConsumption-end=main_powerConsumptionReport_powerConsumption-end powerConsumption-energy=main_powerConsumptionReport_powerConsumption-energy powerConsumption-energySaved=main_powerConsumptionReport_powerConsumption-energySaved powerConsumption-persistedEnergy=main_powerConsumptionReport_powerConsumption-persistedEnergy powerConsumption-power=main_powerConsumptionReport_powerConsumption-power powerConsumption-powerEnergy=main_powerConsumptionReport_powerConsumption-powerEnergy powerConsumption-start=main_powerConsumptionReport_powerConsumption-start switch=main_switch_switch temperature=main_temperatureMeasurement_temperature versionNumber=main_samsungce.driverVersion_versionNumber vid=main_ocf_vid volume=main_audioVolume_volume
und setList original
maximumSetpoint coolingSetpoint minimumSetpoint switch:on,off
Liebe Grüße, Michael
Hallo pasp,
erstmal vielen Dank für das Modul! Die Einbindung meiner neuen Waschmaschine hat auf Anhieb funktioniert. :D
Folgendes ist mir ausgefallen wo ich mir nicht sicher bin ob das so sein soll:
1. Die Uhrzeiten werden mit -2 Stunden Versatz angezeigt. Das Thema gab es hier wohl schon mal, siehe auch Post #33
Dies betrifft in meinem Fall die Readings: completionTime, powerConsumption-end und powerConsumption-start
2. Die set Befehle beschränken sich auch nur auf set switch on/off. Dies ändert sich auch nicht wenn der RemoteStart an der Maschine aktiviert wurde, was übrigens sauber unter dem reading remoteControlEnabled als true erkannt wird. Ich gehe davon aus das es noch ein paar mehr set Befehle geben müsste.
Werte unter dem reading setList_hint:
main_custom.washerWaterTemperature:none,cold,20,30,40,60,90 main_custom.washerRinseCycles:0,1,2,3,4,5 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.washerSpinLevel:rinseHold,noSpin,400,800,1000,1200,1400
Ich weiß nicht ob es sich hier nur um readings handelt oder ob sich dort auch set Befehle drunter verbergen ???
3. washerCycle - Ich vermute mal dort verbirgt das Waschprogramm hinter. Aktuell hab ich den Wert Table_02_Course_1B dort stehen. Das wäre das Baumwollprogramm 60 Grad und 2 Spülgängen bei 1400 Umdrehungen schläudern. Auch im Post #33 war die Rede von einem "washerMode_washerMode".
Den gibt es bei mir nicht, vielleicht weil es so in einer älteren Modul Version vorgekommen ist? Gibt es schon eine Übersetzung auf die Waschprogramme?
Ansonsten gibt es noch einige readings die sich bisher noch nicht geändert haben. Wie z.B. remainingAmount steht auf 0 cc oder dosage steht auch auf 0 cc. Keine Ahnung ob davon was Modelabhängig ist und daher nicht funktioniert oder ob es nur am ausgewählten Waschprogramm liegt...
Ich werde es mal beobachten.
Waschmaschinen Model ist: Samsung WW80T654ALX/S2_SSL
Wenn noch irgendwelche Daten benötigt werden gerne Bescheid geben und schon mal vielen Dank
Gruß Alex
Guten Morgen,
das Modul funktionierte bei meiner Waschmaschine auf Anhieb :-) Benutze allerdings im Moment auch erstmal nur die Überwachungsfunktionen und noch keine Steuerung...
Wäre natürlich super wenn man das "WasherCycle" Reading noch irgendwie lesbar hinbekommen würde - brauchst du da vielleicht noch Informationen von uns, oder ist das schon dokumentiert?
Ich habe allerdings bei jeder Werte Aktualisierung mehere Fehlermeldungen im Log:
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerOrder/orderThreshold/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/initialAmount/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/dosage/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/remainingAmount/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/remainingAmount/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/initialAmount/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/dosage/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentOrder/orderThreshold/unit of type
Das können auch mal ein paar mehr sein...
Hab ich hier noch irgendwas in der Definition vergessen bzw. falsch gemacht?
Danke und Gruß
Firetic
Eins vorweg: Ich bin momentan etwas "Land unter", daher kann es zZt etwas länger dauern.
Zitat von: dogexan am 16 Oktober 2020, 19:15:20
1. Die Uhrzeiten werden mit -2 Stunden Versatz angezeigt. Das Thema gab es hier wohl schon mal, siehe auch Post #33
Dies betrifft in meinem Fall die Readings: completionTime, powerConsumption-end und powerConsumption-start
Nein, das sollte nicht so sein.
Ich dachte eigentlich, daß ich das schon gelöst hätte, allerdings konnte ich das noch nicht selbst testen.
Zitat von: dogexan am 16 Oktober 2020, 19:15:20
2. Die set Befehle beschränken sich auch nur auf set switch on/off. Dies ändert sich auch nicht wenn der RemoteStart an der Maschine aktiviert wurde, was übrigens sauber unter dem reading remoteControlEnabled als true erkannt wird. Ich gehe davon aus das es noch ein paar mehr set Befehle geben müsste.
Werte unter dem reading setList_hint:
main_custom.washerWaterTemperature:none,cold,20,30,40,60,90 main_custom.washerRinseCycles:0,1,2,3,4,5 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.washerSpinLevel:rinseHold,noSpin,400,800,1000,1200,1400
Ich weiß nicht ob es sich hier nur um readings handelt oder ob sich dort auch set Befehle drunter verbergen ???
Das sind die derzeit vermuteten (aus der Cloud-Antwort extrahierten) Optionen/set Befehle.
Die nächste Version wird diese Werte bei Ausführung von
get x_options automatisch mit setzen.
Bis dahin bitte einfach die Werte aus
setList_hint manuell zu
setList hinzufügen.
Zitat von: Firetic am 20 Oktober 2020, 06:35:32
Wäre natürlich super wenn man das "WasherCycle" Reading noch irgendwie lesbar hinbekommen würde - brauchst du da vielleicht noch Informationen von uns, oder ist das schon dokumentiert?
Zitat von: dogexan am 16 Oktober 2020, 19:15:20
3. washerCycle - Ich vermute mal dort verbirgt das Waschprogramm hinter. Aktuell hab ich den Wert Table_02_Course_1B dort stehen. Das wäre das Baumwollprogramm 60 Grad und 2 Spülgängen bei 1400 Umdrehungen schläudern. Auch im Post #33 war die Rede von einem "washerMode_washerMode".
Den gibt es bei mir nicht, vielleicht weil es so in einer älteren Modul Version vorgekommen ist? Gibt es schon eine Übersetzung auf die Waschprogramme?
Nein, die gibt es noch nicht, allerdings habe ich hierzu bislang in den Dokumentationen auch nichts gefunden.
Hierfür brauche ich wohl eure Unterstützung. Wäre klasse, wenn ihr mir das "übersetzen" könntet.
Ich hoffe nur, daß identische Codes auch bei anderen Modellen identische Programme bedeuten, sonst wird das echt tricky.
Zitat von: dogexan am 16 Oktober 2020, 19:15:20
Ansonsten gibt es noch einige readings die sich bisher noch nicht geändert haben. Wie z.B. remainingAmount steht auf 0 cc oder dosage steht auch auf 0 cc. Keine Ahnung ob davon was Modelabhängig ist und daher nicht funktioniert oder ob es nur am ausgewählten Waschprogramm liegt...
Ich werde es mal beobachten.
Das Modul legt alle aus der Samsung Cloud zurückgegebenen und definierten (d.h. nicht undef) Werte als Readings an.
Schick mir doch bitte mal die Ausgabe von
get status bei
verbose 5 (danach
verbose unbedingt wieder auf 3 zurückstellen!), nicht, daß ich da noch nen Fehler drin hab.
Zitat von: Firetic am 20 Oktober 2020, 06:35:32
Ich habe allerdings bei jeder Werte Aktualisierung mehere Fehlermeldungen im Log:
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerOrder/orderThreshold/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/initialAmount/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/dosage/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/remainingAmount/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/remainingAmount/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/initialAmount/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/dosage/unit of type
2020.10.20 06:29:24 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentOrder/orderThreshold/unit of type
Das können auch mal ein paar mehr sein...
Hab ich hier noch irgendwas in der Definition vergessen bzw. falsch gemacht?
Sieht eher danach aus, als hätte ich einen Fehler gemacht :D
Schick mir doch bitte mal die Ausgabe von
get status bei
verbose 5 (danach
verbose unbedingt wieder auf 3 zurückstellen!).
Ok - hier schonmal schnell der Log mit verbose 5
2020.10.20 08:48:22 5: Cmd: >get Samsung_Waschmaschine status<
2020.10.20 08:48:22 5: SST (Samsung_Waschmaschine): get command - received status
2020.10.20 08:48:22 4: SST (Samsung_Waschmaschine): get status - query cloud service
2020.10.20 08:48:22 5: SST (Samsung_Waschmaschine): get status - received JSON data
2020.10.20 08:48:22 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/remainingAmount/unit of type
2020.10.20 08:48:22 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/dosage/unit of type
2020.10.20 08:48:22 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentState/initialAmount/unit of type
2020.10.20 08:48:22 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/remainingAmount/unit of type
2020.10.20 08:48:22 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/dosage/unit of type
2020.10.20 08:48:22 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerState/initialAmount/unit of type
2020.10.20 08:48:22 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.detergentOrder/orderThreshold/unit of type
2020.10.20 08:48:22 3: SST (Samsung_Waschmaschine): get status - unexpected hash reading at attribute level: components/main/samsungce.softenerOrder/orderThreshold/unit of type
2020.10.20 08:48:22 5: SST (Samsung_Waschmaschine): get status - identified disabled components:
$VAR1 = [
"main_samsungce.autoDispenseDetergent",
"main_samsungce.autoDispenseSoftener",
"main_samsungce.detergentOrder",
"main_samsungce.detergentState",
"main_samsungce.softenerOrder",
"main_samsungce.softenerState"
];
2020.10.20 08:48:22 5: SST (Samsung_Waschmaschine): get status - identified readings:
$VAR1 = {
"main_custom.washerRinseCycles_washerRinseCycles" => 2,
"main_custom.washerSpinLevel_washerSpinLevel" => 800,
"main_custom.washerWaterTemperature_washerWaterTemperature" => 30,
"main_ocf_mnmn" => "Samsung Electronics",
"main_ocf_mnmo" => "ARTIK051_WM_COM_18K|FFFFFFFF|20010102001011070000000000000000",
"main_ocf_n" => "[washer] Samsung",
"main_ocf_vid" => "DA-WM-WM-000001",
"main_powerConsumptionReport_powerConsumption-deltaEnergy" => 100,
"main_powerConsumptionReport_powerConsumption-end" => "2020-10-19T16:24:54Z",
"main_powerConsumptionReport_powerConsumption-energy" => 2800,
"main_powerConsumptionReport_powerConsumption-energySaved" => 0,
"main_powerConsumptionReport_powerConsumption-persistedEnergy" => 0,
"main_powerConsumptionReport_powerConsumption-power" => 0,
"main_powerConsumptionReport_powerConsumption-powerEnergy" => 0,
"main_powerConsumptionReport_powerConsumption-start" => "2020-10-19T16:11:26Z",
"main_remoteControlStatus_remoteControlEnabled" => "false",
"main_samsungce.driverVersion_versionNumber" => 20092501,
"main_samsungce.kidsLock_lockState" => "unlocked",
"main_samsungce.washerCycle_washerCycle" => "Table_00_Course_5B",
"main_switch_switch" => "off",
"main_washerOperatingState_completionTime" => "2020-10-19T19:48:21Z",
"main_washerOperatingState_machineState" => "stop",
"main_washerOperatingState_washerJobState" => "none"
};
2020.10.20 08:48:22 5: SST (Samsung_Waschmaschine): get status - identified setList options:
$VAR1 = [
"main_custom.washerRinseCycles:0,1,2,3,4,5",
"main_custom.washerSpinLevel:rinseHold,noSpin,400,800,1200,1400",
"main_custom.washerWaterTemperature:none,cold,20,30,40,60,95",
"main_custom.supportedOptions:5B,5C,5D,66,5E,5F,60,61,63,64,6B,65,67,68"
];
Zitat von: Firetic am 20 Oktober 2020, 08:54:25
Ok - hier schonmal schnell der Log mit verbose 5
Danke, allerdings bräuchte ich die Ausgabe, die der Befehl triggert, d.h. bei Ausführung über telnet die Ausgabe dort, oder bei FHEMweb da, was im Popup steht. :)
Irgendwie stell ich mir hier zu doof an...
bei telnet gibt es keine Ausgabe und bei FHEMweb kein Popup :-/
Und verbose (vom Gerät) steht auf 5?
Dann muß ich mir das heute Abend mal anschauen, ob ich da was Fehlerhaftes eingecheckt habe. :o
Sorry - genau der Fehler ist mir gerade aufgefallen.
Mir war nicht klar das es ein eigenes verbose im Device gibt - hatte es mit dem globalem versucht...
$VAR1 = {
"components" => {
"main" => {
"custom.disabledCapabilities" => {
"disabledCapabilities" => {
"timestamp" => "2020-10-18T05:53:04.099+0000",
"value" => [
"samsungce.autoDispenseDetergent",
"samsungce.autoDispenseSoftener",
"samsungce.detergentOrder",
"samsungce.detergentState",
"samsungce.softenerOrder",
"samsungce.softenerState"
]
}
},
"custom.jobBeginningStatus" => {
"jobBeginningStatus" => {
"timestamp" => "2020-10-18T06:57:21.139+0000",
"value" => undef
}
},
"custom.supportedOptions" => {
"supportedCourses" => {
"timestamp" => "2020-10-18T05:53:04.099+0000",
"value" => [
"5B",
"5C",
"5D",
66,
"5E",
"5F",
60,
61,
63,
64,
"6B",
65,
67,
68
]
}
},
"custom.washerAutoDetergent" => {
"washerAutoDetergent" => {
"timestamp" => "2020-10-18T05:53:05.947+0000",
"value" => undef
}
},
"custom.washerAutoSoftener" => {
"washerAutoSoftener" => {
"timestamp" => "2020-10-18T06:32:19.776+0000",
"value" => undef
}
},
"custom.washerRinseCycles" => {
"supportedWasherRinseCycles" => {
"timestamp" => "2020-10-18T05:53:04.099+0000",
"value" => [
0,
1,
2,
3,
4,
5
]
},
"washerRinseCycles" => {
"timestamp" => "2020-10-19T12:56:24.496+0000",
"value" => 2
}
},
"custom.washerSoilLevel" => {
"supportedWasherSoilLevel" => {
"timestamp" => "2020-10-18T07:12:21.138+0000",
"value" => undef
},
"washerSoilLevel" => {
"timestamp" => "2020-10-18T07:12:21.138+0000",
"value" => undef
}
},
"custom.washerSpinLevel" => {
"supportedWasherSpinLevel" => {
"timestamp" => "2020-10-18T05:53:04.099+0000",
"value" => [
"rinseHold",
"noSpin",
400,
800,
1200,
1400
]
},
"washerSpinLevel" => {
"timestamp" => "2020-10-19T08:54:20.633+0000",
"value" => 800
}
},
"custom.washerWaterTemperature" => {
"supportedWasherWaterTemperature" => {
"timestamp" => "2020-10-18T05:53:04.099+0000",
"value" => [
"none",
"cold",
20,
30,
40,
60,
95
]
},
"washerWaterTemperature" => {
"timestamp" => "2020-10-19T08:54:20.633+0000",
"value" => 30
}
},
"execute" => {
"data" => {
"data" => {
"href" => "/operational/state/vs/0"
},
"timestamp" => "2020-10-19T16:25:21.216+0000",
"value" => {
"payload" => {
"if" => [
"oic.if.baseline",
"oic.if.a"
],
"rt" => [
"x.com.samsung.da.operation"
],
"x.com.samsung.da.progress" => "None",
"x.com.samsung.da.progressPercentage" => 1,
"x.com.samsung.da.remainingTime" => "03:23:00",
"x.com.samsung.da.state" => "Ready",
"x.com.samsung.da.supportedProgress" => [
"None",
"Weightsensing",
"Wash",
"Rinse",
"Spin",
"Finish"
]
}
}
}
},
"ocf" => {
"di" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "130955e0-abf8-6c90-55fa-b5e0a3a08194"
},
"dmv" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "res.1.1.0,sh.1.1.0"
},
"icv" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "core.1.1.0"
},
"mndt" => {
"timestamp" => "2020-10-18T06:22:19.789+0000",
"value" => undef
},
"mnfv" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "0.1.0"
},
"mnhw" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "1.0"
},
"mnml" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "http://www.samsung.com"
},
"mnmn" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "Samsung Electronics"
},
"mnmo" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "ARTIK051_WM_COM_18K|FFFFFFFF|20010102001011070000000000000000"
},
"mnos" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "TizenRT2.0"
},
"mnpv" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "0.1.0"
},
"mnsl" => {
"timestamp" => "2020-10-18T05:53:20.037+0000",
"value" => undef
},
"n" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "[washer] Samsung"
},
"pi" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "130955e0-abf8-6c90-55fa-b5e0a3a08194"
},
"st" => {
"timestamp" => "2020-10-18T06:27:19.820+0000",
"value" => undef
},
"vid" => {
"timestamp" => "2020-10-18T05:53:03.872+0000",
"value" => "DA-WM-WM-000001"
}
},
"powerConsumptionReport" => {
"powerConsumption" => {
"timestamp" => "2020-10-19T16:24:54.225+0000",
"value" => {
"deltaEnergy" => 100,
"end" => "2020-10-19T16:24:54Z",
"energy" => 2800,
"energySaved" => 0,
"persistedEnergy" => 0,
"power" => 0,
"powerEnergy" => 0,
"start" => "2020-10-19T16:11:26Z"
}
}
},
"refresh" => {},
"remoteControlStatus" => {
"remoteControlEnabled" => {
"timestamp" => "2020-10-18T07:56:55.361+0000",
"value" => "false"
}
},
"samsungce.autoDispenseDetergent" => {
"amount" => {
"timestamp" => "2020-10-18T06:52:21.227+0000",
"value" => undef
},
"density" => {
"timestamp" => "2020-10-18T06:52:21.227+0000",
"value" => undef
},
"supportedAmount" => {
"timestamp" => "2020-10-18T06:52:21.227+0000",
"value" => undef
},
"supportedDensity" => {
"timestamp" => "2020-10-18T06:52:21.227+0000",
"value" => undef
}
},
"samsungce.autoDispenseSoftener" => {
"amount" => {
"timestamp" => "2020-10-18T07:02:21.140+0000",
"value" => undef
},
"density" => {
"timestamp" => "2020-10-18T07:02:21.140+0000",
"value" => undef
},
"supportedAmount" => {
"timestamp" => "2020-10-18T07:02:21.140+0000",
"value" => undef
},
"supportedDensity" => {
"timestamp" => "2020-10-18T07:02:21.140+0000",
"value" => undef
}
},
"samsungce.detergentOrder" => {
"alarmEnabled" => {
"timestamp" => "2020-10-18T07:22:22.989+0000",
"value" => undef
},
"orderThreshold" => {
"timestamp" => "2020-10-18T07:22:22.989+0000",
"unit" => "ea",
"value" => undef
}
},
"samsungce.detergentState" => {
"detergentType" => {
"timestamp" => "2020-10-18T07:07:21.138+0000",
"value" => undef
},
"dosage" => {
"timestamp" => "2020-10-18T07:07:21.138+0000",
"unit" => "ea",
"value" => undef
},
"initialAmount" => {
"timestamp" => "2020-10-18T07:07:21.138+0000",
"unit" => "ea",
"value" => undef
},
"remainingAmount" => {
"timestamp" => "2020-10-18T07:07:21.138+0000",
"unit" => "ea",
"value" => undef
}
},
"samsungce.driverVersion" => {
"versionNumber" => {
"timestamp" => "2020-10-18T05:53:04.099+0000",
"value" => 20092501
}
},
"samsungce.kidsLock" => {
"lockState" => {
"timestamp" => "2020-10-18T05:53:04.099+0000",
"value" => "unlocked"
}
},
"samsungce.softenerOrder" => {
"alarmEnabled" => {
"timestamp" => "2020-10-18T07:17:22.994+0000",
"value" => undef
},
"orderThreshold" => {
"timestamp" => "2020-10-18T07:17:22.994+0000",
"unit" => "cc",
"value" => undef
}
},
"samsungce.softenerState" => {
"dosage" => {
"timestamp" => "2020-10-18T06:42:19.781+0000",
"unit" => "cc",
"value" => undef
},
"initialAmount" => {
"timestamp" => "2020-10-18T06:37:19.774+0000",
"unit" => "cc",
"value" => undef
},
"remainingAmount" => {
"timestamp" => "2020-10-18T06:47:19.791+0000",
"unit" => "cc",
"value" => undef
},
"softenerType" => {
"timestamp" => "2020-10-18T05:55:23.152+0000",
"value" => undef
}
},
"samsungce.washerCycle" => {
"washerCycle" => {
"timestamp" => "2020-10-19T12:56:25.678+0000",
"value" => "Table_00_Course_5B"
}
},
"switch" => {
"switch" => {
"timestamp" => "2020-10-19T16:25:18.369+0000",
"value" => "off"
}
},
"washerOperatingState" => {
"completionTime" => {
"timestamp" => "2020-10-19T16:25:21.216+0000",
"value" => "2020-10-19T19:48:21Z"
},
"machineState" => {
"timestamp" => "2020-10-19T16:25:18.476+0000",
"value" => "stop"
},
"supportedMachineStates" => {
"timestamp" => "2020-10-18T06:34:45.978+0000",
"value" => undef
},
"washerJobState" => {
"timestamp" => "2020-10-19T16:25:21.216+0000",
"value" => "none"
}
}
}
}
};
Wieder was gelernt - danke nochmal :)
Neue Version 0.7.19Bereinigte Bugs:
- Zeitstempelberchnung
- Logging von Einheiten ohne Werte
- Erkennung von Optionen für die setList
- Fehlender Ausschluß von deaktivierten Capabilities
- diverse Fehler in der Dokumentation
Änderungen:
- Neues Attribut readings_map eingeführt
Die tatsächlichen Werte (z.B. on) können so sowohl für die Anzeige des Readings, als auch für den set Befehl übersetzt werden (z.B. an oder aktiv oder eingeschaltet).
Achtung: die Werte dürfen keine Leerzeichen enthalten!
Beispiele:
switch:on=eingeschaltet,off=ausgeschaltet
washerCycle:1B=Baumwolle_60
Auf längere Sicht sollen hier das Mapping zwischen zu setzenden und anzugeigenden Werten stattfinden.[/li]
- Dokumentation aktualisiert
Wie immer: bitte testen und hoffentlich Erfolg vermelden ;D
Hallo PASP,
ich habe heute mein FHEM geupdated und nach einem "Shutdown Restart" sowohl "get Status" als auch "get x_Options" ausgeführt.
Die Setlist wurde wie beschrieben geändert auf
switch:on,off
- set TheFrame switch on
- set TheFrame switch off
funktionieren beide. Das ist ja schonmal super.
Leider löst das noch nicht meinen größten Traum, gezielt zwischen
um zu schalten.
Aber es wird immer besser! Danke dafür.
Gruß, fk
Nabend 😊
Das Update ist eingespielt und die ungewollten
Log Meldungen sind verschwunden...
Die Zeitstempel muss ich mir nochmal bei der nächsten Wäsche angucken.
Auf jeden Fall schonmal vielen Dank
Erstmal danke fürs Testen.
Zitat von: felskrone am 21 Oktober 2020, 18:02:48
Leider löst das noch nicht meinen größten Traum, gezielt zwischen
um zu schalten.
Ich vermute, daß das nicht über (den selben) switch geht...
Schick mir doch bitte mal die Ausgabe von
set TheFrame verbose 5
get TheFrame status
Und danach wieder
set TheFrame verbose 3
ausführen nicht vergessen!
Ich finde auch
Zitat von: felskrone am 21 Oktober 2020, 18:02:48switch:on,off
etwas dürftig, da hätte ich deutlich mehr erwartet. :o
gerne:
$VAR1 = {
"components" => {
"main" => {
"audioMute" => {
"mute" => {
"timestamp" => "1970-01-19T06:32:34.515+0000",
"value" => "unmuted"
}
},
"audioVolume" => {
"volume" => {
"timestamp" => "1970-01-19T06:32:34.515+0000",
"unit" => "%",
"value" => 17
}
},
"custom.accessibility" => {},
"custom.error" => {
"error" => {
"timestamp" => "2020-06-02T17:17:30.961+0000",
"value" => undef
}
},
"custom.launchapp" => {},
"custom.picturemode" => {
"pictureMode" => {
"timestamp" => "2019-11-02T22:04:16.350+0000",
"value" => "HDR+"
},
"supportedPictureModes" => {
"timestamp" => "2019-11-02T22:04:16.360+0000",
"value" => [
"HDR+"
]
},
"supportedPictureModesMap" => {
"timestamp" => "2020-08-26T16:01:17.368+0000",
"value" => undef
}
},
"custom.recording" => {},
"custom.soundmode" => {
"soundMode" => {
"timestamp" => "2019-11-02T22:04:16.549+0000",
"value" => "Standard"
},
"supportedSoundModes" => {
"timestamp" => "1970-01-19T06:32:34.515+0000",
"value" => [
"Standard",
"Optimiert",
"Verst\x{e4}rken"
]
},
"supportedSoundModesMap" => {
"timestamp" => "2020-08-26T10:32:37.307+0000",
"value" => undef
}
},
"custom.tvsearch" => {},
"execute" => {
"data" => {
"data" => {},
"timestamp" => "2020-06-03T04:01:04.731+0000",
"value" => undef
}
},
"mediaInputSource" => {
"inputSource" => {
"timestamp" => "2020-07-11T17:51:21.206+0000",
"value" => "HDMI4"
},
"supportedInputSources" => {
"timestamp" => "1970-01-19T07:24:12.509+0000",
"value" => [
"digitalTv",
"HDMI4"
]
}
},
"mediaPlayback" => {
"playbackStatus" => {
"timestamp" => "2020-06-03T04:01:04.892+0000",
"value" => undef
},
"supportedPlaybackCommands" => {
"timestamp" => "1970-01-19T06:32:34.513+0000",
"value" => [
"play",
"pause",
"stop",
"fastForward",
"rewind"
]
}
},
"mediaTrackControl" => {
"supportedTrackControlCommands" => {
"timestamp" => "2020-06-02T17:17:30.693+0000",
"value" => undef
}
},
"ocf" => {
"di" => {
"timestamp" => "2019-10-06T14:12:18.224+0000",
"value" => "7052f469-4f5b-4975-9728-689a977cc472"
},
"dmv" => {
"timestamp" => "2019-10-06T14:12:18.254+0000",
"value" => "res.1.1.0,sh.1.1.0"
},
"icv" => {
"timestamp" => "2019-10-06T14:12:18.211+0000",
"value" => "core.1.1.0"
},
"mndt" => {
"timestamp" => "2019-10-06T14:12:18.111+0000",
"value" => "2018-01-01"
},
"mnfv" => {
"timestamp" => "2020-04-28T20:25:37.372+0000",
"value" => "T-KTM2DEUC-1290.4"
},
"mnhw" => {
"timestamp" => "2019-10-06T14:12:18.251+0000",
"value" => "0-0"
},
"mnml" => {
"timestamp" => "2019-10-06T14:12:18.209+0000",
"value" => "http://www.samsung.com"
},
"mnmn" => {
"timestamp" => "2019-10-06T14:12:18.145+0000",
"value" => "Samsung Electronics"
},
"mnmo" => {
"timestamp" => "2019-10-06T14:12:18.133+0000",
"value" => "UE65LS03N"
},
"mnos" => {
"timestamp" => "2019-10-06T14:12:18.156+0000",
"value" => "4.1.10"
},
"mnpv" => {
"timestamp" => "2019-10-06T14:12:18.167+0000",
"value" => "Tizen 4.0"
},
"mnsl" => {
"timestamp" => "2019-10-06T14:12:18.121+0000",
"value" => "http://www.samsung.com/sec/tv/overview/"
},
"n" => {
"timestamp" => "2019-10-06T14:12:18.239+0000",
"value" => "[TV] Samsung Frame Series (65)"
},
"pi" => {
"timestamp" => "2019-10-06T14:12:18.221+0000",
"value" => "7052f469-4f5b-4975-9728-689a977cc472"
},
"st" => {
"timestamp" => "2019-12-08T12:51:04.978+0000",
"value" => "2019-12-08T13:44:07Z"
},
"vid" => {
"timestamp" => "2019-10-06T14:12:18.235+0000",
"value" => "VD-STV_2018_K"
}
},
"refresh" => {},
"samsungtv.firmwareVersion" => {
"firmwareVersion" => {
"timestamp" => "2020-09-15T17:49:51.944+0000",
"value" => "2.4.0"
}
},
"samsungtv.supportsPowerOnByOcf" => {
"supportsPowerOnByOcf" => {
"timestamp" => "2020-01-12T13:24:18.880+0000",
"value" => "true"
}
},
"switch" => {
"switch" => {
"timestamp" => "2020-10-22T20:49:26.865+0000",
"value" => "off"
}
},
"tvChannel" => {
"tvChannel" => {
"timestamp" => "2020-04-28T20:59:40.367+0000",
"value" => ""
},
"tvChannelName" => {
"timestamp" => "2020-05-02T21:40:43.681+0000",
"value" => "art"
}
}
}
}
};
Hallo pasp,
hier meine Erkenntnisse nach Update auf Version 0.7.19:
Die Zeitstempelberechnung scheint nun korrekt zu sein :D Habs zwar noch keinen Waschgang gestartet gehabt, aber der forecast "completionTime" passt nun schon mal.
get status ergibt folgendendes:
{
"components" => {
"main" => {
"custom.disabledCapabilities" => {
"disabledCapabilities" => {
"timestamp" => "2020-10-16T10:00:39.823+0000",
"value" => [
"samsungce.softenerOrder",
"samsungce.softenerState"
]
}
},
"custom.jobBeginningStatus" => {
"jobBeginningStatus" => {
"timestamp" => "2020-10-16T10:00:39.276+0000",
"value" => "None"
}
},
"custom.supportedOptions" => {
"supportedCourses" => {
"timestamp" => "2020-10-16T10:06:38.723+0000",
"value" => [
"1C",
"1B",
"1E",
"1D",
"1F",
25,
26,
33,
24,
32,
20,
22,
23,
"2F",
21,
"2A",
"2E",
"2D",
30,
27,
28,
29
]
}
},
"custom.washerAutoDetergent" => {
"washerAutoDetergent" => {
"timestamp" => "2020-10-16T10:00:41.043+0000",
"value" => undef
}
},
"custom.washerAutoSoftener" => {
"washerAutoSoftener" => {
"timestamp" => "2020-10-16T11:23:21.740+0000",
"value" => undef
}
},
"custom.washerRinseCycles" => {
"supportedWasherRinseCycles" => {
"timestamp" => "2020-10-16T10:00:38.159+0000",
"value" => [
0,
1,
2,
3,
4,
5
]
},
"washerRinseCycles" => {
"timestamp" => "2020-10-22T08:09:18.252+0000",
"value" => 2
}
},
"custom.washerSoilLevel" => {
"supportedWasherSoilLevel" => {
"timestamp" => "2020-10-16T11:43:21.752+0000",
"value" => undef
},
"washerSoilLevel" => {
"timestamp" => "2020-10-16T11:43:21.752+0000",
"value" => undef
}
},
"custom.washerSpinLevel" => {
"supportedWasherSpinLevel" => {
"timestamp" => "2020-10-16T10:00:38.159+0000",
"value" => [
"rinseHold",
"noSpin",
400,
800,
1000,
1200,
1400
]
},
"washerSpinLevel" => {
"timestamp" => "2020-10-23T10:24:33.038+0000",
"value" => 1400
}
},
"custom.washerWaterTemperature" => {
"supportedWasherWaterTemperature" => {
"timestamp" => "2020-10-16T10:00:38.159+0000",
"value" => [
"none",
"cold",
20,
30,
40,
60,
90
]
},
"washerWaterTemperature" => {
"timestamp" => "2020-10-22T08:09:18.251+0000",
"value" => 40
}
},
"execute" => {
"data" => {
"data" => {
"href" => "/realtimenotiforclient/vs/0"
},
"timestamp" => "2020-10-23T10:26:22.029+0000",
"value" => {
"payload" => {
"if" => [
"oic.if.baseline",
"oic.if.a"
],
"rt" => [
"x.com.samsung.da.realtimenotiforclient"
],
"x.com.samsung.da.periodicnotisubscription" => "true",
"x.com.samsung.da.timeforshortnoti" => 0
}
}
}
},
"ocf" => {
"di" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "234be440-ec75-6963-ade7-a735231781a1"
},
"dmv" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "res.1.1.0,sh.1.1.0"
},
"icv" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "core.1.1.0"
},
"mndt" => {
"timestamp" => "2020-10-16T11:18:37.800+0000",
"value" => undef
},
"mnfv" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "0.1.0"
},
"mnhw" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "1.0"
},
"mnml" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "http://www.samsung.com"
},
"mnmn" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "Samsung Electronics"
},
"mnmo" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "TP2X_WM_COM_19K|20260041|200101020014113502A3020700000000"
},
"mnos" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "TizenRT2.0"
},
"mnpv" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "0.1.0"
},
"mnsl" => {
"timestamp" => "2020-10-16T10:00:46.810+0000",
"value" => undef
},
"n" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "[washer] Samsung"
},
"pi" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "234be440-ec75-6963-ade7-a735231781a1"
},
"st" => {
"timestamp" => "2020-10-16T11:19:03.306+0000",
"value" => undef
},
"vid" => {
"timestamp" => "2020-10-16T10:00:38.122+0000",
"value" => "DA-WM-WM-000001"
}
},
"powerConsumptionReport" => {
"powerConsumption" => {
"timestamp" => "2020-10-23T10:11:59.082+0000",
"value" => {
"deltaEnergy" => 0,
"end" => "2020-10-23T10:11:59Z",
"energy" => 5000,
"energySaved" => 0,
"persistedEnergy" => 0,
"power" => 0,
"powerEnergy" => 0,
"start" => "2020-10-23T10:03:15Z"
}
}
},
"refresh" => {},
"remoteControlStatus" => {
"remoteControlEnabled" => {
"timestamp" => "2020-10-23T10:14:28.976+0000",
"value" => "false"
}
},
"samsungce.autoDispenseDetergent" => {
"amount" => {
"timestamp" => "2020-10-16T11:33:21.761+0000",
"value" => undef
},
"density" => {
"timestamp" => "2020-10-16T11:33:21.761+0000",
"value" => undef
},
"supportedAmount" => {
"timestamp" => "2020-10-16T11:33:21.761+0000",
"value" => undef
},
"supportedDensity" => {
"timestamp" => "2020-10-16T11:33:21.761+0000",
"value" => undef
}
},
"samsungce.autoDispenseSoftener" => {
"amount" => {
"timestamp" => "2020-10-16T11:38:21.801+0000",
"value" => undef
},
"density" => {
"timestamp" => "2020-10-16T11:38:21.801+0000",
"value" => undef
},
"supportedAmount" => {
"timestamp" => "2020-10-16T11:38:21.801+0000",
"value" => undef
},
"supportedDensity" => {
"timestamp" => "2020-10-16T11:38:21.801+0000",
"value" => undef
}
},
"samsungce.detergentOrder" => {
"alarmEnabled" => {
"timestamp" => "2020-10-16T10:00:38.355+0000",
"value" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
},
"orderThreshold" => {
"timestamp" => "2020-10-16T10:00:38.355+0000",
"unit" => "cc",
"value" => 0
}
},
"samsungce.detergentState" => {
"detergentType" => {
"timestamp" => "2020-10-16T10:03:42.244+0000",
"value" => undef
},
"dosage" => {
"timestamp" => "2020-10-16T10:00:38.355+0000",
"unit" => "cc",
"value" => 0
},
"initialAmount" => {
"timestamp" => "2020-10-16T10:00:38.355+0000",
"unit" => "cc",
"value" => 0
},
"remainingAmount" => {
"timestamp" => "2020-10-16T10:00:38.355+0000",
"unit" => "cc",
"value" => 0
}
},
"samsungce.driverVersion" => {
"versionNumber" => {
"timestamp" => "2020-10-16T10:00:38.159+0000",
"value" => 20092501
}
},
"samsungce.kidsLock" => {
"lockState" => {
"timestamp" => "2020-10-16T10:00:39.274+0000",
"value" => "unlocked"
}
},
"samsungce.softenerOrder" => {
"alarmEnabled" => {
"timestamp" => "2020-10-16T10:06:38.723+0000",
"value" => $VAR1->{"components"}{"main"}{"samsungce.detergentOrder"}{"alarmEnabled"}{"value"}
},
"orderThreshold" => {
"timestamp" => "2020-10-16T10:06:38.723+0000",
"unit" => "cc",
"value" => 0
}
},
"samsungce.softenerState" => {
"dosage" => {
"timestamp" => "2020-10-16T10:06:38.723+0000",
"unit" => "cc",
"value" => 0
},
"initialAmount" => {
"timestamp" => "2020-10-16T10:06:38.723+0000",
"unit" => "cc",
"value" => 0
},
"remainingAmount" => {
"timestamp" => "2020-10-16T10:06:38.723+0000",
"unit" => "cc",
"value" => 0
},
"softenerType" => {
"timestamp" => "2020-10-16T10:06:38.723+0000",
"value" => "unknown"
}
},
"samsungce.washerCycle" => {
"washerCycle" => {
"timestamp" => "2020-10-22T09:15:47.364+0000",
"value" => "Table_02_Course_1C"
}
},
"switch" => {
"switch" => {
"timestamp" => "2020-10-23T10:24:33.050+0000",
"value" => "off"
}
},
"washerOperatingState" => {
"completionTime" => {
"timestamp" => "2020-10-23T10:24:33.107+0000",
"value" => "2020-10-23T13:02:33Z"
},
"machineState" => {
"timestamp" => "2020-10-22T09:15:47.356+0000",
"value" => "stop"
},
"supportedMachineStates" => {
"timestamp" => "2020-10-16T11:28:21.738+0000",
"value" => undef
},
"washerJobState" => {
"timestamp" => "2020-10-22T09:15:47.566+0000",
"value" => "none"
}
}
}
}
}
Die Erkennung von Optionen für die setList funktioniert nicht automatisch. Es wird nur switch:on,off (ich glaube mit switch kann man bei ner Waschmaschine nichts anfangen) angelegt und die manuell hinzugefügten Werte überschrieben.
Hier die Werte von setList_hint:
main_custom.washerRinseCycles:0,1,2,3,4,5
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.washerSpinLevel:rinseHold,noSpin,400,800,1000,1200,1400
main_custom.washerWaterTemperature:none,cold,20,30,40,60,90
Ich habe die Werte dann wieder manuell unter setList eingetragen.
Die Befehle tauschen dann zwar unter "set" auf, aber es lässt sich nichts an die Waschmaschine schicken.
Folgenden Befehl habe ich abgesetzt:
set Waschmaschine main_custom.washerSpinLevel 1200
Folgende Fehlermeldung erscheint:
Could not identify internal name for value main_custom.washerSpinLevel!
Das gilt auch für die anderen Optionen.
Generell möchte ich dazu folgendes erwähnen:
Ich vergleich das nun mal mit der Samsung SmartThings App.
Ist der Fernstart der Waschmaschine deaktiviert (in FHEM das reading remoteControlEnabled false bzw. true) werden die Optionen wie Schleudern, Temperatur, Spülgänge oder halt das entsprechende Waschprogramm mit dem Button "An Waschmaschine senden" übermittelt. Die Eingestellten Optionen werden auf der Waschmaschine angezeigt/eingestellt. Starten muss man dann noch selber vor Ort.
Anders verhält sich das ganze, wenn der Fernstart aktiviert ist.
Hier müssen alle gewünschten Optionen in der App ausgewählt werden, danach auf den Button "Start" drücken und Waschmaschine beginnt mit ihrem Waschprogramm. Den Button "An Waschmaschine senden" gibt es dort nicht mehr.
Worauf ich hinaus will ist, dass man bei der nicht Fernstartvariante noch theoretisch jede einzelne Option via "set" an die Waschmaschine senden kann, aber bei der Fernstartvariante das ganze zwangläufig gesammelt übergeben werden muss.
Wenn ich eine Liste zusammen habe, zwecks der Übersetzung der Waschprogramme, werde ich es dich hier wissen lassen. Wie du schon sagtest, hoffentlich sind Angaben bei allen Waschmaschinen gleich. :o
Gruß Alex
Ich habe mal meine Waschprogramme zusammengestellt - so wie ich das verstehe wird da nicht die Gradzahl oder ähnliches mit verschlüsselt... Bin mir natürlich nicht sicher und lasse mich da gerne eines Besseren belehren ;-)
washerCycle:Table_00_Course_5B=Baumwolle,Table_00_Course_65=Wolle,Table_00_Course_5C=Schnelle_Wäsche,Table_00_Course_63=Trommelreinigung,Table_00_Course_67=Synthetik
Gruß Firetic
Zitat von: Firetic am 23 Oktober 2020, 13:33:04
Ich habe mal meine Waschprogramme zusammengestellt - so wie ich das verstehe wird da nicht die Gradzahl oder ähnliches mit verschlüsselt... Bin mir natürlich nicht sicher und lasse mich da gerne eines Besseren belehren ;-)
washerCycle:Table_00_Course_5B=Baumwolle,Table_00_Course_65=Wolle,Table_00_Course_5C=Schnelle_Wäsche,Table_00_Course_63=Trommelreinigung,Table_00_Course_67=Synthetik
Habe das so jetzt erstmal als default definiert (ist aber noch nicht veröffentlicht).
Zitat von: dogexan am 23 Oktober 2020, 13:10:18
Wenn ich eine Liste zusammen habe, zwecks der Übersetzung der Waschprogramme, werde ich es dich hier wissen lassen. Wie du schon sagtest, hoffentlich sind Angaben bei allen Waschmaschinen gleich. :o
Passen denn die, die Firetic geschickt hat?
Zitat von: dogexan am 23 Oktober 2020, 13:10:18
Die Erkennung von Optionen für die setList funktioniert nicht automatisch. Es wird nur switch:on,off (ich glaube mit switch kann man bei ner Waschmaschine nichts anfangen) angelegt und die manuell hinzugefügten Werte überschrieben.
On/off ist in der Tat etwas dürftig :(
Zitat von: dogexan am 23 Oktober 2020, 13:10:18
Hier die Werte von setList_hint:
main_custom.washerRinseCycles:0,1,2,3,4,5
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.washerSpinLevel:rinseHold,noSpin,400,800,1000,1200,1400
main_custom.washerWaterTemperature:none,cold,20,30,40,60,90
Ich habe die Werte dann wieder manuell unter setList eingetragen.
Die Befehle tauschen dann zwar unter "set" auf, aber es lässt sich nichts an die Waschmaschine schicken.
Folgenden Befehl habe ich abgesetzt:
set Waschmaschine main_custom.washerSpinLevel 1200
Folgende Fehlermeldung erscheint:
Could not identify internal name for value main_custom.washerSpinLevel!
Ich denke das
main_custom. ist zuviel, probier doch bitte mal
set Waschmaschine washerSpinLevel 1200
set Waschmaschine washerWaterTemerature 40
...
Zitat von: dogexan am 23 Oktober 2020, 13:10:18
Generell möchte ich dazu folgendes erwähnen:
Ich vergleich das nun mal mit der Samsung SmartThings App.
...
Das stelle ich jetzt erstmal hintan.
Zitat von: felskrone am 23 Oktober 2020, 10:16:17gerne:
...
Kannst Du mir das vielleicht nochmal 3 mal schicken (am Besten als PM)?
- einmal, während der Fernseher aus ist,
- einmal, während der Fernseher an ist (ggf. mit Programmname),
- einmal, während der Fernseher auf Bilderrahmen eingestellt ist
Da muß ich mal die Unterschiede untersuchen.
Zitat von: pasp am 23 Oktober 2020, 20:22:08
Ich denke das main_custom. ist zuviel, probier doch bitte mal
set Waschmaschine washerSpinLevel 1200
set Waschmaschine washerWaterTemerature 40
...
Mit
set Waschmaschine washerSpinLever 1200 kommt folgende Meldung:
Command failed:
ConstraintViolationError: The request is malformed.
Command has results:
{"commands":[{"component":"main",
"command":"setWasherSpinLevel",
"arguments":[1000],
"capability":"custom.washerSpinLevel"}]}
{"requestId":"0BF31297-CB15-4B5F-BBB4-42FC585D3778",
"error":{"code":"ConstraintViolationError",
"message":"The request is malformed.",
"details":[{"code":"UnprocessableEntityError",
"target":"commands[0].arguments[0]",
"message":"commands[0].arguments[0]: integer found,
string expected",
"details":[]},
{"code":"UnprocessableEntityError",
"target":"commands[0].arguments[0]",
"message":"commands[0].arguments[0]: does not have a value in the enumeration [none,
rinseHold,
noSpin,
low,
delicate,
medium,
high,
extraHigh,
200,
400,
600,
800,
1000,
1200,
1400,
1600]",
"details":[]}]}}
und bei
set Waschmaschine washerWaterTemperature 40:
Command failed:
ConstraintViolationError: The request is malformed.
Command has results:
{"commands":[{"arguments":[40],
"command":"setWasherWaterTemperature",
"component":"main",
"capability":"custom.washerWaterTemperature"}]}
{"requestId":"9F532D7C-8405-482F-BA0A-A4E88F6E1259",
"error":{"code":"ConstraintViolationError",
"message":"The request is malformed.",
"details":[{"code":"UnprocessableEntityError",
"target":"commands[0].arguments[0]",
"message":"commands[0].arguments[0]: integer found,
string expected",
"details":[]},
{"code":"UnprocessableEntityError",
"target":"commands[0].arguments[0]",
"message":"commands[0].arguments[0]: does not have a value in the enumeration [none,
20,
30,
40,
50,
60,
65,
70,
75,
80,
90,
95,
tapCold,
cold,
ecoWarm,
warm,
semiHot,
hot,
extraHot,
extraLow,
low,
mediumLow,
medium,
high]",
"details":[]}]}}
Ansonsten hier meine vollständige washerCycle Tabelle. Wie Firetec schon sagte werden die Gradzahlen oder die Schleuderumdrehungen nicht mit verschlüsselt.
Beschriftung:
Waschmaschine - App - FHEM
ECO 40-60 - Öko 40-60 - Table_02_Course_1C
Baumwolle - Baumwolle - Table_02_Course_1B
Schnelle Wäsche 15' - Schnelle Wäsche - Table_02_Course_1E
SuperSpeed - Super Speed - Table_02_Course_1D
Kaltwäsche Intensiv - Intensiv kalt - Table_02_Course_1F
Pflegeleicht - Pflegeleichtes - Table_02_Course_25
Feinwäsche - Feinwäsche - Table_02_Course_26
Handtücher - Handtücher - Table_02_Course_33
XXL-Wäsche - XXL-Wäsche - Table_02_Course_24
Hemden - Hemden - Table_02_Course_32
Hygiene-Dampf - Dampfprogramm mit Desinfektion - Table_02_Course_20
Wolle - Wolle - Table_02_Course_22
Outdoor - Outdoor - Table_02_Course_23
Sportkleidung - Aktivbekleidung - Table_02_Course_2F
Buntwäsche - Farbe - Table_02_Course_21
Jeans - Jeans - Table_02_Course_2A
Baby Care Intensiv - Intensiv - Table_02_Course_2E
Super Leise - Leisewaschen - Table_02_Course_2D
Bewölkter Tag - Wolkentag - Table_02_Course_30
Spülen+Schleudern - Spülen+Schleudern - Table_02_Course_27
Abpumpen+Schleudern - Abpumpen/Schleudern - Table_02_Course_28
Trommelreinigung+ - Trommelreinigung - Table_02_Course_29
Gruß Alex
Zitat von: pasp am 27 September 2020, 13:08:21
Da bin ich überfragt, weil ich nicht weiß, wie sich FHEM als Plugin verhält.
Ist das ein komplettes Standard-FHEM oder wurde da was angepaßt? ???
Sollte der normale Installationsverlauf nicht funktioniert, lade Dir doch mal das 48_SST.pm von Github runter und legs manuell in das FHEM Verzeichnis, in dem auch die ganzen anderen *.pm Dateien liegen (ggf. einfach mal nach z.B. 00_MQTT.pm suchen). Spätestens nach 'nem Neustart von FHEM sollte es dann eigentlich funktionieren. :)
Interessant wäre das auf jeden Fall :D
Hallo PASP,
FHEM auf Loxberry dürfte ein komplettes Standard FHEM. Sehe meine Splitanlage und meinen Fernseher und kann Befehle senden.
Jetzt versuche ich dass ganze über MQTT auf meinen Miniserver von Loxone zu senden. Da ich kein Programmierer bin und Null Ahnung von FHEM habe, bedanke ich mich für die gute Beschreibung von Dir in diesem Forum.
Wie finde ich die Befehle heraus, die FHEM sendet, damit die Klimaanlage eingeschaltet wird?
Ich muss diesen Befehl über UDP an MQTT schicken.
Thema SVG GraphikenWas bisher geschah:Zitat von: poiuztr123 am 23 Oktober 2020, 17:11:18
Eine Frage: Wie kann ich die neue Icons auswählen. Wenn ich über die fhem Oberfläche gehe und Samsung in der Iconsuche eingebe, kommt kein icon. Muss ich etwas manuell laden oder aktualisieren?
Zitat von: pasp am 23 Oktober 2020, 20:48:33
Eigentlich sollte das über git mit installiert werden.
Wie sieht denn Dein iconPath in FhemWEB aus? Da sollte
...:fhemSVG:...
drin vorkommen, weil meine Icons SVGs sind.
Zitat von: poiuztr123 am 24 Oktober 2020, 16:53:42
Danke für den Tip. Ich hatte garkein IconPath in WEB drin. Nachdem ich ihn gesetzt hatte, kam trotzdem nichts. Ich habe dann in /opt/fhem/www/images/fhemSVG und keine Samsung* Icons gefunden. Mache ich was falsch? Wie kann er die Icons da automatisch hin kopieren? udpate SST nach dem Pfad setzen und shutdown restart hat nicht geholfen.
Ich habe mal nachgesehen, ob das ein allgemeines Problem ist, und ich die Dateien vielleicht nur sehe, weil ich sie mir manuell dorthin kopiert habe.
Im entsprechenden Log tauchen allerdings keine Fehlermeldungen auf:
fhem@raspberrypi:~/log (0)$ grep -C1 fhemSVG/samsung $( grep -l fhemSVG/samsung_ac.svg fhem-2020-1?-??.log | tail -1 )
2020.10.03 23:30:00 1: UPD FHEM/48_SST.pm
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_tv.svg
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_ac.svg
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_smartthings_house.svg
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_smartthings_cloud.svg
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_sidebyside.svg
2020.10.03 23:30:02 1: UPD www/images/fhemSVG/samsung_smartthings.svg
2020.10.03 23:30:02 1: UPD www/images/fhemSVG/samsung_smartthings_house2.svg
2020.10.03 23:30:02 1: UPD www/images/fhemSVG/samsung_tv_curved.svg
2020.10.03 23:30:02 1: saving fhem.cfg
fhem@raspberrypi:~/log (0)$
Und auch die Zeitstempel der Dateien selbst scheint auf keinen Fehler hinzuweisen:
pasp@raspberrypi:~ (0)$ ll ~fhem/www/images/fhemSVG/samsung*
-rw-r--r-- 1 fhem dialout 8989 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_ac.svg
-rw-r--r-- 1 fhem dialout 7959 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_sidebyside.svg
-rw-r--r-- 1 fhem dialout 5655 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_smartthings.svg
-rw-r--r-- 1 fhem dialout 6816 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_smartthings_cloud.svg
-rw-r--r-- 1 fhem dialout 6318 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_smartthings_house.svg
-rw-r--r-- 1 fhem dialout 6697 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_smartthings_house2.svg
-rw-r--r-- 1 fhem dialout 4744 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_tv.svg
-rw-r--r-- 1 fhem dialout 4051 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_tv_curved.svg
pasp@raspberrypi:~ (0)$
@poiuztr123: Kannst Du bitte mal in Deinen Logs nachsehen, ob da Fehler auftauchen?
@all:
Hat das Problem sonst noch jemand?
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.
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?
Zitat von: reinhard@seven-up.at am 24 Oktober 2020, 22:47:06
Wie finde ich die Befehle heraus, die FHEM sendet, damit die Klimaanlage eingeschaltet wird?
Ich muss diesen Befehl über UDP an MQTT schicken.
Meinst Du die Kommunikation mit der Samsung Cloud?
Das ist ein JSON formatierter Befehl als POST über Websocket.
Wenn du verbose (vom Modul) auf 5 stellst, kannst Du das im Log nachlesen (danach verbose aber wieder auf 3 oder niedriger stellen!):
SST (<FHEM Gerätename>): JSON STRUCT (device set <zu setzendes Reading>):
Oder hab ich da was falsch verstanden? ???
Hallo pasp,
Danke für die Info.
Ich habe das Modul auf Loxberry im FHME Plugin laufen. Da kann ich auch die verschiedensten Sachen der Samsung Geräte schalten. Hab es auch geschafft virtuelle Eingänge über das MQTT Plugin an mein Loxone Hausautomatisierung zu schicken. Wenn man da aber einen virtuellen Ausgang definiert wird das über UDP gesenden über den MQTT zu dem FHEM. Die Verbindung habe ich jetzt nach 20 Stunden soweit hinbekommen. Nur der Befehl ist noch nicht richtig. Anbei ein paar Screenshots.
https://www.loxwiki.eu/download/attachments/39356011/image2018-11-13_23-49-18.png?version=1&modificationDate=1542149356000&api=v2 (https://www.loxwiki.eu/download/attachments/39356011/image2018-11-13_23-49-18.png?version=1&modificationDate=1542149356000&api=v2)
Wenn man ein Shelly hat wird folgender Befehl eingegeben:Das <Topic> ist exakt der Befehl, der vom Anbieter dokumentiert ist, in diesem Fall z.B. shellies/shellyswitch-32BA7F/relay/1/command und der <Value> ist der Befehl, der der Anbieter erwartet (bei Shelly on oder off).
Ich könnte auch bei HTTP Methode bei EIN "Post" auswählen. (Im Bild steht oben GET)
Könntest Du mir bitte sagen welcher Bereich im Log FHEM für den Befehl Klimaanlage Switch on verwendet werden soll?
Danke schön für diese Hilfe.lg Reinhard
Zitat von: pasp am 25 Oktober 2020, 13:28:01
Thema SVG Graphiken
Was bisher geschah:
Ich habe mal nachgesehen, ob das ein allgemeines Problem ist, und ich die Dateien vielleicht nur sehe, weil ich sie mir manuell dorthin kopiert habe.
Im entsprechenden Log tauchen allerdings keine Fehlermeldungen auf:
fhem@raspberrypi:~/log (0)$ grep -C1 fhemSVG/samsung $( grep -l fhemSVG/samsung_ac.svg fhem-2020-1?-??.log | tail -1 )
2020.10.03 23:30:00 1: UPD FHEM/48_SST.pm
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_tv.svg
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_ac.svg
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_smartthings_house.svg
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_smartthings_cloud.svg
2020.10.03 23:30:01 1: UPD www/images/fhemSVG/samsung_sidebyside.svg
2020.10.03 23:30:02 1: UPD www/images/fhemSVG/samsung_smartthings.svg
2020.10.03 23:30:02 1: UPD www/images/fhemSVG/samsung_smartthings_house2.svg
2020.10.03 23:30:02 1: UPD www/images/fhemSVG/samsung_tv_curved.svg
2020.10.03 23:30:02 1: saving fhem.cfg
fhem@raspberrypi:~/log (0)$
Und auch die Zeitstempel der Dateien selbst scheint auf keinen Fehler hinzuweisen:
pasp@raspberrypi:~ (0)$ ll ~fhem/www/images/fhemSVG/samsung*
-rw-r--r-- 1 fhem dialout 8989 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_ac.svg
-rw-r--r-- 1 fhem dialout 7959 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_sidebyside.svg
-rw-r--r-- 1 fhem dialout 5655 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_smartthings.svg
-rw-r--r-- 1 fhem dialout 6816 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_smartthings_cloud.svg
-rw-r--r-- 1 fhem dialout 6318 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_smartthings_house.svg
-rw-r--r-- 1 fhem dialout 6697 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_smartthings_house2.svg
-rw-r--r-- 1 fhem dialout 4744 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_tv.svg
-rw-r--r-- 1 fhem dialout 4051 2020-10-03 23:30 /opt/fhem/www/images/fhemSVG/samsung_tv_curved.svg
pasp@raspberrypi:~ (0)$
@poiuztr123: Kannst Du bitte mal in Deinen Logs nachsehen, ob da Fehler auftauchen?
@all: Hat das Problem sonst noch jemand?
Ich habe nochmal ein "update SST" laufen lassen, wie im allerersten Post in diesem Thread beschrieben. Die SVG Dateien wurden damit nicht ins www/images/fhemSVG Verzeichnis geschrieben. Ich habe dann anschließend "update" eingegeben und siehe da, auf einmal tauchte auf:
Downloading https://raw.githubusercontent.com/PatricSperling/FHEM_SST/master/controls_SST.txt
2020.10.25 16:32:11 1:
2020.10.25 16:32:11 1: SST
2020.10.25 16:32:11 1: UPD FHEM/48_SST.pm
2020.10.25 16:32:11 1: UPD www/images/fhemSVG/samsung_tv.svg
2020.10.25 16:32:11 1: UPD www/images/fhemSVG/samsung_ac.svg
2020.10.25 16:32:11 1: UPD www/images/fhemSVG/samsung_smartthings_house.svg
2020.10.25 16:32:11 1: UPD www/images/fhemSVG/samsung_smartthings_cloud.svg
2020.10.25 16:32:11 1: UPD www/images/fhemSVG/samsung_tv_curved.svg
2020.10.25 16:32:12 1: UPD www/images/fhemSVG/samsung_sidebyside.svg
2020.10.25 16:32:12 1: UPD www/images/fhemSVG/samsung_smartthings.svg
2020.10.25 16:32:12 1: UPD www/images/fhemSVG/samsung_smartthings_house2.svg
2020.10.25 16:32:12 1: saving fhem.cfg
2020.10.25 16:32:12 1: saving ./log/fhem.save
2020.10.25 16:32:12 1:
2020.10.25 16:32:12 1: New entries in the CHANGED file:
2020.10.25 16:32:12 1: FHEM module SST last 3 changes:
2020.10.25 16:32:12 1: 2020-10-20: Version 0.7.19
2020.10.25 16:32:12 1: - bugfix: auto identification of options
2020.10.25 16:32:12 1: - bugfix: skipping disabled components
2020.10.25 16:32:12 1: - feature: added attribute readings_map
2020.10.25 16:32:12 1: - bugfix: timestamp correction when milliseconds are missing
2020.10.25 16:32:12 1: - bugfix: removed log messages on bare units
2020.10.25 16:32:12 1: - fixed inline documentation issues
2020.10.25 16:32:12 1: - reviewed internal documentation
2020.10.25 16:32:12 1: - fixed markup-typo in inline help
2020.10.25 16:32:12 1: - args
2020.10.25 16:32:12 1: - changed order of files
2020.10.25 16:32:12 1: 2020-10-03: Version 0.7.18
2020.10.25 16:32:12 1: - removed device dependent predefines for discard_units ans setList
2020.10.25 16:32:12 1: - added icon for SmartThings cloud
2020.10.25 16:32:12 1: - fixed icon properties
2020.10.25 16:32:12 1: - added new icons for SmartThings and TVs
2020.10.25 16:32:12 1: - removal of temperature unit on setting
2020.10.25 16:32:12 1: 2020-10-02: Version 0.7.17
2020.10.25 16:32:12 1: - changed logging a bit
2020.10.25 16:32:12 1: - added documentation for confirmation_delay
2020.10.25 16:32:12 1: - fixed icase mismatch issue for On/Off values
2020.10.25 16:32:12 1: - added confirmation delay when setting data
2020.10.25 16:32:12 1: - fixed number setting issue
2020.10.25 16:32:12 1: - fixed internal timer issue
2020.10.25 16:32:12 1: - aligned log messages
2020.10.25 16:32:12 1: ... rest of lines skipped.
2020.10.25 16:32:12 1: Calling /usr/bin/perl ./contrib/commandref_join.pl -noWarnings, this may take a while
2020.10.25 16:32:28 1:
2020.10.25 16:32:28 1: update finished, "shutdown restart" is needed to activate the changes.
2020.10.25 16:32:28 1:
2020.10.25 16:32:28 1: Please consider using the global attribute sendStatistics
Weiss auch nicht woran das lag. Vielleicht muss man ja über "ein allgemeines" update gehen?
Wie dem auch sei. Auf jeden Fall habe ich jetzt die Icons. :-)
Danke nochmal. Super Arbeit!
Zitat von: reinhard@seven-up.at am 25 Oktober 2020, 16:00:56
Ich habe das Modul auf Loxberry im FHME Plugin laufen. Da kann ich auch die verschiedensten Sachen der Samsung Geräte schalten.
Das heißt Loxberry spricht mit FHEM(SST) und FHEM(SST) mit der Samsung Cloud? Verstehe ich das richtig?
Zitat von: reinhard@seven-up.at am 25 Oktober 2020, 16:00:56
Hab es auch geschafft virtuelle Eingänge über das MQTT Plugin an mein Loxone Hausautomatisierung zu schicken. Wenn man da aber einen virtuellen Ausgang definiert wird das über UDP gesenden über den MQTT zu dem FHEM.
d.h. die Kommunikation zwischen Loxberry und FHEM geht über MQTT?
Zitat von: reinhard@seven-up.at am 25 Oktober 2020, 16:00:56
Die Verbindung habe ich jetzt nach 20 Stunden soweit hinbekommen. Nur der Befehl ist noch nicht richtig. Anbei ein paar Screenshots.
Wenn man ein Shelly hat wird folgender Befehl eingegeben:Das <Topic> ist exakt der Befehl, der vom Anbieter dokumentiert ist, in diesem Fall z.B. shellies/shellyswitch-32BA7F/relay/1/command und der <Value> ist der Befehl, der der Anbieter erwartet (bei Shelly on oder off).
Naja, die Shellygeräte sprechen ja selbst MQTT; ich denke mal, die sprichst Du direkt an, oder?
Zitat von: reinhard@seven-up.at am 25 Oktober 2020, 16:00:56
Könntest Du mir bitte sagen welcher Bereich im Log FHEM für den Befehl Klimaanlage Switch on verwendet werden soll?
Der an die Samsung Cloud übermittelte JSON String ist in Zeile 4:
{"commands":[{"capability":"switch","component":"main","command":"on","arguments":null}]}
Aber ich bezweifle, daß der funktioniert. ???
Ich gehe eher davon aus, daß Du den FHEM Befehl implementieren mußt. Das wäre dann
set SST_b0b81b605080 switch on
Das müßte dann bei entsprechendem, selbst definierten MQTT Kommando auf FHEM Seite ausgeführt werden.
Zitat von: poiuztr123 am 25 Oktober 2020, 16:41:15
Ich habe nochmal ein "update SST" laufen lassen, wie im allerersten Post in diesem Thread beschrieben. Die SVG Dateien wurden damit nicht ins www/images/fhemSVG Verzeichnis geschrieben. Ich habe dann anschließend "update" eingegeben und siehe da, auf einmal tauchte auf:
[...]
Weiss auch nicht woran das lag. Vielleicht muss man ja über "ein allgemeines" update gehen?
Wie dem auch sei. Auf jeden Fall habe ich jetzt die Icons. :-)
Seltsames Verhalten. Ich mach eh immer ein
update all, weshalb ich da wohl nicht reingerannt bin.
Danke fürs debuggen und lösen. Ich hab das jetzt mal die Anleitung und den ersten Post entsprechend um ein
update erweitert.
Hauptsache, die Graphiken sind jetzt verfügbar :)
ZitatDas heißt Loxberry spricht mit FHEM(SST) und FHEM(SST) mit der Samsung Cloud? Verstehe ich das richtig?
JA das Stimmt.
Zitatd.h. die Kommunikation zwischen Loxberry und FHEM geht über MQTT?
Kommunikation get über MQTT Gateway. Wobei die Richtung FHEM zu MQTT funktioniert.
Die andere Richtung geht meiner Meinung nach nicht. Wie kann man feststellen, ob da ein Befehl ankommt. Im Log bei verbose5 sehe ich nichts.
Muss ich da noch was freischalten?
ZitatNaja, die Shellygeräte sprechen ja selbst MQTT; ich denke mal, die sprichst Du direkt an, oder?
Ich habe selber keine Shellygeräte, aber die Dokumentation ist alles mit dem Shellygerät gemacht worden.
ZitatIch gehe eher davon aus, daß Du den FHEM Befehl implementieren mußt. Das wäre dann
Code: [Auswählen]
set SST_b0b81b605080 switch on
Das müßte dann bei entsprechendem, selbst definierten MQTT Kommando auf FHEM Seite ausgeführt werden.
Den Befehl kann ich schon senden bis zum MQTT Gateway. Er kommt aber nicht beim FHEM Modul an.
Kannst Du mir sagen, wie man das checken kann ob der bei FHEM ankommt, bzw. wie man das Freigibt, dass das Modul oder FHEM das empfangen kann?
Danke für Deine Hilfe
Hab jetzt noch was gefunden.
https://www.loxwiki.eu/pages/viewpage.action?pageId=70353530 (https://www.loxwiki.eu/pages/viewpage.action?pageId=70353530)
Muss ich da diese Texte nur bei fhem eingeben? Oder muss ich da was ändern?
define SYS_MQTT MQTT_DEVICE
attr SYS_MQTT alias MQTT-Command
attr SYS_MQTT userattr subscribeReading_cmnd
attr SYS_MQTT subscribeReading_cmnd /fhem/cmnd
define n_SYS_MQTT_cmnd notify SYS_MQTT:cmnd:.* {}
SYS_MQTT:cmnd:.* {
if ($EVENT =~ qr/.*?: (.*)/p) {
my $cmnd = $1;
Log3($NAME, 5, "executed mqtt command: " . $cmnd);
fhem($cmnd);
}
}
Problem gelöst. Es funktioniert jetzt.
Habe die oberen Befehle eingegeben und das notify angelegt sowie den Befehl integriert.
wichtig ist dann, dass beim Befehl folgendes steht:
/fhem/cmnd set SST_b0b81b605080 switch on
Es hat die Verbindung von MQTT Gateway zu FHEM gefehlt
nach 36 Stunden geschafft. Juhuu
Zitat von: reinhard@seven-up.at am 26 Oktober 2020, 14:46:34
Problem gelöst. Es funktioniert jetzt.
Bin erst jetzt dazu gekommen das zu lesen.
Herzlichen Glückwunsch :)
Neue Version: 0.7.20Änderungen/Bugfixes:
- vordefinierte Namens-Mappings für Klimaanlagen und Waschmaschinen eingeführt
- vordefinierte Temperatur-Bereiche für Kühl- und Gefrierschränke eingeführt
- automatischer Temperatur-Bereich für Klimaanlagen eingeführt (oder alle anderen Geräte, die das a) liefern und b) nur eine Temperatureinstellung unterstützen)
- bei get ... x_options wird jetzt readings_map interpretiert (kein manuelles Ändern der setList mehr nötig)
- setList_hint hat jetzt immer die selbe Reihenfolge
Aufgrund der Änderungen in den vordefinierten Werten werden diese natürlich nur dann gesetzt, wenn das entsprechende Gerät neu definiert wird. :-[
Des Weiteren funktionieren die Temperaturbereiche nur ohne Einheit (C), weshalb bei Klimaanlagen sowie Kühl- und Gefrierschränken jetzt automatisch
discard_units auf
1 gesetzt wird.
Meines Erachtens ist das nicht nur schöner (das Gradzeichen fehlt ja ohnehin), sondern entspricht auch eher dem Standardverhalten von FHEM keine Einheiten in die Readings zu packen.
Wie immer: Bitte testen und berichten (hauptsächlich die Waschmashinen und Klimageräte).
Zitat von: dogexan am 24 Oktober 2020, 11:57:43
Mit set Waschmaschine washerSpinLever 1200 kommt folgende Meldung:
[...]
und bei set Waschmaschine washerWaterTemperature 40:
[...]
Das Einzige, was ich mir hier vorstellen kann, ist ,daß die Cloud in diesem Fall trotz numerischem Wert einen String erwartet. Beim Einstellen von Klimageräten und Kühlschrängen ist das genau anders herum... ???
Könntest Du vielleicht mal probieren einen der Textwerte zu setzen?
Zitat von: dogexan am 24 Oktober 2020, 11:57:43
Ansonsten hier meine vollständige washerCycle Tabelle. Wie Firetec schon sagte werden die Gradzahlen oder die Schleuderumdrehungen nicht mit verschlüsselt.
Genauso wie die Liste von Firetic in die letzten Version eingearbeitet (s.o.).
Zitat von: pasp am 26 Oktober 2020, 22:23:48
Das Einzige, was ich mir hier vorstellen kann, ist ,daß die Cloud in diesem Fall trotz numerischem Wert einen String erwartet. Beim Einstellen von Klimageräten und Kühlschrängen ist das genau anders herum... ???
Könntest Du vielleicht mal probieren einen der Textwerte zu setzen?
Hab jetzt mal
set Waschmaschine WaterTemperature cold ausprobiert und es funktioniert! ;D Natürlich auch nur bei den Programmen wo auch die Option "cold" zugelassen ist.
Demnach werden die Zahlen wohl als Text übermittelt werden müssen.
Zitat von: pasp am 26 Oktober 2020, 22:23:48
Genauso wie die Liste von Firetic in die letzten Version eingearbeitet (s.o.).
Funktioniert bestens ;)
Danke nochmal für dein Arbeit
Gruß Alex
Neue Version 0.7.21Änderungen
- Default für discard_units ist jetzt bei allen Geräten 1 (keine Einheiten)
Ich lasse das Attribut aber drin, damit man ggf. bei abgefragten Werten nachsehen kann, was die Einheit ist. - Zahlenwerte werden jetzt hoffentlich nur dort, wo es richtig ist, auch als Zahlen übermittelt.
- Die Zuweisung erkannter Wertelisten zum Reading wurde erweitert um:
- washerRinseCycles
- washerSpinLevel
- washerWaterTemperature
Bitte testen.
Neue Version 0.7.22Änderung:
- Anzeige und Decodierung der als execute/data/value/payload/*options empfangenen Werte (bringt wohl nur Werte bei Klimageräten)
Zitat von: pasp am 27 Oktober 2020, 19:52:16
Neue Version 0.7.21
- Zahlenwerte werden jetzt hoffentlich nur dort, wo es richtig ist, auch als Zahlen übermittelt.
- Die Zuweisung erkannter Wertelisten zum Reading wurde erweitert um:
- washerRinseCycles
- washerSpinLevel
- washerWaterTemperature
Bitte testen.
set Waschmaschine washerWaterTemperature 40ergibt:
[/list]
Command failed:
ConstraintViolationError: The request is malformed.
Command has results:
{"commands":[{"capability":"custom.washerWaterTemperature",
"arguments":null,
"component":"main",
"command":"setWasherWaterTemperature"}]}
{"requestId":"78EADADB-155F-47F3-A59C-14681B08E77B",
"error":{"code":"ConstraintViolationError",
"message":"The request is malformed.",
"details":[{"code":"SizeError",
"target":"commands[0].arguments",
"message":"commands[0].arguments must have a size between 1 and 1.",
"details":[]}]}}
set Waschmaschine washerWaterTemperature coldfunktioniert weiterhin
Das gleiche gilt auch für washerSpinLevel und washerRinseCycles.
Bei supportedOptions kommt übrigens folgendende Meldung: Could not identify internal name for value supportedOptions!
z.B. bei
set Waschmaschine supportedOptions 1CBin 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
Edit:get Waschmaschine x_options holt nicht den Inhalt aus setList_hint und vordefiniert so nicht die set Waschmaschine... Befehle.
Ist das noch so gewollt? 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
Gruß Alex
ZitatNeue Version 0.7.22
Änderung:
Anzeige und Decodierung der als execute/data/value/payload/*options empfangene Werte (bringt wohl nur Werte bei Klimageräten)
Hallo pasp,
danke, ein Test ergibt folgendes:
option-Comode kann folgende Werte annehmen: Off, 2Step, Speed, Comfort, Quiet, Smart
Ein Versuch das in die set list einzutragen ergibt eine Fehlermeldung. Über die App und die Fernbedienung kann man diese aber setzen.
Ein get status aktualisiert die option- Werte scheinbar nicht immer. Alle anderen schon.
option-Light ist immer Off egal ob das Display ein/aus ist. Das Display lässt sich aus der App gar nicht schalten, nur mit der Fernbedienung und das unter "Settings"
Liebe Grüße, Michael
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
@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? :)
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.
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
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.
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 :)
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 :)
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
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
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?
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
, inclusive der Info, was davon manuell gesetzt wurde, schicken?
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.
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
setListairConditionerMode: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.
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...
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.
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 :)
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.
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 ;)
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
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
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.
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"
}
}
}
}
};
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.
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!
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 ------
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
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.
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.
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.
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!
ZitatJetzt 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?
Geht mir auch so :(
Hallo pasp!
Vielen Dank für dieses Modul. Ich habe es heute zum ersten mal aufgesetzt, mit deiner Anleitung einfach gerade aus und ohne jedes Problem.
Ich habe heute meinen Samsung SmartTag https://www.samsung.com/de/mobile-accessories/galaxy-smarttag-black-ei-t5300bbegeu/ (https://www.samsung.com/de/mobile-accessories/galaxy-smarttag-black-ei-t5300bbegeu/) aus dem Briefkasten geangelt und mit meinem S8 verbunden, er steht somit direkt in SmartThings zur Verfügung.
Das Modul erkennt den Tag sofort als Gerät, die Details fehlen logischerweise noch. Anbei die verbose 5 Ausgaben vom Connector
------ send below text to developer ------
$VAR1 = {
"_links" => {},
"items" => [
{
"bleD2D" => {
"cipher" => "AES_128-CBC-PKCS7Padding",
"configurationUrl" => "https://apis.samsungiotcloud.com/v1/miniature/profile/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"configurationVersion" => "2.0",
"encryptionKey" => "###############",
"identifier" => "###########",
"metadata" => {
"category" => {
"id" => 0
},
"createTime" => 1611928659,
"currentServerTime" => 1611936025,
"e2eEncryption" => {
"enabled" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
},
"firmware" => {
"updateTime" => '1611929643000',
"version" => "01.01.26"
},
"geolocationStorage" => {
"recentDataOnly" => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
},
"iBeacon" => {
"majorMinorId" => "#####",
"uuid" => "######"
},
"lastKnownConnection" => {
"connectedDevice" => {
"id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name" => "Galaxy S8"
},
"connectedUser" => {
"id" => "################",
"name" => #################
},
"d2dStatus" => "gattConnected",
"nearby" => $VAR1->{"items"}[0]{"bleD2D"}{"metadata"}{"geolocationStorage"}{"recentDataOnly"},
"onDemand" => $VAR1->{"items"}[0]{"bleD2D"}{"metadata"}{"geolocationStorage"}{"recentDataOnly"},
"updated" => 1611928901
},
"lostMessage" => {
"enabled" => $VAR1->{"items"}[0]{"bleD2D"}{"metadata"}{"e2eEncryption"}{"enabled"},
"type" => "PREDEFINED"
},
"numAllowableConnections" => 2,
"privacyIdInitialVector" => "############",
"privacyIdPoolSize" => 1000,
"privacyIdSeed" => "#########",
"regionCode" => 11,
"searchingStatus" => "stop",
"timer" => 1611928776,
"updateTime" => 1611929643
}
},
"components" => [
{
"capabilities" => [
{
"id" => "alarm",
"version" => 1
},
{
"id" => "tag.tagButton",
"version" => 1
},
{
"id" => "audioVolume",
"version" => 1
},
{
"id" => "battery",
"version" => 1
},
{
"id" => "tag.factoryReset",
"version" => 1
},
{
"id" => "tag.e2eEncryption",
"version" => 1
},
{
"id" => "tag.tagStatus",
"version" => 1
},
{
"id" => "geolocation",
"version" => 1
},
{
"id" => "geofence",
"version" => 1
},
{
"id" => "tag.updatedInfo",
"version" => 1
},
{
"id" => "tag.searchingStatus",
"version" => 1
}
],
"categories" => [
{
"categoryType" => "manufacturer",
"name" => "BluetoothTracker"
}
],
"id" => "main"
}
],
"deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceManufacturerCode" => "Samsung Electronics",
"label" => "SmartTag",
"locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"manufacturerName" => "Samsung Electronics",
"name" => "Tag(BLE)",
"ownerId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"presentationId" => "IM-SmartTag-BLE",
"restrictionTier" => 0,
"roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type" => "BLE_D2D"
}
]
};
------ send above text to developer ------
und vom angelegten device
$VAR1 = {
"components" => {
"main" => {
"alarm" => {
"alarm" => {
"value" => undef
}
},
"audioVolume" => {
"volume" => {
"value" => undef
}
},
"battery" => {
"battery" => {
"value" => undef
}
},
"geofence" => {
"enableState" => {
"value" => undef
},
"geofence" => {
"value" => undef
},
"name" => {
"value" => undef
}
},
"geolocation" => {
"accuracy" => {
"value" => undef
},
"altitudeAccuracy" => {
"value" => undef
},
"heading" => {
"value" => undef
},
"lastUpdateTime" => {
"value" => undef
},
"latitude" => {
"value" => undef
},
"longitude" => {
"value" => undef
},
"method" => {
"value" => undef
},
"speed" => {
"value" => undef
}
},
"tag.e2eEncryption" => {
"encryption" => {
"value" => undef
}
},
"tag.factoryReset" => {},
"tag.searchingStatus" => {
"searchingStatus" => {
"value" => undef
}
},
"tag.tagButton" => {
"tagButton" => {
"value" => undef
}
},
"tag.tagStatus" => {
"connectedDeviceId" => {
"value" => undef
},
"connectedUserId" => {
"value" => undef
},
"tagStatus" => {
"value" => undef
}
},
"tag.updatedInfo" => {
"connection" => {
"timestamp" => "2021-01-29T14:01:40.622Z",
"value" => "connected"
}
}
}
}
};
Beim connector kamen noch eine Reihe Infos mit die mir recht persönlich erschienen, ich habe sie mit # ersetzt (Anzahl der # stimmt nicht mit derLänge der Zeichenketten überein). Falls du davon etwas benötigst oder ich sonst irgendwie helfen oder testen kann mache ich das sehr gerne!
Hallo und erstmal vielen Dank für das nette Modul.
Ich habe es vor 4 Tagen übernommen und heute bemerkt, dass der Status nicht aktualisiert wird. (Siehe Bild) Selbst das Löschen des Devices ergab keine Abhilfe. Der Status ist immernoch vom ersten get Status.
Auch ist das Schalten über DeviceOverview nicht möglich. Das ist ist zwar sicherlich mit nem doif lösbar, allerdings ist es sicherlich einfacher das "switch" reading als state zu nutzen und on off damit zu ermöglichen.
Ich bin nur ein Laie und habe echt keine Ahnung von Modulen, aber über die TV Einbindung lässt sich bestimmt sehr viel über SMartthings an sich in Erfahrung zu bringen.
Vielen Dank
Hallo,
ein sehr schönes Modul. Leider liegt der Fokus doch sehr auf Fernsehern und Waschmaschinen. Ich bin gerade dabei einen großen Teil meiner Standardgeräte nach Smartthings auszulagern. Erfreulicherweise gibt es zumindest einen Switch in diesem Modul, so dass ich mit ein wenig Handarbeit Steckdosen, Bewegungssensoren u. ä. einbinden kann. U. a. habe ich auch meine virtuellen Schalter von der ha-Bridge ausgelagert. Es gibt einen praktischen Devicehandler für Smartthings, der einen kombinierten Switch/Fenstersensor bereitstellt. Diesen kann Alexa nicht nur auslösen, sondern auch in Routinen darauf reagieren. Wenn so ein virtueller Schalter durch Alexa ausgelöst wird, dauert es aufgrund des Pollingintervals viel zu lange bis in Fhem durch das Statusupdate das entsprechende Event ausgelöst wird. Ich habe daher den Devicehandler dahingehend erweitert, dass beim on/off-Kommando ein Fhem-Kommando und/oder Statusupdate ausgelöst wird. Falls Interesse besteht kann ich den nach dem Testen hier hochladen. Der ist aktuell aber nur mit http programmiert.
Gruß
Tom
Zitat von: terkens am 24 Februar 2021, 22:55:32
Hallo,
ein sehr schönes Modul. Leider liegt der Fokus doch sehr auf Fernsehern und Waschmaschinen. Ich bin gerade dabei einen großen Teil meiner Standardgeräte nach Smartthings auszulagern. Erfreulicherweise gibt es zumindest einen Switch in diesem Modul, so dass ich mit ein wenig Handarbeit Steckdosen, Bewegungssensoren u. ä. einbinden kann. U. a. habe ich auch meine virtuellen Schalter von der ha-Bridge ausgelagert. Es gibt einen praktischen Devicehandler für Smartthings, der einen kombinierten Switch/Fenstersensor bereitstellt. Diesen kann Alexa nicht nur auslösen, sondern auch in Routinen darauf reagieren. Wenn so ein virtueller Schalter durch Alexa ausgelöst wird, dauert es aufgrund des Pollingintervals viel zu lange bis in Fhem durch das Statusupdate das entsprechende Event ausgelöst wird. Ich habe daher den Devicehandler dahingehend erweitert, dass beim on/off-Kommando ein Fhem-Kommando und/oder Statusupdate ausgelöst wird. Falls Interesse besteht kann ich den nach dem Testen hier hochladen. Der ist aktuell aber nur mit http programmiert.
Gruß
Tom
ich habe großes interesse, wäre schön wenn du das hier hochlädst. danke dir.
Hier jetzt der bzw. die device handler. Ich habe noch zusätzlich eine Variante mit Dimming erstellt. Da das Modul nur Schalter hat, kann man das Dimmen aber nicht von FHEM auslösen. Für meine Zwecke reicht das aber. Ich nutze das für meine Homeatic-Rollos. In FHEM fahre ich die nur morgens runter und abends wieder rauf. Das funktioniert mit einem entsprechenden on/off-Kommando. Zwischenstufen nutze ich sowieso nur tagsüber mit Alexa-Kommandos. Wäre trotzdem schön, wenn in das Modul auch noch ein Dimmer aufgenommen wird.
Je nachdem welche URL-Parameter bzw. das FHEM-Device eingetragen sind, werden auch nur die entsprechenden Programmaufrufe ausgeführt.
Da ich mich erst seit vorletzter Woche mit Smartthings beschäftige, ist das gglfs. nicht die beste Lösung, aber es funktioniert.
Hey,
Ich habe mit meinem tv Probleme.
Im Grunde zeigt er nur Daten an
Schalten geht gar nicht
Und es gibt nur Switch? Der wie gesagt auch nicht geht.
------ 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"
}
],
"deviceId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceManufacturerCode" => "Samsung Electronics",
"deviceTypeName" => "Samsung OCF TV",
"label" => "theframe",
"locationId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"manufacturerName" => "Samsung Electronics",
"name" => "[TV] theframe",
"ownerId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"presentationId" => "VD-STV_2018_K",
"profile" => {
"id" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"restrictionTier" => 0,
"roomId" => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type" => "OCF"
}
]
}
------ send above text to developer ------
SetList_hint hat noch ein hash und generell zeichensatzprobleme
ain_custom.picturemode:Adaptives Bild
main_custom.picturemode:HASH(0x702ceb0)
main_custom.soundmode:HASH(0x6d359a8),HASH(0x6fbca08)
main_custom.soundmode:Standard,Verst�rken
main_mediaInputSource:digitalTv
main_mediaPlayback:play,pause,stop,fastForward,rewind
main_samsungvd.ambientContent:weather
main_samsungvd.mediaInputSource:HASH(0x1f92390)
Fehlt mir noch Systemseitig was?
[edit]
Die Meldung wenn ich den set Switch benutze
Command failed:
ConflictError: invalid device state
Command has results:
{"commands":[{"arguments":null,
"command":"on",
"capability":"switch",
"component":"main"}]}
{"requestId":"EE1DF499-xxxx-Xxxx-xxxx-FF07EE9BD845",
"error":{"code":"ConflictError",
"message":"invalid device state",
"details":[]}}
Und den Switch im webcmd
Could not identify internal name for value on!
[/edit off]
Moin... Was bin ich froh hier drauf gestoßen zu sein ;D
2021.03.14 17:32:24 5: SST (bad_waschmaschine): get command - received ?
2021.03.14 17:32:26 5: SST (bad_waschmaschine): get command - received status
2021.03.14 17:32:26 4: SST (bad_waschmaschine): get status - query cloud service
2021.03.14 17:32:26 5: SST (bad_waschmaschine): get status - received JSON data
2021.03.14 17:32:26 5: SST (bad_waschmaschine): get status - identified disabled components:
[
"main_samsungce.autoDispenseDetergent",
"main_samsungce.autoDispenseSoftener",
"main_samsungce.detergentOrder",
"main_samsungce.detergentState",
"main_samsungce.softenerOrder",
"main_samsungce.softenerState"
]
2021.03.14 17:32:26 5: SST (bad_waschmaschine): get status - identified readings:
{
"main_custom.washerRinseCycles_washerRinseCycles" => 2,
"main_custom.washerSpinLevel_washerSpinLevel" => 1400,
"main_custom.washerWaterTemperature_washerWaterTemperature" => 40,
"main_execute-payload_option-AvailableDelayTime" => 64,
"main_ocf_mnmn" => "Samsung Electronics",
"main_ocf_mnmo" => "DA_WM_A51_20_COMMON|20224941|20010102011211130203000000000000",
"main_ocf_n" => "[washer] Samsung",
"main_ocf_vid" => "DA-WM-WM-000001",
"main_powerConsumptionReport_powerConsumption-deltaEnergy" => 100,
"main_powerConsumptionReport_powerConsumption-end" => "2021-03-14 16:49:11",
"main_powerConsumptionReport_powerConsumption-energy" => 65800,
"main_powerConsumptionReport_powerConsumption-energySaved" => 0,
"main_powerConsumptionReport_powerConsumption-persistedEnergy" => 0,
"main_powerConsumptionReport_powerConsumption-power" => 0,
"main_powerConsumptionReport_powerConsumption-powerEnergy" => 0,
"main_powerConsumptionReport_powerConsumption-start" => "2021-03-14 16:35:19",
"main_remoteControlStatus_remoteControlEnabled" => "false",
"main_samsungce.detergentOrder_alarmEnabled" => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
"main_samsungce.detergentOrder_orderThreshold" => 5,
"main_samsungce.detergentState_detergentType" => "capsule",
"main_samsungce.detergentState_dosage" => 1,
"main_samsungce.detergentState_initialAmount" => 0,
"main_samsungce.detergentState_remainingAmount" => 0,
"main_samsungce.driverVersion_versionNumber" => 21011501,
"main_samsungce.kidsLock_lockState" => "unlocked",
"main_samsungce.washerCycle_washerCycle" => "Table_00_Course_D0",
"main_switch_switch" => "off",
"main_washerOperatingState_completionTime" => "2021-03-14 17:53:23",
"main_washerOperatingState_machineState" => "stop",
"main_washerOperatingState_washerJobState" => "none"
}
2021.03.14 17:32:26 5: SST (bad_waschmaschine): get status - identified setList options:
[
"main_samsungce.washerCycle:HASH(0x56524b3fb770),HASH(0x56524a746e98),HASH(0x56524a74fb90),HASH(0x56524a7a9a80),HASH(0x56524b173f28),HASH(0x56524a7e3348),HASH(0x56524af74870),HASH(0x56524a641210),HASH(0x56524b135e20),HASH(0x56524b48eff8),HASH(0x56524b2e8630),HASH(0x56524b3af520),HASH(0x56524a874e50),HASH(0x56524b3f5118)",
"main_custom.washerSpinLevel:rinseHold,noSpin,400,800,1200,1400,1600",
"main_custom.washerWaterTemperature:none,cold,20,30,40,60,90",
"main_custom.supportedOptions:D0,DC,E3,DA,50,51,CA,E7,C7,D8,D4,D7,D3,D2",
"main_custom.washerRinseCycles:0,1,2,3,4,5"
]
2021.03.14 17:32:36 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at /opt/fhem/FHEM/48_SST.pm line 184.
Danke für das tolle Modul...
Ich werde auf jeden Fall mit-testen.
Grüße^^
Hi,
gibt es einen Grund, warum Du nicht die https://wiki.fhem.de/wiki/HttpUtils (https://wiki.fhem.de/wiki/HttpUtils) verwendest? So wie es jetzt ist, blockiert Du den Hauptthread von FHEM bei jedem Request.
Viele Grüße
Tim
Zitat von: timmib am 12 Juni 2021, 23:02:23
gibt es einen Grund, warum Du nicht die https://wiki.fhem.de/wiki/HttpUtils (https://wiki.fhem.de/wiki/HttpUtils) verwendest? So wie es jetzt ist, blockiert Du den Hauptthread von FHEM bei jedem Request.
Fehlende Erfahrung ;)
Danke für den Hinweis, ich führe mir das mal zu Gemüte und baue es um.
Hallo zusammen,
auch von mir ein herzliches Dankeschön für dieses Modul.
Ich habe eine Frage, die wahrscheinlich nicht mal das Modul selbst betrifft.
Habe eine Waschmaschine und einen Trockner.
Der Trockner meldet unter dem reading dryerJobState "finished" sobald der Trockenvorgang beendet ist und der Trockner noch nicht geleert ist. Ist er geleert wechselt er zu "none" und der machineState geht auf off.
Die Waschmaschine meldet unter washingJobState nur "none" und machineState geht sofort auf off.
Somit kann ich beim Trockner wunderbar erkennen, wenn der Trockner fertig aber noch nicht geleert ist.
Bei der WaMa kann ich aktuell nur einen Hinweis versenden, dass die Wäsche fertig ist und dann aber nicht abfragen, ob sie denn wirklich geleert wurde.
Hat sich jemand bereits damit beschäftigt?
Gibt es evtl. seitens der Maschine einen Modi, dass diese nicht direkt ausgeht sondern in einer Art Wartezustand wechselt?
unsere Waschmaschine hat da mehr, zumindest wenn ich mal schnell ins Log schaue.
Zitat2021-06-17_09:27:35 Waschmaschine machineState: run
2021-06-17_09:27:35 Waschmaschine washerJobState: rinse
2021-06-17_09:32:35 Waschmaschine machineState: run
2021-06-17_09:32:35 Waschmaschine washerJobState: spin
Zitat von: rabehd am 17 Juni 2021, 10:25:33
unsere Waschmaschine hat da mehr, zumindest wenn ich mal schnell ins Log schaue.
klar, die verschiedenen JobStates habe ich auch.
Nur wenn die Maschine fertig ist wechselt der eben auf none. und der machineState auf off.
Somit habe ich aktuell keine Möglichkeit zu erkennen, ob die Maschine geleert wurde oder nicht :(
Hast du das irgendwie gelöst?
ZitatHast du das irgendwie gelöst?
Bisher war das für uns keine Frage von Interesse. Wir diskutieren immer noch ob wir die WM überhaupt in fhem brauchen.
Wichtig wir die Möglichkeit des Einschaltens wenn die Solaranlage da ist.
Zitat von: rabehd am 17 Juni 2021, 11:17:00
Bisher war das für uns keine Frage von Interesse. Wir diskutieren immer noch ob wir die WM überhaupt in fhem brauchen.
Wichtig wir die Möglichkeit des Einschaltens wenn die Solaranlage da ist.
Okay schade.
Einfach nur Ärgerlich, da es beim Trockner aus der gleichen Serie problemlos funktioniert :(
Edit: Der Trockner macht das nur wenn "bügelleicht" aktiviert ist. Logisch - dann geht er ja auch nicht aus.
Somit zumindest der Grund geklärt^^
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
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
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.
Hi,
bitte nutze HttpUtils_NonblockingGet von hier https://wiki.fhem.de/wiki/HttpUtils (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
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
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 (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
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.
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.
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.
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?
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.
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.
Moin, ich hänge mich mal zum testen rein - ich habe eine Waschmaschine von Samsung
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.
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?
Zitat von: rabehd am 06 Oktober 2022, 14:09:21
Hast Du einen Link zu einer Beschreibung/Anleitung?
es gibt keine anleitung, was ich dir aber anbieten kann ist, sobald du iobroker am start hast helfe ich dir gerne.
Hallo ich finde das Thema klasse ,hab aber mal ne Frage .
Kann man dann auch vom Samsung TV aus die Lampen schalten .ich habe kein alexa oder sowas .Nur Fhem auf einem Pi
.Dazu ein Script was im pi läuft und mir Automatisch meine Geräte aus einer DB ausliest und zu den in der DB hinterlegten Zeiten Steuert. Nun fände ich es aber auch klasse wenn ich dem Samsung TV sage mach Deckenlampe an
oder ähnlich geht das auch?
Zitat von: pasp am 25 August 2020, 19:39:47
Zunächst legt man einen Connector an, über den dann alle tatsächlichen Geräte aus der SmartThings Cloud in FHEM angelegt werden (der Name ist natürlich frei wählbar):
define SamsungSmartThingsConnector SST <token>
ich bekomme damit
Unknown module SST
was habe ich übersehen ?
Grüße
Thomas
Zitat von: thburkhart am 19 Januar 2023, 16:27:50
ich bekomme damit
Unknown module SST
was habe ich übersehen ?
Grüße
Thomas
Das Modul muss extern eingebunden werden.
update add https://raw.githubusercontent.com/PatricSperling/FHEM_SST/master/controls_SST.txt
update SST
update
shutdown restart
Steht auch im ersten Beitrag ;-)
super!!!
kriege über get auch eine lange Liste:
Device-ID - Name
02c378d1-e336-472f-a890-86efa25418a1 - c2c-switch
273f6d32-2dd4-40de-8f5c-faf1a9be51ad - hue-color-temperature-bulb
a6bb2c98-5382-4569-8692-95e53bb9ddd6 - hue-dimmer-bulb
239ee487-88bb-46f4-ab92-b7f68cf96276 - c2c-switch
f9fc12a1-488a-4315-8858-a6fc50912dbd - c2c-switch
bcf9d3d5-d15d-4172-ad58-017b9df8ee6f - c2c-switch
3d0fd04e-1dc4-49ed-b736-2f2fc8d9a3ff - c2c-switch
1e4ed0ea-44a1-4839-8192-347e8e419a0c - c2c-switch
20eb39cf-f15c-4167-86c4-74bbd8bf4948 - c2c-switch
fae44934-ad56-43a7-bd28-a8be9faf9e2c - c2c-switch
4a6239be-c852-4020-b5ad-97d06271ff10 - c2c-switch
382c6105-88e6-4fc8-ad44-d3d35ab5a3fb - c2c-switch
1de060f4-1d71-484b-a297-68cadfcd61b9 - c2c-switch
4b26718d-07ff-465e-abe3-2e58fbf3569c - c2c-switch
ef6c07cb-0a66-42ed-8f97-038abba3c33a - c2c-switch
a95c5daa-8a3d-4fe7-ac70-0d502a65b205 - c2c-switch
40fc584e-919b-48f9-a639-f89405b5d74d - hue-dimmer-bulb
725ef1b3-439b-42cf-9833-13e768211083 - c2c-switch
13e6b203-ec8d-4895-8590-9421fe7e76af - c2c-switch
53f16058-5774-4528-8adc-c0a945a4ec86 - c2c-switch
85f6b70a-d3d2-496d-ae38-c19df16becce - c2c-switch
8b4b0c36-a2ca-4a40-b3e0-d7cc6646b85f - hue-dimmer-bulb
4f98a139-f9fb-4b1e-904a-4bdab76a6cd9 - c2c-switch
8eb3b036-48c5-417d-820e-b7d956b651c5 - c2c-switch
ce1cb268-a989-462f-92cf-c7fd681f17ff - c2c-switch
f508153c-ce8a-4043-bc5f-162832a8f687 - poweropti-STEnergy
b617a310-2992-4db0-a4c2-3b8c02082fb4 - hue-color-temperature-bulb
4174143c-3270-420c-b132-62ad5926f0b8 - hue-dimmer-bulb
3481da38-e0f6-4197-8447-926d5c725d88 - c2c-switch
9889058f-7569-4b0f-9c04-08b282625d03 - hue-rgbw-color-bulb
fe180a35-cc2d-405b-892e-0f1a2ed395fd - hue-color-temperature-bulb
465badfb-45cf-4970-97a8-7641150a8859 - c2c-switch
42e76452-5f05-46c1-b95d-dc45d44c86a4 - hue-color-temperature-bulb
9715bce1-d956-4ab2-aa8b-d42b4fd5bfe0 - c2c-switch
83bc04ea-61c5-4bf9-9016-40a7798a08e2 - hue-dimmer-bulb
4fb96e6b-42ec-4d3d-857d-395ba8aa48df - c2c-switch
9b641ab5-3294-43d3-bfc2-14608c099069 - c2c-switch
15ea373a-7512-4d77-9569-4aa62cb9969f - c2c-switch
485b8455-47d6-4e91-bc0c-9edf30141ff1 - c2c-switch
476885af-bc07-4678-af7d-90e8d7126742 - hue-dimmer-bulb
6b6c26de-088c-4bb8-b248-0a35669d8607 - Multipurpose sensor
3875b286-2dd3-4d9f-8560-bbc508833caa - hue-dimmer-bulb
82a3a56d-e1d1-457d-859b-3f85e1d2ba43 - hue-color-temperature-bulb
04d30a41-8993-45d0-b584-7d56694e95d3 - hue-dimmer-bulb
6caa654d-35af-47c4-986d-4c9e1be3d585 - hue-color-temperature-bulb
b7c3f27a-9894-4d61-9ba4-2195dbff3d27 - c2c-switch
bd9ca4f7-0e91-4842-90cc-6c9ece3db0a1 - c2c-switch
5b072cae-9ae9-4e56-8b97-0751c8c02e59 - Water Leak sensor
61d9097e-d751-41b2-8e7c-6db9ef134a05 - c2c-switch
eead5c45-2103-4a46-b2ac-225746003d2f - c2c-switch
742fc853-8184-4051-8d8e-0b20c8b5e143 - c2c-switch
23c91415-571f-4ba4-b917-20fd35acdee9 - hue-dimmer-bulb
f528a323-8e1e-49eb-af96-5cb1fe1277cd - c2c-switch
709db75a-26ef-4b71-bbb0-6a195ce4f3a7 - c2c-switch
0b4449c5-0472-44a6-a2ba-197a801a339b - c2c-switch
06f56542-129e-489f-b6f5-d2882987fc2c - hue-dimmer-bulb
eddc7c3c-6d09-49ed-a184-13333d50d3d3 - Multipurpose sensor
f806f1ea-3c7f-4200-b442-64564aee0b05 - hue-color-temperature-bulb
72bc3717-7d03-4840-abcd-3ee2016aae84 - c2c-switch
9317b7d6-b9b3-47b7-a695-c910123f9328 - c2c-switch
55c902c2-a481-4d1e-9722-c9659a045b74 - c2c-switch
ca9095b4-4a03-4d00-aad7-4a408d0c481c - hue-dimmer-bulb
41f8560f-1e9b-4d3b-a2bc-7b2e86694532 - c2c-switch
c7c980fd-e373-4927-9e49-28d539c6700e - hue-dimmer-bulb
ec33ea83-0737-4f26-a69c-48de13b48093 - hue-dimmer-bulb
2560e662-9142-40e0-a3c3-bf81cc1bc354 - c2c-switch
add61fd8-47cd-4422-9ed7-48dbf4699aab - Water Leak sensor
247a51d0-47c2-4344-a2dd-fce5a1769942 - c2c-switch
a935d065-3949-4265-9738-0f85986efa8d - c2c-switch
e7896324-e0c6-45eb-bfb8-538a6cda3b44 - c2c-switch
ed4ef7a7-7877-449d-be60-d6e9a3fd3bd5 - c2c-switch
b7b69d97-6319-46ea-949c-906241e66c2b - c2c-switch
04fe6523-e2de-4e17-a5c3-b6c562157629 - hue-dimmer-bulb
302e1c1e-6b4a-4e1b-a0ea-d42d28a49aa0 - c2c-switch
30de23ca-be7e-4de2-a9b0-c23847b2fefb - Water Leak sensor
938029cc-d1bd-42bb-9e65-e990df619100 - c2c-switch
cb304245-6adf-452a-b1c3-00c164446f64 - hue-rgbw-color-bulb
7a0dde8e-853d-4429-8cc6-4fafa031bcf8 - c2c-switch
7a771b15-58e9-4bb9-9311-56481c282208 - c2c-switch
56978397-e614-41f6-9185-a9f2b27709df - c2c-switch
bf0e4c78-bf8d-4cfa-81d1-d77a8a4ceba0 - c2c-switch
807de404-8ed0-474a-b0e2-b162c7e1f31a - [TV] Samsung 7 Series (43)
e89d131d-b016-4452-a43f-a39505d29f3d - c2c-switch
41f5c6f1-ed9b-49e9-b9f2-2c06b7ecff45 - c2c-switch
6d9dd90b-3b3b-4c2c-b133-42f240d9c50e - c2c-switch
09051f36-227f-4f2b-87de-dffe13143198 - c2c-switch
1f060344-e392-4368-9522-9a944f11fe30 - c2c-switch
5fc588d6-4b68-4d14-b483-d4d383aedc27 - hue-dimmer-bulb
81dc5cd8-1e58-484c-afad-0f53cdd985b8 - hue-rgbw-color-bulb
ad5a72ec-c0f7-434b-ba92-4673cb6a12e5 - hue-color-temperature-bulb
09808c2e-14a6-4b36-911e-e8e07db8f2d9 - c2c-switch
1dde9c47-d253-4897-ad85-f70d10d1fc67 - c2c-switch
0f303f4e-72b3-4867-beaf-b57bea81944a - c2c-switch
d0dfe68c-5113-45e8-abb4-cf53e86c2edf - hue-color-temperature-bulb
0fb3e59b-9548-40b9-9ce1-a721247bdc9d - hue-dimmer-bulb
60c9f94e-f96c-4756-a450-dd09ecc6e6a7 - hue-color-temperature-bulb
5e2605be-b4be-4058-bb6e-29c6bed28ba5 - c2c-switch
017da3da-e315-43de-bbd8-ccbb491e0ad6 - c2c-switch
3b63b04e-dbfd-4567-ab6a-7b1acd38108a - c2c-switch
3e61894a-c617-4da0-adf6-a49402530002 - c2c-switch
dc8b405e-351e-46e9-9f33-a3d68ba13cbc - c2c-switch
ee811cc7-271d-4a1a-913c-d4aaeef6ff41 - hue-dimmer-bulb
f45cc6c1-9a54-460c-b2b5-256dedf6300c - c2c-switch
c2c-switch
sind wohl meine TUYA-Schalter
wie kriege ich die nun als Devices?
edit:
mit autocreate sind sie da :-)
ich kriege z.B.
[code]define SST_48dbf4699aab SST unknown IO=SamsungSmartThingsConnector
attr SST_48dbf4699aab DbLogExclude .*
attr SST_48dbf4699aab IODev SamsungSmartThingsConnector
attr SST_48dbf4699aab device_id add61fd8-47cd-4422-9ed7-48dbf4699aab
attr SST_48dbf4699aab device_name Water Leak sensor
attr SST_48dbf4699aab device_type unknown
attr SST_48dbf4699aab event-on-change-reading .*
attr SST_48dbf4699aab icon unknown
attr SST_48dbf4699aab interval 300
# CFGFN
# DEF unknown IO=SamsungSmartThingsConnector
# FUUID 63c9a3f5-f33f-fd5f-832e-39d475d7d114a93e
# NAME SST_48dbf4699aab
# NR 2321
# NTFY_ORDER 50-SST_48dbf4699aab
# STATE ???
# TYPE SST
# name SST_48dbf4699aab
#
[/code]
und
[code]define SST_13e768211083 SST switch IO=SamsungSmartThingsConnector
attr SST_13e768211083 DbLogExclude .*
attr SST_13e768211083 IODev SamsungSmartThingsConnector
attr SST_13e768211083 cmdIcon on:rc_BLANK off:rc_BLANK2
attr SST_13e768211083 devStateIcon on:ios-on-green:off off:ios-off:on
attr SST_13e768211083 device_id 725ef1b3-439b-42cf-9833-13e768211083
attr SST_13e768211083 device_name c2c-switch
attr SST_13e768211083 device_type switch
attr SST_13e768211083 event-on-change-reading .*
attr SST_13e768211083 eventMap /switch on:on/switch off:off/
attr SST_13e768211083 icon ios-NACK
attr SST_13e768211083 interval 300
attr SST_13e768211083 stateFormat switch
# CFGFN
# DEF switch IO=SamsungSmartThingsConnector
# FUUID 63c9a3e4-f33f-fd5f-4512-bec049a5e057992a
# NAME SST_13e768211083
# NR 2272
# NTFY_ORDER 50-SST_13e768211083
# STATE switch
# TYPE SST
# eventCount 1
# name SST_13e768211083
# READINGS:
# 2023-01-19 21:16:20 checkInterval 60
#
setstate SST_13e768211083 switch
setstate SST_13e768211083 2023-01-19 21:16:20 checkInterval 60
[/code]
wie komme ich zu dessen readings
Moin ihr Lieben.
Ich steh grad wie ein Ochs vorm Berg :(
Mein Device hat eigentlich gut funktioniert aber durch einen Fehler meinerseits habe ich das Device in FHEM gelöscht :(
Jetzt kann ich es nicht neu anlegen per "get devicelist" Da steht die Waschmaschiene zwar drin aber mit dem Hinweis "xxxxxx-xx70e7 - [washer] Samsung - already known: no creation" :(
Wie kann ich das Gerät neu anlegen?
Danke für Eure Hilfe
Nachtrag, ich hab es selber hinbekommen. Das Device einfach manuel angelegt.
Einfach:
define <name> SST <device type> IODev=<connector name>
Danach die attr konfigurieren, fertig
Hi Forum,
Ich klinke mich auch mal ein. Habe das Device angelegt und auch ein Token mit (versuchsweise) allen Rechten erstellt. Ein 'get SamsungAV deviceList' führt aber leider nur zu einer Fehlermeldung (im Log):
'SSL connect attempt failed at /usr/share/perl5/LWP/Protocol/http.pm line 50.'
Was mache ich falsch? Muss ich bei Samssung noch irgendwas konfigurieren um den API-Zugriff zu erlauben? Habe zumindest nichts gefunden...
Gruß,
Klinki
Hallo zusammen,
vielen Dank für das interessante Modul. Hat jemand schon eine funktionierende Konfiguration für ein Samsung SmartTag hin bekommen?
Würde gerne GEO Koordinaten oder auch Straßennamen/Adressen auslesen und in Fhem verwenden.
Danke.
Grüße Tim
Hallo, ich versuche mich gerade an diesem Modul. Kann es aber nicht installieren.
Habe versucht einzuinden mit:update add https://raw.githubusercontent.com/PatricSperling/FHEM_SST/master/controls_SST.txt
update SST
update
shutdown restart
Das bringt aber fogenden Fehler:update add https://raw.githubusercontent.com/PatricSperling/FHEM_SST/master/controls_SST.txt
Traceback (most recent call last):
File "/usr/lib/command-not-found", line 28, in <module>
from CommandNotFound import CommandNotFound
File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module>
from CommandNotFound.db.db import SqliteDatabase
File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 5, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Wo kann ich ein solches Modul finden? Ich glaube die Beschreibung ist vielleicht veraltet.
Hallo ist es mit dem Modul möglich fhem geräte über SmartThings zu steuern???
Würde gerne über die Watch4 das Licht einschalten.
danke, einwandfrei für einen trockner und eine waschmaschine
Hallo zusammen,
nach Neuanschaffung einer WaMa habe ich mich auch an der Modul getraut.
Installiert und eingerichtet, Washer wurde gefunden... aber nach kurzer Zeit ging sich FHEM komplett auch, kein Neustart mehr möglich und nur über die alte cfg wiederherstellbar.
Hab das auch einem Zweit Raspby nochmal getestet, und dergleiche Effekt... hat jemand eine Idee was die Ursache sein könnte?
Danke
Hallo allerseits,
tolles Modul. Mein Staubsaugroboter hat fast auf Anhieb geklappt. Die "setList_hint" passte nicht ganz. Er fand z.B.
main_samsungce.robotCleanerCleaningMode:auto,area,spot,stop,uncleanedObject,patternMap
Ein Blick auf das Log in my.smarthings.com (https://my.smartthings.com/) hat aber schnell gezeigt, dass
robotCleanerCleaningMode:auto,area,spot,stop,uncleanedObject,patternMap
richtig ist. Bisher verwende ich nur Stop, Pause und Home. Das ist aber etwas Tricky. uzerst braucht Ihr die SetList:
attr SST_MEINROBOHASH robotCleanerCleaningMode:auto,pause,stop robotCleanerMovement:homing
Danach startet Ihr die Reinigung mit:
set SST_MEINROBOHASH robotCleanerCleaningMode auto
Stop und Pause sind das gleiche Kommando, da nur eine Pause als Befehl existiert:
set SST_MEINROBOHASH robotCleanerCleaningMode stop
Damit aus der Pause ein "Zur Ladestation" wird braucht es noch diesen Befehl:
set SST_MEINROBOHASH robotCleanerMovement homing
Ansonsten saubere Arbeit mit dem Modul. Bis auf die kleinen Start Hoppalas funktioniert mein Sauger jetzt richtig gut mit FHEM. Danke an alle Beteiligten :)
Hi,
seit heute lässt das Module mein FHEM abstürzen :'( :
2024.02.01 21:05:46 3: SST (SamsungSmartThingsConnector): define - CONNECTOR defined as SamsungSmartThingsConnector
Can't use an undefined value as an ARRAY reference at ./FHEM/48_SST.pm line 594.
Hat Samsung irgendwas geändert?
Zitat von: bmr am 01 Februar 2024, 21:30:26Hi,
seit heute lässt das Module mein FHEM abstürzen :'( :
2024.02.01 21:05:46 3: SST (SamsungSmartThingsConnector): define - CONNECTOR defined as SamsungSmartThingsConnector
Can't use an undefined value as an ARRAY reference at ./FHEM/48_SST.pm line 594.
Hat Samsung irgendwas geändert?
Heute geht es wieder.