@BBTown den ich gerade erstellt habe: https://forum.iobroker.net/topic/25772/fragen-antworten-rund-um-die-neue-alias-funktion
NEWS
Best posts made by NightWatcher
-
RE: Anwesenheitscontrol basierend auf TR64 Adapter - Script
Guten Abend,
ich habe das Script mal ein wenig optimiert,entschlankt, so angepasst dass unlimitiert Anwesenheitssätze eingebaut werden können (das Array in Zeile 29 muss einfach erweitert werden) und eine HTML String Liste für das Material Design eingebaut.
1534_anwesenheitscontrol.txt -
RE: Test installer ioBroker Experimental-Edition
@klassisch genau wie bei mir. Bin auch auf die alte Version zurück und habe per npm aktualisiert. Mit der exe hier habe ich genau das Problem auch gehabt.
-
RE: Fragen / Antworten rund um die neue Alias Funktion
@sigi234 sagte in Fragen / Antworten rund um die neue Alias Funktion:
@NightWatcher sagte in Fragen / Antworten rund um die neue Alias Funktion:
Kurzes Feedback von meiner Seite: Auch hier sehen die Aliases nun gut aus
Überall wird der korrekte aktuelle umgerechnete Wert angezeigt. Spitze. Ein Killerfeature meines Erachtens.
So Richtig verstehe ich die Alias noch nicht.
In meinem Fall kann ich ein weiteres Beispiel nennen, wofür ch sowas schon seit Monaten hätte brauchen können (und sogar nicht mal wusste, dass es bereits seit längerem für die Art einen Adapter gibt.
Bei uns im Haus übernimmt für alle unabdingbaren Sachen eine WAWO SPS die Arbeit. Ich möchte mich da niemals auf einen PC oder andere Software verlassen müssen. Nur Komfortsachen, auf die man auch mal verzichten kann, laufen bei uns über ioBroker.
Die Wago Arbeitet aber z.b. bei Rollläden, Licht usw immer mit Wert 0-255. Sowohl in der Visualisierung, als auch bei iot ist es aber üblich, mit 0-100 zu arbeiten.
Die aliase rechnen für mich den Wert nun also um. iot und die vis lesen und schreiben fortan also auf die aliase. die aliase rechnen es um, und schreiben es auf den original Datenpunkt.
Beispiel:
-
RE: Test Adapter lovelace v1.2.x
@garfonso sagte in Test Adapter lovelace v1.2.x:
@nightwatcher
ja. Stimmt. Probier mal die Version von Github ( https://github.com/Garfonso/iobroker.lovelace ) und sag mir, ob es damit geht.Sorry für die späte Antwort. Kam erst heute dazu, mal wieder zu aktualisieren und zu testen. Die ersten Tests scheinen positiv zu sein
Wenn mir noch mal was auffällt, melde ich mich. Danke schonmal für die Hilfe.
-
RE: Fragen / Antworten rund um die neue Alias Funktion
Nope, er ändert sich niemals. Ich habe testhalber genau den Wert im Video bereits einige Tage auf der vis. Und der Rollladen fährt jeden Tag mindestens 2x.
Der Wert bleibt immer NaN.
Latest posts made by NightWatcher
-
RE: Szene über KNX an Google Home übermitteln
Keiner eine Idee, wie man die Szenen an den Google Assistant bekommt?
Inzwischen habe ich die Szenen sogar im Szenen Adapter angelegt, aber auch damit funktioniert es irgendwie nicht
-
Szene über KNX an Google Home übermitteln
Ich habe in iobroker, mit dem ich die Szenen im KNX Bus steuere und auch andersrum. Das funktioniert auch soweit. Also ich schreibe in das Szenen Objekt die Nummer und er wird mit auf den KNX Bus geschickt.
Nun habe ich leider erfolglos versucht, dieses Szene Objekt an den iot Adapter anzubinden. Er wirft mir jedes mal einen Fehler im Log.
iot.0 2022-11-20 17:24:53.848 error [GHOME] Cannot updateStates: [object Object] iot.0 2022-11-20 17:24:53.427 error [GHOME] TypeError: Cannot read property 'val' of undefined at GoogleHome.updateStates (/opt/iobroker/node_modules/iobroker.iot/lib/googleHome.js:2355:53) iot.0 2022-11-20 17:24:53.427 error [GHOME] TypeError: Cannot read property 'val' of undefined iot.0 2022-11-20 17:24:53.337 error [GHOME] Error: The id is empty! Please provide a valid id. iot.0 2022-11-20 17:24:53.266 error [GHOME] Error: The id is empty! Please provide a valid id. iot.0 2022-11-20 17:24:53.156 error [GHOME] TypeError: Cannot read property 'val' of undefined at GoogleHome.updateStates (/opt/iobroker/node_modules/iobroker.iot/lib/googleHome.js:2355:53) iot.0 2022-11-20 17:24:53.155 error [GHOME] TypeError: Cannot read property 'val' of undefined
Ich nehme daher an, dass der Adapter das eine Objekt nicht in eine Szene umwandeln kann, da ioBroker, so wie ich das verstehe, pro Szene ein Objekt anlegt.
Wie wäre nun das korrekte vorgehen, die Szenen aus dem KNX Bus sauber in Iobroker anzulegen, dass ich Sie dort mit weiteren Adaptern nutzen kann?
Habe heute leider bereits erfolglos den halben Tag mit unterschiedlichsten Versuchen verbracht.
Über den devices Adapter geht es wohl auch nicht, da der keinen Typ Szene kennt.
-
RE: Test Adapter lovelace v1.2.x
@system-9 sagte in Test Adapter lovelace v1.2.x:
@NightWatcher
mit der Lamellen steuerung habe ich bei daikin leider auch noch probleme. Kannst du dein JS Skript posten, wie du das umgesetzt hast ?Sorry, total verpennt. Hier nun mein erste rudimentäres Script.
Bei mir funktioniert es soweit, kann aber gerne noch ausgebaut werden. Mehr brauchte ich zum aktuellen Zeitpunkt noch nicht.
// Zum Konvertieren der Lovelace Objekte in Tuya passende Objekte createState('javascript.0.Klimanlage.mode', 0, false, { name: "MODE", read: true, write: true, desc: 'MODE', type: 'state', "states": { "0": "off", "1": "auto", "2": "heat", "3": "cool", "4": "heat_cool", "5": "dry", "6": "fan_only" }, role: 'value' }); createState('javascript.0.Klimanlage.swing_modes', 0, false, { name: "SWING_MODES", read: true, write: true, desc: 'SWING_MODES', type: 'state', "states": { "0": "off", "1": "HORIZONTAL", "2": "3D", "3": "VERTICAL" }, role: 'value' }); var mapMode = [ 3, // Kühlen 2, // Heizen 5, // Entfeuchten 6, // Nur Lüfter 1, // Auto ]; on({id: ['tuya.0.31101288e098069c0c93.113'/*UP_DOWN SWING*/, 'tuya.0.31101288e098069c0c93.114'/*LEFT_RIGHT_SWING*/], change: 'ne'}, function (obj) { var lr = getState('tuya.0.31101288e098069c0c93.114').val, ud = getState('tuya.0.31101288e098069c0c93.113').val; var newState = 0; if(lr && !ud) newState = 1; else if (!lr && ud) newState = 3; else if (lr && ud) newState = 2; setState('javascript.0.Klimanlage.swing_modes', newState, true); }); on({id: 'tuya.0.31101288e098069c0c93.1'/*Power*/, change: 'ne'}, function (obj) { if(getState('tuya.0.31101288e098069c0c93.1').val) setState('javascript.0.Klimanlage.mode', mapMode[getState('tuya.0.31101288e098069c0c93.4').val], true); else setState('javascript.0.Klimanlage.mode', 0, true); }); on({id: 'tuya.0.31101288e098069c0c93.4'/*mode*/, change: 'ne'}, function (obj) { setState('javascript.0.Klimanlage.mode', mapMode[obj.state.val], true); }); on({id: 'javascript.0.Klimanlage.mode', change: 'any'}, function (obj) { if(obj.state.ack) // Nur wenn die Mode per Vis umgestellt wird return; setState('tuya.0.31101288e098069c0c93.1'/*Power*/, (obj.state.val > 0)); if(obj.state.val > 0) setState('tuya.0.31101288e098069c0c93.4'/*Mode*/, mapMode.indexOf(obj.state.val)); }); on({id: 'javascript.0.Klimanlage.swing_modes', change: 'any'}, function (obj) { if(obj.state.ack) // Nur wenn die Mode per Vis umgestellt wird return; switch(obj.state.val) { case 0: setState('tuya.0.31101288e098069c0c93.113'/*UP_DOWN SWING*/, '0'); setState('tuya.0.31101288e098069c0c93.114'/*LEFT_RIGHT_SWING*/, '0'); setState('tuya.0.31101288e098069c0c93.126' /*UP_DOWN_FREEZE*/, '3'); setState('tuya.0.31101288e098069c0c93.127' /*LEFT_RIGHT_FREEZE*/, '3'); break; case 1: setState('tuya.0.31101288e098069c0c93.113'/*UP_DOWN SWING*/, '0'); setState('tuya.0.31101288e098069c0c93.114'/*LEFT_RIGHT_SWING*/, '1'); setState('tuya.0.31101288e098069c0c93.126' /*UP_DOWN_FREEZE*/, '3'); setState('tuya.0.31101288e098069c0c93.127' /*LEFT_RIGHT_FREEZE*/, '0'); break; case 2: setState('tuya.0.31101288e098069c0c93.113'/*UP_DOWN SWING*/, '1'); setState('tuya.0.31101288e098069c0c93.114'/*LEFT_RIGHT_SWING*/, '1'); setState('tuya.0.31101288e098069c0c93.126' /*UP_DOWN_FREEZE*/, '0'); setState('tuya.0.31101288e098069c0c93.127' /*LEFT_RIGHT_FREEZE*/, '0'); break; case 3: setState('tuya.0.31101288e098069c0c93.113'/*UP_DOWN SWING*/, '1'); setState('tuya.0.31101288e098069c0c93.114'/*LEFT_RIGHT_SWING*/, '0'); setState('tuya.0.31101288e098069c0c93.126' /*UP_DOWN_FREEZE*/, '0'); setState('tuya.0.31101288e098069c0c93.127' /*LEFT_RIGHT_FREEZE*/, '3'); break; } });
Die DP müsstest du dann auf deine Bedürfnisse noch anpassen. Die IDs werden anders heissen.
-
RE: Test Adapter lovelace v1.2.x
@garfonso sagte in Test Adapter lovelace v1.2.x:
@nightwatcher
Das überrascht mich bei deinem Screenshot auch nicht. Daher empfehle ich alias anlegen (ggf., falls tuya erkennen kann, dass es eine Klimaanlage ist, da mal ein issue machen, dass die Rollen vernünftig vergeben). Alias Anlegen geht relativ einfach / gut mit dem Geräte-Tab für einzelne Geräte.Nichts anderes hatte ich auch gesagt.
Meine Klima kann einfach mehr, wie es von iobroker unterstützt wird. Habe nun aber alles per js umgesetzt. Jetzt kann ich sogar die Lamellen in alle Richtungen und Positionen steuern und einiges mehr. Das würde über den Geräte Adapter leider alles nicht gehen.
-
RE: Test Adapter lovelace v1.2.x
@garfonso sagte in Test Adapter lovelace v1.2.x:
@nightwatcher
wenn das Gerät als Klimaanlage gefunden wird (im Geräte Tab) und dein An/Aus State da bei Power auftaucht, dann sollte das gehen. Zumindest, wenn ich dein Problem richtig verstanden habe.Ich habe hier jedenfalls eine Klimaanlage in Betrieb, die Modes & extra State für An/Aus hat und das klappt wie beschrieben ganz gut. Der Adapter führt eigentlich das zusammenführen von states und on/off selber durch. Dazu kann man dann noch den Lüfter und swing und so Zeug steuern.
Was nicht klappen wird, ist, manuell ein climate entity anzulegen. Vielleicht sollte ich so manche typen bei manuell mal rausnehmen. kopfkratz Oder zumindest mit einer Warnung versehen.
Also meine Klimaanlage wird vom System so erkannt ^^ Das ist natürlich Käse
-
RE: Test Adapter lovelace v1.2.x
@nightwatcher sagte in Test Adapter lovelace v1.2.x:
Hat jemand eine Idee, wie ich eine Klimaanlage, die die Modis und on/off auf eigenen Datenpunkten hat, sauber in lovelace reinbekomme? Wenn ich das JS richtig interpretiere, so wird aktuell nur einer von beiden Datenpunkten unterstützt. Die Modes klappen sauber. Ein/Aus bekomme ich aber leider nicht in die Lovelace Card rein
Die Klimaanlage wird über den Tuya Adapter gesteuert. Anbei ein Screenshot der Datenpunkte.
Ich zitiere mich mal selber. Habe es nun über ein eigenes Script gelöst, dass die Objekte zusammenfasst.
Falls es jemand gebrauchen kann, hier meine erste Lösung:
// Zum Konvertieren der Lovelace Objekte in Tuya passende Objekte createState('javascript.0.Klimanlage.mode', 0, false, { name: "MODE", read: true, write: true, desc: 'MODE', type: 'state', "states": { "0": "off", "1": "auto", "2": "heat", "3": "cool", "4": "heat_cool", "5": "dry", "6": "fan_only" }, role: 'value' }); var mapMode = [ 3, // Kühlen 2, // Heizen 5, // Entfeuchten 6, // Nur Lüfter 1, // Auto ]; on({id: 'tuya.0.31101288e098069c0c93.1'/*Power*/, change: 'ne'}, function (obj) { if(getState('tuya.0.31101288e098069c0c93.1').val) setState('javascript.0.Klimanlage.mode', mapMode[getState('tuya.0.31101288e098069c0c93.4').val], true); else setState('javascript.0.Klimanlage.mode', 0, true); }); on({id: 'tuya.0.31101288e098069c0c93.4'/*mode*/, change: 'ne'}, function (obj) { setState('javascript.0.Klimanlage.mode', mapMode[obj.state.val], true); }); on({id: 'javascript.0.Klimanlage.mode', change: 'any'}, function (obj) { if(obj.state.ack) // Nur wenn die Mode per Vis umgestellt wird return; if(obj.oldState.val != obj.state.val && obj.state.val == 0) // Wird ausgeschaltet setState('tuya.0.31101288e098069c0c93.1'/*Power*/, false); else setState('tuya.0.31101288e098069c0c93.4'/*Mode*/, mapMode.indexOf(obj.state.val)); });
-
RE: Test Adapter lovelace v1.2.x
Hat jemand eine Idee, wie ich eine Klimaanlage, die die Modis und on/off auf eigenen Datenpunkten hat, sauber in lovelace reinbekomme? Wenn ich das JS richtig interpretiere, so wird aktuell nur einer von beiden Datenpunkten unterstützt. Die Modes klappen sauber. Ein/Aus bekomme ich aber leider nicht in die Lovelace Card rein
Die Klimaanlage wird über den Tuya Adapter gesteuert. Anbei ein Screenshot der Datenpunkte.
-
Lovelace und History Graph mit sehr vielen Einträgen
Mein Shelly 3em schreibt recht viele Einträge in die InfluxDB, sodass z.b. am Tag gerne mal über 10.000 Einträge und mehr zusammenkommen. Dies schafft Lovelace dann nicht mehr in vernünftiger Zeit zu verarbeiten. Wäre es nicht irgendwie möglich, die Anzahl der Einträge für den selektierten Zeitraum zu holen und dann gegenprüfen, wieviele Einträge lovelace für den Graph maximal holen darf (Default glaub 2000). Lovelace würde dann Mittelwerte berechnen, sodass auch wirklich mit den maximal 2.000 Einträgen ein kompletter Graph gefüllt werden kann.
Oder gibt es eine andere/bessere Lösung für das Problem?
-
RE: Test Adapter lovelace v1.2.x
@david-g die ist nicht wirklich eine custom card. Die markdown card gehört zum core von lovelace. Durch den custom Befehl kann es halt in dem image card verwendet werden.
-
RE: Test Adapter lovelace v1.2.x
@david-g Danke für den Hinweis auf die Karte. Da ich das markdown innerhalb einer picture-elements Karte brauche, und die markdown nicht unterstützt, bin ich zu custom:hui-markdown-card übergegangen. Funktioniert auch soweit. Leider ist das vom Styling nun allerdings eine Karte in der Karte und ich bekomme mit dem Style Attribute leider Rahmen und Aussenabstände nicht entfernt, da diese auf ein Kindelement angewandt werden. Hat da vielleicht jemand ne Idee? Habe auch bereits ein wenig was probiert...