NEWS
Wichtige Änderung: Objekt/State-ID-Bezeichner dürfen keine *, ? [, ], " oder ' mehr enthalten
-
soetwas hatten wir überlegt. Für einfache Adapter die nur Werte schreiben ist das simpel. Sobald der Adapter aber auch auf State-Änderungen reagiert müsste man hier das ganze auch wieder "zurückrechnen". Und am Ende wäre es "magie" die trotzdem jeder Adapterentwickler wissen und beachten muss weil es sonst, wie Du korrekt sagst, zu Kollisionen kommen kann. `
Das darauf reagieren ginge schon, wenn alle Funktionen (get, set, subscribe) für States und Objects die selbe Wandlung vorgeschaltet bekommen, oder habe ich da einen Denkfehler drinnen? Die Kollisionsgefahr bleibt natürlich, aber das ist denke ich dann eher etwas, was nur in ganz seltenen Fällen auftritt. Wenn setObject initial, falls eine Änderungen statt findet, den original-Namen unter .native speichert, wäre auch die Rückwandlung ohne Magie möglich.
Ich habe so das Gefühl, dass dieses Problem immer wieder auftreten wird, auch wenn jetzt alle Problem-Adapter einmal gefixt werden.
Zum Regex-Filter: macht es nicht mehr sinn einen Whitelist-Filter zu machen mit Zeichen, welche erlaubt sind? Vermutlich gibt es endlos viele Problematische Zeichen, welche auftreten könnten. Ganz zu schweigen von Zeichenfolgen, welche möglicherweise im Admin und Vis problematisch sind.
-
Bei hm-ip sind Objekte auf einmal verschwunden. `
Am besten mal die Objekte neu mit HM syncen. Diese Fehler kommen weil das Check.Skript alle States liesst und dann versucht die Objekte dazu zu lesen. diese "*_ALARM" kommen von ioBroker dazu, andere auch. Also mal neu syncen würde ich vorschlagen. `
Neu syncen hatte ich mehrmals versucht. Ich weiss nicht, was passiert ist, aber seit irgendeinem Zeitpunkt sind die Datenpunkte eines hm-ip Klimasensors verschwunden und die neuen hm-ips (Durhcgangssensor, Präsenzmelder) werden nicht vollständig angelegt (trotz geschlossenem Issue).
Zu deinen Ungültigen IDs vom "systeminfo" Adapter da liegt es an deinen angegebenen Namen oder ?! Kannst Du da die "?" rausnehmen? `
Zu:
2018-05-17 19:19:30.114 - warn: javascript.1 script.js.test: Invalid ID: systeminfo.0.TVProgramm.? 2018-05-17 19:19:30.153 - warn: javascript.1 script.js.test: Invalid ID: systeminfo.1.NAS.Space_? 2018-05-17 19:19:30.277 - warn: javascript.1 script.js.test: Invalid ID: systeminfo.1.Web.extern.google.?
Tja. Die ? kommen bei mir mit den Standardeinstellung vom systeminfo Adapter. Das müsste dann wohl auch beim Adapter angepasst werden.
<code>TVProgramm.[name/text] http://www.tvmovie.de/tv/programm-jetzt {"[0][*][!(({name: @.name.split(' ')[0], text: @.name.split(' ').slice(@.name.slice(' ').indexOf('Seit')).join(' ')}))]":{'[section[class=item]]': {'name[span[class=h2]]':0}}}</code>
-
Hey all,
Wir sind noch über User gestolpert die Leerzeichen in Objekt ids haben und haben beschlossen das im Rahmen der geplanten Änderung mit zu verbieten.
Ich habe daher das Test Skript in Post #8 oben erweitert das es jetzt auch darauf prüft.
Von daher eine Bitte an alle die bisher mitgemacht haben: bitte Skript aktualisieren und sicherheitshalber nochmal laufen lassen. Unterschiede zu davor bitte noch Posten.
Ich hoffe das kein Adapter leerzeichen in ids hat sondern pot. nur eigene Skripte
Danke!!
-
Der Samsung Adapter hat Leerzeichen :
2018-05-27 07:41:11.113 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Volume.Mute Toggle 2018-05-27 07:41:11.115 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Volume.Volume Up 2018-05-27 07:41:11.119 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Volume.Volume Down 2018-05-27 07:41:11.136 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Channel Up 2018-05-27 07:41:11.140 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Channel Down 2018-05-27 07:41:11.142 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Channel List 2018-05-27 07:41:11.144 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Previous Channel 2018-05-27 07:41:11.146 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Picture Size 2018-05-27 07:41:11.157 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Input.Media Player 2018-05-27 07:41:11.186 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.MediaPlayer.Fast Forward 2018-05-27 07:41:14.396 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Channel Down 2018-05-27 07:41:14.398 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Channel List 2018-05-27 07:41:14.401 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Channel Up 2018-05-27 07:41:14.403 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Picture Size 2018-05-27 07:41:14.406 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Channel.Previous Channel 2018-05-27 07:41:14.416 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Input.Media Player 2018-05-27 07:41:14.428 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.MediaPlayer.Fast Forward 2018-05-27 07:41:14.448 - info: javascript.0 script.js.Skript1: Checking.... 400 left 2018-05-27 07:41:14.459 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Volume.Mute Toggle 2018-05-27 07:41:14.462 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Volume.Volume Down 2018-05-27 07:41:14.463 - warn: javascript.0 script.js.Skript1: Invalid ID: samsung.0.Volume.Volume Up
Ausserdem bekomme ich auf einmal elendig viele does not exist Warnungen
2018-05-27 07:41:14.224 - warn: javascript.0 Object "hm-rpc.0.OEQ020xxxx.0.STICKY_UNREACH_ALARM" does not exist 2018-05-27 07:41:14.712 - warn: javascript.0 Object "system.adapter.vis.0.inputCount" does not exist
Gefühlte 400 Stück, die meisten vom hm.rpc
Hatte ich vorher nicht….
Ist das Normal?
Grüße
Tom
-
Wenn ich das Script ausführe, bekomme ich ein Log von ca. 18000 Zeichen.
Soviel kann ich leider nicht posten.
Kann ich das Log an Jemanden schicken?
-
Mir als pn als zip oder so. Gibt es häufungen? Was für „Typen“ von Ausgaben gibt’s oder alles das gleiche?
-
Der Samsung Adapter hat Leerzeichen :
Gefühlte 400 Stück, die meisten vom hm.rpc
Hatte ich vorher nicht….
Ist das Normal? `
Samsung kommt damit auf die Liste.Fie object missing hätten vorher auch da sein müssen. Komisch.
Aber die erstmal ignorieren.
-
Jede Menge Unifi-Adapter.
Dann Rauchmelder, weil ein * in der Seriennummer ist.
Weiss aber nicht wie ich das weg bekomme.
Schicke es dir mal.
-
Unifi wegen welchem Zeichen? Leerzeichen?
Da müssen überall die Adapter Entwickler ran. Also abwarten.
-
Du hast Post.
-
Drüber fliegen sagt fast alles unifi … leerzeichen ...
-
Wie bekomme ich das * bei der Seriennummer von Team Rauchmelder weg?
Da war ja auch ein Fehler.
-
Betrifft alles Fibaro Z-Wave Sensoren
2018-05-27 20:23:11.936 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE7.CONFIGURATION.Wall_Plug's_response_to_alarm_frames 2018-05-27 20:23:11.931 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE7.CONFIGURATION.Wall_Plug's_response_to_alarm_frames 2018-05-27 20:23:11.753 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE20.CONFIGURATION.PIR_sensor's_window_time 2018-05-27 20:23:11.751 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE20.CONFIGURATION.PIR_sensor's_pulse_counter 2018-05-27 20:23:11.748 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE20.CONFIGURATION.Motion_sensor's_sensitivity 2018-05-27 20:23:11.747 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE20.CONFIGURATION.PIR_sensor's_window_time 2018-05-27 20:23:11.746 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE20.CONFIGURATION.Motion_sensor's_blind_time_(insensitivity) 2018-05-27 20:23:11.745 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE20.CONFIGURATION.PIR_sensor's_pulse_counter 2018-05-27 20:23:11.742 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE20.CONFIGURATION.Motion_sensor's_sensitivity 2018-05-27 20:23:11.741 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE20.CONFIGURATION.Motion_sensor's_blind_time_(insensitivity) 2018-05-27 20:23:11.698 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE19.CONFIGURATION.PIR_sensor's_window_time 2018-05-27 20:23:11.696 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE19.CONFIGURATION.PIR_sensor's_pulse_counter 2018-05-27 20:23:11.694 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE19.CONFIGURATION.Motion_sensor's_sensitivity 2018-05-27 20:23:11.693 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE19.CONFIGURATION.PIR_sensor's_window_time 2018-05-27 20:23:11.692 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE19.CONFIGURATION.Motion_sensor's_blind_time_(insensitivity) 2018-05-27 20:23:11.691 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE19.CONFIGURATION.PIR_sensor's_pulse_counter 2018-05-27 20:23:11.687 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE19.CONFIGURATION.Motion_sensor's_sensitivity 2018-05-27 20:23:11.684 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE19.CONFIGURATION.Motion_sensor's_blind_time_(insensitivity) 2018-05-27 20:23:11.636 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE18.CONFIGURATION.Wall_Plug's_response_to_alarm_frames 2018-05-27 20:23:11.631 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE18.CONFIGURATION.Wall_Plug's_response_to_alarm_frames 2018-05-27 20:23:11.574 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE14.CONFIGURATION.Wall_Plug's_response_to_alarm_frames 2018-05-27 20:23:11.570 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE14.CONFIGURATION.Wall_Plug's_response_to_alarm_frames 2018-05-27 20:23:11.456 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE10.CONFIGURATION.Wall_Plug's_response_to_alarm_frames 2018-05-27 20:23:11.450 warn script.js.test.Skript1: Invalid ID: zwave.0.NODE10.CONFIGURATION.Wall_Plug's_response_to_alarm_frames
-
Wie bekomme ich das * bei der Seriennummer von Team Rauchmelder weg?
Da war ja auch ein Fehler. `
Hab ich auch, wir sollen abwarten….Grüße
Tom
-
Wie bekomme ich das * bei der Seriennummer von Team Rauchmelder weg?
Da war ja auch ein Fehler. `
Adapterentwickler müssen das fixen. Warten. -
Haben noch mehr von Euch das aktualisierte Skript laufen lassen?!
-
Ich habe das laufen lassen, aber nicht neues gefunden.
-
ähm.. wie kann ich das komplette log anschauen? konnte im schnelldurchgang sehen, dass einige skripte gelistet wurden, aber die verschwinden zu schnell
-
Bezogen auf meine Skripte, was sagt mir das hier jetzt?
> //geklärt apollon77
-
Die "Object does not exist" kannst Du erstmal ignorieren.
"Invalid ID" ist interessanter.
ioBroker hat auch Logfile auf der Platte in /opt/iobroker/log