Inventur-Skript

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
uwe111
Beiträge: 3916
Registriert: 26.02.2011, 22:22
Kontaktdaten:

Re: Inventur

Beitrag von uwe111 » 29.04.2013, 14:16

Hallo,

ich habe das Script noch einmal etwas angepasst und dabei die CUxD-Geräte getrennt von den HM-Geräten aufgeführt.
Dadurch wird das ganze beim Einsatz vom CUxD etwas übersichtlicher.

Code: Alles auswählen

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; }
    WriteLine(s_temp # " " # o_device.Address() # " " # o_device.HssType() # " (" # o_device.Name() # ")");
    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);
      WriteLine(s_temp # " " # o_channel.Name() );
    }
  }
}

WriteLine("--------------------------------------------");

Write(i_channels # " Kanäle in " # i_devices # " Geräten");
if (i_cdevices > 0) { Write(" und "#i_cchannels # " CUxD-Kanäle in " # i_cdevices # " CUxD-Geräten"); }
WriteLine(":");

string s_typeidx;
string s_typeidx2;
string s_typechecked = "";
integer i_subcount;
foreach (s_typeidx, s_typelist) {
! EnergyStar 13.10.2010 vvv
! den Suchstring um ein Komma und ein Leerzeichen erweitern um kein Teilstringproblem zu bekommen
      if (s_typechecked.Find(s_typeidx # ", ") == -1) {
! EnergyStar 13.10.2010 ^^^
      i_subcount = 0;
      foreach (s_typeidx2, s_typelist) {
        if (s_typeidx2 == s_typeidx) {
          i_subcount = i_subcount + 1; }
        }
! EnergyStar 13.10.2010 vvv
! immer ein Komma und ein Leerzeichen anfügen
        s_typechecked = s_typechecked # i_subcount # "x " # s_typeidx # ", ";
! EnergyStar 13.10.2010 ^^^
      }
    }

! EnergyStar 13.10.2010 vvv
! überflüssiges Komma und Leerzeichen am Ende entfernen
    WriteLine(s_typechecked.Substr(0, s_typechecked.Length() - 2));
! EnergyStar 13.10.2010 ^^^

    WriteLine("--------------------------------------------");
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.3.2, RFD-Monitor, Vellemann K8055, SSH KeyDir

raschl
Beiträge: 30
Registriert: 23.03.2013, 12:26

Re: Inventur-Skript

Beitrag von raschl » 08.07.2013, 17:56

Hallo Uwe,


habe seit ein paar Tagen eine CCU2 im Einsatz, die noch nicht gelistet wird.

Kannst Du die vielleicht noch mit aufnehmen.

Gruß

RaSchl
Gruß

RaSchl

211 Kanäle in 165 Geräten (RasperryMatic als CCU2 und Lan Gateway, Wetterstation, Heizung mit Fenster, Bewässerung im Garten, Licht, Rolläden/Markisen, Rauchmelder, Energieverbrauchablesung und alles per Funk)

Benutzeravatar
uwe111
Beiträge: 3916
Registriert: 26.02.2011, 22:22
Kontaktdaten:

Re: Inventur-Skript

Beitrag von uwe111 » 08.07.2013, 18:19

Hallo RaSchl,

ich denke das ist so, weil die CCU2 im Gegensatz zur CCU1 keine eigenen Geräte bereitstellt.

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.3.2, RFD-Monitor, Vellemann K8055, SSH KeyDir

Slice
Beiträge: 399
Registriert: 03.02.2016, 14:44
Wohnort: irgendwo aus BaWü

Re: Inventur-Skript

Beitrag von Slice » 08.02.2016, 11:36

Super Idee, hab das Skript bei mir mal laufen lassen, siehe Signatur! :D

Danke und Grüße,
Slice
--------------------------------------------
Raspi3B+ mit RPI-RF-MOD auf piVCCU-FW 3.45.7 / Addons: CuxD v2.2.0 - EMail v1.6.8c - Programme drucken v1.2a - XML-Api v1.20 - Scriptparser v1.80
Geräte: 112 / Kanäle: 602 / Datenpunkte: 4225 / SysVars: 166 / Programme: 91 / Regadom IDs: 9727 / 32 CUxD-Kanäle in 2 CUxD-Geräten
--------------------------------------------

dixy
Beiträge: 12
Registriert: 17.04.2013, 20:50

Re: Inventur-Skript

Beitrag von dixy » 15.09.2018, 13:10

Wenn ich mir die aktuelle Inventurliste regelmäßig über das E-Mail Add-on senden lassen möchte, wie stelle ich das an?

Konkret: Zeitgesteuert Inventurskript laufen lassen und das Ergebnis per E-Mail versenden.

Funktioniert es überhaupt? Statische Meldungen versende ich bereits seit langem.

Gruß
dixy

Xel66
Beiträge: 5376
Registriert: 08.05.2013, 23:33
Wohnort: Nordwürttemberg

Re: Inventur-Skript

Beitrag von Xel66 » 16.09.2018, 11:04

Warum soll das nicht funktionieren. Ergebnis in eine Systemvariable schreiben und versenden. Als Referenz kannst Du den Versand des Systemprotokolls benutzen.

Nur der Sinn erschließt sich nicht so richtig. Wenn Du neue Hardware anlernst, kannst Du das Script laufen lassen und hast das Ergebnis. Das Scrip listet die angelernten Geräte aus der internen Datenbank auf, unabhängig davon, ob diese auch aktiv sind. Somit lässt sich darüber nicht überwachen, ob ein Gerät abhanden gekommen ist. Insofern der Nutzen eines regelmäßig laufenden Scripts eher zweifelhaft. Man lernt ja im Normalfall nicht ständig Geräte an und ab.

Gruß Xel66
---------------------------------------------------------------------------------
335 Kanäle in 103 Geräten und 113 CUxD-Kanäle in 23 CUxD-Geräten:
233 Programme, 189 Systemvariablen und 119 Direktverknüpfungen,
RaspberryMatic Version 3.45.5.20190330
---------------------------------------------------------------------------------

Pahan
Beiträge: 94
Registriert: 16.07.2014, 12:29

Re: Inventur-Skript

Beitrag von Pahan » 01.02.2019, 18:46

Hallo zusammen,

wie stellt man das an, dass dieses Script übernommen wird?
Wenn ich eine Wenn...Dann Verknüpung einbaue und dieses Script unter "dann" einfüge, wieder dieses nicht übernommen,
anders ausgedrückt: die drei Punkte bleiben stehen.

Wie verwendet ihr dieses? Oder noch besser: wie schreibt man die jeweilige Anzahl der Ausgabe in eine Datei?

Klar, nice to have, aber dennoch

Danke

Franzens
Beiträge: 126
Registriert: 18.04.2014, 17:11

Re: Inventur-Skript

Beitrag von Franzens » 12.02.2019, 20:33

Pahan hat geschrieben:
01.02.2019, 18:46
Hallo zusammen,

wie stellt man das an, dass dieses Script übernommen wird?
Wenn ich eine Wenn...Dann Verknüpung einbaue und dieses Script unter "dann" einfüge, wieder dieses nicht übernommen,
anders ausgedrückt: die drei Punkte bleiben stehen.

Wie verwendet ihr dieses? Oder noch besser: wie schreibt man die jeweilige Anzahl der Ausgabe in eine Datei?
...genau diese Frage stelle ich mir auch seit geraumer Zeit - ich kann dieses Verhalten bei mir eins zu eins auch beobachten.
Wäre nett, wenn uns jemand aufklären könnte.

Danke
RasberryMatic auf Tinker S- Sonos - pocket Control HM - EMail - CuL V2 868mHz & Somfy RTS Anbindung - Wunderground - Calsky Astro - Pushover - hm-pdetect - homebridge - Alexa - Netatmo...;219 Kanäle in 84 Geräten und 75 CUxD-Kanäle in 7 CUxD-Geräten

Benutzeravatar
Sammy
Beiträge: 8070
Registriert: 09.09.2008, 20:47

Re: Inventur-Skript

Beitrag von Sammy » 12.02.2019, 21:08

Hab es ewig nicht benutzt, aber einfach unter "Skript testen" eingefügt. Dauert aber ein wenig, bis die Ausgabe kommt.
Was für 3 Punkte? Arbeitest Du etwa am Handy? Ich mach sowas nur am PC.
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Franzens
Beiträge: 126
Registriert: 18.04.2014, 17:11

Re: Inventur-Skript

Beitrag von Franzens » 12.02.2019, 22:00

Ja, mit Skript testen läuft es einmal durch,
Das Problem ergibt sich, wenn man es innerhalb eines Programms (wenn, dann, Skript...) als Skript dauerhaft speichern möchte.
Dabei bleibt es nicht gespeichert, sondern die drei Punkte hinter Skript bleiben stehen und wenn man wieder drauf geht, ist das Inventurskript eben nicht gespeichert.
RasberryMatic auf Tinker S- Sonos - pocket Control HM - EMail - CuL V2 868mHz & Somfy RTS Anbindung - Wunderground - Calsky Astro - Pushover - hm-pdetect - homebridge - Alexa - Netatmo...;219 Kanäle in 84 Geräten und 75 CUxD-Kanäle in 7 CUxD-Geräten

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“