erstmal danke Sipiyou fürs schnelle umsetzten.
Kurze frage zu E20.
Sind Segmente = Räume in der Xiaomi app ? Und sind die IDs die Raumnummern aus der App?
Sorry hatte vorher nie räume mit dem gen1 ;-)
LG
Ankündigung
Einklappen
Keine Ankündigung bisher.
Xiaomi / Roboroc Baustein 19001929
Einklappen
X
-
So, hier die nächste Beta für das LBS und auch VSE:
https://www.dropbox.com/sh/cnnn22fw2...Rgw2MqENa?dl=0
eXec
trollmar :
Ich hab jetzt auch ein neues Visuelement mit dem Button für die Häufigkeit. Über design lässt sich streiten, ich wollte da etwas "lebendiges".
Die Farbe für den Button kommt aktuell vom ersten Eintrag der ausgewählten Color-Map. Weiss nicht, ob der Wunsch da ist, dass man dort die Farbe im VSE festlegt.
Der Parameter an E20 kennt jetzt ein ";". Das, was dort angegeben ist, wird dann für die Anzahl der Reinigungen genommen. Ich habe dort absichtlich keine Beschränkung rein, falls die Roboter irgendwann auch 4/5x unterstützten.
Im Visuelement wird auch die Zahl bei Neuaufruf der Seite immer auf 1x zurückgesetzt - wie in der App auch.
- Likes 1
Einen Kommentar schreiben:
-
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.
Zuletzt geändert von sipiyou; 25.06.2022, 14:01.
Einen Kommentar schreiben:
-
Okay werde ich testen. Wird das Auswirkungen haben, wenn während der Wartezeit weitere Trigger an den LBS kommen, also z.B: als SequenzZitat von sipiyou Beitrag anzeigenAlso, 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;
Map=1
custom_mode=101
water_vox_custom_mode=201
mop_mode=301
Ja, das würde auf jeden Fall funktionieren.Zitat von sipiyou Beitrag anzeigenDa 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 ?
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
Einen Kommentar schreiben:
-
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 ?
Einen Kommentar schreiben:
-
darf ich den wunsch äußern das auch über Eingänge zu lösen. hab keine visuZitat 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.
vorher mit dem.gen1 war immer nur saugen. jetzt würd ich Raum 1 gerne nur wischen raum 2 wischen saugen etc.
lg
Einen Kommentar schreiben:
-
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; 24.06.2022, 20:42.
Einen Kommentar schreiben:
-
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é
Einen Kommentar schreiben:
-
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 ...
Einen Kommentar schreiben:
-
Also, Ergebnis ist, das es unterhalb von 10 Sekunden nicht stabil funktioniert. Selbst mit 10 Sekunden Wartezeit geht es manchmal nicht. Um auf Nummer Sicher zu gehen, könnte man das getActiveMapIndex() evtl. regelmäßig nach einem Map-Wechsel aufrufen, entweder automatisch im LBS oder über einen Eingang, mit dem man getActiveMapIndex() triggern könnte? Im letzteren Fall könnte man bei einem Triggern von E18 einen Telegrammgenerator starten, der dann für 20 Sekunden in einem bestimmte Takt den Eingang für getActiveMapIndex() triggert.Zitat von jonofe Beitrag anzeigenIch probiere jetzt mal, wie weit ich den Wert runterdrehen kann und es trotzdem noch funktioniert.
Einen Kommentar schreiben:
-
Ich wechsel die Map und triggere dann in der Liveansicht immer wieder mit E1=1. Aber auch nach 60 Sekunden ist noch nicht der richtige Wert an A13 zu sehen. Der Wert an A13 hinkt immer einen Mapwechsel hinterher, d h er zeigt immer die vorletzte map an, nie die aktuelle.
Das war Quatsch!
Ich glaube ich hatte den LBS noch nicht neu eingelesen. Es funktioniert nun nach ca. 10 Sekunden erscheint die korrekte MAP an A13 bei einem sekündlichen Update an E1 (Zeit-iKO als Trigger an E1).
Ich probiere jetzt mal, wie weit ich den Wert runterdrehen kann und es trotzdem noch funktioniert.
Zuletzt geändert von jonofe; 23.06.2022, 12:47.
Einen Kommentar schreiben:
-
Der Unterschied zum s7 ist hier nur die fehlende "max +" Option. der Rest Ist gleich.Zitat von jonofe Beitrag anzeigen
.
D.h. es gibt 4 Varianten, die man konfigurieren kann- Saugen/Wischen mit den Einstellungen Saugleistung & Wischintensität
- Wischen mit den Einstellungen Wischintensität & Wischroute
- Saugen mit den Einstellungen Saugleistung oder MAX+
- Individuell
Einen Kommentar schreiben:
-
Funktioniert leider nicht. Hatte ich schon befürchtet, denn auch ein mehrfaches Triggern auch mit 30 Sekunden Abstand zum Map-Wechsel hat nicht funktioniert. A13 wird erst beim zweiten Kartenwechsel geändert, dann aber auf den vorhergehenden Wert. Das Update dauert dabei auch nur ca. 1-2 Sekunden.Zitat von sipiyou Beitrag anzeigenHab auch die E18 umgebaut. Es kann sein, dass der Refresh am LBS zu früh erfolgt ist. Ich hab jetzt eine Verzögerung von 10 Sekunden drin. Schau mal bitte, ob das so funktioniert.
Es sind die 4 o.g. Varianten und jeder Variante hat 0 bis 2 Optionen.Zitat von sipiyou Beitrag anzeigenWenn ich das richtig sehe gibts da ja noch paar mehr Optionen:
D.h. zuerst wählt man Vac&Map, Saugen, Wischen, Individuell
und dann je nach Auswahl die zugehörigen Parameter.
Einen Kommentar schreiben:
-
jonofe
Ich hab deine Info bzgl. Vlan eingebunden in der Hilfe eingebunden. Hab auch die E18 umgebaut. Es kann sein, dass der Refresh am LBS zu früh erfolgt ist. Ich hab jetzt eine Verzögerung von 10 Sekunden drin. Schau mal bitte, ob das so funktioniert.
Das ist der Wert in der Zeile 496, schau mal bitte, ob es auch mit 5 zuverlässig funktioniert - alternativ bischen mit dem Wert rumspielen. Sag bitte bescheid, was ich final da eintragen soll - sofern es so geht.
Hab den LBS erstmal in die Dropbox:
https://www.dropbox.com/s/h7r5em7jhh...9_lbs.php?dl=0
Wenn ich das richtig sehe gibts da ja noch paar mehr Optionen:
Wischroute: Standard / gründlich
Wischintensität: 1..3
und eben die 4 Optionen.
Schau ich mir die Tage an.
Wo ich diese 3d Karte sehe kommen mir auch schon paar Ideen...
Einen Kommentar schreiben:


Einen Kommentar schreiben: