@sigi234 Ja, mit dem aktuellen geht es nicht.
Hast Du einen Tipp für mich, wo ich einen 2018er Installer finden kann? Hatte gestern schon erfolglos danach gesucht...
NEWS
Latest posts made by radioman
-
RE: IO Broker unter Windows deinstallieren
-
RE: IO Broker unter Windows deinstallieren
@wolfgangfb Hallo Wolfgang, ich habe exakt das gleich Problem - wie ich gerade beim Computer ausmisten feststelle. Ich hatte mir Ende 2018 auf Windows mal eine Testinstallation gemacht und dann vergessen, da ich es schlussendlich auf einem RasPi installiert habe.
(Wie) Bist Du die alte Installation schlussendlich losgeworden? -
RE: sprechender Device-Name statt ID
@Jey-Cee said in sprechender Device-Name statt ID:
https://forum.iobroker.net/topic/36837/das-volle-potential-der-objekte-nutzen
Top, hatte ich noch nicht auf dem Schirm - vielen Dank!
-
RE: sprechender Device-Name statt ID
Vielen Dank, @Jey-Cee - Dein Insiderwissen beim deconz Adapter ist Top!
Aber wenn ich wieder einmal wie die Ochs vorm Tor stehe: woher bekomme ich solche Infos, was ein Adapter alles bereitstellt? Ich habe ja nur geraten, dass wenn "Model ID" übersetzt "modelid" heißt dann "Manufacturer" "manufacturer" heißen könnte. Auf "manufacturername" bin ich leider nicht gekommen. In für mich verständlichen Dokus hatte ich nichts gefunden und auch wenn ich jetzt nach native* suche finde ich nichts baruchbares.
Das mit *.common.name hatte ich zwar vorher über die Suchfunktion des Forums auch gefunden und auch in der Doku mich belesen, aber scheinbar einen Fehler drin gehabt, denn ich bekam darüber nur die names der Datenpunkte selber raus.
-
RE: sprechender Device-Name statt ID
@Jey-Cee said in sprechender Device-Name statt ID:
native.modelid
Super - Ihr seid klasse (& schnell). Besten Dank.
Es ist sicherlich etwas naiv von mir, über native.manufacturer gleich noch an den Hersteller rankommen zu wollen, oder?
$('deconz.0.lights.*.bri').each(function (id) { id = id.substring(0, id.lastIndexOf('.')); console.log("Name: " + getObject(id).common.name); console.log("Name2: " + getObject(id).native.modelid); console.log("Name4: " + getObject(id).native.manufacturer); console.log("Name3: " + getObject(id).native); id = id.substring(0, id.lastIndexOf('.')); console.log("Gruppe: " + getObject(id).common.name);
Aber der jetzige Log davon, bringt mich auch schon viel weiter:
16:03:10.464 info javascript.0 (1573) script.js.common.Licht_Dimmer: Name: OZ_Decke2
16:03:10.464 info javascript.0 (1573) script.js.common.Licht_Dimmer: Name2: LCA001
16:03:10.465 info javascript.0 (1573) script.js.common.Licht_Dimmer: Name4: undefined
16:03:10.466 info javascript.0 (1573) script.js.common.Licht_Dimmer: Name3: [object Object]
16:03:10.467 info javascript.0 (1573) script.js.common.Licht_Dimmer: Gruppe: Lights -
RE: sprechender Device-Name statt ID
Dankeschön @paul53 - klappt damit wunderbar:
$('deconz.0.lights.*.bri').each(function (id) { id = id.substring(0, id.lastIndexOf('.')); console.log("Name: " + getObject(id).common.name); id = id.substring(0, id.lastIndexOf('.')); console.log("Gruppe: " + getObject(id).common.name);
Noch eleganter wäre natürlich, wenn ich sogar gleich auf das Lampenmodell zugreifen könnte - gibt es da auch etwas?:
-
sprechender Device-Name statt ID
Kann man mit JavaScript die Device-Namen auslesen und Datenpunkte nur bestimmter Devices - über deren sprechenden Namen - ansprechen?
Ich würde gern im Log die sprechenden Namen (rot eingerahmt) statt der IDs (blau eingerahmt) ausgeben und auch im Script verwenden können.
Derzeit mache ich es von hinten durch die Brust über geschachtelten Schleifen mittels
$('deconz.0.lights.*.ct').each(function (id) { let idstring = id.replace("ct",""); if (getState(idstring+"xy").val) {
indem ich erst alle Devices suche, die einen bestimmten Datenpunkt enthalten (z.b. alle, die eine Farbtemperatureinstellung zulassen = alle Hue-Lampen), um dann über einen zweiten Datenpunkt die wieder rauszuwerfen die ich nicht brauche (z.B. alle, die eine Farbeinstellung zulassen werfe ich wieder raus, um schlussendlich an die Ambilight-Lampen ohne die Color-Lampen zu kommen).
Wo wir gerade dabei sind: wie kann man eigentlich die Schriftgröße in der ioBroker Objects Ansicht ändern? Bei mir werden die Buchstaben der Namen (komischerweise nur bei diesen) immer unten abgeschnitten - siehe Screenshot oben. Es scheint so, dass (nur) die Namen einen größeren Abstand zu ihrer jeweiligen Zeilengrenze oben einhalten müssen und deshalb nach unten versetzt sind.
-
RE: (gelöst) Umwandlung: String-->Array-->String
Oh, man - war ich blind. Ich ahnte zwar, dass ich den String richtig zusammengebaut hatte (deshalb war ich ja auch der Meinung, dass es an etwas anderem liegen müsste), nur habe ich nicht dran gedacht, dass ich das Array hinterher wieder mit JSON.stringify zurückwandeln muss, um ihn einem Datenpunkt zuweisen und dann endlich in VIS über eine Json-Tabelle anzeigen zu können. Deshalb habe ich (bei einem kompletten Array unsinnigerweise) versucht, über console.log den Fehler zu finden.
Dank Eurer Hilfe, hab ich es jetzt hinbekommen:StringValue = StringValue+',StringValue = '['; . . .{"S1":'+'"'+SpalteC+'","S2":"'+SpalteA+'","S3":"'+SpalteB+'","S4":"'+SpalteD+'","S5":"'+SpalteE+'","S6":"'+SpalteF+'","S7":"'+SpalteG+'"}'; StringValue = StringValue+']'; var test = JSON.parse(StringValue); test.sort(function(a, b) { if(a.S5 < b.S5) return -1; if(a.S5 > b.S5) return 1; return 0; }); setState('javascript.2.TabelleTest', JSON.stringify(test)); }
Vielen Dank!
... ich werde den Threat-Titel gleich noch anpassen, damit die Forums-Suchfunktion nicht falsch anschlägt.
-
RE: (gelöst) Umwandlung: String-->Array-->String
Hallo Oliver, stimmt - hatte ich vergessen zu schreiben - habe gestern erst/auch bemerkt, dass ich schon einen Schritt vorm sort() hängen bleibe.
Das mit dem data weglassen hatte ich auch schon probiert, aber da klemmt es anders:Woran könnte das liegen?
-
RE: (gelöst) Umwandlung: String-->Array-->String
Hallo paul53,
das hatte ich sogar sehr früh gefunden und sofort probiert. Aber irgendwo liegt bei mir der Hund begraben - es klappt nicht und ich finde diesen Hund nicht. Kannst Du bitte mal schauen, ob Du "ihn" findest:StringValue = '['; . . . StringValue = StringValue+',{"S1":'+'"'+SpalteC+'","S2":"'+SpalteA+'","S3":"'+SpalteB+'","S4":"'+SpalteD+'","S5":"'+SpalteE+'","S6":"'+SpalteF+'","S7":"'+SpalteG+'"}'; StringValue = StringValue+']'; StringValue = StringValue.replace(/ /g, ""); //testweise zum besseren lesen des Logs console.log(StringValue); var test = JSON.parse(StringValue).data; console.log("Inhalt von Test: " + test);
ergibt:
Hier der String von "StringValue" nochmal per copy&paste eingefügt:
[{"S1":"00:16","S2":"S1","S3":"Meißen","S4":"0","S5":"24","S6":"2","S7":"S-Bahn"},{"S1":"00:19","S2":"RE","S3":"DresdenHbf","S4":"0","S5":"27","S6":"1","S7":"Zug"},{"S1":"00:21","S2":"475","S3":"Friedewald","S4":"0","S5":"29","S6":"0","S7":"Regionalbus"},{"S1":"00:34","S2":"475","S3":"RadebeulKötzsch","S4":"0","S5":"42","S6":"0","S7":"Regionalbus"},{"S1":"00:40","S2":"S1","S3":"DresdenHbf","S4":"0","S5":"48","S6":"0","S7":"S-Bahn"},{"S1":"04:31","S2":"RE","S3":"LeipzigHbf","S4":"0","S5":"279","S6":"0","S7":"Zug"},{"S1":"04:40","S2":"S1","S3":"BadSchandau","S4":"0","S5":"288","S6":"0","S7":"S-Bahn"},{"S1":"04:46","S2":"S1","S3":"Meißen","S4":"0","S5":"294","S6":"0","S7":"S-Bahn"},{"S1":"00:04","S2":"4","S3":"BtfTrachenberge","S4":"0","S5":"12","S6":"1","S7":"Straßenbahn"},{"S1":"00:05","S2":"4","S3":"Weinböhla","S4":"0","S5":"13","S6":"2","S7":"Straßenbahn"},{"S1":"00:19","S2":"4","S3":"Laubegast","S4":"0","S5":"27","S6":"1","S7":"Straßenbahn"},{"S1":"00:35","S2":"4","S3":"RadebeulWest","S4":"0","S5":"43","S6":"2","S7":"Straßenbahn"},{"S1":"01:04","S2":"4","S3":"BtfTrachenberge","S4":"0","S5":"72","S6":"1","S7":"Straßenbahn"},{"S1":"01:05","S2":"4","S3":"Weinböhla","S4":"0","S5":"73","S6":"2","S7":"Straßenbahn"},{"S1":"01:19","S2":"4","S3":"Laubegast","S4":"0","S5":"87","S6":"1","S7":"Straßenbahn"},{"S1":"02:05","S2":"4","S3":"Weinböhla","S4":"0","S5":"133","S6":"2","S7":"Straßenbahn"},{"S1":"02:19","S2":"4","S3":"Laubegast","S4":"0","S5":"147","S6":"1","S7":"Straßenbahn"}]