[Modul] Worx, Kress, Landxcape, Ferrex-Adapter

Hallo,

ich habe die Bridge gestoppt, und dann

git clone https://github.com/nefiertsrebliS/landroid-bridge.git
  cd landroid-bridge
  npm install
  npm run grunt

git clone ging schon nicht und nur

cd landroid-bridge
  npm install

auch nicht. Er macht zwar was, aber dann kommt

npm WARN landroid-bridge@0.1.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/fsevents):
npm  WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for  fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current:  {"os":"linux","arch":"arm"})

bin leider ein umwissender Windows user :confused:

Gruß

Oliver

Da es den Ordner landroid-bridge bereits von der letzten Installation gibt, musst du ihn erst umbenennen.

mv landroid-bridge landroid-bridge.old

Dann sollten die Schritte auch klappen.

Hallo Ralf,

klappt, vielen Dank

Gruß

Oliver

Hallo,

irgendwie klappt das mit dem 2. Mähplan nicht.

Wenn ich

WRX_SetSchedule($ID, 2, '[["15:00",45,1],["15:00",45,0] ,["15:00",45,0] ,["15:00",45,0] ,["15:00",45,1] ,["15:00",45,0] ,["15:00",45,0]]');

absetze hätte ich erwartet, dass im Wochenplan eine zweite Zeit erscheint. ist aber nicht. In der App bleibt auch nur eine Mähzeit.

Gruß

Oliver

Dann kann dein Robby keine zweite Mähzeit oder du hast die Firmware noch nicht aktualisiert ;).

Hallo Ralf,

wusste nicht, dass es Mäherabhängig ist, da sowas ja Softwareabhängig gesteuert wird. Firmware bin ich auf 3.17.

Gruß

Oliver

Bei Firmware 3.17 sind zwei Mähzeiten definitiv möglich. Sollte also sowohl im Modul als auch in der App einstellbar sein.
Viele Grüße
Jürgen

Hallo,

in der App kann ich manuell eine zweite Mähzeit eingeben. Wenn ich dann

<?php

// immer nur eine Abfrage verwenden
$ID = 34426 /*[Geräte\Landroid\MQTT Worx Scheduler]*/;

$Pos1     = 1;  // 1 = 1. Zeitfenster 
$Pos2     = 2;  // 2 = 2. Zeitfenster


//             Sonntag        Montag          Dienstag        Mittwoch        Donnerstag      Freitag         Samstag
$Value1 = '[["09:00",45,1],["09:00",45,0] ,["09:00",45,0] ,["09:00",45,0] ,["09:00",45,1] ,["09:00",45,0] ,["09:00",45,0]]';
$Value2 = '[["15:00",45,1],["15:00",45,0] ,["15:00",45,0] ,["15:00",45,0] ,["15:00",45,1] ,["15:00",45,0] ,["15:00",45,0]]';

// [["Startzeit",Mähdauer,Kantenschnitt],["12:00",200,0],["10:30",118,0],
// ["11:00",120,0],["11:00",120,1],["11:00",120,0],["11:00",0,0]] 

// echo $Value;

WRX_SetSchedule($ID, $Pos1, $Value1); 

WRX_SetSchedule($ID, $Pos2, $Value2); 

schicke, wird gesendet

TXT: 08.09.2020 08:43:33.00 |               Sended | {"DataID":"{6C4F48B9-C1E4-049F-193B-A0A56D2B855E}","Topic":"/set/json","Payload":"{ \"sc\": { \"d\": [[\"09:00\",45,1],[\"09:00\",45,0] ,[\"09:00\",45,0] ,[\"09:00\",45,0] ,[\"09:00\",45,1] ,[\"09:00\",45,0] ,[\"09:00\",45,0]] } }"}
TXT: 08.09.2020 08:43:33.00 |               Sended | {"DataID":"{6C4F48B9-C1E4-049F-193B-A0A56D2B855E}","Topic":"/set/json","Payload":"{ \"sc\": { \"dd\": [[\"15:00\",45,1],[\"15:00\",45,0] ,[\"15:00\",45,0] ,[\"15:00\",45,0] ,[\"15:00\",45,1] ,[\"15:00\",45,0] ,[\"15:00\",45,0]] } }"}


beim Empfangen ist die zweite Mähzeit dann aber leer:

