+ Antworten
Ergebnis 1 bis 9 von 9
  1. #1
    Registriert seit
    Mar 2012
    Ort
    Machern/Sachsen
    Beiträge
    365

    Lightbulb Smartthings: Samsung Klimaanlage (Windfree) per IPS steuern | How To

    Hallo Gemeinde,

    nach Rückfragen aus meinem anderen Thread https://www.symcon.de/forum/threads/41187-Smartthings-Integration?p=406312#post406312 habe ich mir mal die Mühe gemacht, ein How To zu dem Weg zusammen zu stellen, wie ich meine Samsung Klimaanlage (Windfree) über IPS steuere.

    Ich betreibe seit Juli 4 Samsung Windfree Klimageräte, welche als Smartthings eine WLAN-Anbindung haben und nicht nur per Fernbedienung, sondern auch per App gesteuert werden können. Warum letzteres also nicht für IPS nutzen ?

    Die richtigen Befehle herauszufinden war etwas tricky, aber bei mir funktioniert es mittlerweile, wie ich es mir wünsche. Ein kleiner Haken ist, dass man online über die Smartthings-Server gehen muss. Wer die App aktiviert und somit einen Samsung Smartthings Account freigeschaltet hat, ist bewusst diesen Weg aber schon gegangen. Die Geräte sind dann dort eingepflegt und damit online verfügbar. Wer sie noch nicht angemeldet hat muss dies also dazu noch tun. Ein lokaler Weg wäre zwar schön, aber da ist im Netz nichts zu finden. Der Traffic geht a.e. über TCP, aber das wäre mir zu aufwändig, da etwas zu entwickeln.


    Beispielinstallation:

    Ich habe euch eine kleine Beispielinstallation für ein Gerät zusammengestellt. Für Backups einzelner Objektbäume der Verwaltungskonsole hatte ich mir einen IPS 5.X-kompatiblen Exporter geschrieben nachdem der von Raketenschnecke nicht mehr funktionierte.

    Klimaanlage-Beispielinstallation.zip


    Nehmt dazu Backup_Klimaanlage-Beispiel.bak und kopiert sie in ein Verzeichnis z.B. D:/IP-Symcon Backup. Das Restore-Script habe ich zumindest so voreingestellt. Führt das Restore-Script an irgendeinem Ort in der Verwaltungskonsole (ja, ich benutze immer noch die Legacy) aus. Es wird unter Root ein Objektbaum Klimaanlage und ein WF-Item angelegt.


    Das sollte so aussehen:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Objektbaum.JPG 
Hits:	101 
Größe:	178.3 KB 
ID:	50869

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	WF.JPG 
Hits:	149 
Größe:	64.1 KB 
ID:	50870



    Jetzt brauchen wir den Zugang zu den Geräten. Vorraussetzung ist ein Samsung Smartthings - Account, den ihr aber bei App-Steuerung schon angelegt habt. Was ist also zu tun:

    1. Sich unter https://graph-eu01-euwest1.api.smartthings.com einloggen

    2. Unter https://account.smartthings.com/tokens/new einen Token erstellen und dabei alles ankreuzen. Der ist wichtig, da ihr Euch sonst nicht authentifizieren könnt. Tragt ihn in das Config – Script (wie auch unter 4) ein.

    3. Seht euch dann unter https://graph-eu01-euwest1.api.smartthings.com die registrierten Geräte (My Devices) an.

    4. Klickt auf eines und kopiert 1. die „Device Network Id“ und 2. unter States „di“ (das ist die Secret-ID) in das Config-Script (im Objektbaum direkt unter Klimaanlage – Beispiel) ein:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Smartthings.JPG 
Hits:	147 
Größe:	150.4 KB 
ID:	50871

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Config.jpg 
Hits:	122 
Größe:	176.8 KB 
ID:	50872


    Wenn alles gut gegangen ist, solltet ihr jetzt das Gerät bedienen können. Bei Fehler prüft bitte in Command, ob in Zeile 127 die $WFC_ID richtig ist.
    Wenn es nicht auf Anhieb funktioniert, kann ich Euch nur trösten, dass ich auch fast 6 Wochen dafür gebraucht habe, da die Doku recht undurchsichtig ist. Wenn man aber erstmal einen Faden gefunden hat, war es ganz leicht.


    Das Prinzip:

    Die Formen der Befehle habe ich nach einigen Recherchen der Device-Capabilities unter Control-Commands zusammengestellt.
    Statusabfragen gehen über GET und Befehle über POST. Das Ganze als JSON über CURL. Primär getestet hatte ich das alles über Postman.

    Der Befehl zur Temperatursteuerung sieht z.B. so aus:

    Code:
    {
      "commands": [
        {
          "component": "main",
          "capability": "thermostatCoolingSetpoint",
          "command": "setCoolingSetpoint",
    		"arguments": [25]
        }
      ]
    }
    ON/OFF geht z.B. über:

    Code:
    {
      "commands": [
        {
          "component": "main",
          "capability": "switch",
          "command": "off"
        }
      ]
    }
    Das jeweils als POST an: https://api.smartthings.com/v1/devices/>Die Secret-ID des Gerätes</commands


    Vielleicht bekommt ihr ja noch den Befehl für den Ionisierungsmodus (Tannenbaum auf der Fernbedienung) oder zum Dustsensor heraus.


    Hier noch zwei nützliche Links:

    https://docs.smartthings.com/en/latest/capabilities-reference.html#id67
    https://docs.smartthings.com/en/latest/ref-docs/device-handler-ref.html

    Im Winter werde ich mal noch an meiner Weboberfläche (als iFrame) weiter feilen. Die sieht im Moment so aus, wobei die 4 Geräte dann nebeneinander zu sehen sein sollen:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	WF2.JPG 
