Mal wieder virtuelle Geräte - jetzt aber richtig!

Puhhh… ich hab jetzt auch ein Update durchgeführt von 0.4.0 auf 0.5.1… Seit dem meldet mir Node-Red bei manchen virtuellen Geräten einen Error.
image
Im Logfile finde ich nun hunderte Einträge innerhalb kürzester Zeit, die so ausschauen:


Kann mir da jemand weiterhelfen? Was bedeuten die Fehlermeldungen?

hast du node red nach dem aktualisieren neu gestartet?

Ja hab ich…

Ich habe zumindest denselben Fehler… sollte mit der 0.5.2 hoffentlich wieder verschwinden.

:coffee:

Ich hab den Fehler jetzt eingegrenzt… Zumindest beim ersten Device dem Gardena Mähroboter.
Dem hab ich in 4 Instanzen einen Schalter (Typ1) angegeben und Einmal lass ich den Akkustand anzeigen mit dem Type 8. Ändere ich nun den Type 8 ( CAAttributeTypeBatteryLevel: 8) testweise auf Type 1 und deploye das Ganze, hab ich keinen Fehler mehr.

[
    {
        "id": 14001,
        "node_id": 1400,
        "instance": 0,
        "minimum": 0,
        "maximum": 1,
        "current_value": 0,
        "target_value": 0,
        "last_value": 0,
        "unit": "",
        "step_value": 1,
        "editable": 0,
        "type": 1,
        "state": 1,
        "last_changed": 1572966224,
        "changed_by": 1,
        "changed_by_id": 0,
        "based_on": 4,
        "data": ""
    },
    {
        "id": 14002,
        "node_id": 1400,
        "instance": 1,
        "minimum": 0,
        "maximum": 1,
        "current_value": 0,
        "target_value": 0,
        "last_value": 0,
        "unit": "Charge",
        "step_value": 1,
        "editable": 0,
        "type": 1,
        "state": 1,
        "last_changed": 1572966224,
        "changed_by": 1,
        "changed_by_id": 0,
        "based_on": 4,
        "data": ""
    },
    {
        "id": 14003,
        "node_id": 1400,
        "instance": 2,
        "minimum": 0,
        "maximum": 1,
        "current_value": 0,
        "target_value": 0,
        "last_value": 0,
        "unit": "Search",
        "step_value": 1,
        "editable": 0,
        "type": 1,
        "state": 1,
        "last_changed": 1572966224,
        "changed_by": 1,
        "changed_by_id": 0,
        "based_on": 4,
        "data": ""
    },
    {
        "id": 14004,
        "node_id": 1400,
        "instance": 3,
        "minimum": 0,
        "maximum": 1,
        "current_value": 0,
        "target_value": 0,
        "last_value": 0,
        "unit": "Timer",
        "step_value": 1,
        "editable": 0,
        "type": 1,
        "state": 1,
        "last_changed": 1572966224,
        "changed_by": 1,
        "changed_by_id": 0,
        "based_on": 4,
        "data": ""
    },
    {
        "id": 14009,
        "node_id": 1400,
        "instance": 4,
        "minimum": 0,
        "maximum": 100,
        "current_value": 0,
        "target_value": 100,
        "last_value": 0,
        "unit": "%",
        "step_value": 0.5,
        "editable": 0,
        "type": 8,
        "state": 1,
        "last_changed": 1572966224,
        "changed_by": 1,
        "changed_by_id": 0,
        "based_on": 4,
        "data": ""
    }
]

Kann ich die node-homee-contrib wieder auf 0.4.0 downgraden?

Hallo
Habe auch den Fehler URI Malformed immer bekommen obwohl vor dem Update alles funtioniert hat und bin durch Zufall draufgekommen, dass ich bei meinem Luftfeuchtemesser (TYP7) kein Prozentzeichen als Einheit eingeben darf.
Habe verschiedene Kombinationen mit Buchstaben und Zahlen versucht aber sobald ein Prozentzeichen dabei war kam der Fehler.
War jetzt kreativ und hab mir das Prozentzeichen mit ° / o zusammengestellt und es funktioniert.

