Meldungsanzeige im WebFront

richtig …

warum nicht schön, ich habe doch das in dem gesamten Script so umgesetzt das durch die Konfig alles entsprechend
automatisch so abgehandelt wird, das die Gruppe mit dem Namen angelegt wird etc. und auch im WebFront entsprechend der
Button über den WebHook funktioniert…

Aber wie gesagt aber da bin ich nicht so firm wie das besser sein kann oder was da nicht so schön ist …

habe ich das nicht getan ??? so hab ich das doch umgesetzt oder ??? … hast du denn in das Script von mir geschaut :slight_smile:

Gruß
MacToolz

Hi MacToolz,

okay, da ich jetzt weiß wohin die Reise geht, sollte es einfacher werden :wink:

Habe erst beim lesen Deines Beitrags kapiert das Du schon Variante 1 umgesetzt/umsetzen willst :banghead:

Naja, mit nicht schön meinte ich die Tatsache das Script immer wieder zu duplizieren ist halt bei Erweiterungen/Fehlersuche/Änderungen immer mit viel „doppelte“ Arbeit verbunden … fehleranfällig :cool:

ja habe ich, oben im Script „bei der Auswertung des IPS[SENDER]s“ hast Du viele unnötige „globals“ drin, sonst erstmal okay. Läuft es denn so wie Du möchtest?

Gruß Heiko

Hi,

sorry für die Späte Rückmeldung, bin noch im Elektrik / IPS / SPS Umbau… Das nimmt gerade viel Zeit in Anspruch …
Aber jetzt erstmal fertig und läuft alles …

Also von der Sache her läuft es wunderbar. Habe mir sogar sehr viele Meldegruppen erstellt, damit ich halt
zu meiner Hardware auch dann das passende Fenster habe etc. und dann auch globale Meldungen die so im luafenden Tag passieren.

Wie würdest du denn das vermeiden wollen das man unnötig viele Scripte hat. Da hast du auch vollkommen recht.
Wäre denn da die Lösung das man ein Modul erstellt?

Gruß
MacToolz

Wie schon geschrieben mit einem zusätzlichen Parameter (Kategorie <=> cat=xyz) und einem Array das ein Zuordnung cat-Nummer zu sprechenden Namen hat usw.

oder eben ein Modul, das geht immer :wink:

Gruß Heiko

Hi,

und wie wäre der Ansatz, das man eine Dummyinstanz anlegt und dem Dummy einen sprechenden Namen gibt, darunter das Script kopiert. Unterhalb vom Script wird dann ein Link auf die Dummyinstanz verwiesen.

In dem Script wird dann anhand vom dem Link der Name von der Dummyinstanz geholt.

Dann hätte man ein allgemein gültiges Script … Zwar wiederum viele Scripte aber dann muss man nicht mehr in das Script rein.

MeldeGruppen.JPG

Das mit der Kategorie und dem Array habe ich nicht verstanden …

Hi MacToolz,

so ein Konstrukt kann man natürlich bauen - brauch man sogar den Link nicht - man kann ja den „Papa“ direkt erfragen :slight_smile:

Aber dann musst Du beim Absetzen einer Meldung (IPS_RunScript …) immer wissen welches Script zur Meldung passt.
Könnte zu Fehlern führen und wird bei steigender Anzahl von Meldungsarten auch unübersichtlich.

Das mit der Kategorie und dem Array habe ich nicht verstanden …

Ich hatte mir das so vorgestellt:

1.) einen neuen Parameter (category) für den Scriptaufruf, könnte dann so aussehen:


$number = IPS_RunScriptWaitEx(12345, array('category' => 1, 'action' => 'add', 'text' => 'Test', 'expires' => time() + 60, 'removable' => true));

2.) ein array für die benötigten Kategorien:


$category = [
    0 => 'Meldungen',
    1 => 'Störungen',
    2 => 'Systemmeldungen',
    3 => 'Sonstiges',
];

3.) Im Script dann sich den übergebenen Kategoriewert rausholen und über den Feldindex die Sache dynamisieren (hast Du ja schon fast fertig [letztes Script])


$msg = $category[$_IPS['category']];

So ungefähr …

Gruß Heiko

@pitti,

Hi,

also ich finde die Meldeanzeige super im IPS die ihr erstellt habt. Kann man super gebrauchen,
mal ein Lob an euch …

Schade das ich keine Zeit habe mal zu versuchen sowas in ein Modul umsetzen, das wäre ein erster Ansatz für mich sowas
auf Modulebene die ersten Schritte zu tätigen, dazu fehlt mir aber leider die Zeit dazu um mich selber direkt dort einzuarbeiten.

Weil sowas als ein Modul zu besitzen wäre schon eine tolle Sache, vielleicht mal ein Aufruf an dich … :slight_smile:

Gruß
MacToolz

Hi,

eine Frage, ich wollte das Meldungslog mehrmals anlegen. Hab für den ersten Test alles aufgedoppelt,
sprich das Script kopiert und ausgeführt.

Seltsamerweise kann ich die jeweilige Meldung in dem anderen Listenfeld nicht quittieren.
Kannst du da abschätzen was ich da falsch gemacht habe.

Gruß
MacToolz

Ja, dann musst du auch den Webhook doppeln, umbenennen und auf das jeweilige Script zeigen lassen.

