Oooh whooops, entschuldige, ich habe eben erst gesehen das du den Beitrag bereits verlinkt hast
Leider gibt es da noch nichts offizielles 
administrators
Posts
-
RE: HTML in Email Benachrichtigungen
-
RE: HTML in Email Benachrichtigungen
Hey @Moritz
offiziell hat es dieses Feature noch immer nicht ins Produkt geschafft - es gab hier aber mal einen Community Beitrag: https://community.i-doit.com/topic/5293/email-benachrichtigung-von-ascii-tabelle-zu-html-tabelle
Hilft das vielleicht übergangsweise weiter? Bitte berücksichtige das solche Datei-Änderungen nach einem i-doit Update verloren gehen.
Viele Grüße
Leo -
RE: Commands im Add-on nutzen
Hey @cherif
das ist tatsächlich merkwürdig. Kannst du ggf. in deiner
init.phpeine Debug Ausgabe machen um zu prüfen ob diese durchlaufen wird BEVOR der Command seine Logik ausführt?Setzt dein Command den Login voraus (
-u admin -p admin ...)? Die Prüfungif (isys_module_manager::instance()->is_active('tools')) { ... }in derinit.phpkann nur funktionieren, wenn du (auch über die CLI) eingeloggt bist.Zum debuggen kannst du die Funktion
print_ar_file('xyz');nutzen - diese schreibt dann im Hintergrund eine Datei ins i-doit Temp Verzeichnis:temp/debug_output.txt.Viele Grüße
Leo -
RE: Commands im Add-on nutzen
Hey @cherif das klingt nach einem Problem mit dem Autoloader, ein offensichtliches Problem springt mir hier aber nicht ins Auge

