NEWS
Test Adapter Worx v0.4.x
-
@haselchen sagte in Test Adapter Worx v0.4.x:
schreibst du das: MQTT Server an Mäher = Schick Status
schreibst du das: Der MQTT Server ist der Makler (Broker) in der Mitte. Im Normalfall schickt der Mäher seinen Status an den MQTT Server. Dieser schickt den Status an alle Subscriber weiter. Wann und wie oft der MQTT Server Informationen vom Mäher bekommt, entscheidet allein der Mäher, niemand sonst- beschreibt den Nicht-Normalfall, wenn durch die Anwahl der App der Adapter Informationen erhält.
- beschreibt den Normalfall, nämlich die Kommunikation Mäher - MQTT Server - Adapter (ohne dass jemand anderes, z.B. die App dazwischen funkt.
-
Wie wäre die Live-Aktualisierung , wenn ich ein 2.Handy benutze , dass nur im WLAN ist und die App geöffnet lasse (sagen wir permanent)?
-
@haselchen sagte in Test Adapter Worx v0.4.x:
Wie wäre die Live-Aktualisierung , wenn ich ein 2.Handy benutze , dass nur im WLAN ist und die App geöffnet lasse (sagen wir permanent)?
Ich habe oben den Ablauf nach einem Poll durch die App beschrieben. Ein Poll wird beim Starten der App durchgeführt oder durch einen Benutzer-Eingriff. Wenn ein Handy "nur einfach so rumliegt" führt, die App keinen Poll durch. Die Aktualisierung würde also immer nur vom Mäher aus erfolgen, nicht von der App aus.
-
@arteck sagte in Test Adapter Worx v0.4.x:
ich mach es so
müsst ihr aber einen Datenpunkt anlegen über den getriggert wird.
let worx = 'worx.0.id_des_mover'; let laufzeit = 60; let plusMinuten = 1; on({id: worx + '.mower.state', change: "ne"}, function (obj) { let stat = getState(worx + '.mower.state').val; if (!stat) { worxLos(new Date(), '00:00', 0); // wenn fertig dann wird wieder alles gelöscht } }); on({id: '0_userdata.0.draussen.worxKantenschnitt', change: "any"}, function (obj) { if (getState('0_userdata.0.draussen.worxKantenschnitt').val) { if (!getState(worx + '.mower.state').val) { // robi muss in der garage sein let jetzt = new Date(); jetzt.setMinutes(jetzt.getMinutes() + plusMinuten ); let los = new Date(jetzt); let startUm ; if (los.getMinutes() < 10) { startUm = los.getHours() + ':0' + los.getMinutes(); } else { startUm = los.getHours() + ':' + los.getMinutes(); } worxLos(los, startUm, laufzeit); } } }); function worxLos(zeitstempel, startUm, laufzeit) { switch (zeitstempel.getDay()) { case 0: setState(worx + '.calendar.sunday.startTime', startUm); setTimeout(function () { setState(worx + '.calendar.sunday.workTime', laufzeit); }, 1000 * 5); // warte 5 sekunden break; case 1: setState(worx + '.calendar.monday.startTime', startUm); setTimeout(function () { setState(worx + '.calendar.monday.workTime', laufzeit); }, 1000 * 5); // warte 5 sekunden break; case 2: setState(worx + '.calendar.tuesday.startTime', startUm); setTimeout(function () { setState(worx + '.calendar.tuesday.workTime', laufzeit); }, 1000 * 5); // warte 5 sekunden break; case 3: setState(worx + '.calendar.wednesday.startTime', startUm); setTimeout(function () { setState(worx + '.calendar.wednesday.workTime', laufzeit); }, 1000 * 5); // warte 5 sekunden break; case 4: setState(worx + '.calendar.thursday.startTime', startUm); setTimeout(function () { setState(worx + '.calendar.thursday.workTime', laufzeit); }, 1000 * 5); // warte 5 sekunden break; case 5: setState(worx + '.calendar.friday.startTime', startUm); setTimeout(function () { setState(worx + '.calendar.friday.workTime', laufzeit); }, 1000 * 5); // warte 5 sekunden break; case 6: setState(worx + '.calendar.saturday.startTime', startUm); setTimeout(function () { setState(worx + '.calendar.saturday.workTime', laufzeit); }, 1000 * 5); // warte 5 sekunden } }
Wie würde das in Blockly aussehen?
- „startTime“ auf z.B. 10:00 setzen
- 5 Sekunden Pause
- „workTime“ auf 10 setzen
Was ist mit „borderCut“? Muss das nicht auch noch auf true gesetzt werden? Finde ich in dem Skript nicht.
-
@Sandmanyz der borderCut steht bei mir immer auf true..deshalb setzte ich den nicht im script..mit blockly..kein plan..
würde aber sagen so wie du es beschreibst ja -
Gut das kann ich ja auch machen bzw. habe ich borderCut einfach erst einmal immer auf true.
Nun habe ich mit Blockly folgendes gebaut....
- Schreibe in "startTime" die aktuelle Zeit plus 60 Sekunden
- Warte 5500ms
- Schreibe in "workTime" 10 (Minuten)
Mein Roboter fährt dann jedoch zum Mähen und nicht zum Kantenmähen raus. Was macht dein Sktipt neben dem Setzen der beiden Objekte (startTime, workTime) noch?
Ich habe von Javascript maximal wenig Ahnung.
-
@Sandmanyz sagte in Test Adapter Worx v0.4.x:
Schreibe in "startTime" die aktuelle Zeit plus 60 Sekunden
Warte 5500ms
Schreibe in "workTime" 10 (Minuten)Du musst borderCut auf true setzen, wenn Du einen Kantenschnitt haben möchtest. Bitte beachte aber: Der Mäher fährt nur einen geplanten Kantenschnitt pro Tag. Weitere Kantenschnittaufträge im Zeitplan werden als reine Mähaufträge ausgeführt.
-
@hsteinme sagte in Test Adapter Worx v0.4.x:
Der Mäher fährt nur einen geplanten Kantenschnitt pro Tag. Weitere Kantenschnittaufträge im Zeitplan werden als reine Mähaufträge ausgeführt.
Jetzt ist mir das Verhalten klar. Das ist zum Testen natürlich blöd. Danke für die Info.
-
Hallo, ich habe eine Frage zu dem Befehl "sendCommand". Ich möchte bei Regen den Worx direkt in seine Garage schicken. Ich finde leider keinen Trigger "go Home" oder so ähnlich. Ich vermute daher, dass man sendCommand mit einem Parameter nutzen muss.
Das Blocky dazu sollte kein Problem sein.
Hier meine Konfiguration:
FW: 3.08
Worx M1000
Worx Adapter 1.1.0 (gitHub)Habt ihr einen Tipp für mich?
-
@MartyBr
Hi,
einfach den den Wert "Home" auswähle bzw im Script/Blockly die 3 setzen. -
@tazdevil20
So:
-
@MartyBr
Sollte so passen. -
@tazdevil20 Dann warte ich mal auf Regen. Danke für deine Hilfe
-
Hallo
leider finde ich den Datenpunkt Home nicht ....
auch die Version 1.1.0 ist mir unbekannt ich habe noch Version 1.0.2 ....
Könnt ihr mir helfen ?
-
@Flopsi sagte in Test Adapter Worx v0.4.x:
Datenpunkt Home
mower.state = false steuert die Heimfahrt an.
@Flopsi sagte in Test Adapter Worx v0.4.x:
Version 1.1.0
Das ist die aktuell in GitHub befindliche Version.
-
Habe mir die 1.1.0 über GitHub installiert.
Den Datenpunkt mower.state gibts da bei mir nicht.
Dieser Datenbpunkt ist es bei mir :
sendcommand
hier kann ich folgendes auswählen:
Gruss
-
@Flopsi sagte in Test Adapter Worx v0.4.x:
Den Datenpunkt mower.state gibts da bei mir nicht.
Datenpunkte siehst Du im Objects-Reiter unter der entsprechenden Instanz des Worx-Adapters:
Zum Setzen der Datenpunkte dient nicht der sendcommand-Block, sondern der update-Block:
Klicke ins linke Eingabefeld und navigiere im Objektbaum zum Datenpunkt worx.0.xxxxxxx.mower.state und wähle ihn aus. Ins zweite Eingabefeld "schreibst" Du true hinein.
-
@Flopsi sagte in Test Adapter Worx v0.4.x:
Habe mir die 1.1.0 über GitHub installiert.
Was ist der Unterschied zur 1.0.2 ?
-
@skokarl sagte in Test Adapter Worx v0.4.x:
Was ist der Unterschied zur 1.0.2 ?
Wenn ich GitHub richtig deute, so ist wohl nur die Unterstützung der Kress und Landxcape Modelle zu den bisherigen Landroid Modellen dazu gekommen.
-
Es gibt ja nun wieder ein Update, sowohl beim Mäher als auch von der Handy App.
Wird hier am Adapter was nachgezogen ?In der App geht jetzt z.B. Kantenschnitt auf Tastendruck.
VG