NEWS

[Script] MessageHandler: Nachrichten protokollieren +Widget

  • Starter

    @Tirador
    Idee und Umsetzung gefallen mir sehr gut. Danke für die Arbeit. Leider habe ich beim Blockly-Beispiel nur Fehlermeldungen...
    Poste doch bitte mal andere Beispiele (Kalender, presence tr64, Stati, ...) für ein besseres Verständnis.

  • Starter

    @uwe12489 Hallo Uwe, vielen Dank! 🙂

    Ein weiteres Beispiel, wie man das Auslösen von Nachrichten in anderen Skripten integrieren kann am Beispiel des "Script: An- und Abwesenheitserkennung über TR-064-Community-Adapter" (Quelle: https://github.com/Mic-M/iobroker.presence-script-for-tr-064-community-adapter)

    Dort kann man die folgenden im Screenshot gelb markierten Codezeilen ergänzen, damit die Nachrichten ausgelöst werden:
    2020-04-09 09_11_50-javascript - ioBroker.png

    Codezeilen:

        // Send global Message of available Users!
        
        if(presentPersons.length > 0) {
            postMessage("PERSONS_AVAILABLE_INFO", presentPersons, counter);
    
        } else {
            removeMessage("PERSONS_AVAILABLE_INFO");
        }
    

    An einem zusätzlichen "generischen" Skript zur Auslösung von Nachrichten bin ich dran. Die Idee ist dort, dass ich Datenpunkte für die Überwachung und Ausgabe der Nachrichtentexte definieren kann. Damit werden die Messages dann automatisiert angelegt. Damit kann man sich Eingriffe in andere Skripte ersparen, was die Wartbarkeit vereinfacht. D.h. wenn Mic sein Skript aktualisiert, muss ich nicht ständig die Codezeilen wieder ergänzen bei mir.
    Einen Prototyp habe ich gestern begonnen, dass wird aber noch etwas dauern, bis ich da einen Stand habe der veröffentlicht werden kann.

    Bezüglich Blockly:
    Das Blockly ist nur ein Beispiel von mir. Da der Datenpunkt für den Briefkastensensor bei dir nicht vorhanden sein wird, kann es nicht "out of the box" funktionieren. Es soll ja nur aufzeigen, wie man die Javascript-Funktion "postMessage" auch in Blockly verwenden kann.
    Wenn Du Details zu den Fehlermeldungen postest kann ich dir gerne versuchen zu helfen beim Blockly. Vielleicht schreibst du mir eine private Nachricht, um dies zu ergründen.

  • Starter

    @Tirador
    Das ist ja ein super Service. Danke.
    Leider bringt dein Codeschnipsel im script presence-tr64 auch nur Fehler
    Bildschirmfoto 2020-04-09 um 10.37.02.png
    wo klemmt da die säge? unterschiedliche bezeichnungen?

  • Starter

    @uwe12489 Der Fehler in deinem Log deutet daraufhin, dass du den Codeschnipsel an der falschen Stelle eingefügt hast.

    Ich habe bisher Version 0.7 verwendet, jetzt aber das Script von Mic nochmal aktualisiert.

    Die Codezeilen haben sich leicht verschoben in der Version 1.1 von mic:

    2020-04-09 12_37_18-javascript - ioBroker.png

    Das vollständige Script mit den Codezeilen habe ich aber zusätzlich nochmal eingefügt:

  • Starter

    @Tirador
    Das geht ja wirklich super schnell. Danke.
    Mit dem neuen Script kommt folgender Log:
    Bildschirmfoto 2020-04-09 um 15.55.40.png
    Er findet wohl presentpersons nicht...

  • Starter

    @uwe12489
    Ah, eine ähnliche Meldung kommt auch bei removeMessage
    Bildschirmfoto 2020-04-09 um 17.30.58.png

  • Starter

    @uwe12489 dann hast du das message.js Script nicht unter global installiert.

  • Starter

    @Tirador
    Blöder Fehler von mir 😉 Danke

  • Starter

    Ich hatte die Tage etwas Zeit an der Lösung weiterzuarbeiten.

    Ich habe nun noch ein weiteres Skript hinzugefügt "MessageStateCreator".
    Damit kann man konfigurabel Datenpunkte überwachen und auch nur bei bestimmten Bedingungen Nachrichten erzeugen oder auch entfernen. Die Textausgabe der Nachrichten kann auch konfiguriert werden und dynamisch erzeugt werden.
    Damit ist es nun nicht mehr notwendig in anderen Skripten hand anzulegen, sofern die notwendigen Datenpunkte bereits zur Verfügung stehen.

    Damit kann ich nun die folgenden Informationen automatisiert erzeugen:
    2020-04-12 12_27_30-vis.png

    Insgesamt bin ich schon sehr zufrieden damit. 🙂

    Ich habe das initale Posting in diesem Thread um die neuen und aktualisierten Skripte ergänzt, sowie die Anleitung aktualisiert.

    Details zur Konfiguration inkl. Beispiel ist im Skript MessageStateCreator vorhanden.

    Ein Auszug aus meinen Beispielen (Spoiler):

  • Starter

    Da ich durch umfangreiche Bearbeitung des initialen Postings das Layout so "zerstückelt" habe, ist leider dieser Thread unbrauchbar geworden. Das initiale Posting ist nicht mehr editierbar / nichtmal für die Admins.

    Ich habe daher ein neues Posting angelegt und bitte alle dort weiterzumachen:

    https://forum.iobroker.net/topic/32207/script-messagehandler-nachrichten-protokollieren-vis

    @Foren-Admins:
    Bitte diesen Thread schließen.

Suggested Topics

  • 1
  • 5
  • 14
  • 3
  • 44
  • 5
  • 4
  • 1

2.4k
Online

35.1k
Users

41.0k
Topics

563.8k
Posts