Script Problem - Länge?

Debian/Ubuntu basierte CCU

Moderator: Co-Administratoren

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Script Problem - Länge?

Beitrag von MichaelN » 24.07.2022, 21:56

Davon abgesehen das es kein homematic Skript ist, ist es generell hilfreich zur gemeinsamen Fehlerbehebung , das man Fragen beantwortet.

Und das am besten zeitnah. Wenn der TO nicht mitarbeitet, wird das nichts.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Matsch
Beiträge: 5359
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 113 Mal
Danksagung erhalten: 722 Mal

Re: Script Problem - Länge?

Beitrag von Matsch » 24.07.2022, 22:17

Das würde ich auch nicht speichern wollen ...

Homematic kann keine Fremdsprachen.

ThR
Beiträge: 66
Registriert: 05.09.2017, 03:14

Re: Script Problem - Länge?

Beitrag von ThR » 25.07.2022, 08:57

MichaelN hat geschrieben:
24.07.2022, 21:56
Davon abgesehen das es kein homematic Skript ist, ist es generell hilfreich zur gemeinsamen Fehlerbehebung , das man Fragen beantwortet.

Und das am besten zeitnah. Wenn der TO nicht mitarbeitet, wird das nichts.

Sorry hatte die Fragen überlesen. 2231 und ist die Beghanghöhe des Rolladen. 2065 ist der Status des Fensterkontakts. 10223 ist die Aussentemperatur.
2460 ist ein anderer Rolladenaktor.

Das tcl Script war auch das falsche. Das wollte ich eigentlich posten.

Danke für die Hilfe. Gruß Thomas

Code: Alles auswählen

string text = "";
string test = "test";
string s_device;
object o_device;
integer i_devices = 0;
integer i_cdevices = 0;

string s_channel;
object o_channel;
integer i_channels = 0;
integer i_cchannels = 0;

string s_typelist = "";

string s_temp;

foreach(s_device, dom.GetObject(ID_DEVICES).EnumUsedIDs()) {
  var o_device = dom.GetObject(s_device);
  boolean is_cux = o_device.Address().Substr(0,3) == "CUX";
  if ((o_device.Address() != "BidCoS-Wir") && (o_device.Address() != "BidCoS-RF")) {
    if (is_cux) {
      i_cdevices = i_cdevices + 1;
      s_temp = i_cdevices.ToString();
    } else {
      i_devices = i_devices + 1;
      s_temp = i_devices.ToString();
    }
    if (i_devices < 10) { s_temp = " " # s_temp; }
    if (i_devices < 100) { s_temp = " " # s_temp; }
    if (is_cux) { s_temp = "C" # s_temp; }
    else { s_temp = " " # s_temp; }
    text = text # s_temp # " " # o_device.Address() # " " # o_device.HssType() # " (" # o_device.Name() # ")\r\n";
    if (is_cux) { s_typelist = s_typelist # o_device.Address().Substr(0,5) # "\t"; }
    else { s_typelist = s_typelist # o_device.HssType() # "\t"; }
    foreach(s_channel, o_device.Channels().EnumUsedIDs()) {
      if (is_cux) { i_cchannels = i_cchannels + 1; }
      else { i_channels = i_channels + 1; }
      o_channel = dom.GetObject(s_channel);
      s_temp = "               :" # o_channel.Address().StrValueByIndex(":",1);
      text = text # s_temp # " " # o_channel.Name()# "\r\n";
    }
  }
}

text = text # "--------------------------------------------\r\n";

text = text # i_channels # " Kanäle in " # i_devices # " Geräten";
if (i_cdevices > 0) { text = text # " und "#i_cchannels # " CUxD-Kanäle in " # i_cdevices # " CUxD-Geräten"; }
text = text # ":\r\n\r\n";

string s_typeidx;
string s_typeidx2;
string s_typechecked = "";
integer i_subcount;
foreach (s_typeidx, s_typelist) {

  if (s_typechecked.Find(s_typeidx # ", ") == -1) {

    i_subcount = 0;
    foreach (s_typeidx2, s_typelist) {
      if (s_typeidx2 == s_typeidx) {
        i_subcount = i_subcount + 1; }
    }

      s_typechecked = s_typechecked # i_subcount # "x " # s_typeidx # ", ";
    }
}

text = text # s_typechecked.Substr(0, s_typechecked.Length() - 2) # "\r\n";
text = text # "--------------------------------------------\r\n";
dom.GetObject(12714).State(text);
WriteLine(text);
Gruß Thomas

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Script Problem - Länge?

Beitrag von MichaelN » 25.07.2022, 09:25

ThR hat geschrieben:
25.07.2022, 08:57
hatte die Fragen überlesen
Und die hier wohl auch :
Hast Du einen Editor dafür benutzt der evt. Komische unsichtbare Zeichen da reingeschummelt hat?
Welche FW Version nutzt Du?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

ThR
Beiträge: 66
Registriert: 05.09.2017, 03:14

Re: Script Problem - Länge?

Beitrag von ThR » 25.07.2022, 09:35

MichaelN hat geschrieben:
25.07.2022, 09:25
ThR hat geschrieben:
25.07.2022, 08:57
hatte die Fragen überlesen
Und die hier wohl auch :
Hast Du einen Editor dafür benutzt der evt. Komische unsichtbare Zeichen da reingeschummelt hat?
Welche FW Version nutzt Du?
Firmware 3.65.6.94

Das mit dem Editor könnte natürlich sein. Ich lass mal sed drüber laufen zum löschen der unsichtbaren Zeichen.
Gruß Thomas

ThR
Beiträge: 66
Registriert: 05.09.2017, 03:14

Re: Script Problem - Länge?

Beitrag von ThR » 25.07.2022, 09:39

Ok daran liegt es wohl nicht. Ich hänge die bereinigte Datei mal hier an.
Dateianhänge
inventur2.txt
(2.35 KiB) 30-mal heruntergeladen
Gruß Thomas

Tyfys
Beiträge: 531
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 26 Mal
Danksagung erhalten: 121 Mal

Re: Script Problem - Länge?

Beitrag von Tyfys » 25.07.2022, 10:57

diese Zeilen sind das Problem :

Code: Alles auswählen

! EnergyStar 13.10.2010 ^^^
Das ^ kann der CCU Editor nicht ab.
Gruß
Harry

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Script Problem - Länge?

Beitrag von MichaelN » 25.07.2022, 11:02

Hatte ich ja schon in Beitrag 2 geschrieben. Wurde ja geflissentlich ignoriert. Dafür werden wild unterschiedlichste Versionen "desselben" Skript gepostet. Ich bin raus.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Tyfys
Beiträge: 531
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 26 Mal
Danksagung erhalten: 121 Mal

Re: Script Problem - Länge?

Beitrag von Tyfys » 25.07.2022, 11:35

MichaelN hat geschrieben:
25.07.2022, 11:02
Dafür werden wild unterschiedlichste Versionen "desselben" Skript geposte
Und erst in der letzten Version das Problem offengelegt...
Gruß
Harry

Antworten

Zurück zu „debmatic“