Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Probleme mit Change Node Module als Inverter

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Probleme mit Change Node Module als Inverter

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 2 Kommentatoren 880 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    CPT_Mac
    schrieb am zuletzt editiert von
    #1

    Hallo,

    folgendes Problem beschäftigt mich seit Tagen, vielleicht kann mir jemand dabei helfen.

    Folgendes soll realisiert werden. Mit einem Astro- Modul soll eine Hofbeleuchtung Node-red via MQTT > ESPeasy Nachts an und am Tag ausgeschaltet werden.

    Das Astro- Modul gibt bei Sonnenaufgang eine "1" aus und bei Sonnenuntergang eine "0". Das Licht wird damit auch an und aus geschaltet, nur leider am Tag an und Nachts aus. Gut ich könnte mit einem Transistor am ESP Ausgang das Signal invertieren, dass wäre aber nicht elegant.

    Also muss die Logik ja nur invertiert werden, klingt ja einfach. Nur genau das bekomme ich mit dem Change- Modul nicht hin. Ich bin soweit gekommen, dass ich mit dem nächsten Wechsel automatisch an oder aus schalten kann, nur beim darauffolgenden geht es nicht mehr.

    Also Rule 1 seach for "0" and replace with "1" geht noch. Wenn ich dann aber als 2. Rule seach for "1" and replace with "0" geht das nicht mehr. Auch zwei Inverter parallel, einer für die "0" und einer für die "1" brachte keinen Erfolg.

    Ich habe noch ein zweites Problem. Mit Node-red stehe ich noch ganz am Anfang und habe mir zum üben und lernen ein paar Flows erstellt um Temperaturen Luftfeuchtigkeit und Schalter in ein Dashboard zu integrieren. Das lief auch einen Tag ganz gut, die Anzeigen waren alle da. Dann kam irgendwann "connection lost" auf der node-red ui. Nach erneuten Aufruf der Seite ist diese nur noch weiß. Auch ein reboot hat nichts geholfen. Alle Anzeigen und Schaltersymbole sind weg.

    Ich hatte früher schon mal so einen Effect mit einer anderen Home automation Software, kann mich aber nicht mehr an den Grund und die Fehlerbeseitigung erinnern.

    Für einen Hinweis wäre ich dankbar.

    PS: Sehe gerate das ein anderer User "bytec" vor ein paar Tagen die gleiche Problematik hatte, aber wohl auch keine Lösung gefunden wurde :roll:

    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      atelmblcd
      schrieb am zuletzt editiert von
      #2

      Stell den Flow mal hier rein, ich schaue in mir an.

      Meiner Meinung nach braucht man nichts zu ändern und das Change Modul ist nicht notwendig.

      Man muss nur den Mqtt Topic anpassen

      Ich nehme an dass du 2 Mqtt Topic hast einen zu ein- und einen zum aussschalten, oder hat du einen Umschalttopic.

      Verwendest du den ESP8266 oder den ESP32.

      Wird der ESP auch zusätzlich durch einen externen Taster geschaltet? Wenn ja hast du eine Rückmeldung in den ESP programmiert?

      0–>aus

      1-->ein

      2-->umschalten

      MfG

      Jean

      1 Antwort Letzte Antwort
      0
      • C Offline
        C Offline
        CPT_Mac
        schrieb am zuletzt editiert von
        #3

        Hallo Jean,

        danke das Du dich dem Problem annehmen möchtest.

        Astro Knoten gibt eine Nummer 0 für Nacht oder 1 für Tag aus. Man kann Ausgang 1 Wählen, dann wiederholt sich die Ausgabe jede Minute, oder Ausgang 2 Signal nur zum Sunrise 1 oder Sunset 0. Die 0 oder 1 kann ich mit MQTT an den ESP8266 mit ESPeasy senden. Mit MQTT /ESPeasy_2/gpio1 bzw. gpio/0 schaltet das Relais. Mit 1 zieht es an, mit 0 fällt es ab. Ich könnte zwar eine Transistorstufe als Phasendreher einsetzen, oder am Relais NO mit NC vertauschen. Da in unseren Breiten die Verteilung der Tag und Nacht Stunden über das Jahr gesehen in etwa gleich ist, wäre es bei dieser Anwendung egal. Spätestens aber beim nächsten Projekt, wo die Schaltzeit zur Ruhe Zeit sehr ungleich ist, Möchte man ja nicht, das ein Relais für z. B. 23h angezogen ist und für eine Stunde abgefallen ist, wenn man mit einem Inverter erreichen kann, das es für eine Stunde angezogen ist und für 23 Stunden stromlos ist.

        Ich hoffe man versteht was ich meine.

        Ein Inverter ist ja absolutes Basic und entweder verstehe ich den Syntax des Change Models nicht, oder es funktioniert schlicht nicht.

        Ich hänge mal drei Bilder zur Verdeutlichung an. Bei dem Versuchsaufbau sollte dann beim injecten einer 0 im Debug eine 1 stehen und umgekehrt. Geht bloß leider nicht.
        5821_1.jpeg
        5821_2.jpeg
        5821_3.jpeg

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          atelmblcd
          schrieb am zuletzt editiert von
          #4

          So funktioniert das nicht.

          Das change Modul arbeitet die erstellten Regeln der Reihe nach ab.

          Das System beginnt mit der 1ten erstellten Regel

          zuerst die 1 gesucht wenn die vorhanden ist wird es auf 0 gewechselt.

          Wenn dies geschehen ist tritt die 2te Regel in Kraft.

          jetzt steht in dem Payload welches geändert worden ist aber die 0 und es wird zurück auf die 1 gewechselt.

          jetzt hast du mehrere Möglichkeiten.

          Möglichkeit A

          Du must 2 change Module hintereinander verbinden .

          zuerst

          1te change Modul

          1–> Aus

          0--> Ein

          dann das 2te change Modul

          Aus-->0

          Ein-->1

          Möglichkeit B

          du kannst den ESP sketch ändern damit er auf ein und aus reagiert. Vorteil du brauchst nur 1 change Modul und nicht 2 hintereinander.

          ESPeasy_2/gpio/Ein

          ESPeasy_2/gpio/Aus

          Möglichkeit C

          den ESP so programmieren dass er bei 0 ein- und bei 1 ausschaltet

          Möglichkeit D

          Du kannst es auch mit dem Split Modul machen und einen separates Mqtt Topic jeweils für ein und eins für aus machen,

          dann aber auf Textausgabe achten

          mit Mqtt hast 2 Möglichkeiten der Mqtt Ausgabe

          reiner Text oder den Buffer mit auszugeben

          Steht auch so in der Anleitung

          payload string | buffer

          most users prefer simple text payloads, but binary buffers can also be published.

          Wie handhabst du den Last Will in Mqtt?

          Das System muss ja reagieren wenn der Publisher abstürtzt, oder offline geht.

          Auf welchen System läuft der Mqtt Broker? Mosquitto auf Raspi?

          Man Könnte sich überlegen den MQTT Server in Node-red zu installieren

          node-red-contrib-mqtt-broker

          Dann kann man sehr gut den Last Will steuern.

          Hast du noch einen externen Taster im Sytem um im Notfall manuell zu schalten?

          Dies kannst du Hardware oder Software mässig machen

          MfG

          Jean

          1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            CPT_Mac
            schrieb am zuletzt editiert von
            #5

            Danke Jean für die ausführliche Erklärung.

            Ich habe es jetzt wie vorgeschlagen mit Möglichkeit A realisiert. Wenn ich solch ein Szenario nicht allzuoft habe, kann ich mit 2 change Module in Rheine leben.

            Vielen Dank für den Hinweis.

            Möglichkeit B und C scheiden für mich erstmal aus. espeasy ist kein Sketch für den ESP, sondern eine alternative Software, welche einen großen und einfach zu bedienenden Funktionsumfang hat. Leider fehltmeines Wissens eine inverser Funktion. Der Ausgang des ESP reagiert dann zum Beispiel auf: /ESP_Easy_2/gpio/14 : msg.payload : string[1].

            "1" Wobei die 1 oder 0 numerisch oder ein string sein darf. Ob er auch auf String: ein oder String aus reagiert, müsste ich prüfen.

            Möglichkeit D verstehe ich noch nicht ganz, da muss ich mich noch mit beschäftigen.

            Mit last will habe ich mich noch gar nicht beschäftigt. Würde der Broker abstürzen, oder der Raspi auf dem er läuft, würde der ESP den letzten Zustand halten. Also entweder Licht an oder aus. Das ist auch ok so.

            Einen manuellen Taster habe ich zur Zeit als Injecter. Der Taster im ui ist leider verschwunden. Ich habe nur noch eine wiße Seite, kein Temp Gage etc. mehr vorhanden.

            Da werde ich das System noch mal neu aufsetzen. Im Augenblick sondiere ich noch wie und auf welches Home Automation System ich von meinem vorhandenen (6 Raspi's) umsteige.

            Letztendlich werde ich etwa 20 Relais zu schalten haben, plus ca. 10 433Mhz Funksteckdosen (Elro) + ca. 10 DS18b20 und ca. 10 DHT22 auslesen + mehrere Eingänge.

            Im Augenblick denke ich, dass mir Node-red und mqtt auf einem Raspi plus entsprechend viele ESP's oder auch noch ein oder zwei Raspi's.

            Ob der Iobroker für mich zusätzlich sinnvoll ist, weiß ich noch nicht. Da muss ich mich erst noch mehr damit beschäftigen. Das ui von Node-red wird für meine Zwecke vermutlich ausreichend sein.

            Vielen Dank noch mal.

            Gruß

            Ron

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              atelmblcd
              schrieb am zuletzt editiert von
              #6

              Hab vergessen, es gibt noch eine Möglicket mit einer Dummy Regel

              man muss 3 Regeln in dem change Modul programmieren

              1–> dummy

              0--> 1

              dummy--> 0

              der Dummy kann eine Zahl oder Text sein

              MfG

              Jean

              1 Antwort Letzte Antwort
              0
              • C Offline
                C Offline
                CPT_Mac
                schrieb am zuletzt editiert von
                #7

                Danke, der ist genial.

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                477

                Online

                32.5k

                Benutzer

                81.7k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe