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. [GELÖST] Einfaches Skript Trockner

NEWS

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

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

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

[GELÖST] Einfaches Skript Trockner

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
23 Beiträge 6 Kommentatoren 4.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.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #9

    Solange wir nicht auch nur annähernd wissen wie dein Trockner "tickt" ergibt das ganze eh keinen Sinn.

    Bitte logge daher mindestens eine Trocknung und stelle hier den Graphen dazu ein.

    Gruß

    Rainer

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      nibblerrick
      schrieb am zuletzt editiert von
      #10

      Also das ist meins fuer die Waschmaschine, was du ja sicherlich auch schon gefunden hast in den anderen Threads.

      Ist dir das schon zu kompliziert?

      Da faellt mir ein ich wollte immernochmal dieses Previousstatezeugs angucken, aber das ist n anderes Thema
      3803_firefox_2018-02-09_11-32-14.png

      1 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        Gerni
        schrieb am zuletzt editiert von
        #11

        @nibblerrick:

        Also das ist meins fuer die Waschmaschine, was du ja sicherlich auch schon gefunden hast in den anderen Threads.

        Ist dir das schon zu kompliziert?

        Da faellt mir ein ich wollte immernochmal dieses Previousstatezeugs angucken, aber das ist n anderes Thema ` Danke. Kannst das mal exportieren und einstellen? Ich importiere es mal und guck mal. Vielen Dank. Gruß

        Gesendet von meinem MI 5s mit Tapatalk

        Jede Menge verschiedenes Zeug

        1 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          nibblerrick
          schrieb am zuletzt editiert von
          #12

          Die paar Bausteine bekommst du ja schneller nachgebaut als importiert, die Objekte musst du ja sowieso anpassen.

          Bin gespannt ob es bei dir auch seinen Dienst verrichtet.

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

            @nibblerrick:

            Also das ist meins fuer die Waschmaschine `
            In Javascript kann man dieses Skript sehr einfach realisieren:

            const idPower = 'hm-rpc.0...POWER';
            const idUse = 'javascript.0.WMinBetrieb';
            
            on(idPower, function(dp) {
               if(dp.state.val > 2) setState(idUse, true, true);
               else if(dp.oldState.val > 2) {
                  sendTo('pushover', {
                     message:  'Waschmaschine fertig', 
                     title:    'Meldung Waschmaschine'
                  });
                  setState(idUse, false, true);
               }
            });
            

            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
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              schrieb am zuletzt editiert von
              #14

              @paul53:

              on(idPower, function(dp) {

              if(dp.state.val > 2) setState(idUse, true, true);

              else if(dp.oldState.val > 2) { <–-------------------------Ist das richtig?

              sendTo('pushover', {

              message: 'Waschmaschine fertig',

              title: 'Meldung Waschmaschine'

              });

              setState(idUse, false, true);

              }

              }); `

              Grüße

              Rantanplan

              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

              1 Antwort Letzte Antwort
              0
              • G Offline
                G Offline
                Gerni
                schrieb am zuletzt editiert von
                #15

                @nibblerrick:

                Also das ist meins fuer die Waschmaschine, was du ja sicherlich auch schon gefunden hast in den anderen Threads.

                Ist dir das schon zu kompliziert?

                Da faellt mir ein ich wollte immernochmal dieses Previousstatezeugs angucken, aber das ist n anderes Thema `

                In dem ersten "Falls" Block setzt Du "Setze Waschmaschine_fertig auf …." Wo kommt denn "Waschmaschine_fertig" her oder was ist das?

                Ebenso Object "inUse". Wo kommt das her bzw. wo legst Du das Objekt an?

                Gruß

                Stefan

                Jede Menge verschiedenes Zeug

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

                  @rantanplan:

                  else if(dp.oldState.val > 2) { <–-------------------------Ist das richtig? `
                  Ja, es soll nur <u>einmal</u> gesendet werden, wenn die WM (der Trockner) lief (oldState.val > Grenzwert) und jetzt nicht mehr läuft. Eine Grenzwertunterschreitung bedeutet nicht zwangsläufig, dass der Wert unterhalb des Grenzwertes konstant bleibt. Die Abfrage hat die gleiche Wirkung wie die Skriptvariable Waschmaschine_fertig in dem Blockly Script.
                  @Gerni:

                  Ebenso Object "inUse". Wo kommt das her bzw. wo legst Du das Objekt an? `
                  Den Datenpunkt (Typ: Logikwert) kannst Du im Reiter "Objekte" unter javascript.0 anlegen. Wenn Du ihn nicht benötigst (nur das Pushover), dann kannst Du die Deklaration der ID und die setStates() löschen.

                  Script ohne Datenpunkt (nur Pushover):

                  const idPower = 'hm-rpc.0...POWER';
                  
                  on(idPower, function(dp) {
                     if(dp.state.val <= 2 && dp.oldState.val > 2) {
                        sendTo('pushover', {
                           message:  'Waschmaschine fertig',
                           title:    'Meldung Waschmaschine'
                        });
                     }
                  });
                  

                  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
                  • rantanplanR Offline
                    rantanplanR Offline
                    rantanplan
                    schrieb am zuletzt editiert von
                    #17

                    @paul53:

                    Ja, es soll nur <u>einmal</u> gesendet werden, wenn die WM (der Trockner) lief (oldState.val > Grenzwert) und jetzt nicht mehr läuft. Eine Grenzwertunterschreitung bedeutet nicht zwangsläufig, dass der Wert unterhalb des Grenzwertes konstant bleibt. Die Abfrage hat die gleiche Wirkung wie die `
                    Ja genau. Hast Du Dir schon mal den Verlauf solcher Werte von einer WM oder TR angeschaut?

                    Ich bin auf jeden Fall gespannt ;)

                    Grüße

                    Rantanplan

                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                    1 Antwort Letzte Antwort
                    0
                    • N Offline
                      N Offline
                      nibblerrick
                      schrieb am zuletzt editiert von
                      #18

                      @paul53:

                      @Gerni:

                      Ebenso Object "inUse". Wo kommt das her bzw. wo legst Du das Objekt an? Den Datenpunkt (Typ: Logikwert) kannst Du im Reiter "Objekte" unter javascript.0 anlegen. Wenn Du ihn nicht benötigst (nur das Pushover), dann kannst Du die Deklaration der ID und die __setStates()__ löschen.

                      Ja, der ist nicht noetig, den habe ich nur eingefuegt damit ich mal was in Vis abbilden kann. Vis ist allerdings bei mir so ein "demnaechst"-Projekt…

                      Und klar kann man das in Javascript einfach machen, wenn man JS kann. Aber dafuer gibt es ja Blockly, womit man sich allerdings auch gut JS-Vorlagen basteln kann indem man sich den Code anzeigen laesst.

                      1 Antwort Letzte Antwort
                      0
                      • G Offline
                        G Offline
                        Gerni
                        schrieb am zuletzt editiert von
                        #19

                        @paul53:

                        @rantanplan:

                        else if(dp.oldState.val > 2) { <–-------------------------Ist das richtig? `
                        Ja, es soll nur <u>einmal</u> gesendet werden, wenn die WM (der Trockner) lief (oldState.val > Grenzwert) und jetzt nicht mehr läuft. Eine Grenzwertunterschreitung bedeutet nicht zwangsläufig, dass der Wert unterhalb des Grenzwertes konstant bleibt. Die Abfrage hat die gleiche Wirkung wie die Skriptvariable Waschmaschine_fertig in dem Blockly Script.
                        @Gerni:

                        Ebenso Object "inUse". Wo kommt das her bzw. wo legst Du das Objekt an? `
                        Den Datenpunkt (Typ: Logikwert) kannst Du im Reiter "Objekte" unter javascript.0 anlegen. Wenn Du ihn nicht benötigst (nur das Pushover), dann kannst Du die Deklaration der ID und die setStates() löschen.

                        Script ohne Datenpunkt (nur Pushover):

                        const idPower = 'hm-rpc.0...POWER';
                        
                        on(idPower, function(dp) {
                           if(dp.state.val <= 2 && dp.oldState.val > 2) {
                              sendTo('pushover', {
                                 message:  'Waschmaschine fertig',
                                 title:    'Meldung Waschmaschine'
                              });
                           }
                        });
                        ```` `  Das ist jetzt ein Java Script, richtig? Ich bin ja schon froh wenn ich im Blockly alles so finde :-D
                        

                        Aber ja, es reicht wenn EINE Nachricht kommt. Wäre das hier nicht so, dass unzählige Nachrichten kommen weil der Verbrauch ja länger unter Wert X bleibt?

                        Gesendet von meinem MI 5s mit Tapatalk

                        Jede Menge verschiedenes Zeug

                        1 Antwort Letzte Antwort
                        0
                        • T Offline
                          T Offline
                          tempestas
                          schrieb am zuletzt editiert von
                          #20

                          > Wäre das hier nicht so, dass unzählige Nachrichten kommen weil der Verbrauch ja länger unter Wert X bleibt?

                          Nein.

                          Das Skript triggerd bei Wertänderung und prüft dann, ob der neue Wert unter bzw gleich 2 ist und der alte Wert über 2.

                          Also muss sich 1. was ändern und 2. auch noch die obige Bedingung erfüllt sein. Solange sich Werte unterhalb von 2 ändern passiert nichts. Wenn es von <=2 auf >2 geht passiert auch nichts sondern erst, wenn es (wieder) von >2 auf <=2 geht

                          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                          1 Antwort Letzte Antwort
                          0
                          • G Offline
                            G Offline
                            Gerni
                            schrieb am zuletzt editiert von
                            #21

                            Script ohne Datenpunkt (nur Pushover):

                            const idPower = 'hm-rpc.0...POWER';
                            
                            on(idPower, function(dp) {
                               if(dp.state.val <= 2 && dp.oldState.val > 2) {
                                  sendTo('pushover', {
                                     message:  'Waschmaschine fertig',
                                     title:    'Meldung Waschmaschine'
                                  });
                               }
                            });
                            

                            Wie kriege ich denn hier nun meine Geräte (Sonoff Pow rein von welchem der Wert aufgelesen wird)? Sry, wie gesagt Blockly finde ich mich einigermaßen mehr und mehr zurecht. Java hört dann aber auf.

                            Oder wärst so nett und könntest das mal als Blockly packen?

                            Gruß

                            Stefan

                            Jede Menge verschiedenes Zeug

                            1 Antwort Letzte Antwort
                            0
                            • T Offline
                              T Offline
                              tempestas
                              schrieb am zuletzt editiert von
                              #22
                              const idPower = 'hm-rpc.0...POWER';
                              
                              

                              an der Stelle trägst du deinen Datenpunnkt ein.

                              <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                              1 Antwort Letzte Antwort
                              0
                              • G Offline
                                G Offline
                                Gerni
                                schrieb am zuletzt editiert von
                                #23

                                Hi,

                                ich glaube es läuft nun. Manuell anzulegende Zustände werden automatisch erzeugt und die Benachrichtigung hat zumindest gestern funktioniert. Werde es weiter beobachten. Aber für alle die es interessiert:

                                ! ````
                                <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="F,.Vod%f}Cg;|Oo;94-p" x="-387" y="-112"><field name="NAME">javascript.0.Strompreis_BEV</field>
                                <statement name="STATEMENT"><block type="create" id="Ea.~Ic(Gxsfbs-Qh92#Q"><field name="NAME">javascript.0.Trockner_fertig</field>
                                <statement name="STATEMENT"><block type="on_ext" id="|!S]R7E/#@_?QYFja{9-"><mutation items="1"></mutation>
                                <field name="CONDITION">any</field>

                                        <value name="OID0"><shadow type="field_oid" id="|7}Z(4Aw)J3~+GxkGmXz"><field name="oid">default</field></shadow> 
                                          <block type="field_oid" id="aSTL*SXFQ4VX{9)}~weM"><field name="oid">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> 
                                        <statement name="STATEMENT"><block type="controls_if" id="oySPD#0|W2#W|38omTjm"><mutation elseif="1"></mutation>
                                            <value name="IF0"><block type="logic_compare" id="`Y#S-zU_+g~,7;RurA,M"><field name="OP">GT</field>
                                                <value name="A"><block type="get_value" id="!u87F9e9={O16d0^q@Ce"><field name="ATTR">val</field>
                                                    <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> 
                                                <value name="B"><block type="text" id="POqK5+]V9aW@.^u4:0{u"><field name="TEXT">100</field></block></value></block></value> 
                                            <statement name="DO0"><block type="control" id="]:A|]Se/Erykn]%ooL_a"><mutation delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Trockner_fertig</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE"><block type="logic_boolean" id="3w/816f|wlN#7`]jC+T]"><field name="BOOL">FALSE</field></block></value></block></statement> 
                                            <value name="IF1"><block type="logic_compare" id="wBze(wZ)tu,@pk{nh/!D"><field name="OP">LT</field>
                                                <value name="A"><block type="get_value" id="rn/~9BXhlZ`6GLOQ%lPY"><field name="ATTR">val</field>
                                                    <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> 
                                                <value name="B"><block type="text" id=";pS%_T#H}gn1u1-sT;A4"><field name="TEXT">2</field></block></value></block></value> 
                                            <statement name="DO1"><block type="control" id="RGwxU`:;0LXmVUMqYnzQ"><mutation delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Trockner_fertig</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE"><block type="logic_boolean" id="@G`^/O_H7lu-hSq7XR;h"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement> 
                                        <next><block type="on_ext" id="j~P,]MqE6/m#CqI4OC}z"><mutation items="1"></mutation>
                                            <field name="CONDITION">ne</field>
                                
                                            <value name="OID0"><shadow type="field_oid" id="q3c?,Y@j8#Mx69G7#_aO"><field name="oid">default</field></shadow> 
                                              <block type="field_oid" id="xId:05{[KI3Va|)pIt^Z"><field name="oid">javascript.0.Trockner_fertig</field></block></value> 
                                            <statement name="STATEMENT"><block type="controls_if" id="HaH]+m[(G#n|KinBlxPQ"><mutation elseif="1"></mutation>
                                                <value name="IF0"><block type="logic_compare" id="mzkH?,-peLm](^UVAwLw"><field name="OP">EQ</field>
                                                    <value name="A"><block type="get_value" id="JmU8`T/*u8fURho[MmQU"><field name="ATTR">val</field>
                                                        <field name="OID">javascript.0.Trockner_fertig</field></block></value> 
                                                    <value name="B"><block type="logic_boolean" id="_jka=uRyG7LS7_Q*__1U"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                <statement name="DO0"><block type="pushover" id="DFuo.arGMtzP:9IjX5?j"><field name="PRIORITY">0</field>
                                
                                                    <value name="MESSAGE"><shadow type="text" id="CZMifPaOx(95WrhRMhtP"><field name="TEXT">text</field></shadow> 
                                                      <block type="text" id="Dn.?KbP;Khknz]Ur6BtB"><field name="TEXT">Der Trockner wurde eingeschaltet und meldet sich wenn er ausgeräumt werden möchte.</field></block></value> 
                                                    <value name="TITLE"><block type="text" id="*s%D{wA[N^kS7~nVNs-+"><field name="TEXT">Der Trockner wurde eingeschaltet</field></block></value></block></statement> 
                                                <value name="IF1"><block type="logic_compare" id="ls9KLR)`)iRDzXe4bn:)"><field name="OP">EQ</field>
                                                    <value name="A"><block type="get_value" id="lCkRu;T@itl}jSua3qs^"><field name="ATTR">val</field>
                                                        <field name="OID">javascript.0.Trockner_fertig</field></block></value> 
                                                    <value name="B"><block type="logic_boolean" id="KT=xo9.(?iokmzj{MT[F"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                <statement name="DO1"><block type="pushover" id="O0qXN.qJqKyU,[/*W!n^"><field name="PRIORITY">0</field>
                                
                                                    <value name="MESSAGE"><shadow type="text" id="CZMifPaOx(95WrhRMhtP"><field name="TEXT">text</field></shadow> 
                                                      <block type="text_join" id="uf6p=p%N*yG5@{=crOhw"><mutation items="6"></mutation>
                                                        <value name="ADD0"><block type="text" id=")(]Iu`7kT^Vnxq@Hzv2}"><field name="TEXT">Der Trockner ist fertig.</field></block></value> 
                                                        <value name="ADD1"><block type="text" id="f5MUuB~P6/[V.0O1Ok!{"><field name="TEXT">Es wurden</field></block></value> 
                                                        <value name="ADD2"><block type="get_value" id="J}EQy*8e?:i6f!*9xLQj"><field name="ATTR">val</field>
                                                            <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Today</field></block></value> 
                                                        <value name="ADD3"><block type="text" id="%b@I]9[H5fqTEYQKlwmd"><field name="TEXT">Kwh verbraucht, das endspricht</field></block></value> 
                                                        <value name="ADD4"><block type="math_arithmetic" id="8T*YXBu,g~[{yH:c:CP~"><field name="OP">MULTIPLY</field>
                                                            <value name="A"><shadow type="math_number" id=";B0#rrl+)73i)N=QwR.V"><field name="NUM">1</field></shadow> 
                                                              <block type="get_value" id="()b_GyuWg{.Jeda8ESvS"><field name="ATTR">val</field>
                                                                <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Today</field></block></value> 
                                                            <value name="B"><shadow type="math_number" id="(qK48T-k{%alK3dXTK5p"><field name="NUM">1</field></shadow> 
                                                              <block type="get_value" id="T:XXwSUtY6*TI*yvB]]O"><field name="ATTR">val</field>
                                                                <field name="OID">javascript.0.Strompreis_BEV</field></block></value></block></value> 
                                                        <value name="ADD5"><block type="text" id="-F4#`(@HuzhNr5/M^*m@"><field name="TEXT"> Euro</field></block></value></block></value> 
                                                    <value name="TITLE"><block type="text" id="JWit=}?Pr(gz%RgJZp?B"><field name="TEXT">Der Trockner ist fertig.</field></block></value></block></statement></block></statement></block></next></block></statement></block></statement></block></xml> 
                                
                                [3449_blockly_trockner_benachrichtigung.png](/assets/uploads/files/3449_blockly_trockner_benachrichtigung.png)

                                Jede Menge verschiedenes Zeug

                                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

                                815

                                Online

                                32.5k

                                Benutzer

                                81.6k

                                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