Anzahl offene Fenster

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

pdulles
Beiträge: 75
Registriert: 28.11.2015, 23:33

Re: Anzahl offene Fenster

Beitrag von pdulles » 16.08.2016, 22:44

Hey,

verzeihe mir, das ich mich schon wieder melde. Seit heute funktioniert der Script wieder nicht.
Hab den Test-Script von Dir ausgetestet, der auch ohne Probleme funktioniert
Lamgsam dreh ich durch und sehe vor lauter Bäume den Wald nicht mehr.

hier mein eingesetzter Script, der hin und wieder (mehr nicht) Pushover Mails verschickt. Mail funktioniert.
Variable wird auch geschrieben.

Code: Alles auswählen

! Fenstersensoren in einem bestimmten Gewerk/ Favoriten u.a. durchsuchen
    ! und Ausgabe in Variable oder per pushover oder par Mail
    ! v0.4 by Alchy
Zuletzt geändert von alchy am 11.09.2018, 06:41, insgesamt 2-mal geändert.
Grund: Scriptcopy gelöscht
pdulles
--------------------------------------------------------------------
223 Kanäle in 89 Geräten und 68 CUxD-Kanäle in 19 CUxD-Geräten

alchy
Beiträge: 10760
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 674 Mal

Re: Anzahl offene Fenster

Beitrag von alchy » 17.08.2016, 08:41


v 1.43 Fix Winmatic
v 1.42 Homematic Funk-Neigungssensor integriert
v 1.41 fix
v 1.40 Keymatic und Winmatic mit integriert

Achtung Nur mit halbwegs aktuellen CCU Firmware/ RegaHss Versionen kompatibel.

Code: Alles auswählen

! alle Fenstersensoren / HMW-Sen-SC-12-DR / Winmatic / Keymatic / Funk-Neigungssensor in einem bestimmten Gewerk/ Favoriten u.a. durchsuchen
! und Ausgabe in Variable oder per pushover, telegram oder per Mail oder Ansage Home24 Mediaplayer
! v1.43 (c) by Alchy
! https://homematic-forum.de/forum/viewtopic.php?f=26&t=25517&p=301186#p301186

! +++++++++++ Setup Script ++++++++++++++++
string ONLYOPEN= "no"; ! if yes pushed only the opened sensors
string FUNCTIONS = "Verschluss"; ! which function / room / favorites
boolean DEBUG = true; ! true/false zusaetzliche Ausgabe des Scriptes auf dem Monitor

!Ansage über Home24 Mediaplayer
string USE_HM24 = "no"; ! if yes use Home24 Mediaplayer 
string IP = "192.168.178.172";

!+++++++ Setup Mail verschicken mit CUXD und Emailaddon ++++++
! 1. CUXD incl. exec Gerät sind installiert ( http://homematic-forum.de/forum/viewtopic.php?f=37&t=15298 )
! 2. Mailaddon ist installiert eingestellt und funktioniert ( http://www.homematic-inside.de/software/email )
! 3. Im TCL Reiter im MailAddon wird als erste Zeile "set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]" ohne Anführungsstriche eingegeben
! 4. in Mailvorlage Nr deiner Wahl wird "$serviceliste" ohne Anführungsstriche im Mailtextfeld eingegeben (was da noch steht ist uninteressant)
var USE_MAIL = "no"; !   yes/ no schicken einer Mail direkt über das Script
var MAIL_ID = "01"; !  die VORHER präparierte Mailvorlage 01 - 50 in der aktuellen Version des mailaddon
var MAIL_CUXD_ID = "CUX2801001:1"; !   die Serial des EXEC Geräte - wer nicht weiss was ich meine, einfach so lassen ist die Standard

! ++++++++++SETUP PUSHOVER ++++++++++++++++
var USE_PUSHOVER = "no"; ! yes if you want a push message
var PUSH_CUXD_ID = "CUX2801001:1"; ! serial from the CMD_EXEC incl. canal number
var USERKEY = "++++++++++++++++++++";
var TOKEN = "++++++++++++++";
var USERDEVICE = ""; !your user's device name to send the message directly to that device, rather than all of the user's devices (multiple devices may be separated by a comma)
var TITLE = "" ; !your message's title, otherwise your app's name is used
var RETRY = "30"; ! NEED for PRIO > 1 The retry parameter specifies how often (in seconds) the Pushover servers will send the same notification to the user.
var EXPIRE = "1200"; ! NEED for PRIO > 1 The expire parameter specifies how many seconds your notification will continue to be retried for (every retry seconds).
var SOUND = "siren";
var PRIO = "1"; !  send as -2 to generate no notification/alert, -1 to always send as a quiet notification, 1 to display as high-priority and bypass the user's quiet hours, or 2 to also require confirmation from the user
var HTML ="1"; ! 1 use html codes at the message

!++++++ TELEGRAM +++++++++
var USE_TELEGRAM = "no"; ! yes or no for using TELEGRAM 
var CHATID = "++++++++++"; ! your chat id
var BOTAPI = "+++++++++++++++++++++++++++++"; ! your api key
var TELEGRAM_CUXD_ID = "CUX2801001:2"; ! 

!+++++++ SETUP SYSTEMVARIABLE ++++++
! 1. VOR Benutzung Systemvariable vom Typ Zeichenkette in CCU anlegen,
var USE_SYSVAR = "no"; ! yes to save the output to a sysvar
var SYSVAR_NAME = "Name deiner Speichervariable"; ! name of the sysvar

!++++++ DONT TOUCH BEHIND THIS LINE +++++++++
string i;
string slist;
integer count = 0;
var sec=dom.GetObject(FUNCTIONS);
if ( (DEBUG == true) && (!sec) ){ WriteLine(" Gewerk nicht vorhanden");quit;}
foreach(i,sec.EnumUsedIDs()) {
string status_new = "unbekannt";
boolean choice = false;
boolean status = false;
var since;
var ch = dom.GetObject(i);
if ( ch.IsTypeOf(OT_CHANNEL) ) {
var dev = dom.GetObject(ch.Device());
var chType = ch.HssType();
var devType = dev.HssType();
string room; string id; foreach(id, ch.ChnRoom()) {   var roomi = dom.GetObject(id);   room = room # " "# roomi.Name() ; } 

if ( ( chType == "SHUTTER_CONTACT") || (chType =="TILT_SENSOR") ){ choice = true; var status = ch.DPByHssDP("STATE").Value(); 
if (!status) { status_new = " zu "; }else{ status_new = " offen "; }
}
if(chType.StartsWith("ROTARY_HANDLE")){choice = true; var status = ch.DPByHssDP("STATE").Value(); 
if (!status) { status_new = " zu ";}
if (status == 1 ){ status_new = " gekippt "; }
if (status == 2 ){ status_new = " offen "; }
}
if ( ( devType == "HMW-Sen-SC-12-DR") && ( chType == "SENSOR")  ) { choice = true; var status = ch.DPByHssDP("SENSOR").Value(); 
if (status == 0 ) { status_new = " zu ";}
if (status == 1 ) { status_new = " offen "; }
}
if ( ( devType.StartsWith("HM-Sec-Win")) && ( chType == "WINMATIC")  ) { choice = true; var status = ch.DPByHssDP("LEVEL").Value(); 
if (ch.DPByHssDP("LEVEL").Value() == -0.005 ){status = false; status_new = " verriegelt ";}
if (ch.DPByHssDP("LEVEL").Value() == 0.0 ){status = false; status_new = " zu ";}
if (ch.DPByHssDP("LEVEL").Value() >= 0.1 ){status = true; status_new = " offen ";}
}
if ( ( devType.StartsWith("HM-Sec-Key")) && ( chType == "KEYMATIC")  ) { choice = true; var status = ch.DPByHssDP("STATE").Value(); 
if (!status) { status_new = " zu "; }else{ status_new = " offen "; }
}
if (choice){
var since = ch.LastDPActionTime().ToString("%d.%m.%y %H:%M:%S Uhr");
if (since == "01.01.70 01:00:00 Uhr") {since = " unbekannt ";}
if (status) { count = count +1; }

if (ONLYOPEN == "yes")  {
    if (status) { slist=slist # dev.Name() #" - Status: " # status_new #" - im Raum: "#room #" - seit: "  # since #"\n"; }
    } else { slist=slist # dev.Name() #" - Status: " # status_new #" - im Raum: "#room #" - seit: "  # since #"\n"; }
   
   }
    }
}
slist = count #" geöffnet\n" #slist;
if ( USE_SYSVAR == "yes"){ dom.GetObject(SYSVAR_NAME).State(slist); }
if ( (USE_PUSHOVER == "yes") &&( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PUSH_CUXD_ID#".CMD_EXEC")) ){ (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PUSH_CUXD_ID#".CMD_EXEC").State("/usr/local/addons/cuxd/extra/curl -s -k -d token='"#TOKEN#"' -d user='"#USERKEY#"' -d device='"#USERDEVICE#"' -d html='"#HTML#"' -d title='"#TITLE#"' -d message='"#slist.ToUTF8()#"' -d priority='"#PRIO#"' -d sound='"#SOUND#"' -d retry='"#RETRY#"' -d expire='"#EXPIRE#"' https://api.pushover.net/1/messages.json"); }
if ( (USE_TELEGRAM == "yes") &&( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#TELEGRAM_CUXD_ID#".CMD_EXEC")) ){ (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#TELEGRAM_CUXD_ID#".CMD_EXEC").State("/usr/local/addons/cuxd/extra/curl -s -k https://api.telegram.org/bot"#BOTAPI#"/sendMessage -d text='"#slist.ToUTF8()#"' -d chat_id="#CHATID); }
if ( USE_MAIL == "yes"){ dom.GetObject("CUxD."#MAIL_CUXD_ID#".CMD_EXEC").State("/etc/config/addons/email/email "#MAIL_ID#" '"#slist#"'"); }
if ( USE_HM24 == "yes"){
string url="http://"#IP#":50000/tts=" # "Es ist " #system.Date("%H") #" Uhr und " #system.Date("%M") #" Minuten    " # "Der Zustand der Fenster ist "#slist.ToUTF8();
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'");}
if ( DEBUG) { WriteLine ("slist\n"# slist #"\nslist UTF8 \n"#slist.ToUTF8());}

Wer keine Raumnamen und Zeiten mit übermittelt bekommen will, der tauscht die untere Passage des Zusammenbaus der Nachricht gegen

Code: Alles auswählen

if (ONLYOPEN == "yes")  {
    if (status) { slist=slist # dev.Name() #" - Status: " # status_new #"\n"; }
    } else { slist=slist # dev.Name() #" - Status: " # status_new #"\n"; }
Dann wird der Raum und die Zeit weggelassen.

Alchy
Zuletzt geändert von alchy am 22.03.2024, 19:23, insgesamt 27-mal geändert.
Grund: neue Version

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

pdulles
Beiträge: 75
Registriert: 28.11.2015, 23:33

Re: Anzahl offene Fenster

Beitrag von pdulles » 17.08.2016, 19:02

Danke für Deine Unterstützung, aber die V0.5 funktioniert genau so wenig wie die V0.4.

Mail funktioniert
Pushover funktioniert nicht
( Userkey und Token sind richtig - Userdevice kann ich leer lassen oder ich kann eintragen was ich will - Devices sind auch im Pushover eingerichtet - CUXD ID kann ich ändern wie ich will )
Variable Eintrag funktioniert

Ich verstehe es langsam nicht mehr.
Zuletzt geändert von alchy am 18.08.2016, 08:16, insgesamt 1-mal geändert.
Grund: sinnloses und auch noch falsches Fullquote entfernt
pdulles
--------------------------------------------------------------------
223 Kanäle in 89 Geräten und 68 CUxD-Kanäle in 19 CUxD-Geräten

alchy
Beiträge: 10760
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 674 Mal

Re: Anzahl offene Fenster

Beitrag von alchy » 18.08.2016, 12:47

Sorry, aber die 05 hat auch bei dem heutigen Test funktioniert, vielleicht kann das mal wer anders probieren :?:
und für dich
bitte mal die Fehlermeldung posten CUXD -> Reiter INFO - > Fullsyslog

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

pdulles
Beiträge: 75
Registriert: 28.11.2015, 23:33

Re: Anzahl offene Fenster

Beitrag von pdulles » 18.08.2016, 18:56

alchy hat geschrieben:Sorry, aber die 05 hat auch bei dem heutigen Test funktioniert, vielleicht kann das mal wer anders probieren :?:
und für dich
bitte mal die Fehlermeldung posten CUXD -> Reiter INFO - > Fullsyslog

Alchy
hier die Fehlermeldung nach einem manuellen testen des Scripts:
Aug 18 18:51:59 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 97 0x61 [1] 0 0x00 [2] 99 0x63 [3] 0 0x00 [4] 100 0x64 [../Platform/DOM/iseESPexec.cpp (11622)]
Aug 18 18:52:28 homematic-ccu2 daemon.err cuxd[252]: getstring(1038) > 1000 corrupt binrpc data?
pdulles
--------------------------------------------------------------------
223 Kanäle in 89 Geräten und 68 CUxD-Kanäle in 19 CUxD-Geräten

alchy
Beiträge: 10760
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 674 Mal

Re: Anzahl offene Fenster

Beitrag von alchy » 19.08.2016, 00:17

:shock: :shock: :shock:

Dann mach ein paar Fenster zu und/oder benutze die only open Funktion und , dann geht es.

:shock: :shock: :shock:

Es ist relativ einfach. Du musst einfach den Inhalt der zu übermittelnden Daten reduzieren und das in Summe.
Jedes Zeichen zählt. Die Messagelänge an sich, der Titel, der Userdevicename usw....

Ausgehend von dem unten geposteten Script und 30 Zeichen für jeweils Userkey und token und ein unbenutztes Userdevice
bleiben dir in Summe so in etwa die angegebenen Zeichen für message (692) und Titel (30) = 722 Zeichen.
Wenn du den Titel reduzierst, bleibt dir mehr für die Nachricht. :mrgreen: Wenn du weitere Parameter weglässt, noch ein paar Zeichen mehr.
Zur Erklärung:

Ich habe das mal mit dem oben geposteten einfachen Testscript nachvollzogen, weil es mir ja doch keine Ruhe gegeben hat.

Code: Alles auswählen

var message ="692 +++++++++++++++ Die Nachricht +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++HIER die +++++++++++++++++++ Nachricht rein und wenn die zu lang ist geht das ganze nicht mehr, deshalb solltest du das dann reduzieren entweder um die Steuerzeichen color usw oder aber auch andere Sachen, das kannst du machen wie du willst, jetzt ist es aber zuviel Text bbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaattttttttttttttttttttttttttttttttttttttttttttt ggggggggggggggggggggggggggggggggggggggggggggggggg++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";

!+++++++ Pushover Setup ++++++
    var USE_PUSHOVER = "yes";
    var PUSH_CUXD_ID = "CUX2801001:1"; ! serial from the CMD_EXEC incl. canal number
    var USERKEY = "30++++++++++++++++++++++++++++"; !your own user key
    var TOKEN = "30++++++++++++++++++++++++++++"; ! your own api token
    var USERDEVICE = ""; !your user's device name to send the message directly to that device, rather than all of the user's devices (multiple devices may be separated by a comma)
    var TITLE = "30 Der Titel zählt da auch mit";
    var RETRY = "30"; ! NEED for PRIO > 1 The retry parameter specifies how often (in seconds) the Pushover servers will send the same notification to the user.
    var EXPIRE = "1200"; ! NEED for PRIO > 1 The expire parameter specifies how many seconds your notification will continue to be retried for (every retry seconds).
    var SOUND = "siren";
    var PRIO = "1"; !  send as -2 to generate no notification/alert, -1 to always send as a quiet notification, 1 to display as high-priority and bypass the user's quiet hours, or 2 to also require confirmation from the user
    var HTML ="1"; ! 1 use html codes at the message
    !++++++ DONT TOUCH BEHIND THIS LINE +++++++++
    if ( USE_PUSHOVER == "yes") { dom.GetObject("CUxD."#PUSH_CUXD_ID#".CMD_EXEC").State("/usr/local/addons/cuxd/extra/curl -s -k -d token='"#TOKEN#"' -d user='"#USERKEY#"' -d device='"#USERDEVICE#"' -d html='"#HTML#"' -d title='"#TITLE#"' -d message='"#message#"' -d priority='"#PRIO#"' -d sound='"#SOUND#"' -d retry='"#RETRY#"' -d expire='"#EXPIRE#"' https://api.pushover.net/1/messages.json"); }
Ich kann mich nur entschuldigen. :cry:
Ist mir noch nie aufgefallen, aber ich habe niemals daran gedacht, das wer eine so immens lange Nachricht verschicken will. Abgesehen davon, kannte ich die noch nicht mal die Begrenzung seitens cuxd, oder wem auch immer. :wink:
Für mich heisst das, wieder was gelernt. Und nachschauen, ob die Reglementierung auf über 1000 Zeichen ein cuxd oder generelles Problem ist. Wie ich Uwe kenne, kommt es nicht von cuxd.
Wer das testen will, nimmt das obige Script gibt sein userkey und token ein und probiert es aus.

So wie gepostet stellt es (ungefähr !!!! ) die Grenze dar zwischen geht noch und geht nicht mehr. Paar Zeichen mehr oder weniger in der Message und man kann es schön nachvollziehen.


Hättest du die Fehlermeldung eher gepostet, hättest du dir viel Ärger erspart und mir auch.
Da sieht man wieder wie wichtig es ist, das man Infos bekommt.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

pdulles
Beiträge: 75
Registriert: 28.11.2015, 23:33

Re: Anzahl offene Fenster

Beitrag von pdulles » 19.08.2016, 08:09

alchy hat geschrieben:
Ausgehend von dem unten geposteten Script und 30 Zeichen für jeweils Userkey und token und ein unbenutztes Userdevice
bleiben dir in Summe so in etwa die angegebenen Zeichen für message (692) und Titel (30) = 722 Zeichen.
Wenn du den Titel reduzierst, bleibt dir mehr für die Nachricht. :mrgreen: Wenn du weitere Parameter weglässt, noch ein paar Zeichen mehr.

.........


Ich kann mich nur entschuldigen. :cry:
Ist mir noch nie aufgefallen, aber ich habe niemals daran gedacht, das wer eine so immens lange Nachricht verschicken will. Abgesehen davon, kannte ich die noch nicht mal die Begrenzung seitens cuxd, oder wem auch immer. :wink:
Für mich heisst das, wieder was gelernt. Und nachschauen, ob die Reglementierung auf über 1000 Zeichen ein cuxd oder generelles Problem ist. Wie ich Uwe kenne, kommt es nicht von cuxd.

Alchy
Trotzdem muss ich hier Dir noch einmal grosses Lob aussprechen und vorallem für Deine Geduld.

Wie ich schon geschrieben habe, habe ich vor lauer Bäumen den Wald nicht mehr gesehen.
Deshalb war es super, dass noch einmal jemand anderes drüber schaut und eventuell einen Fehler feststellt.

Auf diesem Weg haben wir alle auch wieder was dazu gelernt und ich denke ca 6 offenen Kontakten sind nicht zu viel.
Ich denke werde den Script mir noch einmal zur Brust nehmen und die Meldung auf diverse Zeichen reduzieren.

Trotzdem denke, dass eventuell der Effekt erst nach einspielen der V1.7 von CUXD aufgetreten ist.
Vorher lief der Script ohne Probleme.

[EDIT]
Only Open Funktion reicht auch nicht aus

Code: Alles auswählen

! +++++++++++ Setup Script ++++++++++++++++
var ONLYOPEN= "yes"; ! if yes pushed only the opened sensors
var FUNCTIONS = "Verschluss"; ! which function / room / favorites
[/EDIT]

Danke noch einmal.
Zuletzt geändert von alchy am 19.08.2016, 08:43, insgesamt 1-mal geändert.
Grund: Editiert wegen nachfolgender Löschung
pdulles
--------------------------------------------------------------------
223 Kanäle in 89 Geräten und 68 CUxD-Kanäle in 19 CUxD-Geräten

alchy
Beiträge: 10760
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 674 Mal

Re: Anzahl offene Fenster

Beitrag von alchy » 19.08.2016, 09:53

Nimm doch bitte mal das Testscript.
Was passiert denn, wenn du >> das Testscript << so nimmst wie es dort gepostet ist ist und lediglich deinen Userkey und Token reinkopierst und dann im Executer ausführst?

Normalerweise sollte gerade noch eine Nachricht kommen.
Aber du kannst es selber beeinflussen, wenn du dann in

Code: Alles auswählen

var message ="692 +++++++++++++++ Die Nachricht +++++++++++++++++++++++++ ....
ein paar Zeichen entfernst müsste die Nachricht gesendet werden, wenn du wieder ein paar Zeichen hinzufügst kommt die Fehlermeldung.
Das habe ich letzte Nacht zig mal getestet.


Deine Fehlermeldung besagt genau das.
getstring(1038) > 1000
cuxd beschwert sich, das der zu übermittelnde string genau 38 Zeich zu lang ist.

Und genau so ist es mit der v0.5. und auch anderen Scripten...
Ich rechne es dir gern mal für die 0.5 vor:
Pro Kontakt werden ungefähr 130 Zeichen übermittelt, natürlich abhängig von deiner Namensbezeichnung des Sensors und des Raumes
Beispiel:

Code: Alles auswählen

Fenstersensor Garage - Status: <font color = yellow >gekippt<\/font> - im Raum: Keller Garage - seit: 18.08.16 09:47:55 Uhr<br\/>
Wie ich oben schon schrieb: Abzüglich Titel und aller weiteren Parameter bleiben dir ca 700 Zeichen für die "Nachricht" als solches
und das macht dann in etwa in dem Script der Zustand von nur 5 Sensoren :shock:
Nun kann man sich helfen, indem man die Zeichen pro Sensor verringert. (Alleine das Einfügen des fonttags, damit es schon bunt angezeigt wird in der Message, sind pro Sensor 30 Zeichen.)

Warum das bisher keinen der Poweruser aufgefallen ist, kann ich dir auch nicht sagen.
Mein Tipp !"mach Fenster zu und benutz die only open Funktion" war natürlich Glaskugelgesteuert und spassig gemeint, weil es keine LÖSUNG darstellt..
Wenn jemand 10 Sensoren hat und nur 3 sind offen, dann funktioniert das Script mit der onlyopen Funktion, aber ist die aus, geht nichts.
Du hattest 38 Zeichen zuviel. Da hätte ich auch schreiben können. Reduziere deinen immens langen Titel. :mrgreen:

Was cuxd angeht. Natürlich werde ich Uwe informieren.
Ob es schon immer so war, ob es eine neue Schutzfunktion ist, oder oder.... Keine Ahnung. Aber Uwe wird das wissen.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

pdulles
Beiträge: 75
Registriert: 28.11.2015, 23:33

Re: Anzahl offene Fenster

Beitrag von pdulles » 19.08.2016, 21:38

Hey Alchy,

Ich kann nur sagen, Hut ab.
Wenn es noch so ein paar Poweruser wie Dich hier im Forum gibt, müssten alle Problem gelöst sein.

Ich habe nun auch noch ein paar Test durchgeführt. Auch den Du vorgeschlagen hast (Testscript).
Habe nun erst einmal im Script für die Message den Eintrag des TimeStamp herausgenommen.

VORHER

Code: Alles auswählen

    if (ONLYOPEN == "yes")  {
    if (status) {
    slist=slist # dev.Name() #" - Status: " # status_new #" - im Raum: "#room #" - seit: "  # since #"<br/>"; }
    } else {
    slist=slist # dev.Name() #" - Status: " # status_new #" - im Raum: "#room #" - seit: "  # since #"<br/>"; }
NACHHER

Code: Alles auswählen

    if (ONLYOPEN == "yes")  {
    if (status) {
    slist=slist # dev.Name() #" - Status: " # status_new #" - im Raum: "#room #"<br/>"; }
    } else {
    slist=slist # dev.Name() #" - Status: " # status_new #" - im Raum: "#room #"<br/>"; }
Für mich war wichtig die Info zu bekommen, welche Kontakte zu einer bestimmten Zeit noch offen sind.
Seit wann ist für mich unwichtig. Somit habe ich vorerst einige Zeichen eingespart und der Script läuft bis jetzt ohne Problem durch.
Wenn es irgendwann eine Änderung oder Lösung für die CUXD Software gibt, kann man ja es wieder ändern.
pdulles
--------------------------------------------------------------------
223 Kanäle in 89 Geräten und 68 CUxD-Kanäle in 19 CUxD-Geräten

Benutzeravatar
uwe111
Beiträge: 4822
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: Anzahl offene Fenster

Beitrag von uwe111 » 24.08.2016, 13:18

pdulles hat geschrieben:Wenn es irgendwann eine Änderung oder Lösung für die CUXD Software gibt, kann man ja es wieder ändern.
Mit der nächsten CUxD-Version werde ich das Limit auf 10000 Zeichen erhöhen.
Da dieser Überlauf bisher noch nicht aufgetreten ist, sollte das reichen.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“