TXT: 08.09.2020 08:44:01.00 |             Received | {"DataID":"{FFC643B7-C985-1896-D537-7436CA1F11B2}","Device":"Scheduler","Topic":"dd","Payload":"[[[\"09:00\",45,1],[\"09:00\",45,0],[\"09:00\",45,0],[\"09:00\",45,0],[\"09:00\",45,1],[\"09:00\",45,0],[\"09:00\",45,0]],[[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0]]]"}
TXT: 08.09.2020 08:44:01.00 |                   dd | [[["09:00",45,1],["09:00",45,0],["09:00",45,0],["09:00",45,0],["09:00",45,1],["09:00",45,0],["09:00",45,0]],[["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0]]]


und auch in der App wieder leer.

Gruß

Oliver

bitte mal ein IPS_Sleep einfügen

<?php

// immer nur eine Abfrage verwenden
$ID = 34426 /*[Geräte\Landroid\MQTT Worx Scheduler]*/;

$Pos1     = 1;  // 1 = 1. Zeitfenster 
$Pos2     = 2;  // 2 = 2. Zeitfenster


//             Sonntag        Montag          Dienstag        Mittwoch        Donnerstag      Freitag         Samstag
$Value1 = '[["09:00",45,1],["09:00",45,0] ,["09:00",45,0] ,["09:00",45,0] ,["09:00",45,1] ,["09:00",45,0] ,["09:00",45,0]]';
$Value2 = '[["15:00",45,1],["15:00",45,0] ,["15:00",45,0] ,["15:00",45,0] ,["15:00",45,1] ,["15:00",45,0] ,["15:00",45,0]]';

// [["Startzeit",Mähdauer,Kantenschnitt],["12:00",200,0],["10:30",118,0],
// ["11:00",120,0],["11:00",120,1],["11:00",120,0],["11:00",0,0]] 

// echo $Value;

WRX_SetSchedule($ID, $Pos1, $Value1); 
IPS_Sleep(1000);
WRX_SetSchedule($ID, $Pos2, $Value2);

Die Worx-Cloud verträgt das nicht, wenn die Befehle zu schnell hintereinander gesendet werden.

Viele Grüße
Jürgen

Hallo Jürgen,

wenn ich nur Pos2 sende kommt der auch „leer“ zurück

TXT: 08.09.2020 13:15:44.00 |               Sended | {"DataID":"{6C4F48B9-C1E4-049F-193B-A0A56D2B855E}","Topic":"/set/json","Payload":"{ \"sc\": { \"dd\": [[\"15:00\",45,1],[\"15:00\",45,0] ,[\"15:00\",45,0] ,[\"15:00\",45,0] ,[\"15:00\",45,1] ,[\"15:00\",45,0] ,[\"15:00\",45,0]] } }"}
TXT: 08.09.2020 13:15:54.00 |             Received | {"DataID":"{FFC643B7-C985-1896-D537-7436CA1F11B2}","Device":"Scheduler","Topic":"cmd","Payload":"0"}
TXT: 08.09.2020 13:15:54.00 |                  cmd | 0
TXT: 08.09.2020 13:15:54.00 |             Received | {"DataID":"{FFC643B7-C985-1896-D537-7436CA1F11B2}","Device":"Scheduler","Topic":"dd","Payload":"[[[\"09:15\",30,1],[\"09:15\",30,0],[\"09:15\",30,0],[\"09:15\",30,0],[\"09:15\",30,1],[\"09:15\",30,0],[\"09:15\",30,0]],[[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0],[\"00:00\",0,0]]]"}
TXT: 08.09.2020 13:15:54.00 |                   dd | [[["09:15",30,1],["09:15",30,0],["09:15",30,0],["09:15",30,0],["09:15",30,1],["09:15",30,0],["09:15",30,0]],[["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0]]]

Gruß

Oliver

Hallo Oliver,

Problem ist mit V3.02 gefixt. Diese steht ab sofort als Beta im Modul-Store.

Damit der 2. Zeitbereich sicher übertragen wird, musst Du

IPS_Sleep(2000);

bei aufeinanderfolgenden Aufrufen wählen.

Viele Grüße
Jürgen

Hallo Jürgen,

klappt auch nicht. Wenn ich nur die zweiten Mähzeiten schicke, kommt ja auch nichts an.

klappt das bei euch?

Gruß

Oliver
P.S ich finde keine 3.02 im Beta Store?? Sorry, hab das Beta gefunden (war das erste mal :slight_smile: )

jetzt hats geklappt. prima, danke

Gruß

Oliver

Hallo Zusammen,

ich habe auf dem Tinkerboard mit IPS jetzt auch nodejs installiert (v12, 11 ist unsupported).
Dazu die aktuelle Bridge von Github (1.01).
Das Problem ist, ich kann die Bridge nicht starten.

Kurz gesagt: Mit der config.json bekomme ich die Fehlermeldung:

linaro@tinkerboard:~/landroid-bridge$ sudo node dist/server.js
/home/linaro/landroid-bridge/dist/Config.js:30
            throw new Error("Could not parse config.json");
            ^

Error: Could not parse config.json
    at Config.loadConfig (/home/linaro/landroid-bridge/dist/Config.js:30:19)
    at new Config (/home/linaro/landroid-bridge/dist/Config.js:14:14)
    at Object.<anonymous> (/home/linaro/landroid-bridge/dist/Config.js:38:19)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/home/linaro/landroid-bridge/dist/App.js:6:18)

Meine Daten sind korrekt und ich nutze das ohne Zertifikat oder Ähnliches.
(config.json:

{
  "http": {
    "port": 3000
  },
  "landroid-s": {
    "enable": true,
    "email": "geheim@gmail.com",
    "pwd": "diesunddas",
    "dev_sel": 0
  },
  "mqtt": {
    "enable": true,
    "url": "mqtt://localhost",
    "topic": "landroid"
  },
  "logLevel": "info",

Das geht erst zum connect, wenn ich dann aus dem originalen Modul von Virtualzone eine längere config.json nehme.

{
  "http": {
    "port": 3000
  },
  "landroid-s": {
    "enable": true,
    "email": "mail@home.de",
    "pwd": "password",
    "dev_sel": 0
  },
  "mqtt": {
    "enable": true,
    "url": "mqtt://MYUSER:MYPASSWORD@localhost",
    "topic": "landroid"
  },
  "logLevel": "info",
  "scheduler": {
    "enable": false,
    "cron": false,
    "weather": {
      "provider": "wunderground",
      "apiKey": "YOUR_API_KEY",
      "latitude": 16.4711,
      "longitude": 2.34567
    },
    "db": "./scheduler.db",
    "earliestStart": 11,
    "latestStop": 21,
    "startEarly": false,
    "offDays": 2,
    "squareMeters": 300,
    "perHour": 50,
    "mowTime": 75,
    "chargeTime": 75,
    "daysForTotalCut": 2,
    "rainDelay": 120,
    "threshold": 30
  }
}

Wenn ich da eine Zeile lösche, dann geht nix mehr…
Hat jemand eine Idee?
Achso: Wenn ich da dann die richtigen Daten eintrage, dann steht in der Shell:

linaro@tinkerboard:~/landroid-bridge$ sudo node dist/server.js
[2020-09-27T17:40:46.781] [INFO] server.ts - Starting Landroid Bridge...
[2020-09-27T17:40:46.898] [INFO] Mqtt - Connecting to MQTT Broker...
[2020-09-27T17:40:46.905] [INFO] LandroidS - Initializing Landroid Cloud Service...
[2020-09-27T17:40:48.108] [INFO] IoBrokerAdapter - mower 0 selected
[2020-09-27T17:41:46.928] [INFO] LandroidS - Could not finish initialization, retrying...
[2020-09-27T17:41:48.807] [INFO] IoBrokerAdapter - mower 0 selected
[2020-09-27T17:42:46.929] [INFO] LandroidS - Could not finish initialization, retrying...
[2020-09-27T17:42:47.996] [INFO] IoBrokerAdapter - mower 0 selected
[2020-09-27T17:43:46.928] [INFO] LandroidS - Could not finish initialization, retrying...
[2020-09-27T17:43:47.979] [INFO] IoBrokerAdapter - mower 0 selected
[2020-09-27T17:44:46.928] [INFO] LandroidS - Could not finish initialization, retrying...
[2020-09-27T17:44:48.039] [INFO] IoBrokerAdapter - mower 0 selected
[2020-09-27T17:45:46.929] [INFO] LandroidS - Could not finish initialization, retrying...
[2020-09-27T17:45:47.924] [INFO] IoBrokerAdapter - mower 0 selected

Hilfe wäre super :wink:
Gruß,
Matthias

PS: Wenn jemand einen funktionierenden Docker-Container hätte, dann wäre mir das auch recht!

mache mal hinter Loglevel :Info das Komma weg und dann die geschweifte Klammer zu. Dann sollte die config.json funktionieren.
Viele Grüße
Jürgen

EDIT 2: Der Landroid war aus, es war zwar ein Status gesetzt usw, aber das reichte dem MQTT-Broker wohl nicht.
Egal, geht ja jetzt :wink:
Danke!

Gruß,
Matthias

Hallo Silberstreifen,

ich möchte gerne den Anteil % der 2 Mähzonen per Script ändern, aber der Wert wird immer auf den ursprüngleichen Wert zurückgesetzt.

Im WF funktioniert es, wie es soll. Stelle ich Zone 2 auf 80% wird Zone 1 automtisch auf 20% gesetzt.

Im Script steht

WRX_SetShareinZone(51578, 1, 80);

Zone 2 wird kurz auf 80% gestellt, und kurz darauf wieder auf 90% zurück gestellt.
Selbst

WRX_SetShareinZone(51578, 0, 20);
WRX_SetShareinZone(51578, 1, 80);

funktioniert nicht. Die Zonen springen kurz auf die richtigen Werte und kurz darauf wieder auf den ursprünglichen Wert zurück gestellt.

Was mache ich flasch?

VG Alex

Hmmm, das ist ja komisch. Kann es im Moment leider nicht nachstellen, da ich unterwegs bin.
Hast Du mal versucht, den Wert mit RequestAction zu verändern? Das sollte eigentlich gehen.

Viele Grüße
Jürgen

Bei RequestAction kommt das gleiche Ergebnis wie oben.
Erst wird der Wert geändert, dann wieder zurück.

VG Alex

Verstehe ich nicht. Habe ich eben mal probiert. Bei mir funktioniert es einwandfrei.
Dein Mäher ist eingeschaltet und online?
Viele Grüße
Jürgen