Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter ein/ausschalten?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter ein/ausschalten?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Humidor
      Humidor last edited by

      Hallo Leute,
      ich habs wieder vergessen, wo finde ich im Objektbaum den Wert?
      Möchte Adapter die nur Fehler produzieren in der Nacht (da das Gerät sich abschaltet), auch abschalten.
      Danke

      ? 1 Reply Last reply Reply Quote 0
      • ?
        A Former User @Humidor last edited by

        @humidor

        Wenn Du abschalten per Script meinst, dann evtl. so:

        let obj = getObject("system.adapter.<adaptername>.0");
        obj.common.enabled = false;  
        setObject("system.adapter.<adaptername>.0", obj);
        

        Nicht vergessen setObject in JavaScript Adapter zu enablen.

        Humidor 1 Reply Last reply Reply Quote 0
        • Humidor
          Humidor @Guest last edited by

          @iwg danke! allerdings bin ich Java nicht mächtig, geht das auch in Blockly?

          ? GregorS 2 Replies Last reply Reply Quote 0
          • ?
            A Former User @Humidor last edited by A Former User

            @humidor

            bin leider wirklich kein Blockly-Fan. Evtl. kann ich Dich doch für JavaScript gewinnen, das hier ist nämlich das komplette Script zum ausschalten jeden Tag um 00:00:

            schedule("0 0 * * *", async function () {
              let obj = getObject("system.adapter.<adapter>.0");
              obj.common.enabled = false;  
              setObject("system.adapter.<adapter>.0", obj);
            });
            
            
            

            Was kann einfacher sein? 😉

            Humidor 1 Reply Last reply Reply Quote 1
            • Humidor
              Humidor @Guest last edited by

              @iwg sagte in [Adapter ein/ausschalten?]

              schedule("0 22 * * *", async function () {
                let obj = getObject("system.adapter.fronius.0");
                obj.common.enabled = false;  
                setObject("system.adapter.fronius.0", obj);
              });
              schedule("0 6 * * *", async function () {
                let obj = getObject("system.adapter.fronius.0");
                obj.common.enabled = true;  
                setObject("system.adapter.fronius.0", obj);
              });
              

              so ?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Humidor last edited by paul53

                @humidor sagte: so ?

                Ja, besser:

                const obj = getObject("system.adapter.fronius.0");
                schedule("0 22 * * *", async function () {
                  obj.common.enabled = false;  
                  setObject("system.adapter.fronius.0", obj);
                });
                schedule("0 6 * * *", async function () {
                  obj.common.enabled = true;  
                  setObject("system.adapter.fronius.0", obj);
                });
                
                Humidor 1 Reply Last reply Reply Quote 1
                • Humidor
                  Humidor @paul53 last edited by

                  @paul53 das auch OK ?

                  // Fronius
                  const objfronius = getObject("system.adapter.fronius.0");
                  schedule("0 22 * * *", async function () {
                    objfronius.common.enabled = false;  
                    setObject("system.adapter.fronius.0", objfronius);
                  });
                  schedule("0 6 * * *", async function () {
                    objfronius.common.enabled = true;  
                    setObject("system.adapter.fronius.0", objfronius);
                  });
                  // Modbus
                  const objmodbus = getObject("system.adapter.modbus.0");
                  schedule("0 22 * * *", async function () {
                    objmodbus.common.enabled = false;  
                    setObject("system.adapter.modbus.0", objmodbus);
                  });
                  schedule("0 6 * * *", async function () {
                    objmodbus.common.enabled = true;  
                    setObject("system.adapter.modbus.0", objmodbus);
                  });
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Humidor last edited by paul53

                    @humidor sagte: das auch OK ?

                    Weshalb jeweils zwei Trigger zur gleichen Zeit?

                    const objfronius = getObject("system.adapter.fronius.0"); // Fronius
                    const objmodbus = getObject("system.adapter.modbus.0"); // Modbus
                    schedule("0 22 * * *", function () {
                      objfronius.common.enabled = false;  
                      setObject("system.adapter.fronius.0", objfronius);
                      objmodbus.common.enabled = false;  
                      setObject("system.adapter.modbus.0", objmodbus);
                    });
                    schedule("0 6 * * *", function () {
                      objfronius.common.enabled = true;  
                      setObject("system.adapter.fronius.0", objfronius);
                      objmodbus.common.enabled = true;  
                      setObject("system.adapter.modbus.0", objmodbus);
                    });
                    
                    1 Reply Last reply Reply Quote 1
                    • ?
                      A Former User last edited by A Former User

                      Moin,

                      Die enstsprechenden Datenpunkte findes du nur im "Expertenmodus" unter <System>.
                      Was mir fehlt ist der Status eines Adapters. Wo finde ich den ?
                      Growatt und Renault spinnen ja im Moment total und müllen das Log zu.

                      <block xmlns="https://developers.google.com/blockly/xml" type="control" id="YieLf#,C9L$H*I,6%(Bp" x="-766" y="-472">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">system.adapter.fronius.0.alive</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="ja6$#g+YPW?g,1=kxcK9">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                      </block>
                      

                      1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User last edited by A Former User

                        @humidor
                        Ich würde weniger Scheduler anlegen und dafür alles im selben Callback machen, e.g.:

                        const adapterInstances = ["system.adapter.fronius.0", "system.adapter.modbus.0"];  
                        schedule("0 22 * * *", async function () {
                            for await (const instance of adapterInstances) {
                                    const obj = await getObjectAsync(instance);
                                    obj.common.enabled = false;  
                                    await setObjectAsync(instance, obj);
                             }
                        );   
                        

                        Und das gleiche dann fürs Wiedereinschalten.

                        1 Reply Last reply Reply Quote 1
                        • GregorS
                          GregorS @Humidor last edited by

                          @humidor

                          Hier ein Blockly:

                          <xml xmlns="https://developers.google.com/blockly/xml">
                            <block type="on_ext" id="(Vc.;+u)EemPg:pnn4@:" x="13" y="-212">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                              <field name="CONDITION">false</field>
                              <field name="ACK_CONDITION"></field>
                              <value name="OID0">
                                <shadow type="field_oid" id="?ECw1KyYt(zP$11Ax(q8">
                                  <field name="oid">radar2.0.Server_01._here</field>
                                </shadow>
                              </value>
                              <statement name="STATEMENT">
                                <block type="debug" id="I;s5fP(*iC~FWey%#~D1">
                                  <field name="Severity">warn</field>
                                  <value name="TEXT">
                                    <shadow type="text" id="Gok#O-Jua~b]xNQBXpc9">
                                      <field name="TEXT">Server_01 offline</field>
                                    </shadow>
                                  </value>
                                  <next>
                                    <block type="timeouts_wait" id="6JmXYyG]?pfPW-~*|Q3n">
                                      <field name="DELAY">1</field>
                                      <field name="UNIT">sec</field>
                                      <next>
                                        <block type="exec" id="3MX+6fHPC)!6L1DKW4#R">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                          <field name="WITH_STATEMENT">FALSE</field>
                                          <field name="LOG"></field>
                                          <value name="COMMAND">
                                            <shadow type="text" id="$`qC7@9HvfRLMd[Bnt0=">
                                              <field name="TEXT">iobroker stop snmp.0</field>
                                            </shadow>
                                          </value>
                                          <next>
                                            <block type="debug" id="pKsh;?SH02gPWVNqcf0s">
                                              <field name="Severity">warn</field>
                                              <value name="TEXT">
                                                <shadow type="text" id="e5HZOS4M-5VIO*L-(|}!">
                                                  <field name="TEXT">Server_01 abgeschaltet &gt;&gt; snmp-Adapter wird beendet</field>
                                                </shadow>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                            <block type="on_ext" id="$FK68Yj.F%+F0.q3MNI8" x="13" y="188">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                              <field name="CONDITION">true</field>
                              <field name="ACK_CONDITION"></field>
                              <value name="OID0">
                                <shadow type="field_oid" id="K/K{6k_p_EacL+#jjUIu">
                                  <field name="oid">radar2.0.Server_01._here</field>
                                </shadow>
                              </value>
                              <statement name="STATEMENT">
                                <block type="debug" id="$#{~3Xs*v9?4`x,et`bg">
                                  <field name="Severity">warn</field>
                                  <value name="TEXT">
                                    <shadow type="text" id="c`Z/Xwl]:UsepLk.EM5o">
                                      <field name="TEXT">Server_01 online</field>
                                    </shadow>
                                  </value>
                                  <next>
                                    <block type="timeouts_wait" id="d}E~{KwEpj%tnF=|+w)E">
                                      <field name="DELAY">3</field>
                                      <field name="UNIT">min</field>
                                      <next>
                                        <block type="exec" id="2`T7i)qslUPNdKzUoz%s">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                          <field name="WITH_STATEMENT">FALSE</field>
                                          <field name="LOG"></field>
                                          <value name="COMMAND">
                                            <shadow type="text" id=")6Qb(%33FJ1(Uze5mmW}">
                                              <field name="TEXT">iobroker start snmp.0</field>
                                            </shadow>
                                          </value>
                                          <next>
                                            <block type="debug" id=":0pz(wd#jO}3j085k/*2">
                                              <field name="Severity">warn</field>
                                              <value name="TEXT">
                                                <shadow type="text" id="S@0OEqdy.3@nAv=Ta:Qd">
                                                  <field name="TEXT">Server_01 eingeschaltet &gt;&gt; snmp-Adapter wird gestartet</field>
                                                </shadow>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </xml>
                          

                          ZZZ_Blockly.JPG

                          Humidor 1 Reply Last reply Reply Quote 1
                          • Humidor
                            Humidor @GregorS last edited by

                            @gregors ich sehe aber die notwendige Variable nicht
                            Bildschirmfoto 2022-11-01 um 18.35.50.png

                            GregorS 1 Reply Last reply Reply Quote 0
                            • GregorS
                              GregorS @Humidor last edited by

                              @humidor
                              Welche Variablen?

                              Im ersten Teil frage ich den Zustand ab (Kann man auch zeitgesteuert machen, aber ich finde es so besser)
                              Mit dem exec führe ich einen Befehl wie in PuTTY aus.
                              Stoppe damit den Adapter auf der Konsolenebene.
                              Der Rest ist nur Anzeige im Log.

                              Eingeschaltet wird wieder im 2. Teil.

                              Humidor 1 Reply Last reply Reply Quote 0
                              • Humidor
                                Humidor @GregorS last edited by

                                @gregors ah ja, hab nicht genau geschaut, danke.

                                1 Reply Last reply Reply Quote 0
                                • B
                                  Bertman2000 last edited by

                                  Hab den Thread gerade nur schnell überflogen. Hatte letzte woche ein ähnliches problem. Hatte es auch genau so eingesetzt wie hier beschrieben. Leider hat dies z.B. beim OctoPrint Adapter immer dazu geführt, dass nach einem Neustart ( ausschalten und wieder einschalten) der Key verloren ging. Bin dann hier im Forum darauf gestoßen, dass der Aufruf, so wie er hier gemacht wird zu problemen führen kann. Ganz genau habe ich den Grund nicht verstanden. Will jetzt auch keine Halbwahrheiten verbreiten. Auf jeden fall hats danach funktioniert. Finde den Link leider nicht mehr in meiner Chroik.

                                  Lange Rede kurzer Sinn - mach es lieber so, da gehst du ggf. später auftretenden Problemen aus dem Weg:

                                  extendObject('system.adapter.' + Adaptername, {common: {enabled: Zustand}});
                                  
                                  Humidor paul53 2 Replies Last reply Reply Quote 1
                                  • Humidor
                                    Humidor @Bertman2000 last edited by

                                    Könnt ihr die Info mit dem Java Script zusammenführen?

                                    Humidor 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Bertman2000 last edited by

                                      @bertman2000 sagte: mach es lieber so

                                      Diese Version verwendet intern getObject(id) und setObject(id), bringt also keinen Vorteil.

                                      1 Reply Last reply Reply Quote 0
                                      • Humidor
                                        Humidor @Humidor last edited by Humidor

                                        ich habe aktuell das Blockly laufen (im Adapter aktiviert), funktioniert nicht, die Adapter laufen weiter

                                        2022-11-05 22:00:00.043 - info: javascript.0 (143862) script.js.common.Adapter_Blockly: exec: iobroker stop fronius.0
                                        2022-11-05 22:00:00.071 - info: host.raspberrypi instance system.adapter.daswetter.0 started with pid 164348
                                        2022-11-05 22:00:00.079 - info: javascript.0 (143862) script.js.common.Adapter_Blockly: exec: iobroker stop modbus.0
                                        2022-11-05 22:00:00.116 - info: javascript.0 (143862) script.js.common.Adapter_Blockly: exec: iobroker stop modbus.1
                                        2022-11-05 22:00:00.148 - info: javascript.0 (143862) script.js.common.Adapter_Blockly: exec: iobroker stop mqtt.0
                                        2022-11-05 22:00:34.974 - error: modbus.1 (143976) Request timed out.
                                        2022-11-05 22:01:25.958 - error: modbus.1 (143976) Client in error state.
                                        2022-11-05 22:04:41.528 - error: modbus.0 (164056) Request timed out.
                                        2022-11-05 22:05:21.732 - error: modbus.0 (164056) Client in error state.
                                        2022-11-05 22:11:51.678 - error: modbus.1 (143976) Request timed out.
                                        2022-11-05 22:13:17.061 - error: modbus.1 (143976) Client in error state.
                                        2022-11-05 22:25:53.708 - error: modbus.0 (164056) Request timed out.
                                        2022-11-05 22:29:52.950 - error: modbus.0 (164056) Client in error state.
                                        

                                        Bildschirmfoto 2022-11-06 um 07.29.00.png

                                        1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User last edited by A Former User

                                          Warum nicht einfach :

                                          Bildschirmfoto vom 2022-11-06 09-51-42.png

                                          Die Datenpunkte findet man nur im "Expertenmodus".

                                          evtl noch "Kommando "setObject" im Javascript adapter erlauben. Bin mir aber nicht sicher ob das muss.

                                          Humidor 1 Reply Last reply Reply Quote 0
                                          • Humidor
                                            Humidor @Guest last edited by Humidor

                                            @dreistein ich sehe den Alive-Status nicht im Objektbaum, habe Expertenmodus auch aktiviert
                                            Bildschirmfoto 2022-11-06 um 13.14.15.png

                                            jetzt hab ichs gefunden, unter System-Adapter dort findet sich der Alive.

                                            paul53 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            561
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            43
                                            2180
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo