Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. funktion optimieren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    891

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

funktion optimieren

Scheduled Pinned Locked Moved Node-Red
11 Posts 3 Posters 682 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Ragnar-Lodbrok

    Hallo,
    ich befasse mich gerade mit Node-RED und habe eine Möglichkeit gefunden über Alexa die Temperatur zu steuern.
    ( Wenn jemand einen besseren Vorschlag hat immer her damit :blush: )

    Die Schalter, zb. heizung 19 grad, senden ein on oder off !
    Das wandel ich mit einer function in eine Zahl um die wiederum in die Datei javascript.0.temp-test.testheizung geschrieben wird.

    Die Auswertung erfolg dann weiter über Blockly weil mir hier noch das wissen fehlt.
    Würde aber gerne die ganze Steuerung über Node-red laufen lassen.

    Bildschirmfoto zu 2020-11-10 14-07-29.png

    Jetzt würde ich das gerne optimieren und nur eine function nutzen mit mehreren Ausgängen für zb Heizung aus, 19 Grad, 20 Grad etc.

    Auch würde ich die function änder in "if" und "or", jedoch weiß ich nicht wie :-(

    So zb.:

    if(msg.payload == 'on' or 'off')
    {
    msg.payload = '21';
    }
    return msg;

    Gruß

    Bildschirmfoto zu 2020-11-10 13-48-11.png Bildschirmfoto zu 2020-11-10 13-48-27.png Bildschirmfoto zu 2020-11-10 13-48-44.png

    P Offline
    P Offline
    peterfido
    wrote on last edited by peterfido
    #2

    @Ragnar-Lodbrok Hallo, du hast für jede Temperatur ein Gerät angelegt. Besser ist es mit nur einem Gerät (dimmbare Lampe). Da übergibst du die gewünschte Temperatur als Zahl. Der Wert taucht dann unter msg.bri auf.

    Alexa, Stelle Wohnzimmerheizung auf 22.

    Gruß

    Peterfido


    Proxmox auf Intel NUC12WSHi5
    ioBroker: Debian (VM)
    CCU: Debmatic (VM)
    Influx: Debian (VM)
    Grafana: Debian (VM)
    eBus: Debian (VM)
    Zigbee: Debian (VM) mit zigbee2mqtt

    R 1 Reply Last reply
    0
    • P peterfido

      @Ragnar-Lodbrok Hallo, du hast für jede Temperatur ein Gerät angelegt. Besser ist es mit nur einem Gerät (dimmbare Lampe). Da übergibst du die gewünschte Temperatur als Zahl. Der Wert taucht dann unter msg.bri auf.

      Alexa, Stelle Wohnzimmerheizung auf 22.

      R Offline
      R Offline
      Ragnar-Lodbrok
      wrote on last edited by
      #3

      @peterfido said in funktion optimieren:

      dimmbare Lampe

      Wie meinst Du das ? Welchen Baustein soll ich zum dimmen nehmen und welche dadurch ersetzen ?

      Hardwaresystem: NUC
      Arbeitsspeicher: 64GB
      Festplattenart: SSD
      Betriebssystem:Debian
      Nodejs-Version:3.1.6|
      ioBroker 4.2.1

      J 1 Reply Last reply
      0
      • R Ragnar-Lodbrok

        @peterfido said in funktion optimieren:

        dimmbare Lampe

        Wie meinst Du das ? Welchen Baustein soll ich zum dimmen nehmen und welche dadurch ersetzen ?

        J Offline
        J Offline
        Jan1
        wrote on last edited by Jan1
        #4

        @Ragnar-Lodbrok
        Mit der Funktion, nur eben ein andere Inhalt:

        var newMsg = { payload: Math.round (msg.bri*100/254) } ;
        return newMsg;
        

        e74e6198-f4d0-4c99-a81d-93d2937c106f-grafik.png

        So steure Ich meine Rollläden von 0-100.

        R 1 Reply Last reply
        0
        • J Jan1

          @Ragnar-Lodbrok
          Mit der Funktion, nur eben ein andere Inhalt:

          var newMsg = { payload: Math.round (msg.bri*100/254) } ;
          return newMsg;
          

          e74e6198-f4d0-4c99-a81d-93d2937c106f-grafik.png

          So steure Ich meine Rollläden von 0-100.

          R Offline
          R Offline
          Ragnar-Lodbrok
          wrote on last edited by Ragnar-Lodbrok
          #5

          @Jan1 said in funktion optimieren:

                                                                                                                                      var newMsg = { payload: Math.round (msg.bri*100/254) } ;                                                                                                                                                                            return newMsg;                                            
          

          Danke, mir fehlt jedoch noch das Verständnis.

          Ich weiß nicht wie ich den Wert, zb heizung 24, heizung 25 an den Dimmer übergebe.
          Wenn ich heizung 24 sage erscheint nur die 0 im debug.
          0 würde ich für Heizung aus nehmen und die 25 für max, oder?

          var newMsg = { payload: Math.round (msg.bri*0/25) } ;
          return newMsg;
          

          Bildschirmfoto zu 2020-11-11 09-43-13.png

          Bildschirmfoto zu 2020-11-11 09-43-56.png

          oder muss ich im amazon echo device noch etwas eintragen ?
          hier irgendwo die 24 ?
          Bildschirmfoto zu 2020-11-11 09-47-03.png

          Hardwaresystem: NUC
          Arbeitsspeicher: 64GB
          Festplattenart: SSD
          Betriebssystem:Debian
          Nodejs-Version:3.1.6|
          ioBroker 4.2.1

          R J 2 Replies Last reply
          0
          • R Ragnar-Lodbrok

            @Jan1 said in funktion optimieren:

                                                                                                                                        var newMsg = { payload: Math.round (msg.bri*100/254) } ;                                                                                                                                                                            return newMsg;                                            
            

            Danke, mir fehlt jedoch noch das Verständnis.

            Ich weiß nicht wie ich den Wert, zb heizung 24, heizung 25 an den Dimmer übergebe.
            Wenn ich heizung 24 sage erscheint nur die 0 im debug.
            0 würde ich für Heizung aus nehmen und die 25 für max, oder?

            var newMsg = { payload: Math.round (msg.bri*0/25) } ;
            return newMsg;
            

            Bildschirmfoto zu 2020-11-11 09-43-13.png

            Bildschirmfoto zu 2020-11-11 09-43-56.png

            oder muss ich im amazon echo device noch etwas eintragen ?
            hier irgendwo die 24 ?
            Bildschirmfoto zu 2020-11-11 09-47-03.png

            R Offline
            R Offline
            Ragnar-Lodbrok
            wrote on last edited by Ragnar-Lodbrok
            #6

            so langsam verstehe ich :blush:

            Wenn ich, Alex stelle Heizung auf 25 Grad, sage kommt ein okay aber es wird nur der Wert null ausgegeben ?

            Bildschirmfoto zu 2020-11-11 10-04-22.png

            Hardwaresystem: NUC
            Arbeitsspeicher: 64GB
            Festplattenart: SSD
            Betriebssystem:Debian
            Nodejs-Version:3.1.6|
            ioBroker 4.2.1

            1 Reply Last reply
            0
            • R Ragnar-Lodbrok

              @Jan1 said in funktion optimieren:

                                                                                                                                          var newMsg = { payload: Math.round (msg.bri*100/254) } ;                                                                                                                                                                            return newMsg;                                            
              

              Danke, mir fehlt jedoch noch das Verständnis.

              Ich weiß nicht wie ich den Wert, zb heizung 24, heizung 25 an den Dimmer übergebe.
              Wenn ich heizung 24 sage erscheint nur die 0 im debug.
              0 würde ich für Heizung aus nehmen und die 25 für max, oder?

              var newMsg = { payload: Math.round (msg.bri*0/25) } ;
              return newMsg;
              

              Bildschirmfoto zu 2020-11-11 09-43-13.png

              Bildschirmfoto zu 2020-11-11 09-43-56.png

              oder muss ich im amazon echo device noch etwas eintragen ?
              hier irgendwo die 24 ?
              Bildschirmfoto zu 2020-11-11 09-47-03.png

              J Offline
              J Offline
              Jan1
              wrote on last edited by
              #7

              @Ragnar-Lodbrok
              Die ganzen Temperaturen kannst Dir schenken, einfach die Amazon Node und die Funktion, direkt auf den zu steuer enden DP. Alles was Du Alexa sagst, wird direkt an den DP übergeben.

              R 1 Reply Last reply
              0
              • J Jan1

                @Ragnar-Lodbrok
                Die ganzen Temperaturen kannst Dir schenken, einfach die Amazon Node und die Funktion, direkt auf den zu steuer enden DP. Alles was Du Alexa sagst, wird direkt an den DP übergeben.

                R Offline
                R Offline
                Ragnar-Lodbrok
                wrote on last edited by
                #8

                @Jan1

                habe ich gemacht aber warum kommt im debug dann immer nur die null ?

                Bildschirmfoto zu 2020-11-11 10-07-03.png

                Hardwaresystem: NUC
                Arbeitsspeicher: 64GB
                Festplattenart: SSD
                Betriebssystem:Debian
                Nodejs-Version:3.1.6|
                ioBroker 4.2.1

                J 1 Reply Last reply
                0
                • R Ragnar-Lodbrok

                  @Jan1

                  habe ich gemacht aber warum kommt im debug dann immer nur die null ?

                  Bildschirmfoto zu 2020-11-11 10-07-03.png

                  J Offline
                  J Offline
                  Jan1
                  wrote on last edited by
                  #9

                  @Ragnar-Lodbrok
                  Mit dem Debug habe ich noch wie was angezeigt bekommen. Nimm die Funktion so wie ich sie oben gepostet habe und Du kannst von 0 -100 über Alexa steuern.

                  R 1 Reply Last reply
                  0
                  • J Jan1

                    @Ragnar-Lodbrok
                    Mit dem Debug habe ich noch wie was angezeigt bekommen. Nimm die Funktion so wie ich sie oben gepostet habe und Du kannst von 0 -100 über Alexa steuern.

                    R Offline
                    R Offline
                    Ragnar-Lodbrok
                    wrote on last edited by
                    #10

                    @Jan1

                    Perfekt jetzt geht es :+1: :+1:

                    Hardwaresystem: NUC
                    Arbeitsspeicher: 64GB
                    Festplattenart: SSD
                    Betriebssystem:Debian
                    Nodejs-Version:3.1.6|
                    ioBroker 4.2.1

                    J 1 Reply Last reply
                    0
                    • R Ragnar-Lodbrok

                      @Jan1

                      Perfekt jetzt geht es :+1: :+1:

                      J Offline
                      J Offline
                      Jan1
                      wrote on last edited by
                      #11

                      @Ragnar-Lodbrok
                      einfacher als gedacht :)
                      Ich such mir bei Node-Red auch immer alles zusammen was ich brauch, da mir die Logik von Node-Red gegen mein Verständnis geht.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      670

                      Online

                      32.6k

                      Users

                      82.1k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe