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

Hallo zusammen,

hatte letztes Jahr mein Landxcape mit der angepassten landroid Bridge am laufen.
Wollte jetzt das aktuelle IPS Modul nutzen und die neue Bridge installieren. Node.js habe ich auf v12 geupdatet. Die config.json habe ich angepasst. Nach dem Start der Bridge kommt immer folgendes:

pi@raspberrypi:~/mqtt-landroid-bridge $ node bridge.jsSun, 28 Mar 2021 06:48:01 GMT INFO: worx is selected
Sun, 28 Mar 2021 06:48:02 GMT ERROR: Could not Connect to Worx Server: StatusCodeError: 401 - {„message“:„Unauthorized“,„code“:„401.000“}
Sun, 28 Mar 2021 06:48:02 GMT ERROR: StatusCodeError: 401 - {„message“:„Unauthorized“,„code“:„401.000“}
pi@raspberrypi:~/mqtt-landroid-bridge $

er sagt worx is selected . In der config habe ich aber landxcape eingetragen.
Hat jemand eine Idee?

das war noch ein kleiner Code-Fehler in der Bridge. Habe ich korrigiert. Sollte jetzt funktionieren. Bitte einfach nochmal die aktuelle Version der Bridge laden.
Grüße
Jürgen

Super vielen Dank.
klappt

Hallo Jürgen,

ich habe meinen Robbi wieder aktiviert, habe aber das problem, dass ich ihn nicht dauerhaft über IPS bekomme.
Ich habe in der Config.json den port ändern müssen von 1024 auf den neuen IPS Server 1883. Wenn ich danach die bridge neu starte, kriege ich Meldungen in IPS, solange ich den Raspi offen hab.
den Service habe/hatte ich auch eingerichtet, steht auch auf active running. Wenn ich dann aber wieder in die Config.json reischaue, steht wieder der Port 1024 drin. Ich find aber nicht, wo das her kommt.

Gruß

Oliver

manchmal kanns so einfach sein, Service gestoppt, neu gestartet und es klappt, hatte sich anscheindend aufgehängt

für alle, die immer wieder eine Fehlermeldung wie diese erhalten

05.04.2021, 18:06:24 | FlowHandler | Kann Daten nicht zur Instanz #54713 weiterleiten:

Warning: First parameter must either be an object or the name of an existing class in C:\ProgramData\Symcon\modules.store\silberstreifen.mqtt.worx\Gateway\module.php on line 56

Warning: First parameter must either be an object or the name of an existing class in C:\ProgramData\Symcon\modules.store\silberstreifen.mqtt.worx\Gateway\module.php on line 61

Warning: First parameter must either be an object or the name of an existing class in C:\ProgramData\Symcon\modules.store\silberstreifen.mqtt.worx\Gateway\module.php on line 119

RESULT:

gibt es jetzt ein Update der MQTT-Landroid-Bridge auf Version 1.02.
Zum Update

  • die MQTT-Landroid-Bridge stoppen,
  • die config.json sichern,
  • die neue Version mit git clone https://github.com/nefiertsrebliS/mqtt-landroid-bridge.git herunterladen.
  • Eure config.json in das Verzeichnis der neuen Version kopieren,
  • Im Verzeichnis der neuen Version npm install ausführen,
  • die Bridge neu starten.

Wer keinerlei Fehlermeldungen hat, kann auch mit der bisherigen Version weiterarbeiten.
Grüße
Jürgen

Hallo Jürgen,

ich habe das Modul direkt über die „IP Symcon Konsole > Module“ installiert.
Wo finde ich dann die config.json Datei?

Im Standard Pfad
C:\ProgramData\Symcon\modules.store\silberstreifen.mqtt.worx
sind lediglich die Ordner Gateway/Infos/Scheduler/Zones enthalten. Von der Config ist nichts zu finden. Im gesamtem …\Symcon\ Verzeichnis gibt es keine config.json Datei. Wird bei dieser Art der Installation keine config-Datei benötigt?

Ansonsten kann ich im MQTTworxGateway lediglich das Topic „Robbie“ setzen und in der MQTT Server Instanz Benutzername/Passwort. Der Server Socket hat den Standard Port 1024 / funktioniert aber auch mit 1883 nicht.

Das Gateway meldet: „Falsches Topic oder MQTT-Landroid-Bridge ist offline“
Bei WRX_Stats(1234) bekomme ich im Debug:
06.04.2021, 23:13:47 | ForwardData | {„DataID“:"{6C4F48B9-C1E4-049F-193B-A0A56D2B855E}",„Topic“:"/set/json",„Payload“:"{}"}
06.04.2021, 23:13:47 | ForwardData | Weiterleitung abgelehnt, MQTT-Landroid-Bridge ist offline

Irgendwie stehe ich auf dem Schlauch… :-/ Hast du eine Idee? :slight_smile:

Die config.json ist Teil der Bridge, die du zusätzlich nach Anleitung installieren musst. Das Modul ist nur der zweite Teil.