Hits:	112 
Größe:	56.3 KB 
ID:	50873


    Ich denke, dass man analog mit diesem Vorgehen auch andere Smartthings steuern kann.


    Gruß André

  2. #2
    Registriert seit
    Jan 2010
    Ort
    Wonsheim
    Beiträge
    29

    Sehr schön,

    und vielen Dank André für deine Mühe.
    Leider habe ich es noch nicht geschafft mich mit deiner Anleitung zu beschäftigen.
    Habe mir zur Zeit zu viele andere Baustellen im IPS aufgemacht.
    Im Sommer würde ich mich vermutlich eher unter Druck setzen.

    Hoffe aber das ich es noch im Herbst hinbekommen.
    Solange noch alles frisch im Kopf ist.

    Melde mich sobald ich erste Ergebnisse habe.

    Schönen Gruß
    André

  3. #3
    Registriert seit
    Jan 2010
    Ort
    Wonsheim
    Beiträge
    29

    Standard Portierung hat geklappt

    Hallo André,

    nachdem ich die Tage ein wenig Zeit hatte, habe ich mir deine Skripte portiert und an mein System angepasst.
    Funktionierte auf Anhieb, echt super Arbeit. Danke!

    2 Probleme habe ich aber noch.
    Die AirFlowDirection sowie WinFree Funktion lässt sich leider nicht steuern, die Windrichtung ist mir nicht so wichtig da ich diese sowieso kam verändere, allerdings die WinFree Funktion ist elementar da dies der Grund war warum ich mir diese Anlagen überhaut zugelegt habe, befehle werden gesendet, aber die Anlage reagiert auf die befehle nicht.

    Weiterhin hast du ein Statusskript der die Variablen auf den aktuellen Betriebszustand bringt.
    Hast du eine Möglichkeit diesen zu tickern oder fragst du den Status per Timer alle paar Minuten ab.
    Ist ne Möglichkeit aber ein Ticker währe wohl die elegantere Lösung.
    Ich überlege mit ggf. den Status per ifttt zu tickern. Leider ist der dienst recht unzuverlässig.

    Gruß und nochmals Besten Dank
    André

  4. #4
    Registriert seit
    Mar 2012
    Ort
    Machern/Sachsen
    Beiträge
    365

    Hallo akay,

    ich habe die Klimaanlage jetzt ein halbes Jahr nicht mehr in Betrieb gehabt. Insofern kann ich so spontan nicht testen.

    Wenn ich mich recht entsinne funktionierte Windfree nur, wenn Cool eingestellt war, bin mir aber nicht sicher.

    Aber mal als Trockenübung: im Script Commands stehen oben die Befehle für die einzelnen Funktioen. Übergeben werden sie per Control Commands. Es müsste setAcOptionalMode sein. Setze den JSON-String mal per Hand zusammen und teste mal mit Postman.

    PHP-Code:
        case "WindFree"// off, windFree als Boolean
            

            
    $Capability "custom.airConditionerOptionalMode";
            
    $Command    "setAcOptionalMode";
                 
            switch(
    $Input)
                {
                case 
    "0"// OFF
                
                    
    $Arguments '"off"';
                
                break;
                
                case 
    "1"// WINDFREE
                
                    
    $Arguments '"windFree"';
                
                break;
                }
            }
        break; 
    PHP-Code:
    $Message '
    {
      "commands": [
        {
          "component":  "'
    .$Component.'",
          "capability": "'
    .$Capability.'",
          "command":    "'
    .$Command.'",
          "arguments":  ['
    .$Arguments.']
        }
      ]
    }
    '

    Ich sehe keine Möglichkeit für ein triggern, wenn Du z.B. per Handsender also nicht über das WF schaltest. Da wird ein Timerevent herhalten müssen.

    Gruß

    André
    Geändert von DigiHouse (19.05.20 um 20:31 Uhr)

  5. #5
    Registriert seit
    Jan 2010
    Ort
    Wonsheim
    Beiträge
    29

    Hallo André,

    danke ja wenn ich vorher auf cool stelle scheint die die WindFree-Funktion zu reagierten. Zumindest wird mir dies in der Samrthings App angezeigt. (Ich bein gerade nicht zuhause) Sehr seltsam ich dachte ich hätte dies schon getestet. Hauptsache es funktioniert jetzt.

    Das triggern habe ich jetzt per Ifttt gelöst. Dort kann die Samsung Klima entweder über "SmartThings" oder als "Samsung Room Air Conditioner" angebunden werden. Es funktionieren dort zwar nur an oder aus Dies reicht aber aus um Symcon per Webhook eine Nachricht zu schicken das die Klimaanlage an gemacht wurde und dann dein Status Skript auszulösen.
    Ansonsten wird das Statusskript alle 15 Minuten gestartet soweit eine Klimaanlage aktiv ist.
    Damit sollte die Übersicht erhalten sein.

    Ich werde am Wochenende noch dein Skript anpassen das der bei Schaltung der Windfree automatisch vorher auf Cool geht.
    Anschließend die beiden anderen Windfree-Klimaanlagen noch einbinden.

    Danke du hast mir sehr geholfen. Durch dein Skript dürfte die Anlage jetzt gut angebunden sein. Ich hoffe die Verbindung zu ifttt bleibt konstant und bricht nicht wieder ab. Dann steht einer weiteren Aufrüstung mit Samsung Klimaanlagen nur noch meine Geldbörse im Wege.

    Besten Gruß
    André

  6. #6
    Registriert seit
    Jan 2019
    Beiträge
    19

    Standard Der Anfang hat geklappt

    Hallo Andre,

    erst einmal riesen Respekt vor der Programmierung und der ganzen Recherche!

    Ich habe Dein Beispiel inzwische bei mir importiert. Es wurde auch alles angelgt, so wie in Deiner Anleitung beschrieben.
    Leider scheint aber etwas nicht zu funktionieren. Es gibt keine Rückmeldung vom Gerät. Was aber klappt ist, wenn ich den Control off/on ausführe, dann schaltet sich das Gerät aus. Allerdings nicht wieder ein.

    Allerdings wird dies bei mir damit zusammenhängen, dass ich 3 Splitgeräte habe. Ich habe zwar in den jeweiligen config-Dateien die ID und das secret eingetragen, aber ich vermute, dass dies nicht ausreicht, um die Geräte zu trennen.
    Leider sind meine Programmierfähigkeiten sehr übersichtlich.

    Könntest Du mir etwas Hilfestellung geben, was ich noch machen muss?

    Viele Grüße

    Markus

  7. #7
    Registriert seit
    Mar 2012
    Ort
    Machern/Sachsen
    Beiträge
    365

    Hallo Markus,

    ich schaue morgen mal, da ich bei mir 4 von den Geräten laufen habe und ich das vor 1 Jahr programmiert habe. Muss mich also erstmal selbst auffrischen ;-)

    Den Token hast Du ja sicher auch hineinkopiert ? Geht es mit der App fürs Handy ? Ich frage, weil die Samsungs ein unnützes WLAN-Modul verbaut haben, welches häufig die Verbindung verliert und man neu hochfahren muss.

    Gruß André

    Gesendet von meinem SM-N960F mit Tapatalk

  8. #8
    Registriert seit
    Jan 2019
    Beiträge
    19

    Hallo Andre,

    danke für die schnelle Antwort! Ja, den Token habe ich auch eingefügt. Ich war gestern auch etwas vorschnell. Ich bekomme doch eine Rückmeldung von der Anlage. Was aber wie gesagt nicht klappt, ist mehrere Geräte zu steuern.

    Und Du hast Recht, das WLAN-Modul von Samsung ist totaler Schrott. Es verliert dauernd die Verbindung.

    Viele Grüße

    Markus

  9. #9
    Registriert seit
    Mar 2012
    Ort
    Machern/Sachsen
    Beiträge
    365

    Hallo Markus,

    bist Du weiter gekommen?

    Erweitere das Config Array um die 2 weiteren Anlagen und erzeuge 2 Kopien der Kategorie Arbeitszimmer die Du dann wie im Array benennst.

    Gruß André

Ähnliche Themen

  1. Klimaanlage steuern mit Sensibo über JSON Api
    Von FeuerFuchs im Forum Haustechnik
    Antworten: 2
    Letzter Beitrag: 14.01.20, 19:49
  2. Klimaanlage mit IPS steuern mit IR, geht das?
    Von tasmanie im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 23
    Letzter Beitrag: 11.03.16, 16:06
  3. Sicherung der Klimaanlage steuern
    Von baba im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 19
    Letzter Beitrag: 05.11.15, 08:30
  4. Klimaanlage steuern per IPS
    Von hmpf99 im Forum Off Topic
    Antworten: 9
    Letzter Beitrag: 31.07.13, 09:40
  5. Klimaanlage über IR steuern
    Von georgi im Forum Ideen & Anregungen
    Antworten: 3
    Letzter Beitrag: 07.08.05, 08:36

Stichworte