Ankündigung

Einklappen
Keine Ankündigung bisher.

Xiaomi / Roboroc Baustein 19001929

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

    sipiyou: Hier mal die verschiedenen Saug/Wisch-Modes für den S7 MaxV und die zugehöriges Command Codes:

    S7Max-Vac-Mop-Modes.png

    Vielleicht hilft dir das bei der Umsetzung, falls du sie nicht schon hattest ...

    Kommentar


      Hallo Nima,

      wo du gerade an dem LBS am werkeln bist, gibt es die Möglichkeit (analog zur App) dem Sauger den Befehl mitzugeben, dass er einen Raum 1, 2 oder 3 mal reinigen soll?

      Gruß André
      ...and I thought my jokes were bad!

      Kommentar


        jonofe ok, also ist das refresh doch das Problem.

        Der LBS sollte nicht sekündlich getriggert werden, das ist zuviel, das könnte auch dazu führen, dass der vorherige Aufruf noch nicht beendet ist.

        probier das mal bitte mit folgendem Code:

        Also, die Zeile hier entfernen

        logic_setVar($id, 12, time() + 15); // Refresh cleaningmaps in 15 seconds v1.01b

        und folgendes einfügen:

        set_time_limit(40);
        sleep(15);
        $refreshCleaningMap = 1;

        Ich schau mir den Rest die Tage an, lass uns erstmal die Bugs fixen.

        eXec: hab ich mir auf die todo liste gepackt, schau ich mir dann auch an. Das muss einstellbar sein, würde ich aber dann über die Visu lösen, d.h. da klickt man eben 3x auf den Raum und dann weiss der, dass dort 3x gesaugt werden soll.

        Bei 4x klick ist dann der Raum wieder deselektiert - oder so ähnlich.
        Zuletzt geändert von sipiyou; Heute, 20:42.

        Kommentar


          Zitat von sipiyou Beitrag anzeigen
          [.

          eXec: hab ich mir auf die todo liste gepackt, schau ich mir dann auch an. Das muss einstellbar sein, würde ich aber dann über die Visu lösen, d.h. da klickt man eben 3x auf den Raum und dann weiss der, dass dort 3x gesaugt werden soll.

          Bei 4x klick ist dann der Raum wieder deselektiert - oder so ähnlich.
          darf ich den wunsch äußern das auch über Eingänge zu lösen. hab keine visu
          vorher mit dem.gen1 war immer nur saugen. jetzt würd ich Raum 1 gerne nur wischen raum 2 wischen saugen etc.
          lg
          Jean-Luc Picard: "Things are only impossible until they are not."

          Kommentar


            Wie, du hast keine Visu ?!

            Die Visu gibt auch nur Kommandos an die Eingänge, d.h. dann gehts auch. Ich werds entsprechend dokumentieren.

            jonofe
            Da ich eh gerade am PC werkle, bau ich gleich noch fix die mop und custom-modes schonmal ein. D.h. es gibt 2 weitere Eingänge und über die Visu müsstest du dann entsprechende Buttons machen, die die Werte setzen. Ich denke so ist der Baustein flexibler oder was meinst du ?

            Kommentar


              Zitat von sipiyou Beitrag anzeigen
              Also, die Zeile hier entfernen

              logic_setVar($id, 12, time() + 15); // Refresh cleaningmaps in 15 seconds v1.01b

              und folgendes einfügen:

              set_time_limit(40);
              sleep(15);
              $refreshCleaningMap = 1;
              Okay werde ich testen. Wird das Auswirkungen haben, wenn während der Wartezeit weitere Trigger an den LBS kommen, also z.B: als Sequenz
              Map=1
              custom_mode=101
              water_vox_custom_mode=201
              mop_mode=301

              Zitat von sipiyou Beitrag anzeigen
              Da ich eh gerade am PC werkle, bau ich gleich noch fix die mop und custom-modes schonmal ein. D.h. es gibt 2 weitere Eingänge und über die Visu müsstest du dann entsprechende Buttons machen, die die Werte setzen. Ich denke so ist der Baustein flexibler oder was meinst du ?
              Ja, das würde auf jeden Fall funktionieren.

              Du könntest das auch über den bestehenden Eingang E24 machen, d.h. dort 3 mit Komma getrennte Werte annehmen. Das hätte den Vorteil, dass die Einstellung in einem Schritt gemacht werden kann und es nicht zu Timing Problemen kommen kann, wenn in schneller Sequenz 3 Einstellungen vorgenommen werden.

              Alternativ könnten auch alle Werte einzeln über den bestehende Eingang E24 verarbeitet werden, da ja an der Zahl erkennbar ist, welcher Mode gesetzt werden soll. Damit wären die notwendigen Anpassungen minimal. (>=300 => mop_mode, >=200 && <300 => water_bax_custom_mode, >=100 && <200 => custom_mode)

              Ich kann nicht beurteilen wie kritisch das Timing ist, wenn der LBS zu schnell über verschiedene Eingänge getriggert wird. Falls das kritisch ist, dann wäre vermutlich das Beste die Trigger perspektivisch über logic_setInputsQueued (LBS) und logic_getInputsQueued (EXEC) zu kommunizieren. Dann würde ganz sicher kein Trigger verlorengehen und der EXEC könnte weiter als terminierendes Skript arbeiten, aber mit einer While-Schleife, die so lange läuft, wie Daten in der Queue sind. Damit könnte man jederzeit triggern und es gäbe immer nur eine EXEC Instanz, die erst dann terminiert, wenn alle Befehle abgearbeitet sind. Beim nächsten Trigger wird dann eine neue EXEC Instanz gestartet. Vielleicht was für Version 2.0

              Kommentar


                jonofe
                Ok, bitte nochmal testen. Hier ist die Delay-Funktion auch jetzt drin.

                E25 = 3 Byte Eingang, siehe Hilfe. E24 bleibt für die anderen Roboter bestehen, da der S7 auch andere Kommandos hat. Hättest du die Tabelle oben als Text ? Dann muss ich nicht die Varianten abtippen und kann die in der Hilfe entsprechend einbinden.

                Ich hab gesehen, dass man auch die jeweiligen Status-Meldungen (Wisch /Mop-Status) vom Roboter abrufen kann.
                Hast du am Wochenende abends Zeit, mich per Teamviewer an den Roboter zu lassen ? Würde gerne noch den aktuellen Status abrufen, hier brauche ich aber ein "lebendes Objekt" Schick mir sonst eine E-Mail oder PN. Müsste dann per ssh auf den Edomi-Host um den LBS in der Shell auszuführen und einen editor in der shell.

                https://www.dropbox.com/s/0oy906ntvk...9_lbs.php?dl=0

                Die "repeat"-Funktion kommt demnächst. Ich muss erstmal die Visu auch noch umbauen, das ist etwas mehr Aufwand.

                Kommentar

                Lädt...
                X