Einfach mal zeigen will..... :-) - Teil 2

slemy
starter
Beiträge: 71
Registriert: 08.10.2017, 21:09

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von slemy » 08.10.2018, 15:03

Hmmm , kannst du nicht einfach den Ordner unter /opt/iobroker/iobroker-data/files/vis.0/dein-name/ rauskopieren und als Rar packen oder so ?
Ich habe mal getestet und funktioniert auch so , keine Ahnung was genau da anonymisiert wird aber so geht auch .

helfi9999
starter
Beiträge: 25
Registriert: 21.05.2018, 16:09

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von helfi9999 » 08.10.2018, 16:54

Hi sigi234,
hätte auch interesse an deiner Vis vor allen an der Kodi Vis. Müsstest mir mal erklären wie du den Kodi aktiviert hast hänge schon seit 2 Wochen daran den Adapter ans laufen zu bekommen aber es klappt nicht.

Gruß
helfi

sigi234
professional
Beiträge: 625
Registriert: 12.06.2017, 21:22

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von sigi234 » 08.10.2018, 18:58

Zeige mal deine Einstellungen............
MfG
Sigi

painkillerde
professional
Beiträge: 136
Registriert: 29.01.2017, 19:42

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von painkillerde » 09.10.2018, 09:56

thexbrain hat geschrieben:
07.10.2018, 09:02
Hi,
Könntest du mir bitte dein export von den Fenstern geben?
Ich hatte von Seite 11 dein Projekt runtergeladen aber irgedwie bekomme ich das nicht eingefügt.
Ich bräuchte nur für die Fenster was.

Danke dir schon mal ;)
gerne ... IDs sind anaonym...

fenster.txt
(88.59 KiB) 47-mal heruntergeladen
Grüße Daniel

ioBroker auf Qnap TS-251A 8GB (Docker), Homamatic CCU2 + ca 50 Geräte (Aktoren, Sender, Sensoren), Alexa Echo, Alexa Echo Dot, Vu+ Duo2, Logitech Harmony Elite, Fronius Wechselrichter, Viessman Heizung + vControl

http://www.painkiller.de

painkillerde
professional
Beiträge: 136
Registriert: 29.01.2017, 19:42

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von painkillerde » 09.10.2018, 10:03

Rummelmugge hat geschrieben:
07.10.2018, 13:14
[
Wie sichert ihr euch denn gegen Stromausfälle?
Hatte das gleiche, allerdings war das letzte Backup 8 Monate alt. Ich glaub, da war ich dann ne Stunde im Keller zum Heulen...
Seit dem nehm ich das BackItUp-AddOn und sicher aller 2 Tage auf meine NAS - die wiederum sichert jede Nacht aufs Strato-Hidrive.
Grüße Daniel

ioBroker auf Qnap TS-251A 8GB (Docker), Homamatic CCU2 + ca 50 Geräte (Aktoren, Sender, Sensoren), Alexa Echo, Alexa Echo Dot, Vu+ Duo2, Logitech Harmony Elite, Fronius Wechselrichter, Viessman Heizung + vControl

http://www.painkiller.de

tugsi
starter
Beiträge: 16
Registriert: 14.05.2018, 18:23

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von tugsi » 11.10.2018, 17:10

Frank.H hat geschrieben:
07.10.2018, 13:37
@tugsi

Mit diesem Script kannst den LOWBat deiner Xiaomi auslesen :-D
Nicht von mir, habe ich im Forum gefunden. Funktioniert auch soweit sehr gut.
Allerdings erkennt er natürlich keine HM-Sensoren, den HM LowbatScript parallel unter einem anderen Namen laufen zu lassen funktioniert bei mir leider nicht :-(
@Frank.H

Danke für das Script, aber das klappt bei mir leider nicht :(

Die Xiaomis (Aqara) haben kein LowBat sondern einfach ein Battery, da habe ich schon mal die eine Zeile so angepasst:

Code: Alles auswählen

var cacheSelectorLOWBAT  = $('channel[state.id=*.battery]');         // HIER HABE ICH NUN AUF DEIEN PROZENT WERT VERWIESEN
Damit erreiche ich schon mal, dass er meine 13 Geräte auch durchzählt und auch sagt das X sich melden.
Danach habe ich aber folgende Meldungen im Log:
Spoiler: Show hidden text

Code: Alles auswählen

7:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 1: meldet: true
17:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 2: meldet: true
17:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 3: meldet: true
17:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 4: meldet: true
17:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 5: meldet: true
17:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 6: meldet: true
17:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 7: meldet: true
17:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 8: meldet: true
17:48:53.911	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 9: meldet: true
17:48:53.912	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 10: meldet: true
17:48:53.913	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 11: meldet: true
17:48:53.913	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Geräte Nr. 12: meldet: true
17:48:53.913	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Text: , , , , , , , , , , ,
17:48:53.913	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Anzahl Geräte: 13 # davon LOWBAT erkannt: 12
17:48:53.913	[info]	javascript.0 script.js.Batterieanzeige.LowBat: registered 13 subscriptions and 1 schedule
17:50:00.910	[info]	javascript.0 script.js.Batterieanzeige.LowBat: Ausgelöst bei Timer
Nach der Gerätenummer sollte der "Devicename" kommen, doch der wird ja im Script noch gekürzt vom "Battery percent".
Schaue ich mir im RAW das an, dann ist der Device Name aber nur der "Battery percent" .
Spoiler: Show hidden text

Code: Alles auswählen

{
  "type": "state",
  "common": {
    "name": "Battery percent",
    "type": "number",
    "unit": "%",
    "read": true,
    "write": false,
    "role": "battery.percent",
    "min": 0,
    "max": 100,
    "icon": "img/battery_p.png"
  },
  "from": "system.adapter.zigbee.0",
  "ts": 1539273177032,
  "_id": "zigbee.0.00158d0002320570.battery",
  "acl": {
    "object": 1636,
    "state": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  },
  "native": {}
}
Im Grunde müsste ich erst eine Ebene höher springen, um dann dort den Namen auszulesen.
Spoiler: Show hidden text

Code: Alles auswählen

{
  "type": "device",
  "common": {
    "name": "Aussentemperatur",
    "type": "lumi.weather",
    "icon": "img/aqara_temperature_sensor.png"
  },
  "from": "system.adapter.zigbee.0",
  "ts": 1539209821969,
  "_id": "zigbee.0.00158d0002320570",
  "acl": {
    "object": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  },
  "user": "system.user.admin",
  "native": {}
}
Kennt da einer den Weg? Oder denke ich falsch?

Sollte dies hier schon zu OffTopic sein, dann bitte melden und als eigenen Thread o.ä. verschieben :-)

elmo25674
Beiträge: 5
Registriert: 29.09.2018, 05:32

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von elmo25674 » 12.10.2018, 05:11

Rummelmugge hat geschrieben:
07.10.2018, 13:14

Hallo Christian,

geplant hatte ich, mich heute nochmal an den export zu begeben. Gestern beim Aufbauen meiner neuen Küche ist dann der Supergau passiert. FI ist rausgeflogen und hat dabei meine iobroker installation gekillt. Die Dateien konnte ich zwar noch kopieren, und mit einem 1 Monate alten Backup vieles wiederherstellen, aber die gezeigte Smartphone UI ist nach dem Backup erstellt worden und ich kann die nur noch teilweise wiederherstellen.

Ich muss jetzt erstmal weider den Scherbenhaufen zusammenkehren und schauen was noch klappt. Sobald ich land sehe stelle ich das aber gerne hier zur Verfügung.

Wie sichert ihr euch denn gegen Stromausfälle?
Hallo Rummelmugge,
daß ist ja Sch....
Wenn alles wieder fertig Sortiert ist und du dann die Zeit hast kannst es gerne Exportieren und bereitstellen. Danke
Gruß Christian

elmo25674
Beiträge: 5
Registriert: 29.09.2018, 05:32

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von elmo25674 » 12.10.2018, 05:58

Hallo sigi234,

auch ich wäre sehr interessiert an deinem View.
Vielleicht findest du doch noch einen Weg diesen zu exportieren.

Danke und Gruß

Christian

tempestas
guru
Beiträge: 1058
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von tempestas » 12.10.2018, 09:22

tugsi hat geschrieben:
11.10.2018, 17:10
Frank.H hat geschrieben:
07.10.2018, 13:37
@tugsi

Mit diesem Script kannst den LOWBat deiner Xiaomi auslesen :-D
Nicht von mir, habe ich im Forum gefunden. Funktioniert auch soweit sehr gut.
Allerdings erkennt er natürlich keine HM-Sensoren, den HM LowbatScript parallel unter einem anderen Namen laufen zu lassen funktioniert bei mir leider nicht :-(
@Frank.H

Danke für das Script, aber das klappt bei mir leider nicht :(

Hallo tugsi,

das Skript habe ich damals geschrieben, basierend auf dem LowBat Skript für Homematic von ich meine Pix. Die normalen Xiaomi Teile haben die Angabe Percent. Darüber läuft das Skript. Zeig doch mal bitte die Datenpunkte der aqara, dann kann man weitersehen. Ich rate aber mal, dass die auch einen Percent Wert haben.

das LowBat ist hier einfach nur eine Variable und hat nichts mit dem Status "low_bat" oder "lowbat" der Homematic Komponenten zu tun. Ich war nur zu faul, die Kommentierung aus dem originären Homematic low_bat skript zu entfernen, daher wahrscheinlich deine Verwirrung.

Mit korrigierter Kommentierung:
Spoiler: Show hidden text

Code: Alles auswählen

function countLowbat(obj) {
   // Setzt die Zähler vor dem Durchlauf aller Elemente auf 0
   var moeglicheLOWBAT = 0;
   var textLOWBAT      = [];
   var lowbattery = false;                           // NEU EINGEFÜGT, um bei niedrigem Prozntwert entsprechend hochzuzählen

   if (obj) {
      log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val);  // Info im Log, welcher Zustand sich geändert hat
   } else {
      log('Ausgelöst bei Timer'); 
   } 

   cacheSelectorLOWBAT.each(function (id, i) {                         // Schleife für jedes gefundenen Element *.percent
      var value = getState(id).val;                                  // Zustand *.percent abfragen (jedes Element)
      
      if(value < minlevel){lowbattery = true} else {lowbattery = false}         // NEU EINGEFÜGT. Ist der Ladestand kleiner als der Schwellwert? Wenn ja, setze die Variable lowbattery auf true
            
      var obj    = getObject(id);
      var name = getObject(id).common.name;
      var devicename = name.replace("Battery percent","");
      if (lowbattery=== true) {                                          // wenn Zustand der Variable "lowbattery" = true, dann wird die Anzahl der Geräte hochgezählt
         textLOWBAT.push(devicename);                           // Zu Array hinzufügen
      }                
      log("Geräte Nr. " + i + ": " + devicename + "meldet: " + lowbattery);
      ++moeglicheLOWBAT;                                                 // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
   }); 

   // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon geringer Ladestatus zutreffend) ausgegeben
   log("Text: " + textLOWBAT.join(', '));
   log("Anzahl Geräte: " + moeglicheLOWBAT + " # davon LOWBAT erkannt: " +  textLOWBAT.length);

   // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
   setState("zählenLowbat.textLOWBAT",     textLOWBAT.join(',<br>')); // Schreibt die aktuelle Namen der Geräte mit LOWBAT Meldung
   setState("zählenLowbat.anzahlLOWBAT",   textLOWBAT.length);        // Schreibt die aktuelle Anzahl der Geräte im System
   setState("zählenLowbat.möglicheLOWBAT", moeglicheLOWBAT);          // Schreibt die aktuelle Anzahl der vorhandene Geräte 
}

cacheSelectorLOWBAT.on(function(obj) {    // bei Zustandänderung *.percent in allen Gewerken
   countLowbat(obj);
});
schedule("*/60 * * * *", function () {                                  //oder!! soll entweder ausgelöst werden alle 10 Minuten
   countLowbat();
});

// Bei Start:

countLowbat();
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

tugsi
starter
Beiträge: 16
Registriert: 14.05.2018, 18:23

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von tugsi » 12.10.2018, 14:13

@tempestas
Danke für die Antwort,
nein die Kommentierung hat mich jetzt nicht irritiert, ich suche ja schon etwas nach diesem Script hier und wusste, dass es für die HM-Geräte erstellt wurde.
Nur bin ich noch recht frisch hier bei iOBroker und finde mich erstmal zurecht :-)
Bildschirmfoto 2018-10-12 um 15.01.48.png
Wie Du siehst, gibt es zwar eine Prozentangabe, dass war für mich ja auch nicht das Problem, ich bekomme ja auch die Anzahl der möglichen Geräte und auch die Anzahl der mit einem Status "LowBat", aber ich erhalte nicht einen Namen.

Code: Alles auswählen

script.js.Batterieanzeige.BatLow: Anzahl Geräte: 13 # davon LOWBAT erkannt: 12
....
script.js.Batterieanzeige.BatLow: Geräte Nr. 12: meldet: true
Aber eben keinen Namen dazu:

Code: Alles auswählen

script.js.Batterieanzeige.BatLow: Text: , , , , , , , , , , , 
Ich bekomme ja nur einen Namen wie z.B. Aussentemperatur, wenn ich im Device im common.name schaue
Spoiler: Show hidden text

Code: Alles auswählen

{
  "type": "device",
  "common": {
    "name": "Aussentemperatur",
    "type": "lumi.weather",
    "icon": "img/aqara_temperature_sensor.png"
  },
  "from": "system.adapter.zigbee.0",
  "ts": 1539209821969,
  "_id": "zigbee.0.00158d0002320570",
  "acl": {
    "object": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  },
  "user": "system.user.admin",
  "native": {}
}
Ich bin aber ja "unterhalb" des Devices, wo ich die Prozentzahl, Temperatur etc bekomme:
Spoiler: Show hidden text

Code: Alles auswählen

{
  "type": "state",
  "common": {
    "name": "Battery percent",
    "type": "number",
    "unit": "%",
    "read": true,
    "write": false,
    "role": "battery.percent",
    "min": 0,
    "max": 100,
    "icon": "img/battery_p.png"
  },
  "from": "system.adapter.zigbee.0",
  "ts": 1539349041776,
  "_id": "zigbee.0.00158d0002320570.battery",
  "acl": {
    "object": 1636,
    "state": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  },
  "native": {}
}
Ich müsste also irgendwie von dort den übergeordneten Devicenamen bekommen :-)

Klingt einfach... ist es aber nicht :lol:

Gruß
Thomas

tempestas
guru
Beiträge: 1058
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von tempestas » 12.10.2018, 14:47

Hier

viewtopic.php?f=21&t=869&hilit=HIER+LEG ... &start=100

ist die Diskussion, aus der das Skript entstammt.
Dort war auch das gleiche Problem "keine Namen". Es lag daran, dass die Teile in der xiaomi App nicht benannt worden waren.
Sobald das nachgeholt und einmal neugestartet wurde, hat das Skript die Namen ausgelesen. Denn genau das tut es eigentlich auch, siehe hier:

Code: Alles auswählen

  var obj    = getObject(id);
      var name = getObject(id).common.name;
      var devicename = name.replace("Battery percent","");
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

tugsi
starter
Beiträge: 16
Registriert: 14.05.2018, 18:23

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von tugsi » 12.10.2018, 18:18

tempestas hat geschrieben:
12.10.2018, 14:47
Hier

viewtopic.php?f=21&t=869&hilit=HIER+LEG ... &start=100

ist die Diskussion, aus der das Skript entstammt.
Dort war auch das gleiche Problem "keine Namen". Es lag daran, dass die Teile in der xiaomi App nicht benannt worden waren.
Sobald das nachgeholt und einmal neugestartet wurde, hat das Skript die Namen ausgelesen. Denn genau das tut es eigentlich auch, siehe hier:

Code: Alles auswählen

  var obj    = getObject(id);
      var name = getObject(id).common.name;
      var devicename = name.replace("Battery percent","");
Danke für den Beitrag, genau ist mein Problem ...
Ich habe kein Xiaomi Gateway, habe an einem Raspberry ein CC2531 USB-Stick, der den Zigbee-Gateway mimt und das funzt 1a.
Aber dadurch kann ich mit der Xiaomi-App die nicht sehen und somit da auch kein Namen vergeben.
Mit dem Befehl:

Code: Alles auswählen

var name = getObject(id).common.name;
Bekomme ich nur "Battery percent" zurück und das wird ja eine Zeile darunter entfernt.
Im Adapter selber kann ich ein Namen dem Gerät (Device) vergeben, hier zB Aussentemperatur:
Bildschirmfoto 2018-10-12 um 19.09.47.png
Ich sehe für mich nur 2 Möglichkeiten:
  • 1. Entweder kann ich einen eigenen state da hinein schreiben mit "Name"
    oder
    2. Ich kann irgendwie den Namen des Devices auslesen

tugsi
starter
Beiträge: 16
Registriert: 14.05.2018, 18:23

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von tugsi » 12.10.2018, 18:28

Ich habe es jetzt anders gelöst.
Ich habe im STATE der Batterieprozente, den Namen einfach angepasst:
Bildschirmfoto 2018-10-12 um 19.25.52.png
Dann bekomme ich auch den richtigen Namen ;-)

