Versionen inkompatibel (homee in homee)

Hallo zusammen,
nachdem ich Jahre lang ohne Problem mittels Node-Red auf einem Raspberry Pi einen virtuellen Homee betrieben habe, musste ich gestern meinen Pi neu aufsetzen. Nach der Installation von Node-Red (4.4.1) unter nodes.js 20. Habe ich im Anschluss node-red-contrib-homee von @stfnhmplr installiert und den virtuellen Homee konfiguriert.

Wenn ich jetzt im Anschluss versuche mich über die Homee-Web-App mit dem virtuellen Homee zu verbinden, bekomme ich die Meldung

homee

Auf meinem Homee läuft die Version 2.41.2 (0fd65df2) und mit der hatte ich auch bis vor dem Update des Pi eine Verbindung zum virtuellen Homee.

Kann man die Version des virtuellen Homee bei der homee in homee Verbindung konfigurieren, oder ist die Versionsüberprüfung ein neues Feature?

Gerne auch Hilfe von den Experten zu diesem Thema @Tobias, @Micha und @Steffen

1 „Gefällt mir“

Da muss nur die Version hochgezogen werden.
Das kannst du bei dir am Rechner machen.
Ich suche es mal raus und stelle es dir ein.

2 „Gefällt mir“

The Same bei mir

  • eine Stunde rum gebastelt weil erstmal Verbindung fehlgeschlagen.

IP als Namen und nun Version inkompatibel

@Micha kannst du erklären wie man die Version hoch zieht?

Ihr musst das Verzeichnis des homee Nodes in der Installation suchen.
Je nach Installation kann das verschieden sein.
/node-red-contrib-homee/lib/settings.js

in dieser Datei muss die Version angepasst werden.

module.exports = class Settings {
  constructor(homeeId) {
    this.address = '';
    this.city = '';
    this.zip = 11111;
    this.state = 'BW';
    this.latitude = '';
    this.longitude = '';
    this.country = 'Germany';
    this.language = 'de';
    this.wlan_dhcp = 1;
    this.remote_access = 1;
    this.beta = 0;
    this.webhooks_key = 'WEBHOOKKEY';
    this.automatic_location_detection = 0;
    this.polling_interval = 60;
    this.timezone = 'Europe%2FBerlin';
    this.enable_analytics = 0;
    this.wlan_enabled = 1;
    this.wlan_ip_address = '192.168.178.222';
    this.wlan_ssid = 'homeeWifi';
    this.wlan_mode = 2;
    this.online = 0;
    this.lan_enabled = 1;
    this.available_ssids = ['homeeWifi'];
    this.time = 1562707105;
    this.civil_time = '2019-07-09 23:18:25';
    this.version = '2.25.0 (ed9c50)';
    this.uid = homeeId;
    this.gateway_id = 1313337;
    this.cubes = [];
    this.extensions = {
      weather: {
        enabled: 1,
      },
      amazon_alexa: {
        enabled: 0,
      },
      google_assistant: {
        enabled: 0,
        syncing: 0,
      },
      apple_homekit: {
        enabled: 0,
        paired: 0,
        config_number: 1,
        syncing: 0,
      },
      ftp: {
        enabled: 0,
      },
      history: {
        enabled: 0,
      },
      backup: {
        enabled: 0,
      },
    };

this.version = '2.41.2 (0fd65df2)';

Ich habe das mal bei Github auf die neuste Version gezogen (wie oben angegeben).
Muss Stefan dann bloß frei geben.

2 „Gefällt mir“

hab es gefunden unter
node-red-contrib-homee/lib/settings.js

Version angepasst aber leider immer noch der selbe Fehler.
alles auch schon neu gestartet.

Kann sein das du einen neuen virtuelle homee anlegen musst. Da der alte evt. Noch die Version hat.

Ich hab die Palette gelöscht. Settings.js geändert. Und lokal neu installiert. Fehler bleibt. Und natürlich alles neu gestartet und einen neuen virtuellen Homee angelegt.

@Westumer hast du es gelöst?

Dann liegt es scheinbar nicht nur daran. Welches homee Core habt ihr drauf?

Auch ohne irgendein Update oder Neuaufsetzen von Node-RED kann kein neues virtuelles Gerät in einer bestehenden vhih-Verbindung hinzugefügt werden.

Ich hatte es auch wie von @Micha vorgeschlagen in der settings.js versucht und meine Version 2.41.2 (0fd65df2) eingetragen.
Danach habe ich einen Syntaxfeher in der virtualHomee.js entdeckt.

Alt:

ws.send(`${'{' + ' "compatibility_check":{' + ' "compatible": true,' + ' "account": true,' + ' "external_homee_status": "none",' + ' "your_version": true,' + ' "my_version": "'}${version}" ,` + ` "my_homeeID": "${this.homeeId}"` + ' }' + '}');

Hier ist der Fehler:
{
„compatibility_check“: {
„compatible“: true,
„account“: true,
„external_homee_status“: „none“,
„your_version“: true,
„my_version“: „1.0“ , // ← ungültiges Komma
„my_homeeID“: „abc123“
}
}

Neu:

ws.send(`${'{'
  + '    "compatibility_check":{'
  + '        "compatible": true,'
  + '        "account": true,'
  + '        "external_homee_status": "none",'
  + '        "your_version": true,'
  + '        "my_version": "'}${version}",`
  + `        "my_homeeID": "${this.homeeId}"`
  + '    }'
  + '}');

Doch trotzdem meckert homee, wenn ein Gerät hinzugefügt werden soll.

Ich vermute, dass in der Core-Version die erwartete Syntax geändert wurde, nachdem die interne Versionsprüfung zwischen App und Core rausgenommen wurde?

Stable 2.41.2

also wenn mindestens 2.25 vorrausgesetzt wird und in der settings.js 2.25 steht müsste das ja korrekt sein bzw. irrelevant an der Stelle.

Dann wird wohl was bei homee nicht mehr stimmen , daher die Frage ob Ihr beide auf der selbe Core Version seid.

Hast du Copy and Paste gemacht ?
Da kommt es öfter zu diesen Syntaxfehlern.

…auf beiden homees die gleiche Version…
Das killt den vhih, solange wir nicht wissen, welche Syntax jetzt verlangt wird.

Da ich nicht auf dieser homee core Fahre kann ich gerade nichts dazu sagen ob da was anders ist. Ich werde mir mal die Settings anschauen.

Ich habe den Code kopiert und auf Fehler prüfen lassen, weil mir die Stelle komisch vorkommt.
In den alten Core Versionen wurde ja nicht auf Kompatibilität geprüft, daher war es Wurscht, ob das JSON richtig gesendet wurde.

Aktuell kann ich aber ausschließen, dass das der einzige Fehler ist.

Ich versuche gerade ein Downgrade auf 2.41.1 und hoffe, dass sich alles wieder einrenkt.

1 „Gefällt mir“

Bist Du auf der beta?

Nee hatte spaßighalber die Alpha draufgenagelt.

1 „Gefällt mir“

@Westumer
Mit dem Downgrade auf die stable 2.41.1 funktioniert auch vhih über node-RED wieder.
Ich konnte wie üblich ein neues Gerät hinzufügen.

@Micha
Kannst ja mal schauen, wie die Lage bei der Alpha ist.

1 „Gefällt mir“

Bei meiner Core Version kann ich weiterhin vhih Geräte von einem Pi hinzufügen.

2 „Gefällt mir“