NEWS
[gelöst]Bei mir funktioniert der functions-Selector nicht, wo ist mein Fehler?
-
Guten Tag zusammen,
nachdem ich nun den ganzen einigermaßen guten Sonntag im Keller vor dem Bildschirm verbracht habe, der Puls langsam steigt und ich meinen Fehler immer noch nicht gefunden habe. Stelle ich Euch mal ein Frage wo ich den Fehler mache.
Ich möchte einen Selektor verwenden um bei meinen Rollladensteuerungen den Datenpunkt "LEVEL" abzufragen. Das klappt auch prima:
var cacheSelectorRollladenLevel = $('channel[state.id=*.LEVEL]').each(function(id) { log("R1: " + id); });
Als Logausgabe erhalte ich eine Menge Logzeilen. Leider zuviele, da auch die Dimmer und virtuellen Schalter der CCU in meiner Selektion enthalten sind. Deshalb habe ich meine Selektion um eine weitere Bedingung erweitert:
var cacheSelectorRollladenLevel = $('channelstate.id=*.LEVEL').each(function(id) { log("R1: " + id); });
Als Logausgabe erhalte ich nichts.
Unter der Objekte-Ansicht der iobroker Oberfläche habe ich allerdings enum.functions mit einer Auslistung "RL" und 2 Elementen. Meine enum Objekte habe ich mal als Screenshot dieser Frage angehängt.
Wäre prima wenn Jemand noch eine Idee hat wo der Fehler stecken könnte. Ich habe keine Idee mehr und muss erst einmal meinen Puls wieder senken .
Gruß Christoph
925_enum.functions.jpg -
Guten Tag zusammen,
nachdem ich nun den ganzen einigermaßen guten Sonntag im Keller vor dem Bildschirm verbracht habe, der Puls langsam steigt und ich meinen Fehler immer noch nicht gefunden habe. Stelle ich Euch mal ein Frage wo ich den Fehler mache.
Ich möchte einen Selektor verwenden um bei meinen Rollladensteuerungen den Datenpunkt "LEVEL" abzufragen. Das klappt auch prima:
var cacheSelectorRollladenLevel = $('channel[state.id=*.LEVEL]').each(function(id) { log("R1: " + id); });
Als Logausgabe erhalte ich eine Menge Logzeilen. Leider zuviele, da auch die Dimmer und virtuellen Schalter der CCU in meiner Selektion enthalten sind. Deshalb habe ich meine Selektion um eine weitere Bedingung erweitert:
var cacheSelectorRollladenLevel = $('channelstate.id=*.LEVEL').each(function(id) { log("R1: " + id); });
Als Logausgabe erhalte ich nichts.
Unter der Objekte-Ansicht der iobroker Oberfläche habe ich allerdings enum.functions mit einer Auslistung "RL" und 2 Elementen. Meine enum Objekte habe ich mal als Screenshot dieser Frage angehängt.
Wäre prima wenn Jemand noch eine Idee hat wo der Fehler stecken könnte. Ich habe keine Idee mehr und muss erst einmal meinen Puls wieder senken .
Gruß Christoph `
Bei mir funktioniert dein Selektor $('channelstate.id=*.LEVEL')Was hast du in RL drin?
48_2015-12-06_16_50_41-iobroker.admin.png -
Hi ChyHan,
die andere Funktionen wie $(functButton) sehen sehr komisch aus…
Ich habe bei mir ein Script, um alle Rolladen auf/zumachen:
function openBlinds(){ log("Opening blinds"); $('state[id=.LEVEL]').each(function(id, i){ var object = getObject(id); if(object.native.CONTROL == "BLIND.LEVEL") { log("Opening blind: "+getObject(id).common.name+" - "+id); setState(id, 100); } } }); }
@BlueFox: ich habe gesehen, dass Du und andere die Homematic IDs von Screenshots ausgraut. Was vermeidet ihr damit?.
-
@BlueFox: ich habe gesehen, dass Du und andere die Homematic IDs von Screenshots ausgraut. Was vermeidet ihr damit?. `
Das ist ganz ganz ganz theoretisch. :lol: Die Rolladen gehören bei mir zu nicht verschlüsselte Verbindung (kein AES) und falls jemand raus findet, wo ich wohne, dann kann er das Kommando in der Nähe senden (z.B. mit Homegear) um meine Rolladen zu steuern.Obwohl man kann natürlich sniffen und auch das Kommando senden.
-
@BlueFox: ich habe gesehen, dass Du und andere die Homematic IDs von Screenshots ausgraut. Was vermeidet ihr damit?. `
Das ist ganz ganz ganz theoretisch. :lol: Die Rolladen gehören bei mir zu nicht verschlüsselte Verbindung (kein AES) und falls jemand raus findet, wo ich wohne, dann kann er das Kommando in der Nähe senden (z.B. mit Homegear) um meine Rolladen zu steuern.Obwohl man kann natürlich sniffen und auch das Kommando senden. `
Ich hatte vorher alle HM Verbindungen secured gemacht, wo ich es machen könnte. Ich hatte aber so viele Nachteilen, dass ich seit 2-3 Wochen alles ohne AES mache:
-
VIELE unreach Meldungen
-
Homematic Repeaters funktionieren nicht
-
Es gibt keine echte Verschlüsslung: die Daten sind noch on the clear -> es wird nur gegen man-in-the-middle Atacks benutzt.
-
-
Im Moment sind 2 Rollladensteuerungen eingetragen:
-
Uhm, da sieht es gut aus…
Ich habe dein Selektor bei mir probiert
$('channel[state.id=*.LEVEL](functions=Blinds)').each(function(id) { log("R1: " + id); });
Und ich bekommen alle meine Rolladen im log. So es muss etwas anderes sein. Kannst Du das Raw (nur Experten) kopieren? Vielleicht sieht man etwas mehr.
[Edit]
Könntest Du die andere enum.functions löschen? Die sehen nicht gut aus und vielleicht verhindert, das iobroker das RL enum prozessieren kann.
-
Hier der raw Outout:
{ "desc": "", "common": { "name": "RL", "members": [ "hm-rpc.0.LEQxxxxxxx.1", "hm-rpc.0.LEQyyyyyyy.1" ] }, "native": { "Name": "RL", "TypeName": "ENUM", "EnumInfo": "" }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "enum.functions.RL", "type": "enum" }
Die anderen functions und rooms habe ich jetzt im iobroker und in der CCU gelöscht. Jetzt gibt es nur noch eine function hier:
Bisher keine Änderung am Ergebnis.
-
Hallo ChyHan
ich habe mich heute mit dem gleichen Problem beschäftigt.
Wollte alle Lichter zu einem bestimmten Zeitpunkt ausschalten und habe auch unter enum.function einen neuen Eintrag erzeugt.
und diesen dann per
$('channelstate.id=*.STATE').each(function(id,i) {…
abgefragt habe
auch hier kein Erfolgt.
Habe dann die Kiste wo ioBroker läuft neu gestartet und sieg da es geht.
Versuche es mal mit reboot.
Grß Norbert
-
Hier der raw Outout:
Bisher keine Änderung am Ergebnis. `
Deine enum RAW sieht wie meine auch. Kann es sein, dass das javascript Adaptor bei Dir nicht mehr lauft? Das ist mir ein paar mal passiert, wenn ich Sachen probiert habe.
Wenn Du ein log am Ende deine javascript schreibst, kannst Du es im Log sehen?
-
Hi Norbert,
ich sage mal nur: "lol". :lol:
Der Restart meiner "Himbeere" hat das Problem auch gelöst.
Einen Tag Problem wälzen in den Sand gesetzt, aber jetzt kann ich in Ruhe und zufrieden einschlafen.
Danke Norbert und auch danke an vegetto
Gruß Christoph