Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. LED Status Display [solved]

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    LED Status Display [solved]

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      claus1993 last edited by

      Kleines Update, erfreuliches Update….zumindest teilweise.

      Habe die Datenleitung von D4 auf D1 gewechselt was im ersten Schritt keinen Erfolg hatte. Danach habe ich noch den Sketch angepasst was die Pin Benennung angeht.

      "#define PIN D1" habe ich geändert in "#define PIN 5"

      Jetzt leuchten bei mir alle LEDs bis auf die im letzten Modul. Hier werde ich den Lötkolben nochmal ansetzen und ggf das Modul austauschen.

      joergeli 1 Reply Last reply Reply Quote 0
      • joergeli
        joergeli @claus1993 last edited by

        @claus1993
        D1 = GPIO5
        sollte eigentlich beides funktionieren

        1 Reply Last reply Reply Quote 0
        • C
          claus1993 last edited by

          @joergeli & @SBorg

          Danke für eure Unterstützung...ohne euch hätte ich aufgegeben und so leuchten nun alle LEDs in den gewünschten Farben.

          @joergeli

          das mit dem OTA finde ich cool...werde ich mir mal etwas näher ansehen.

          joergeli 1 Reply Last reply Reply Quote 0
          • joergeli
            joergeli @claus1993 last edited by joergeli

            @claus1993
            OTA integrieren ist nicht weiter problematisch, sind insgesamt nur 5 Einträge:

            1.) OTA-Library einbinden (muss natürlich im library-Ordner vorhanden sein)

            #include <ArduinoOTA.h>   // fuer Flashen ueber WLAN ( OTA = Over The Air)
            

            2.) "OTA-Namen" nach eigenem Gusto vergeben:

            const char* OTA_host = "LED Status-Display";  // Name unter welchem der virtuelle Port in der Arduino-IDE auftaucht
            

            3.) Im setup-Abschnitt OTA starten:

            ArduinoOTA.setHostname(OTA_host);   // fuer Flashen ueber WLAN
            ArduinoOTA.begin();                 // fuer Flashen ueber WLAN
            

            4.) Im loop-Abschnitt OTA zyklisch abfragen:

            ArduinoOTA.handle();  //fuer Flashen ueber WLAN
            

            OTA ist ganz praktisch für Geräte, welche an unzugänglichen, oder schwer erreichbaren Standorten verbaut sind und man sie dehalb nur schwer per USB mit der Arduino-IDE verbinden kann, um sie neu zu flashen.

            Freut mich, daß Dein Display jetzt funktioniert.
            Jörg

            1 Reply Last reply Reply Quote 0
            • G
              Gwenselah @joergeli last edited by

              @joergeli said in LED Status Display [solved]:

              Das LED-Display habe ich mit einem, gegenüber dem Original-Sketch, leicht abgeändertem Sketch geflashed:

              Welches meinst Du mit Original Sketch?

              joergeli 1 Reply Last reply Reply Quote 0
              • joergeli
                joergeli @Gwenselah last edited by

                @Gwenselah
                Den im ersten Post verlinkten:
                https://www.smarthome-tricks.de/software-iobroker/iobroker-led-status-display-prototyp/

                1 Reply Last reply Reply Quote 0
                • Rene55
                  Rene55 last edited by

                  @joergeli
                  Das ist, was ich schon länger gesucht habe. Danke dafür.
                  Hab es soweit nachgebaut. Ich habe aber ein Problem mit dem MQTT. Es ist doch nicht das gleiche ob ich das 0_userdata/0/LedStatusDisplay/#oder das 0_userdata.0.LedStatusDisplay/# in mein Script für den esp schreibe. Oder funktioniert das nur mit dem ioBroker internen MQTT? Ich habe einen separaten MQTT-Server.
                  Dazu die zweite Frage: Wenn der Datenpunkt mit der richtigen Farbe gefüllt ist, wie wird das dann gepublisht?
                  LG Rainer

                  joergeli 1 Reply Last reply Reply Quote 0
                  • joergeli
                    joergeli @Rene55 last edited by

                    @Rene55

                    Moin,
                    ich verwende den ioBroker MQTT-Adapter als Server/broker:
                    mqtt0-Einsrellungen.jpg

                    mit folgenden Einstellungen:
                    mqtt0-Einsrellungen.jpg

                    Ich gebe dort als Maske für Bekanntgeben von eigenen States folgendes vor: mqtt.0.*,javascript.*.
                    Also alles, was sich unter mqtt.0 und javascript befindet (alles, weil ich auch noch andere Ojekte unter javascript für andere MQTT-Sachen verwende).

                    Meine LED-Objekte liegen unter javascript.0.LedStatusDisplay.
                    ( Den Ordner 0_userdata gab es zum damaligen Stand seitens ioBroker noch nicht und ich war bisher zu faul zum Umstellen 😊 )
                    :
                    LED-Statusdisplay-Objekte.jpg

                    Beachte bitte, daß im Arduino-Sketch der Topic-Name zwei Mal vorkommt:
                    1.) In der Subroutine

                    void MQTTCallback(char* topic, byte* payload, unsigned int length) {
                    .
                    .
                    TopicName.replace("javascript/0/LedStatusDisplay/led_","");
                    .
                    .
                    

                    2.) und in der Subroutine

                    void reconnect() {
                    .
                    .
                    .
                    client.subscribe("javascript/0/LedStatusDisplay/#"); // alle subscriben
                    .
                    .
                    .
                    

                    Ich weiß leider nicht, ob das genau so mit einem externen MQTT-Broker funktioniert.
                    Ich würde vorschlagen, Du installierst - testweise - das Ganze so, wie in meinen Einstellungen/Datenpunkten/Java-Script und schaust dann, ob es so funktioniert.
                    Wenn es so funktioniert, kannst Du versuchen, wenn gewünscht, Zug um Zug auf Deinen externen MQTT-Broker umzustellen.

                    Zitat:

                    Dazu die zweite Frage: Wenn der Datenpunkt mit der richtigen Farbe gefüllt ist, wie wird das dann gepublisht?

                    Das macht bei mir der ioBroker-MQTT-Adapter gem. seiner Einstellung: "Publish nur bei Änderung".
                    Also wenn sich der Status eines LED-Datenpunktes, bzw. seine Farbe ändert, wird automatisch gepublished.

                    Bitte berichte.

                    Gruß
                    Jörg

                    1 Reply Last reply Reply Quote 0
                    • Rene55
                      Rene55 last edited by

                      @joergeli
                      Danke für die schnelle und vor allem ausführliche Antwort. Das esp-Script läuft ja einwandfrei wenn ich es direkt mit MQTT.fx antriggere.
                      Ich habe zwischenzeitlich weitergebastelt und das Script im ioBroker mal für einen Fensterkontakt auf meine Bedingungen (externer MQTT-Server) angepasst.

                      on({id: "hm-rpc.0.NEQ1682288.1.STATE"/*at_links.STATE*/, change: "ne"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if (value) {
                          statusColor = 'red';
                        } else {
                          statusColor = 'green';
                        }
                        sendTo('mqtt.0', 'sendMessage2Client', {topic: 'LedStatusDisplay/led_03', message: statusColor});
                      });
                      

                      Hier brauche ich gar keine besonderen Datenpunkte. Ob das so sinnvoll ist, lass ich mal als Frage stehen.
                      LG Rainer

                      joergeli 1 Reply Last reply Reply Quote 0
                      • joergeli
                        joergeli @Rene55 last edited by

                        @Rene55

                        Naja, ich habe mir der Übersichtlichkeit halber eigene Datenpunkte nur für die LED-Zustände angelegt.
                        Die stehen dann in den ioBroker-Objekten als Datenpunkte led_01 - led_32 schön untereinander.

                        Ich meine, bei mir werden bei Änderung auch nur eines Datenpunktes auch die Zustände aller anderen LED-Datenpunkte mit übertragen und dann im Sketch in einer Schleife abgefragt.
                        Hintergrund ist der, daß sich sonst erstmalig jeder Datenpunkt/Topic mindestens 1 Mal ändern müsste, bis die entspr. LED leuchtet (vorher ist deren Zustand ja noch nicht bekannt).

                        Tipp:
                        Es gibt bei mir auch noch einen dritten Zustand, nämlich "off".
                        Mir ist das bei 32 LEDs einfach zu bunt, bzw. zu unübersichtlich geworden, so daß z.B. wenn "keine Post da ist", die entspr. LED einfach ausgeschaltet wird.

                        Gruß
                        Jörg

                        1 Reply Last reply Reply Quote 0
                        • Rene55
                          Rene55 last edited by

                          @joergeli
                          Hallo Jörg, das mit dem aktualisieren aller Datenpunkte bzw. anzuzeigender Sensoren war mir auch schon im Sinn. Ich war ja schon froh, das esp-Script nutzen zu können. Ich muss mir noch Gedanken machen, was ich alles anzeigen lassen will. Erster Gedanke ist, beim verlassen des Hauses auf einen Blick zu sehen, ob noch ein Fenster auf ist.
                          Ich werde auf jeden Fall nochmals die Sache mit dem publishen über MQTT testen, um es zu verstehen. Ich empfange ja schon Telegramme von verschiedenen Sensoren, nur halt senden noch nicht.
                          Danke nochmals und gute Nacht.
                          LG Rainer

                          joergeli 2 Replies Last reply Reply Quote 0
                          • joergeli
                            joergeli @Rene55 last edited by

                            @Rene55

                            @Rene55 sagte in LED Status Display [solved]:

                            Erster Gedanke ist, beim verlassen des Hauses auf einen Blick zu sehen, ob noch ein Fenster auf ist.

                            Das sollte kein Problem sein.

                            @Rene55 sagte in LED Status Display [solved]:

                            Ich werde auf jeden Fall nochmals die Sache mit dem publishen über MQTT testen, um es zu verstehen. Ich empfange ja schon Telegramme von verschiedenen Sensoren, nur halt senden noch nicht.

                            Ich bin auch nicht so der MQTT-Crack.
                            Wenn es aber schon mal via MQTT.fx läuft, ist das m.E. schon mal die halbe Miete.
                            Das einfachste wäre - wie schon gesagt - Du übernimmst zum Testen meine Konfiguration kpl.
                            Natürlich müssen im Java-Script die Datenpunkte an Deine Sensoren/Aktoren angepasst werden.

                            Gute Nacht
                            Jörg

                            1 Reply Last reply Reply Quote 0
                            • joergeli
                              joergeli @Rene55 last edited by

                              @Rene55
                              ... und funktioniert Dein Display jetzt ?

                              Gruß
                              Jörg

                              1 Reply Last reply Reply Quote 0
                              • Rene55
                                Rene55 last edited by

                                @joergeli
                                Danke der Nachfrage. Bin noch im Experimentierstadium. Mir fehlt auch noch die richtige Hardware.
                                LedStatusDisplay(prototyp).jpg
                                LG Rainer

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                437
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

                                communication monitoring
                                7
                                30
                                4958
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo