Seite 1 von 1

Skript zur Erkennung von offenen Fenster läuft nicht mehr

Verfasst: 07.11.2018, 17:18
von matze-pe
Hallo zusammen,

seitdem Update der CCU3 FW 3.41.7 läuft mein Skript auf der ccu.io nicht mehr rund.
Ein Fehler gibt er mir nicht aus, alle anderen Skripte funktionieren auch noch, die ebenfalls auf die HM zugreifen.
Das Komische ist, wenn ich die ccu.io neustarte wird das Skript einmalig ausgeführt. Aber es triggert nicht mehr automatisch, sobald sich ein Status im Gewerk "Fenster" ändert:

Code: Alles auswählen

var nameGewerkLock = "Fenster";

offeneFensterFinden();

subscribe({func:"Fenster", name:/STATE$/, change: "ne"}, function (obj) {
        offeneFensterFinden();});

function offeneFensterFinden() {
 var idGewerkLock = regaIndex.Name[nameGewerkLock][0];
 var arrLock = regaObjects[idGewerkLock].Channels;
 var arrRaeume = regaIndex.ENUM_ROOMS;

 var arroffeneFensterRaeume = [];

 for (var i = 0; i < arrRaeume.length; i++) {
  var idRaum = arrRaeume[i];
  var nameRaum = regaObjects[idRaum].Name;
  var arrRaumKanaele = regaObjects[idRaum].Channels;

  for (var j = 0; j < arrRaumKanaele.length; j++) {
   var idKanal = arrRaumKanaele[j];
    if (arrLock.indexOf(idKanal) != -1) {
      if (regaObjects[idKanal].DPs.STATE && (datapoints[regaObjects[idKanal].DPs.STATE][0] > 0 || datapoints[regaObjects[idKanal].DPs.STATE][0] === "true")) {
          if (arroffeneFensterRaeume.indexOf(nameRaum) == -1) {
                            arroffeneFensterRaeume.push(nameRaum);
          } 
      }                    
      if (!regaObjects[idKanal].DPs.STATE && regaObjects[idKanal].DPs.LEVEL && datapoints[regaObjects[idKanal].DPs.LEVEL][0] > 0) {
        if (arroffeneFensterRaeume.indexOf(nameRaum) == -1) {
          arroffeneFensterRaeume.push(nameRaum);
         }
      }
     }
    }

  }

  var text = arroffeneFensterRaeume.join(", ");
  setState(46188, text);
 }  
Die neuen Firewall Einstellungen habe ich angepasst und die Ports freigegeben, und momentan auch die gesamte Firewall-Richtlinie ausgeschaltet.

Steht jemand vor dem gleichen Problem?


Gruß
Matze

Re: Skript zur Erkennung von offenen Fenster läuft nicht mehr

Verfasst: 17.12.2018, 20:42
von JoeHMS
Hallo,

ich bin auf piVCCU3 gewechselt und habe ein ähnliches Problem. Variablen und CUXD Geräte werden angezeigt, aber der Status von Fenstern oder Wired Geräten nicht. Habe auch alle Ports im internen Netz freigegeben, aber es geht nicht. Muss am binrpc Protokoll liegen. Aber ich kenn mich da nicht so gut aus....

Habe ja schon mit iobroker getestet, es aber noch nicht geschafft meine wichtigsten Views umzuziehen :-(

Wäre auch sehr daran interessiert ob man das noch retten kann.

Re: Skript zur Erkennung von offenen Fenster läuft nicht mehr

Verfasst: 18.12.2018, 07:47
von matze-pe
Hi,

gehe im ccu.io unter "Daten" -> "datastore" und dann wählst du die "io-settings.json" Datei aus und änderst den rfdPort von 2001 auf 32001.
Den Port gibst du in der Firewall an und startest ccu.io neu durch....dann läuft es wieder :)


Gruß
Matthias

Re: Skript zur Erkennung von offenen Fenster läuft nicht mehr

Verfasst: 18.12.2018, 18:45
von JoeHMS
@Matthias: Vielen Dank!!!
Geht wieder. Wie bist du denn darauf gekommen? Netzwerk sniffer oder Doku?

Danke auf jeden Fall :)

Re: Skript zur Erkennung von offenen Fenster läuft nicht mehr

Verfasst: 18.12.2018, 18:47
von matze-pe
Hab den Tipp von Sebastian (hobbyquaker) bekommen :)

Re: Skript zur Erkennung von offenen Fenster läuft nicht mehr

Verfasst: 19.12.2018, 06:25
von JoeHMS
Klasse :-) . Danke dann auch an Sebastian!
Hab den Port von der Wired Schnittstelle eben auch auf 32000 gestellt, da die Status nicht durchgekommen sind.
Jetzt passt wieder alles.

Bin mal gespannt ob ich dann diesen Winter noch den Umstieg auf eine andere VISU schaffe oder doch CCU.IO nochmal ein Jahr ran muss ;-).
Ist so schön schlank :-)

Grüßle, Jochen