Ok, dann muss ich einmal das Device mit dem Adapter benennen und dann in den Objekten manuell da dies noch anpassen..
Egal, hauptsache es passt.

Danke Dir nochmal für die Unterstützung!

elmo25674
Beiträge: 5
Registriert: 29.09.2018, 05:32

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von elmo25674 » 14.10.2018, 19:12

Hallo sigi234,
wie schauts eigentlich mit deinem Handy View aus. Könntest du diesen hier auch als Export anbieten?

Danke und Gruß

Christian

sigi234
professional
Beiträge: 625
Registriert: 12.06.2017, 21:22

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von sigi234 » 14.10.2018, 20:23

Was für Handy View?
MfG
Sigi

elmo25674
Beiträge: 5
Registriert: 29.09.2018, 05:32

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von elmo25674 » 15.10.2018, 19:17

Hallo sigi234,
du hattest hier viewtopic.php?f=35&t=5369&start=540 mal einen View veröffentlicht.

Gruß Christian

sigi234
professional
Beiträge: 625
Registriert: 12.06.2017, 21:22

Re: Einfach mal zeigen will..... :-) - Teil 2

Beitrag von sigi234 » 15.10.2018, 20:52

Hallo,

die gibt es nicht mehr so....arbeite schon an einer anderen........aber derzeit keine Zeit
MfG
Sigi

Antworten