Ich hatte versucht vorher die Bridge über die Modulverwaltung zu installieren und bekomme dabei den Fehler: This module cannot be updated!
This repository seems corrupted. library.json is at least missing! (Code: -32603)

Im Git Repository finde ich auch keine library.json Datei wie in anderen Modulen…

arbeite mal bitte den ersten Beitrag in diesem Thread durch. Da ist alles erklärt.
Grüße
Jürgen

Hatte ich sogar gelesen… :slight_smile: Ich dachte die Bridge ist ein Modul für IP Symcon.
Nach der Installation von Node.js (stimmt… beschrieben :slight_smile:) und der Konfiguration funktioniert nun alles bestens. Good job! :slight_smile:

Ich habe sowohl Beitrag 1 gelesen als auch den ganzen Verlauf zumindest überflogen. Trotzdem bin ich leider noch nicht schlau, wie ich die MQTT-Landroid-Bridge auf einem Synology Docker installiere. Das Node.js gibt es als Paket, das habe ich drauf.
Über Hinweise oder eine Anleitung wäre ich dankbar.

1 „Gefällt mir“

Ich denke nicht, dass es die Bridge als Docker gibt, außer Jürgen hat da was.
Aber du kannst ja auch eine virtuelle Maschine mit Ubuntu installieren.

Genauso ist es, von meiner Seite gibt es keine Docker-Version. Mit Docker kenne ich mich nicht hinreichend aus.

Seit einer halben Stunde erhalte ich folgende Fehlermeldung von der MQTT-Landroid-Bridge

GMT ERROR: StatusCodeError: 426 - „This service requires use of the HTTPS protocol.“

Ursächlich ist wohl eine Umstellung in der Worx-Cloud von HTTP auf HTTPS. Der entsprechende Code befindet sich allerdings im ioBroker-Teil, so dass ich diesen nicht ohne Weiteres als geänderten Code per GitHub zur Verfügung stellen kann und wir auf die Anpassung in ioBroker warten müssen.

Als Workaround könnt Ihr folgendes machen:

  1. MQTT-Landroid-Bridge stoppen

  2. in der Datei /Pfad_zur/mqtt-landroid-bridge/node_modules/iobroker.worx/lib/api.js in der Zeile 455

    uri: ‚http://‘ + URL + PATH + path,

    durch

    uri: ‚https://‘ + URL + PATH + path,

    ersetzen.

  3. MQTT-Landroid-Bridge starten

Danach läuft alles wieder wie gewohnt.

Ich informiere hier, wenn es etwas Neues gibt.

Grüße
Jürgen

FIX: MQTT-Landroid-Bridge ist offline

Die Landroid-Bridge stoppt den Betrieb mit folgender Fehlermeldung im log-File:
StatusCodeError: 426 - „This service requires use of the HTTPS protocol.“

Ein einfacher FIX für das Problem ist jetzt online.

  • MQTT-Landroid-Bridge stoppen.
  • Dann im Verzeichnis der MQTT-Landroid-Bridge folgendes ausführen:
    git pull
    npm install
    
  • Und zum Schluss die MQTT-Landroid-Bridge wieder starten.

Grüße
Jürgen

Hallo,

was habe ich hier wieder vermurkst :see_no_evil:
Ich kann in der Worx App Parameter aktualisieren und bekomme diese in Symcon rein. Umgekehrt gehts aber nicht. Mir sagt die WorxLandroidGateway Instanz „Falsches Topic oder MQTT-Landroid-Bridge ist offline“ aber diese läuft und das Topic ist unverändert.abc

def

was steht denn im log-File der Bridge? Hast Du das Update schon durchgeführt und die Bridge neu gestartet?

AAAH ja natürlich war es das schon. Es gab von der alten letztes Jahr auch nochmal ein Update oder? Ich habe noch die landroid-bridge und auch noch eine landroid-bridge.old auf dem RPI. Nun mit der mqttt-landroid-bridge gehts auch sofort wieder. Danke :slight_smile:

Wie bekomm ich die alte denn am saubersten vom System. Die beiden Ordner einfach löschen?

Und die alte Bridge hatte ich als Service laufen. Geht das mit der neuen auch wieder? Im Ordner der neuen ist nur die Variante über initd als Beispiel angefügt. Ich würde einfach das vorgehen aus der alten kopieren und entsprechend anpassen mit dem file hier oder spricht da was gegen:

[Unit]
Description=Landroid Bridge
Documentation=https://github.com/weweave/landroid-bridge
After=network.target

[Service]
ExecStart=/usr/bin/node /home/username/landroid-bridge/dist/server.js
WorkingDirectory=/home/username/landroid-bridge
Restart=on-failure
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=landroid-bridge
User=username
Group=username
Environment=NODE_ENV=production PORT=3000

[Install]
WantedBy=multi-user.target

Das kannst Du genauso machen. Allerdings solltest Du gucken, ob Du noch ein Startskript hast, das die alte Bridge starten will. Dann dieses auch deaktivieren und löschen.

ja geht auch weiterhin. Statt der server.js musst Du die bridge.js mit Deinem MQTT-Landroid-Bridge-Verzeichnis aufrufen.

Grüße
Jürgen