NEWS
Test Adapter Devices 0.3.x
-
@apollon77 said in Test Adapter Devices 0.3.x:
LowBat ist eher als Boolean gedacht, ja einen Volt Wert würde ich dort nicht reinschreiben, aber mittelen read logik kannst Du ja eine grenze definieren und true setzen wenn dein Wert <3V oder so ist.
Verzeih mir meine Unwissenheit, aber was ist den read logik ?
-
@martinschm
Man kann dem alias sagen er soll die Daten noch manipulieren, bevor er sie in den Alias State schreibt (read logik) oder aus dem alias state in den original state (write logik). Soweit ich weiß geht das bisher nur über die RAW Ansicht des Objekts. Dort dann sowas eintragen:"common": { "name": "Buero batteryWarning", "role": "indicator.lowbat", "type": "boolean", "read": true, "write": false, "smartName": false, "alias": { "id": "zigbee.0.00158d0003f3cea3.battery", "read": "val < 20" },
Also wichtig die Zeile "read". Hier wird aus einer Batterie % Anzeige eine Batteriewarnung, wenn die Batterie unter 20% fällt. Damit kann man relativ lustige Sachen machen. "val" ist dabei in read der Wert des target state (also hier zigbee.0.00158d0003f3cea3.battery) und bei write der Wert des alias state.
-
Hallo zusammen,
mein Alias.0 Ordner ist verschwunden. Mögliches versehentliches löschen nicht auszuschließenWas kann ich tun?
-
- ein aktuelles Backup anlegen
- ein altes Backup zurückspielen
- die Objekte aus dem Knoten alias.0 sichern (exportieren)
- das zuvor angelegte Backup zurückspielen
- die alias.0 Objekte importieren
-
@BBTown
Danke für die Rückmeldung.Muss ich das große Rad auch drehen, wenn ich keinen Bedarf an den alten Alias habe? Ich könnte die paar Alias auch flott händisch anlegen...
-
@muuulle sagte:
Ich könnte die paar Alias auch flott händisch anlegen...
Dann mache es.
const id = 'alias.0'; const obj = { type: 'meta', common: { name: 'Alias' }, native: {} }; if(!existsObject(id)) setObject(id, obj);
-
@paul53
Moin Paul,meine Programmierkenntnisse sind äußerst limitiert. Wo muss ich den Code einfügen?
-
-
@muuulle said in Test Adapter Devices 0.3.x:
Hallo zusammen,
mein Alias.0 Ordner ist verschwunden. Mögliches versehentliches löschen nicht auszuschließenWas kann ich tun?
Bist du sicher, dass er gelöscht wurde? Wenn keine Elemente darin sind, wird er nicht als "Ordner" angezeigt und landet im Admin in der Objekt-Ansicht ganz unten bei den States.
-
@paul53
Alles geklappt. Danke! -
@paul53 Ein "iobroker setup first" sollte auch reichen
-
@apollon77 sagte:
Ein "iobroker setup first" sollte auch reichen
Danke. Das hatte ich zwar vermutet, war mir aber nicht sicher.
-
@Garfonso said in Test Adapter Devices 0.3.x:
@martinschm
Man kann dem alias sagen er soll die Daten noch manipulieren, bevor er sie in den Alias State schreibt (read logik) oder aus dem alias state in den original state (write logik). Soweit ich weiß geht das bisher nur über die RAW Ansicht des Objekts. Dort dann sowas eintragen:"common": { "name": "Buero batteryWarning", "role": "indicator.lowbat", "type": "boolean", "read": true, "write": false, "smartName": false, "alias": { "id": "zigbee.0.00158d0003f3cea3.battery", "read": "val < 20" },
Also wichtig die Zeile "read". Hier wird aus einer Batterie % Anzeige eine Batteriewarnung, wenn die Batterie unter 20% fällt. Damit kann man relativ lustige Sachen machen. "val" ist dabei in read der Wert des target state (also hier zigbee.0.00158d0003f3cea3.battery) und bei write der Wert des alias state.
Moin @Garfonso
LOWBAT hat mit deiner Anleitung super funktioniert.
Meine aqara Sensoren kennen nur reachable. Kann man den Wert invertieren, dass ich UNREACH richtig füttern kann? -
@muuulle sagte:
Kann man den Wert invertieren, dass ich UNREACH richtig füttern kann?
"read": "!val" // Alias read invertieren
-
@paul53
Super.
Ich habe jetzt alle meine unterschiedlichen Geräte vom Output vereinheitlicht.Könnte ich jetzt auch alle LOWBAT/UNREACH mit nur einer Abfrage (Blockly?) anfragen?
Vielen Dank
-
@muuulle schau mal hier rein:
https://forum.iobroker.net/topic/23370/fenster-und-andere-geräte-zählen-opt-alexa-ansagen/627
Für Hoematic wurde da schon was umgesetzt. Ich bin auch auf Xiaomi-Sensoren unterwegs und @dslraser baut dafür ggf. auch etwas. Wenn das nicht klappt, geh ich ggf auch über Alias. -
@muuulle sagte:
Könnte ich jetzt auch alle LOWBAT/UNREACH mit nur einer Abfrage (Blockly?) anfragen?
Ja, jeweils für LOWBAT bzw. UNREACH mittels $Selector().
-
@muuulle
Wenn sie alle gleich heißen, dann mit Javascript z.B. so://wenn struktur alias.0.Gerät.Unreach. Wenn noch mehr "Ordner" noch öfter .* einfügen. $('[id=alias.0.*.UNREACH]').each(id => { //was mit id machen, z.B. getState(); });
-
@Garfonso
Danke. Wird am Wochenende gleich ausprobiert -
Vielleicht kann mir hier jemand helfen. Ich habe mehrer fragen zu iobroker.devices 0.3.6:
- Wieso wirft der "Geräte Manager" ohne Fehlermeldung "states" wieder heraus?
- Soweit ich herausgefunden habe, muss "role" und "type" des Datenpunktes mit der Vorgabe übereinstimmen. Aber z.B. wird unter Thermostate unter BOOST folgendes erwartet: "number, write, role=switch.power". Da kann ich createState() nutzen wie ich möchte diesen Datenpunkt wirft er mir immer wieder heraus. Dabei steht in der Dokumentation von IOBroker das ein "role=switch" ein boolean sein sollte (was aber auch nicht funktioniert). iobroker.Dokumentation
- Wieso werden Datenpunkt mit vorgegeben smartname (erzeugt durch andere Adapter) nicht durchs hiden (Disable smart) gelöscht?
- Was darf man alles in den alias Read/Write Funktionen von javascript benutzen? z.B. "Round()" etc. ist klar aber auch ein richtig ausgeschriebene "if else" oder nur das kurze "? :", welche variablen außer "val" sind erlaubt usw.?