Was mir aber auffällt: Dein Namespace beinhaltet
toolmit kleinemt- üblicherweise werden Namespaces im "CamelCase" Format geschrieben.Oder hast du inzwischen schon eine eigene Lösung gefunden?
Viele Grüße
Leo -
RE: Datenbank Merge
eine i-doit 8.3 gibt es nicht. Die aktuelle Version ist die 38.
Aktuell gibt es weder eine Anleitung noch eine Funktion, um zwei Datenbanken zusammenzuführen Die Daten müssten also als Import hinzugefügt werden.
-
RE: PDU / PDU Branches und deren Verwendung
dazu drei Punkte mit Hintergrund aus dem Code:
- Stromkreise/Phasen pro PDU
i-doit modelliert das über die Kategorie Branch an der PDU. In der Liebert/Vertiv-MIB, an der sich i-doit orientiert, heisst diese Ebene lgpPduRb (Receptacle Branch), also Stromkreis bzw. Sicherungsabgang. Bei dreiphasigen PDUs entspricht das typischerweise einem Branch
pro Phase (L1, L2, L3), das hängt aber vom PDU-Hersteller-Layout ab. Pro Branch trägst du die Anzahl der Receptacles ein (Default 6).- Editieren in der PDU-Übersicht
Die Kategorie PDU-Übersicht (C__CATS__PDU_OVERVIEW) ist intern eine virtuelle Kategorie (source_table = isys_catg_virtual_list). Virtuelle Kategorien aggregieren nur, sie haben keine eigene Speicher-Spaltenstruktur, daher ist der Edit-Button ausgegraut. Das ist gewolltes
Verhalten, kein Bug der Demo.- "Stromverbraucher zu Receptacle verbinden"
Receptacles sind in i-doit kein eigenständiges Objekt. Die Tabelle isys_cats_pdu_branch_list hat lediglich eine Integer-Spalte receptables (= Anzahl). Receptacle-Namen, Pwr-Werte und akkumulierte Energie holt i-doit ausschliesslich per SNMP, die Default-OIDs zeigen auf
die Liebert/Vertiv-Enterprise-MIB (1.3.6.1.4.1.476.1.42., Felder lgpPduRcpEntry). Überschreibbar sind die Pfade unter snmp.pdu.path.* in den Tenant-Einstellungen.Ohne SNMP-fähige PDU bleibt die Receptacle-Spalte auf "Anzahl" sitzen. Die Verknüpfung Server zu PDU läuft dann nicht receptacle-genau, sondern connector-genau über Verkabelung:
- Am Verbraucher: Kategorie Stromverbraucher mit Anschluss
- An der PDU: Kategorie Stromversorger oder einfache Connectors-Einträge
- Verbindung per Verkabelung (Kabelverbindung).
Wenn du es receptacle-genau abbilden willst, hat sich diese Convention bewährt: pro Receptacle einen Output-Connector auf der PDU anlegen, benannt nach Phase und Slot (z. B. L1 / Rec 1 bis L3 / Rec 6), und den Server-Power-Anschluss per Verkabelung mit genau diesem
Connector verbinden. Die Demo macht es ähnlich, dort heissen die Outputs allerdings nur 16A-Anschluss 01 bis 12.- Auslastung pro Phase/PDU/Rack
Zwei Wege:
- Live (SNMP): PDU spricht SNMP, OIDs sind in den Tenant-Settings gesetzt, PDU-Übersicht zeigt die Werte automatisch.
- Statisch (Report): Nennlast aus Stromverbraucher (Felder Volt, Watt, Ampere) summieren und per Connector-Titel an der PDU gruppieren. Voraussetzung: der Phasen-Prefix aus Punkt 3.
Skeleton für den Report-Manager (Belegung pro PDU, gefiltert auf Power-Output-Connectors):
SELECT rack.isys_obj__title AS Rack, pdu.isys_obj__title AS PDU, SUBSTRING_INDEX(pdu_conn.isys_catg_connector_list__title, '/', 1) AS Phase, COUNT(*) AS Receptacles_total, SUM(CASE WHEN pdu_conn.isys_catg_connector_list__isys_cable_connection__id IS NOT NULL THEN 1 ELSE 0 END) AS Receptacles_used FROM isys_catg_connector_list pdu_conn JOIN isys_obj pdu ON pdu.isys_obj__id = pdu_conn.isys_catg_connector_list__isys_obj__id AND pdu.isys_obj__isys_obj_type__id = 49 AND pdu.isys_obj__status = 2 LEFT JOIN isys_catg_location_list pdu_loc ON pdu_loc.isys_catg_location_list__isys_obj__id = pdu.isys_obj__id AND pdu_loc.isys_catg_location_list__status = 2 LEFT JOIN isys_obj rack ON rack.isys_obj__id = pdu_loc.isys_catg_location_list__parentid AND rack.isys_obj__isys_obj_type__id = 4 WHERE pdu_conn.isys_catg_connector_list__status = 2 AND pdu_conn.isys_catg_connector_list__type = 2 -- 2 = OUTPUT AND pdu_conn.isys_catg_connector_list__isys_connection_type__id IN (4, 5) -- Schuko + IEC GROUP BY rack.isys_obj__id, pdu.isys_obj__id, Phase ORDER BY Rack, PDU, Phase;Hintergrund zu den Konstanten: C__CONNECTOR__OUTPUT = 2, Connection-Type IDs 4 und 5 = Schuko und IEC-Power-Connector (aus isys_connection_type). Damit bleiben Netzwerk-Ports und der PDU-Input aussen vor.
Watt-Summen pro Phase folgen demselben Pattern, sobald Stromverbraucher am Server gepflegt ist; dafür joinst du über isys_cable_connection auf die Verbraucher-Seite und ergänzt SUM(consumer.isys_catg_pc_list__watt).
-
RE: Anzeige aller IP Adressen eines Systems
die angezeigten Daten in der Quickinfo sind fest definiert und können nicht angepasst werden.
Einfacher wäre es die Objektliste anzupassen. -
RE: Netzbereich unter Hostadresse verschwindet wenn editiert wird
Bugs können hier nicht gelöst werden, daher sowas immer an den Support melden.
help.i-doit.com oder via help@i-doit.com -
RE: Objekt Lebenszyklus
also es gibt keine direkte Ansicht aber es lassen sich einfach SQL Queries für den Report Manager nutzen.
Da muss dann jedes mal die ID geändert werden, hier 2 Beispiele:Beispiel 1:
SELECT DATE(c.isys_cmdb_status_changes__timestamp) AS change_date, CASE s.isys_cmdb_status__const WHEN 'C__CMDB_STATUS__PLANNED' THEN 'Geplant' WHEN 'C__CMDB_STATUS__ORDERED' THEN 'Bestellt' WHEN 'C__CMDB_STATUS__DELIVERED' THEN 'Geliefert' WHEN 'C__CMDB_STATUS__ASSEMBLED' THEN 'In Arbeit' WHEN 'C__CMDB_STATUS__TESTED' THEN 'Getestet' WHEN 'C__CMDB_STATUS__IN_OPERATION' THEN 'In Betrieb' WHEN 'C__CMDB_STATUS__DEFECT' THEN 'Defekt' WHEN 'C__CMDB_STATUS__UNDER_REPAIR' THEN 'In Reparatur' WHEN 'C__CMDB_STATUS__DELIVERED_FROM_REPAIR' THEN 'Aus Reparatur zurück' WHEN 'C__CMDB_STATUS__INOPERATIVE' THEN 'Außer Betrieb' WHEN 'C__CMDB_STATUS__STORED' THEN 'Gelagert' WHEN 'C__CMDB_STATUS__SCRAPPED' THEN 'Verschrottet' WHEN 'C__CMDB_STATUS__SWAPPED' THEN 'Getauscht' ELSE s.isys_cmdb_status__title END AS status FROM isys_cmdb_status_changes c JOIN isys_cmdb_status s ON s.isys_cmdb_status__id = c.isys_cmdb_status_changes__isys_cmdb_status__id WHERE c.isys_cmdb_status_changes__isys_obj__id = 275 ORDER BY c.isys_cmdb_status_changes__timestamp ASC;
Beispiel2:
SELECT o.isys_obj__id AS object_id, o.isys_obj__title AS object_title, DATE(c.isys_cmdb_status_changes__timestamp) AS change_date, c.isys_cmdb_status_changes__timestamp AS change_time, s.isys_cmdb_status__title AS status_constant, CASE s.isys_cmdb_status__const WHEN 'C__CMDB_STATUS__PLANNED' THEN 'Geplant' WHEN 'C__CMDB_STATUS__ORDERED' THEN 'Bestellt' WHEN 'C__CMDB_STATUS__DELIVERED' THEN 'Geliefert' WHEN 'C__CMDB_STATUS__ASSEMBLED' THEN 'In Arbeit' WHEN 'C__CMDB_STATUS__TESTED' THEN 'Getestet' WHEN 'C__CMDB_STATUS__IN_OPERATION' THEN 'In Betrieb' WHEN 'C__CMDB_STATUS__DEFECT' THEN 'Defekt' WHEN 'C__CMDB_STATUS__UNDER_REPAIR' THEN 'In Reparatur' WHEN 'C__CMDB_STATUS__DELIVERED_FROM_REPAIR' THEN 'Aus Reparatur zurück' WHEN 'C__CMDB_STATUS__INOPERATIVE' THEN 'Außer Betrieb' WHEN 'C__CMDB_STATUS__STORED' THEN 'Gelagert' WHEN 'C__CMDB_STATUS__SCRAPPED' THEN 'Verschrottet' WHEN 'C__CMDB_STATUS__SWAPPED' THEN 'Getauscht' ELSE s.isys_cmdb_status__title END AS status_label FROM isys_cmdb_status_changes c JOIN isys_obj o ON o.isys_obj__id = c.isys_cmdb_status_changes__isys_obj__id JOIN isys_cmdb_status s ON s.isys_cmdb_status__id = c.isys_cmdb_status_changes__isys_cmdb_status__id WHERE o.isys_obj__id = 12345 ORDER BY c.isys_cmdb_status_changes__timestamp ASC;Hier noch die Vorschau:

-
RE: mod_rewrite Fehler bei Update auf neuere Version
bitte verwende für das Update mit dem i-doit console utility die Anmeldedaten vom Admin-Center.
Die Hilfe zum Befehl wird noch verbessert und in der KB auch.
Ps. gibt es keine Möglichkeit mod_rewrite auf dem System zu aktivieren?