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. Node-Red
  5. funktion optimieren

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    492

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

funktion optimieren

Geplant Angeheftet Gesperrt Verschoben Node-Red
11 Beiträge 3 Kommentatoren 653 Aufrufe 3 Watching
  • Ä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.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • R Ragnar-Lodbrok

                      @Jan1

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

                      J Offline
                      J Offline
                      Jan1
                      schrieb am zuletzt editiert von
                      #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 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

                      646

                      Online

                      32.5k

                      Benutzer

                      81.8k

                      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