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. Luftfeuchtigkeit zu hoch Skript

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Luftfeuchtigkeit zu hoch Skript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
33 Beiträge 7 Kommentatoren 3.7k 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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #6

    @Amnesia1211:

    Vorheriger Wert, Wert und cnt finde ich nicht. `
    Wert und vorheriger Wert sind Datenpunkteigenschaften (unter Trigger)
    493_blockly_dp_properties.jpg
    Die Variable cnt ist eine neue Variable (Ursprung: setze etwas auf)
    493_blockly_variable_erstellen.jpg

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • Amnesia1211A Offline
      Amnesia1211A Offline
      Amnesia1211
      schrieb am zuletzt editiert von
      #7

      So das Skript läuft nur glaube ich der Intervall für die 10 mal Wiederholungen sind zu schnell für Alexa,

      die Sprachausgabe dauert ca 3 sek. In der Form kommt die Sachausgabe nur 1 mal an.

      Hier noch mal das umsetzte Skript… :-)
      3893_1.jpg


      Man muss nicht alles wissen, nur wissen wo es steht.
      Fragen schadet aber auch nicht :spock-hand:


      1 Antwort Letzte Antwort
      0
      • Dr. BakteriusD Online
        Dr. BakteriusD Online
        Dr. Bakterius
        Most Active
        schrieb am zuletzt editiert von
        #8

        Wieso zu schnell? So wie ich das Skript verstehe, erfolgt alle 2 Minuten eine Sprachausgabe. Dabei ist die Verzögerung von drei Sekunden unnötig. Nach 10 Ausgaben (20 Minuten) oder falls das Fenster geöffnet wurde, erfolgt keine weitere Ausgabe.

        1 Antwort Letzte Antwort
        0
        • Amnesia1211A Offline
          Amnesia1211A Offline
          Amnesia1211
          schrieb am zuletzt editiert von
          #9

          Ok dann habe ich es jetzt verstanden danke.


          Man muss nicht alles wissen, nur wissen wo es steht.
          Fragen schadet aber auch nicht :spock-hand:


          1 Antwort Letzte Antwort
          0
          • A Offline
            A Offline
            aleks-83
            schrieb am zuletzt editiert von
            #10

            Hi,

            ich habe vor ein ähnliche Skript zu schreiben.

            Und zwar möchte ich ein pushover senden wenn der PI für 10s eine gewisse Temperatur überschritten hat.

            Zu testzwecken habe ich mal 30°C gewählt.

            Leider bekomme ich keine Pushover, obwohl der Pi über 30°C hat.

            Habe ich einen Denkfehler oder Programmierfehler?

            Mein Skript sieht so aus:
            7541_fragepitempmeldung.png

            = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
            = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

            Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
            Glasfaser 400

            1 Antwort Letzte Antwort
            0
            • AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              schrieb am zuletzt editiert von
              #11

              Füg mal in den Bedingungen jeweils Debug-Ausgaben ein, damit du nachvollziehen kannst, in welcher Reihenfolge das Skript wie abläuft.

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

              1 Antwort Letzte Antwort
              0
              • Dr. BakteriusD Online
                Dr. BakteriusD Online
                Dr. Bakterius
                Most Active
                schrieb am zuletzt editiert von
                #12

                @aleks-83:

                Mein Skript sieht so aus: `
                Die Variable PiZuHeiß und alles was damit zusammen hängt ist unnötig. Einfach die Pushover-Meldung in die 'falls Zähler >= 10'-Abfrage setzen, statt unten eine weitere Abfrage durchzuführen sollte reichen.

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  aleks-83
                  schrieb am zuletzt editiert von
                  #13

                  Kurze Rückmeldung:

                  ich hatte gesehen dass der Wert soc.temp vom rpi2 Adapter keine "num" ist, sondern "value".

                  Habe dann einfach ne Konvertierung eingefügt… Läuft!

                  Eure Änderungen habe ich auch noch umgesetzt.

                  (Die debug Ausgaben habe ich wieder entfernt)

                  Danke euch.

                  7541_tempwarnung.png

                  = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                  = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                  Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                  Glasfaser 400

                  1 Antwort Letzte Antwort
                  0
                  • totocotonioT Offline
                    totocotonioT Offline
                    totocotonio
                    schrieb am zuletzt editiert von
                    #14

                    1626_feuchtigkeit.jpg Hi,

                    ich habe das auch mal nachgebaut aber es funktioniert nicht.

                    Kann jemand meinen Fehler entdecken.

                    Gruß Totocotonio

                    Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                    1 Antwort Letzte Antwort
                    0
                    • totocotonioT Offline
                      totocotonioT Offline
                      totocotonio
                      schrieb am zuletzt editiert von
                      #15

                      Hi,

                      noch eine Verständnisfrage.

                      bezieht sich der "WERT" auf den Trigger des Objektes.

                      Gruß Totocotonio

                      Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #16

                        @totocotonio:

                        bezieht sich der "WERT" auf den Trigger des Objektes.

                        Wert und vorheriger Wert sind Eigenschaften des Trigger-Datenpunktes; es sind keine Variablen (gleiche Farbe).

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • totocotonioT Offline
                          totocotonioT Offline
                          totocotonio
                          schrieb am zuletzt editiert von
                          #17

                          ok,

                          das konnte ich mir denken.

                          Kannst du mir sagen warum mein script nicht läuft.

                          Was habe ich denn da falsch gemacht?

                          Eigentlich müsste es funzen

                          Gruß Totocotonio

                          Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                          1 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #18

                            @totocotonio:

                            Kannst du mir sagen warum mein script nicht läuft.

                            Nein, ich kann keinen Fehler entdecken. Hoffentlich hast Du es nicht unter der Gruppe global erstellt ? Falls doch, dann ändere es; falls nicht, dann poste bitte den Javascript-Code ohne die letzte Zeile in Code tags.

                            EDIT: Den Trigger auf die Luftfeuchte ändere besser auf "wurde geändert", damit nicht unnötig oft getriggert wird.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • totocotonioT Offline
                              totocotonioT Offline
                              totocotonio
                              schrieb am zuletzt editiert von
                              #19

                              Hi,

                              hier der Code es ist in der Gruppe Common.

                              var cnt, Intervall;
                              
                              on({id: "hm-rpc.0.NEQ1804131.1.HUMIDITY"/*Raumthermostat Badezimmer.HUMIDITY*/, change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                if (getState("hm-rpc.0.OEQ0427990.1.STATE").val == false && (obj.state ? obj.state.val : "") >= 55 && (obj.oldState ? obj.oldState.val : "") < 55) {
                                  setStateDelayed("alexa2.0.Echo-Devices.G090LF1181350LT7.Commands.speak"/*speak*/, 'Fenster öffnen und Badezimmer Tür schließen', 3000, false);
                                  console.log('test');
                                  cnt = 0;
                                  Intervall = setInterval(function () {
                                    setStateDelayed("alexa2.0.Echo-Devices.G090LF1181350LT7.Commands.speak"/*speak*/, 'Fenster öffnen und Badezimmer Tür schließen', 3000, false);
                                    cnt = (typeof cnt == 'number' ? cnt : 0) + 1;
                                    if (cnt >= 10) {
                                      (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                    }
                                  }, 120000);
                                }
                              });
                              on({id: "hm-rpc.0.OEQ0427990.1.STATE"/*Fenster Badezimmer TFK.STATE*/, val: true}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                              });
                              

                              Gruß Totocotonio

                              Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                              1 Antwort Letzte Antwort
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #20

                                Auch im Javascript-Code sind keine Fehler zu erkennen. Gibt das Skript keinen Log "test" aus, wenn sich die Luftfeuchte von < 55 % auf >= 55 % ändert und das Fenster geschlossen ist ? Wie testet Du die Funktion ?

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                • totocotonioT Offline
                                  totocotonioT Offline
                                  totocotonio
                                  schrieb am zuletzt editiert von
                                  #21

                                  Hi,

                                  ich teste es indem ich das Raumthermostat anhauche und so die Luftfeuchtigkeit erhöhe.

                                  Fenster natürlich zu.

                                  Gruß Totocotonio

                                  Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #22

                                    @totocotonio:

                                    ich teste es indem ich das Raumthermostat anhauche und so die Luftfeuchtigkeit erhöhe. `
                                    Dann sollte es funktionieren, wenn der Grenzwert von 55 %rH das erste Mal überschritten wird. Bau mal ein zusätzliches Debug von Wert vor das falls ein, um zu sehen, welche Werte getriggert werden.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Antwort Letzte Antwort
                                    0
                                    • totocotonioT Offline
                                      totocotonioT Offline
                                      totocotonio
                                      schrieb am zuletzt editiert von
                                      #23

                                      1626_feuchtigkeit.jpg

                                      So debug eingebaut, Luftfeuchtigkeit "hochgetrieben".

                                      KEINE Meldung im LOG :roll:

                                      Gruß Totocotonio

                                      Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #24

                                        Um zu sehen, ob überhaupt getriggert wird, setze einen Debug-Block als allererstes in den Trigger (<u>vor</u> falls) und binde an den Debug-Block den Wert des Trigger-Datenpunktes an (nicht einen Text "wert").

                                        EDIT: Stelle die Debug-Blöcke auf "info" !

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Antwort Letzte Antwort
                                        0
                                        • totocotonioT Offline
                                          totocotonioT Offline
                                          totocotonio
                                          schrieb am zuletzt editiert von
                                          #25
                                          var cnt, Intervall;
                                          
                                          on({id: "hm-rpc.0.NEQ1804131.1.HUMIDITY"/*Raumthermostat Badezimmer.HUMIDITY*/, change: "ne"}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            console.debug('');
                                            if (getState("hm-rpc.0.OEQ0427990.1.STATE").val == false && (obj.state ? obj.state.val : "") >= 51 && (obj.oldState ? obj.oldState.val : "") <= 51) {
                                              console.debug('');
                                              setStateDelayed("alexa2.0.Echo-Devices.G090LF1181350LT7.Commands.speak"/*speak*/, 'Luftfeuchtigkeit im Bad zu hoch Fenster öffnen ', 3000, false);
                                              cnt = 0;
                                              Intervall = setInterval(function () {
                                                setStateDelayed("alexa2.0.Echo-Devices.G090LF1181350LT7.Commands.speak"/*speak*/, 'Luftfeuchtigkeit im Bad zu hoch Fenster öffnen ', 3000, false);
                                                cnt = (typeof cnt == 'number' ? cnt : 0) + 1;
                                                if (cnt >= 5) {
                                                  (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                                }
                                              }, 120000);
                                            }
                                          });
                                          on({id: "hm-rpc.0.OEQ0427990.1.STATE"/*Fenster Badezimmer TFK.STATE*/, val: true}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                          });
                                          

                                          1626_feuchtigkeit.jpg

                                           <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="tx2BIvKz9i)Mwrq/gkpC" x="138" y="87"><field name="OID">hm-rpc.0.NEQ1804131.1.HUMIDITY</field>
                                              <field name="CONDITION">ne</field>
                                          
                                              <statement name="STATEMENT"><block type="debug" id="1|{ab+|d6u+#X[;(a@t`"><field name="Severity">debug</field>
                                                  <value name="TEXT"><shadow type="text" id="a6dI2)2Q;Gy`A[R0UM.o"></shadow></value> 
                                                  <next><block type="controls_if" id="ea;ru#Sj4!t75(Ws{ZQb"><value name="IF0"><block type="logic_operation" id="Cf1IxquXYdsnlyo6mCv-" inline="false"><field name="OP">AND</field>
                                                          <value name="A"><block type="logic_compare" id="g,~qc7rzm@K#tv/S-A(h"><field name="OP">EQ</field>
                                                              <value name="A"><block type="get_value" id=")4F(.w/ZirY/;vRV;#+U"><field name="ATTR">val</field>
                                                                  <field name="OID">hm-rpc.0.OEQ0427990.1.STATE</field></block></value> 
                                                              <value name="B"><block type="logic_boolean" id="AzW-MV%EKkE3(9P,:n*I"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                          <value name="B"><block type="logic_operation" id="h(2wcj=J4e6lQzSKf#dx" inline="false"><field name="OP">AND</field>
                                                              <value name="A"><block type="logic_compare" id="p#*o_9ao9M^u4r_;7r;."><field name="OP">GTE</field>
                                                                  <value name="A"><block type="on_source" id="[WaAWp@KjGU,zEjOFrry"><field name="ATTR">state.val</field></block></value> 
                                                                  <value name="B"><block type="math_number" id="{?)yQooMPzJ+x]BR5{Z["><field name="NUM">51</field></block></value></block></value> 
                                                              <value name="B"><block type="logic_compare" id="{u]C[jk(,a:01jcb~:4Y"><field name="OP">LTE</field>
                                                                  <value name="A"><block type="on_source" id=":+:|=f.@,~@;_Hh6(|R["><field name="ATTR">oldState.val</field></block></value> 
                                                                  <value name="B"><block type="math_number" id="C?+iC}K`PBoz^y1Go^k1"><field name="NUM">51</field></block></value></block></value></block></value></block></value> 
                                                      <statement name="DO0"><block type="debug" id="NJK/?KNU{)C-,XxFcpB("><field name="Severity">debug</field>
                                                          <value name="TEXT"><shadow type="text" id="-h#=AT;0nfnzNoExPQYq"></shadow></value> 
                                                          <next><block type="control" id=":SQ6@BV=,I!oX!z07MO/"><mutation delay_input="true"></mutation>
                                                              <field name="OID">alexa2.0.Echo-Devices.G090LF1181350LT7.Commands.speak</field>
                                                              <field name="WITH_DELAY">TRUE</field>
                                                              <field name="DELAY_MS">3</field>
                                                              <field name="UNIT">sec</field>
                                                              <field name="CLEAR_RUNNING">FALSE</field>
                                                              <value name="VALUE"><block type="text" id="6)rM~]c9snQTZ|.k#V9p"><field name="TEXT">Luftfeuchtigkeit im Bad zu hoch Fenster öffnen</field></block></value> 
                                                              <next><block type="variables_set" id="~_#]M==F0e[,WH_Ff)?c"><field name="VAR">cnt</field>
                                                                  <value name="VALUE"><block type="math_number" id="yV]kOzu1_Jlm4p-=wS@D"><field name="NUM">0</field></block></value> 
                                                                  <next><block type="timeouts_setinterval" id="p.E@7|[Sz6n:f-Ev`bik"><field name="NAME">Intervall</field>
                                                                      <field name="INTERVAL">2</field>
                                                                      <field name="UNIT">min</field>
                                                                      <statement name="STATEMENT"><block type="control" id="l6d;^df6}Ewv6l0GSc9B"><mutation delay_input="true"></mutation>
                                                                          <field name="OID">alexa2.0.Echo-Devices.G090LF1181350LT7.Commands.speak</field>
                                                                          <field name="WITH_DELAY">TRUE</field>
                                                                          <field name="DELAY_MS">3</field>
                                                                          <field name="UNIT">sec</field>
                                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                                          <value name="VALUE"><block type="text" id="NRlEfC/R:(5tby3Lu1Uu"><field name="TEXT">Luftfeuchtigkeit im Bad zu hoch Fenster öffnen</field></block></value> 
                                                                          <next><block type="math_change" id="CH,`a@ru/-lYtkRATL4i"><field name="VAR">cnt</field>
                                                                              <value name="DELTA"><shadow type="math_number" id="*[e}_pK;(u;^+Lch@G~)"><field name="NUM">1</field></shadow></value> 
                                                                              <next><block type="controls_if" id="Q[5j;V)L7yh|NF4J%755"><value name="IF0"><block type="logic_compare" id=".)qf#Cwt#i+*!.@VO.+B"><field name="OP">GTE</field>
                                                                                      <value name="A"><block type="variables_get" id="x{%i}R=^i=dGuujU#H`,"><field name="VAR">cnt</field></block></value> 
                                                                                      <value name="B"><block type="math_number" id="kI/+D^m;H|g*tgf6oBCG"><field name="NUM">5</field></block></value></block></value> 
                                                                                  <statement name="DO0"><block type="timeouts_clearinterval" id="T6Tr*FFDKOL|s(%[Fqo8"><field name="NAME">Intervall</field></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block></statement></block></next></block></statement> 
                                              <next><block type="on" id=";`,/Xn43pSG8lvR=|[?D"><field name="OID">hm-rpc.0.OEQ0427990.1.STATE</field>
                                                  <field name="CONDITION">true</field>
                                          
                                                  <statement name="STATEMENT"><block type="timeouts_clearinterval" id="ssYV%YfZ_:-[%Spu9v:q"><field name="NAME">Intervall</field></block></statement></block></next></block></xml> 
                                          

                                          Ich bin wahrscheinlich zu blöd :x

                                          Muss denn vielleicht der "vorherige Wert" kleiner gleich sein.

                                          Gruß Totocotonio

                                          Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                                          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

                                          838

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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