Die Waschmaschine, der ioBroker und Loxone

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #1

    Die Waschmaschine, der ioBroker und Loxone

    Hallo zusammen,
    ich bin blutiger Loxone Anfänger. Ich verzweifle gerade an meinem ersten vermeintlich einfachen Projekt: die Waschmaschine über Loxone zu steuern. Das gute Stück ist über Home Connect erreichbar (eine Bosch WAV28K42).

    Was habe ich gemacht.
    Ich habe auf meinem Raspberry den ioBroker installiert. Für ioBroker habe ich mich entschieden, weil ich später noch andere Dinge wie z.B. unser E-Auto (über WE Connect) oder HomeKit Geräte einbinden möchte.
    Vom Grundsatz her läuft der ioBroker. Ich bekomme Werte in virtuelle HTTP Eingänge des Miniservers.

    Das klappt solange sehr gut, wie ich im HTTP Eingang auch Werte um genau zu sein Zahlen bekomme. SoC vom Auto, Temperaturen usw.
    Die Waschmaschine... macht mir das Leben schwer. Ein Beispiel: der Status der Tür. Geöffnet, geschlossen, gesperrt.
    Nutze ich die Simple API vom ioBroker bekomme ich wahlweise

    "BSH.Common.EnumType.DoorState.Closed"
    "BSH.Common.EnumType.DoorState.Open"
    "BSH.Common.EnumType.DoorState.Locked"

    Aber ohne Wert...

    Nun lässt sich in der simple API einstellen, das ich mehr Angaben bekommen. Aber... nirgends ist etwas dabei wie BSH.Common.EnumType.DoorState = 1. Hier die Infos die die simple-API her gibt:
    Code:
    {"val":"BSH.Common.EnumType.DoorState.Closed","ack ":true,"ts":1644059551365,"q":0,"from":"system.ada pter.admin.0","user":"system.user.admin","lc":1644 036855155,"type":"state","common":{"name":"Tür","t ype":"string","role":"indicator","write":true,"rea d":true,"unit":null,"states":{"BSH.Common.EnumType .DoorState.Closed":"Closed","BSH.Common.EnumType.D oorState.Open":"Open","BSH.Common.EnumType.DoorSta te.Locked":"Locked"}},"native":{},"_id":"homeconne ct.0.BOSCH-WAV28K42-68A40E468307.status.BSH_Common_Status_DoorState"," acl":{"object":1636,"state":1636,"file":1632,"owne r":"system.user.admin","ownerGroup":"system.group. administrator"}}
    Dann gibt es noch andere Eingenschaften wie BSH_Common_Status_OperationState=true. Auch die haben dann anstelle einer 1 oder 0 eben true oder false. Keine Ziffer = ein Problem (zumindest gerade für mich ;-) ).

    Meine Frage, ich hoffe ihr könnt mir helfen: Was muss ich entweder in der Befehlserkennung in meinem Miniserver Gen2 einstellen, damit ich "BSH.Common.EnumType.DoorState.Closed" eingelesen bekommen? Etwas naiv hatte ich gehofft, das ich den kompletten String einlese und dann in einem Statusbaustein verwenden kann.
    Wenn ein String im Virtuellen HTTP Eingang nicht eingelesen werden kann, habt ihr einen Tip ob sich der Wert im ioBroker manipulieren lässt?

    Ich habe schon viel im Internet recherchiert... aber nicht wirklich eine Lösung gefunden :-/


    Vielen Dank für eure Hilfe
    Jörn
  • AlexAn
    Lebende Foren Legende
    • 25.08.2015
    • 4300

    #2
    Befehlserkennung musst du über den ASCII Code machen!
    "BSH.Common.EnumType.Door\1

    Closed ergibt: 67
    Open ergibt: 79
    Locked ergibt: 76

    Umwandlung im Statusbaustein je nachdem was du brauchst

    Bei solchen Dingen hilft dir der Loxberry: Command Recognition - Befehlserkennung - LoxBerry - LoxWiki (atlassian.net)
    Bosch sollte der MS V2 doch können...


    Willkommen bei uns hätte ich fast vergessen!
    Zuletzt geändert von AlexAn; 05.02.2022, 14:09.
    Grüße Alex

    Kommentar

    • Gast

      #3
      Hallo Alex,

      dankeschön :-)
      Und Perfekt, genau sowas habe ich gesucht :-) Danke für deine Hilfe. Dann schreite ich gleich zur Tat und lege all die HTTP Eingänge an.

      Vor dem ioBroker habe ich geschaut was der MS von Haus aus mitbringt. Home Connect ist vorhanden. Das habe ich eingebunden und auch die Waschmaschine gefunden.
      Das was fehlt sind viele der Waschprogramme. Ok, die hat eine Automatik und man kann das Programm an der Maschine auswählen... Aber....dann hatte ich doch ein Problem - die Maschine hat im MS immer einen Betriebszustand (Nr. 6 - Programm Beendet) in dem sie sich nicht starten lässt. Das war mein erster Stolperstein. Ich habe nicht rausgefunden, wie ich diesen Status von 6 auf 1 bekomme, um das an der Maschine ausgewählte Programm zu starten :-/ Eine Sache gab es noch: nach einer gewissen Zeit reagierte die Maschine im Miniserver nicht mehr. Tür auf, Tür zu, Maschine an oder aus. Der Status der Waschmaschine in der Loxoneconfig änderte sich nicht mehr. Quasi eingefroren.

      Und da ich für's eAuto eh den ioBroker brauchen würde... Wollte ich mir mit der Waschmaschine dort behelfen.

      Viele Grüße
      Jörn

      Kommentar

      • AlexAn
        Lebende Foren Legende
        • 25.08.2015
        • 4300

        #4
        Vermute mal dein IOBroker Adapter fragt die Cloud ab. Beim Miele Adapter hat es auch immer wieder Ausfälle gegeben.
        Die ganze Weg ist ziemlich lange und da kann viel passieren.
        Grüße Alex

        Kommentar

        • Iksi
          Lox Guru
          • 27.08.2015
          • 1111

          #5
          Es gibt auch einen iobroker Loxone Adapter. Damit kannst du dann alles was du in der Visu bedienen kannst auch machen und eben auch Werte aus Loxone auslesen. Ich nutze eigentlich nur den Adapter um Loxone und iobroker zu verbinden. Ich habe in Loxone dann nen eigenen User erstellt und alles was ich von iobroker aus bedienen oder sehen können möchte habe ich dem zugeordnet.

          In ioBroker kannst du über Java Script, Blockly oder auch NodeRed dann Logiken erstellen und somit alles mögliche genau so machen wie du willst.

          Kommentar


          • Gast
            Gast kommentierte
            Kommentar bearbeiten
            Danke für den Tipp. Das nette bei Loxone ist, das auch eine App Dabei ist um das ganze über das Smartphone/Tablet zu steuern. Oder eben das ausrangierte iPad als Display an der Wand zu nutzen. Oder geht das womöglich auch mit dem ioBroker bzw. einem Adapter?

            Mein Fokus liegt hauptsächlich auf einem Energiemanagement System. Ich würde gern die PV Anlage, Akku Speicher, Wallbox, Bosch Gastherme, Klimaanlage, die Waschmaschine und später eine Spülmaschine zusammen bringen. So das wir im Winter in den günstigen Awattar Slots Strom beziehen, im Sommer eher nur aus der PV. In der Übergangszeit, wenn die PV aber schon Strom generiert, soll die Klimaanlage die Gastherme "entlasten". Im Sommer, je nach Temperatur aussen und innen kühlen. Ganz verwegen... irgendwann möchte ich mal einstellen können, das das Auto nur aus dem Netz bzw. der PV geladen wird und nicht mehr aus dem Haus-Akku.

            Die PV Anlage lässt sich in Loxone einbinden.... dann müsste ich mir von dort die Werte in den ioBroker holen (über den besagten Loxone Adapter)...
            Ich werd wirr :-) :-) ich glaube ich muss eins nach dem anderen lernen. Loxone>>ioBroker>>Javascript. Wir haben auch noch einige Geräte im HomeKit.Ich glaube mir wird da nicht langweilig das alles smart zu kombinieren :-)

          • Gast
            Gast kommentierte
            Kommentar bearbeiten
            Ich bin jetzt etwas informierter :-) Visualisierungen gibt es sogar viele und es ginge auch mit dem ausrangierten Tablet. Und es gibt einen ModbusTCP Adapter für die PV. Spannendes Thema. Ich bleibe dann.
        • Gast

          #6
          Ich war etwas tätig und habe etwas recherchiert und versucht eine "Startfunktion" für die Waschmaschine zusammen zu bauen. Vom Prinzip her soll folgendes passieren.

          a) wir beladen die Maschine, wählen Programm, Schleuderzahl und Temperatur. Dann aktivieren wir die Fernstart-Taste
          b) der MS sucht den günstigsten Awattar Strompreis heraus (habe ich (sehr)rudimentär zusammengebaut)
          c) die Waschmaschine (und in Schritt 2 das eAuto) werden vom MS aktiviert wenn der Strompreis am günstigsten ist. Die Waschmaschine wird mit dem zuvor an der Maschine ausgewählten Programm gestartet. Was sich, aber vielleicht habe ich da in der Bosch Doku auch etwas falsch interpretiert, als etwas tricky heraus stellte. Denn die Maschine will nicht etwas einfaches wie start=true sondern start+gewünschtes Programm. Das hole ich nun über einen virtuellen HTTP Eingang (mit der Technik aus #2) über den ioBroker aus der Waschmaschine.

          Um diesen Startvorgang hin zu bekommen, habe ich folgendes gebaut. Mehr oder weniger eine meiner ersten Konfigurationen in Loxone Config.Anbei ein Screenshot.

          Ich bin mir nicht ganz sicher ob das alles so richtig ist...Funktioniert zwar, aber hätte man es als Profi anders aufgebaut? Habt ihr vielleicht noch einen Tipp? Vor allem ob man die Selektion des virtuellen Ausgangsbefehls nicht auch ohne den Programmbaustein hin bekommen würde.

          Anbei der Code aus dem Programm. Die langen Nummern kommen aus dem virtuellen HTTP Eingang. Ein unique key pro ausgewähltem Waschprogramm.

          Code:
          int washerStartSwitch;
          int washerSelectedPgm;
          int nEvents;
          
          while(true){
          
          nEvents = getinputevent();
          if (nEvents=1)
          {
          washerStartSwitch = getinput(0);
          washerSelectedPgm = getinput(1);
          }
          if (washerStartSwitch)
          {
          if (washerSelectedPgm==7274563){
          setoutput(2,1);} //Cutton
          else if (washerSelectedPgm==6357061){
          setoutput(3,1);} // easyCare
          else if (washerSelectedPgm==6881357){
          setoutput(1,1);} // fastMix
          else if (washerSelectedPgm==6619204){
          setoutput(4,1);} //delicatesSilk
          else if (washerSelectedPgm==7274583){
          setoutput(5,1);} //Wool
          else if (washerSelectedPgm==7340115){
          setoutput(6,1);} //sportFitness
          else if (washerSelectedPgm==6815827){
          setoutput(7,1);} // shirtsBlouses
          else if(washerSelectedPgm==7667777){
          setoutput(0,1);} // Auto30 deg.
          // später else + error msg
          
          setoutput(8,washerSelectedPgm); // test zur Kontrolle washerSelectedPgm.value
          }
          sleep(100);
          }

          In den 8 virtuellen Ausgangsbefehlen stehen die Aufrufe der Simple API. Je Waschprogramm ein Befehl
          Code:
          /set/homeconnect.0.BOSCH-WAV28K42.programs.active.BSH_Common_Root_Activ eProgram?value=LaundryCare.Washer.Program.SportFitness

          Danke & viele Grüße
          Jörn
          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: waschmaschine starten.jpg
Ansichten: 1931
Größe: 612,4 KB
ID: 337115

          Kommentar

          Lädt...