Modul 48_SST zum Einbinden von Samsung SmartThings

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

Vorheriges Thema - Nächstes Thema

pasp

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
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

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
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

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. ;)
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

felskrone

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
___________________________
FHEM 5.8 auf Raspi 1B und HMLAN

holsteiner-kiel

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.

pasp

#20
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...
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

holsteiner-kiel

Ich teste nachher. Der wurde automatisch so angelegt. Geändert hab ich nichts.

pasp

#22
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. :(
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

holsteiner-kiel

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 ;-)

fergison

#24
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

holsteiner-kiel

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!!!

pasp

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?
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

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.
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

pasp

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. :)
FHEM auf RPi 4
Eingesetzte Systeme: MQTT2, Shelly, HUE, FritzBox, Synology, WifiLight
Verwaltete Module: SST

holsteiner-kiel

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!