NEWS
Mähroboter bei Regen in die Garage fahren
-
Hallo zusammen,
ich heiße Tobi und habe schon einige Scripte und Projekte mit Blockly umgesetzt.
Beim aktuellen Script finde ich den Fehler leider nicht.Ich habe ein Problem mit meinem Mähroboter (Hannes).
Dieser soll, wenn mein Netatmo Regenmesser in der letzten Stunde Regen wahrgenommen hat und am Mähen ist in seine Garage fahren.Dazu habe ich eine Variable erstellt, welche folgendermaßen aussieht:
Diese funktioniert auch ohne Probleme.
Wenn mein Mähroboter fährt wird die Variable auf wahr gesetzt.Nun soll der Mähroboter in die Garage, wenn er unterwegs ist und es Regnet bzw. zuletzt geregnet hat. Dazu habe ich folgendes Script gebaut:
Die Variablen werden auch geprüft allerdings wird die URL nicht ausgelöst, dass der Mähroboter wieder in die Garage fahren soll.
Wenn ich die URL ohne Script auslöse funktioniert sie.Habt ihr Ideen woran es liegen kann?
Vielen Dank
-
Moin.
Kleine , andere Frage dazu.
Die Datenpunkte aktualisieren sich ja nur alle 10min (Worx Adapter), wie greifst Du die "2" ab ?
Oder wartest Du immer die 10min ab bis der Status sich aktualisiert? -
@Tobi190987
irgendwie sieht das seltsam aus. In Deinem ersten Blockly hast Du den Datenpunkt erstellen Baustein und darin Deine Abfrage ?
Ein Datenpunkt muss nur einmalig erstellt werden, für die Abfrage wird ein ganz normaler Trigger benötigt.Beim zweiten Blockly würde ich auch einen Trigger Baustein nehmen und so prüfen wie Du es machst, also wenn der Mäher fährt und es hat geregnet schicke ihn nach Hause. Einen Zeitplan brauchst Du da doch gar nicht.
PS: eigentlich kannst Du das gleich in ein einziges Blockly packen.
Ein Zeitplan ist zwar auch ein Trigger, aber für Deine Abfrage nicht nötig. -
@haselchen said in Mähroboter bei Regen in die Garage fahren:
dapter), wie greifst Du die "2" ab ?
Oder wartest Du immer die 10min ab bis der Status sich aktualisiert?Habe Robonect und da werden die Datenpunkte direkt aktualisiert.
@dslraser said in Mähroboter bei Regen in die Garage fahren:
@Tobi190987
irgendwie sieht das seltsam aus. In Deinem ersten Blockly hast Du den Datenpunkt erstellen Baustein und darin Deine Abfrage ?
Ein Datenpunkt muss nur einmalig erstellt werden, für die Abfrage wird ein ganz normaler Trigger benötigt.Beim zweiten Blockly würde ich auch einen Trigger Baustein nehmen und so prüfen wie Du es machst, also wenn der Mäher fährt und es hat geregnet schicke ihn nach Hause. Einen Zeitplan brauchst Du da doch gar nicht.
PS: eigentlich kannst Du das gleich in ein einziges Blockly packen.
Ein Zeitplan ist zwar auch ein Trigger, aber für Deine Abfrage nicht nötig.Ja stimmt, hätte alles in ein Script schreiben können. Habe ich jetzt auch nochmals gemacht. Sieht jetzt folgendermaßen aus:
Aber es wird leider nicht die URL aufgerufen. Die Prüfung ob der Status stimmt und ob es geregnet hat müsste funktionieren, nur das mit der URL nicht.
Mache ich bei dem Request irgendwas falsch? -
@Tobi190987
beim Request kann ich Dir nicht helfen (habe das Gerät nicht). Den Rest habe ich genau so gemeint.
Du könntest Debug Bausteine einbauen um mehr Daten zu bekommen wo es genau hakt. -
@Tobi190987
das mit dem größer 0.1 stimmt ? (also tatsächlich mit Punkt ?) Probiere doch einfach mal größer 0 , also ohne Punkt und Komma.
Oder probiere es mal ganz ohne Bedingungen, also einfach nur den Mäher nach Hause schicken. Den Request Baustein mit Deinem Link rausziehen aus dem falls und dann den roten Trigger Baustein samt Inhalt deaktivieren und speichern.
Dieser Baustein wird dann nur einmalig ausgeführt beim starten des Blockly, oder wenn Du es aktualisiert.
So kannst Du schon mal prüfen, wenn der Mäher fährt, ob Dein Befehl Grundsätzlich ausgeführt wird. -
@dslraser Danke für die Hinweise.
Habe jetzt das Script mal stark vereinfacht aber der Requesr funktioniert noch nicht.
Ich denke es liegt daran, dass wenn ich die URL aufrufe noch folgender Hinweis erscheint:
{"successful": true}
Wie kann ich diesen denn durch das Script abfangen? -
@Tobi190987
das weiß ich leider nicht. -
@Tobi190987 sagte:
Wie kann ich diesen denn durch das Script abfangen?
Haken bei "mit Ergebnis", eine Variable result erstellen und diese loggen.
-
Ein Problem war, dass ich mich noch mit Logindaten anmelden musste. Das hat soweit funktioniert.
@paul53 Danke für den Tipp mit dem Result. Allerdings erhalte ich jetzt im Log folgende Mitteilung:function request (uri, options, callback) { if (typeof uri === 'undefined') { throw new Error('undefined is not a valid uri or options object.') } var params = initParams(uri, options, callback) if (params.method === 'HEAD' && paramsHaveRequestBody(params)) { throw new Error('HTTP HEAD requests MUST NOT include a request body.') } return new request.Request(params) }
Jemand eine Ahnung was man machen muss? Sorry für die vielen Fragen