Deswegen ist ja die Sache mit einem Modul schon richtig, aber ich habe soviel Dinge in IPS in Arbeit das ich einfach nicht dazu komme, aber es steht auf der Wunschliste !

Gesendet von iPad mit Tapatalk

Kein Problem, ob glaub den WebHook habe ich vergessen aufzudoppeln …

Ok schaue mir das an und melde mich.

Danke erstmal und schöne Festtage …

Gesendet von meinem SM-G975F mit Tapatalk

Hi,

ich hatte den Hook vergessen …

Ist es möglich das man relativ einfach die Eventnummer abfragt ob diese vorhanden ist.

Gruß
MacToolz

Nee, glaub nicht. Was willst Du denn für ein Prozess abbilden?

Hi,

es gab Probleme das Meldungen nicht mehr gelöscht wurden weil die MeldeID nicht mehr vorhanden war wenn die einzelne Meldung quittiert werden sollte.

Ich habe mir das was um dein Script drum herum gebaut das mir zu dem Event die ID darunter ablegt usw.

Gruß

Gesendet von meinem SM-T815 mit Tapatalk

Hänge mich an mit dem Wunsch eines Moduls. Im Vorhinein Danke! Eines der häufigsten Dinge die ich in Webfront ansehen bzw. kontrolliere!! TipTop!

Hallo Heiko,

das Meldungsskript ist eines der meist genutzten Funktionen in meiner IPSView-Visualisierung!
Mit deiner Hilfe wurde es so modifiziert, dass es technisch und optisch für mich im Moment nicht mehr zu toppen ist.
Solltest du tatsächlich ein Modul andenken, wäre es sehr nett von dir, wenn wir vorab die gewünschten Funktionen mitteilen könnten.
Du hast mir z.B. einen Timestamp mit eingebaut oder die Reihenfolge der Zeile angepasst bzw. die Größe des Farbcodes geändert.
Diese Gegenbenheiten möchte ich in einem eventuellen Modul nicht verlieren.

Danke vorab!

Peter

Hi pitti!

Könntest du das für Dummys mal genau erklären?
Wo liegt diese Datei?
Was genau muss geändert werden?

Danke und lg

Hi cbeham,

dieses Zitat bezog sich auf die Änderung der Schriftgröße. Wenn Du das meinst dann solltest Du wie folgt vorgehen:

So großes Hexenwerks ist das nicht :wink: Die einzelnen Meldungen werden in einer Tabelle / Tabellenzeile ausgegeben. Diese Tabelle hat ihre eigenen Tabellenstyle (CSS), welchen Du Deinen Wünschen entsprechend anpassen kannst.

Die CSS-Anweisungen sind im Script hinterlegt und befinden sich in der Funktion „RenderMessages($data)“, dort steht der Kommentar „Etwas CSS und HTML“, dahinter geht die Definition los.

Wenn Du die Schriftgröße anpassen willst dann solltest Du die Font-Größe hinterlegen, Das könnte dann so aussehen (font-size = 20 Pixel):


    if($cnt == 0 && $nomsg) {
        $style = $style.'table.msg { width:100%; font-size: 20px;}';
    }
    else {
        $style = $style.'table.msg { width:100%; font-size: 20px; border-collapse: collapse; }';
    }

Ich hoffe das hilft Dir weiter, ansonsten nochmal melden.

Danke & Ciao
Heiko

DANKE! Das wars!

Hi pitti!

bei mir stürzt Symcon regelmässig ab, wenn ich Meldungen lösche.

[b]<?[/b]if($_IPS['SENDER'] == "WebFront")

{
    switch($_IPS['VALUE'])
    {
        case 1:
        IPS_SetVariableProfileAssociation("WebfronSwitch_Warn", 0, "...werden gelöscht", "", 0x00FF00);
        IPS_SetVariableProfileAssociation("WebfronSwitch_Warn", 1, "", "", 1);
      
      // hier deine Variable die du EINschalten möchtest
        
        $success = IPS_RunScriptWaitEx(19710, array('action' => 'removeType', 'type' => '2'));
      
        IPS_Sleep(100);
      // hier deine Variable die du wieder AUSschalten möchtest

      //  break;
      //  case 0:

        IPS_SetVariableProfileAssociation("WebfronSwitch_Warn", 1, "löschen", "", 0xE0EEE0);
        IPS_SetVariableProfileAssociation("WebfronSwitch_Warn", 0, "", "", 1);

        break;
    }

}

Es sind schon einige Hundert Einträge vorhanden…

Egal welchen Typ ich lösche, es steht dann ständig „…werden gelöscht“ und IPS hängt sich auf.

Danke für deine Hilfe

lg Christian

UPDATE: Ich glaube es hängt sich nicht auf, sondern ist nur extrem langsam!!! Das System ist komplett ausgelastet…
Und irgendwie wird eigentlich nichts gelöscht?

Hmm, nicht schön!

Im ersten Moment dachte ich das wärend des Löschens neue Meldungen reinkommen, aber eigentlich ist das mittels IPS_SemaphoreEnter/Leave abgesichert :confused:

Passiert das auch wenn Du übers Webfront einzelne Meldungen bestätigst? Dann erfolgt ja auch ein Löschvorgang!

Gruß Heiko