1 „Gefällt mir“

Das Prozentzeichen wird zumindest in den Vorlagen als „%25“ eingegeben. Und auch bei meinen Geräten funktioniert das so. Es ist homee dann auch nur das Prozentzeichen zu sehen.

Ich habe den Fehler gestern mit der 0.5.2 behoben. Es liegt wie @stglei schon herausgefunden hat an falsch formatierten Einheiten. Beim Saugroboter Flow war es n%Fa, das müsste richtigerweise n%2FA sein. Im Feld unit sind nur gültige URL-kodierte Einheiten möglich. Mit der 0.5.2 kommt es nicht mehr zum Fehler, es wird dann einfach keine Einheit mehr im Node-Status angegeben.

Für eine fehlerfreie Kommunikation zum realen homee sollten die Angaben jedoch besser passen. Einen Encoder gibt es hier: https://meyerweb.com/eric/tools/dencoder/
Einfach die gewünschte Einheit eingeben und auf Encode klicken. Anschließend wird das Zeichen bzw. der Text URL-kodiert angezeigt und kann als Einheit übernommen werden.

Die 0.5.2 ist noch nicht in der Node-RED Library angekommen, scheinbar hängt die Synchronisation mit NPM. Ich habe vor ein paar Minuten eine manuelle Aktualisierung angefordert. Mal schauen wann die durch ist.

4 „Gefällt mir“

Ja, indem du auf Konsole dem Installationspfad „npm…“ ein @0.4.0 anhängst.

Die 0.5.2. ist gerade in der Palette angekommen.

2 „Gefällt mir“

Danke für den Hinweis. jetzt passt wieder alles

Danke… ich habs glaub ich falsch probiert. Der Befehl „iobroker update node-homee-contrib@0.4.0“ hat mir zwar keine Fehler gemeldet, aber auch kein Downgrade durchgeführt.

Vielen Dank, genau das wars…

hmmm…
bekomme jetzt die Meldungen:
22.4.2020, 21:11:53node: Energy Metermsg : error

„TypeError: Cannot read property ‚statusString‘ of undefined“

22.4.2020, 21:12:06node: Heizölmsg : error

„TypeError: Cannot read property ‚statusString‘ of undefined“

22.4.2020, 21:13:02node: Heizölmsg : error

„TypeError: Cannot read property ‚statusString‘ of undefined“

22.4.2020, 21:13:02msg : string[89]

„Fehler beim Senden der Kommunikation: Error: WebSocket is not open: readyState 3 (CLOSED)“

22.4.2020, 21:14:06node: Heizölmsg : error

„TypeError: Cannot read property ‚statusString‘ of undefined“

22.4.2020, 21:14:38node: Heizölmsg : error

„TypeError: Cannot use ‚in‘ operator to search for ‚homeeStore‘ in undefined“

22.4.2020, 21:14:38node: Energy Metermsg : error

„TypeError: Cannot use ‚in‘ operator to search for ‚homeeStore‘ in undefined“

PS: Update 0.4.0 auf 0.5.2

Bitte auf die 0.5.3 updaten. Habe eben einen Patch für diesen Fehler veröffentlicht. Sollte in der Palette sein.
Wenn der contextStorage nicht definiert war, kam es zu dem Fehler.

4 „Gefällt mir“

@stfnhmplr Super, läuft! Danke für das schnelle Update :slight_smile:

1 „Gefällt mir“

@medicus07 Danke euch beiden, hat funktioniert

1 „Gefällt mir“

Hallo zusammen,
hat mir jemand noch 2 funktioniere Flows für den Aqara Temperatur und den Aqara Motion Detect? Die beiden Skripte, die ich in Github gefunden haben funktionieren nicht richtig :frowning:

Den zylinderförmigen Bewegungsmelder hab ich zum Laufen gebracht.

Danke …

Hast du da in der Zwischenzeit weiter dran forschen können? Ich würde gerne auch in Richtung Kamera etwas experimentieren… hab aber den Ansatz noch nicht.