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]Script mit script stoppen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

[gelöst]Script mit script stoppen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
19 Beiträge 4 Kommentatoren 1.9k 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.
  • dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #2

    Schreib mal was Du machen möchtest.

    Klar kann man ein Script auch an und aus schalten, aber ich denke Du willst was ein und aus schalten und hast dafür zwei Scripte ?

    Das geht bestimmt einfacher…

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Motsche1
      schrieb am zuletzt editiert von
      #3

      Also ich habe 2 scripte die je einen wert schreiben . und zwar folgende

      Sript 1

      setState('viessmann.0.get.BetriebArtM1', 'ABSCHALT', true /*ACK*/);
      

      script 2

      setState('viessmann.0.get.BetriebArtM1', 'H+WW', true /*ACK*/);
      

      bin halt mit java nicht vertraut. denke schon es geht einfacher. mit nur einem script, das bei an oder aus das jeweilige als wert setzt.

      1 Antwort Letzte Antwort
      0
      • modmaxM Offline
        modmaxM Offline
        modmax
        schrieb am zuletzt editiert von
        #4

        1.) Für Skripte und deren Steuerung gibnt es den Datenpunkte unter "javascript.0.scriptEnabled", die man dann

        anschalten (true) oder ausschalten kann (false).

        2.) Das ACK=true brauchst Du nicht. Das sorgt unter Umnständen nur dafür, daß der Datenpunkt zwar aktualisiert wird,

        aber der Adapter nix tut, weil ack=true bedeutet, daß der Befehl vom Gerät kommt. So in der Art. Viele Adapter reagieren

        dann nicht drauf, da sie ja selbst die Geräte verwalten. Die reagieren, dann nur auf ack=false (defauld, wenn man es wegläßt).

        Kann aber an dem Adapter liegen, weil im State ein get state .. evtl. holt der sich ja eine Betriebsart … ?

        3.) Mit irgendeinem Event willst du ja die BetriebsArtM1 umstellen, dafür haste einen State, z.B. "Heizung.Betriebsart.Winter",

        evtl. im Javascript-Adapter oder sonstwo.

        Dann würde das Skript so aussehen:

        on ('javascript.0.Heizung.Betriebsart.Winter'), function(obj) {
        	if (obj.state.val) {
        		setState('viessmann.0.get.BetriebArtM1', 'ABSCHALT');
        	} else {
        		setState('viessmann.0.get.BetriebArtM1', 'H+WW');
        	}
        });
        
        

        MfG Markus

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Motsche1
          schrieb am zuletzt editiert von
          #5

          Also ich will eigentlich nur ,das wenn ich zb sage …. alexa schalte heizung an dann soll bei dem Datenpunkt setBetriebsArtM1 der wert "H+WW" eingetragen werden und bei heizung aus eben "ABSCHALT"

          PS.

          das script hat so nen fehler

          meldung ist

          javascript.0 2018-09-29 16:51:31.812 error at Object.createScript (vm.js:80:10)

          javascript.0 2018-09-29 16:51:31.812 error SyntaxError: Unexpected token )

          javascript.0 2018-09-29 16:51:31.812 error ^

          javascript.0 2018-09-29 16:51:31.812 error });

          javascript.0 2018-09-29 16:51:31.812 error at script.js.common.Skript2:7

          javascript.0 2018-09-29 16:51:31.812 error script.js.common.Skript2 compile failed:

          javascript.0 2018-09-29 16:48:26.474 error at Object.createScript (vm.js:80:10)

          javascript.0 2018-09-29 16:48:26.474 error SyntaxError: Unexpected token )

          javascript.0 2018-09-29 16:48:26.474 error ^

          javascript.0 2018-09-29 16:48:26.473 error });

          javascript.0 2018-09-29 16:48:26.473 error at script.js.common.Skript2:7

          javascript.0 2018-09-29 16:48:26.473 error script.js.common.Skript2 compile failed:

          1 Antwort Letzte Antwort
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #6

            Kannst Du das auch von Hand in die Datenpunkte eintagen und den Befehl absetzen / schalten ?

            Ist das Text in dem Datenpunkt, oder kommt der Wert aus einer Liste ?

            Mach mal einen Screenshot vom Datenpunkt bei RAW.

            Das Script selbst machen wir dann gemeinsam…

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Motsche1
              schrieb am zuletzt editiert von
              #7

              wert kann von hand eingetragen werden

              1 Antwort Letzte Antwort
              0
              • modmaxM Offline
                modmaxM Offline
                modmax
                schrieb am zuletzt editiert von
                #8

                Dann erweitern wir das Skript mal, um einen Datenpunkt.

                createState('alexa.Heizung', {type: 'boolean', def: false, read: true, write: true, role: 'switch'})
                
                on ('javascript.0.alexa.Heizung', function(obj) {
                	if (obj.state.val) {
                	        // case: true
                		setState('viessmann.0.get.BetriebArtM1', 'ABSCHALT');
                	} else {
                	        // case: false
                		setState('viessmann.0.get.BetriebArtM1', 'H+WW');
                	}
                });
                
                

                Was jetzt noch fehlt ist die Anbindung an Alexa. Dafür müßte du den Datenpunkt

                "javascript.0.alexa.Heizung" in den Cloud-Adapter einbinden mit Name "Heizung" und ihm den Status SWITCH geben.

                Dann in die Alexa-App gehen und nach neuen Geräten suchen lassen, dann taucht der neue Datenpunkt dort auf.

                Dann kannst Du sagen "Alexa, schalte Heizung an/aus" und das skript läuft

                Sorry für den Compile-Fehler .. da ist mir bei on ein ) rein geraten.

                MfG Markus

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  Motsche1
                  schrieb am zuletzt editiert von
                  #9
                  {
                    "from": "system.adapter.viessmann.0",
                    "ts": 1538223413728,
                    "common": {
                      "name": "BetriebArtM1",
                      "desc": "Setze Betriebsart M1"
                    },
                    "native": {},
                    "acl": {
                      "object": 1638,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator",
                      "state": 1638
                    },
                    "_id": "viessmann.0.set.BetriebArtM1",
                    "type": "state"
                  }
                  
                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Motsche1
                    schrieb am zuletzt editiert von
                    #10

                    script startet nicht da fehler

                    j````
                    avascript.0 2018-09-29 16:56:04.577 error at Object.createScript (vm.js:80:10)
                    javascript.0 2018-09-29 16:56:04.577 error SyntaxError: Unexpected token )
                    javascript.0 2018-09-29 16:56:04.577 error ^
                    javascript.0 2018-09-29 16:56:04.576 error });
                    javascript.0 2018-09-29 16:56:04.576 error at script.js.common.Skript2:11
                    javascript.0 2018-09-29 16:56:04.576 error script.js.common.Skript2 compile failed:

                    1 Antwort Letzte Antwort
                    0
                    • modmaxM Offline
                      modmaxM Offline
                      modmax
                      schrieb am zuletzt editiert von
                      #11

                      Hab es oben nochmal korrigiert; da haste das falsche Skript schneller gelesen .. :-)

                      Mußte nach dem ersten starten nochmal neu starten, da der on-Trigger schneller

                      erzeugt wird, als der State eingelesen werden kann. Das kolliert dann

                      an der Stelle.

                      Daher haben viele ein eigens Skript, nur um eigene States im Adapter zu erzeugen;

                      oder legen eigene States manuell irgendwo an.

                      MfG Markus

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        Motsche1
                        schrieb am zuletzt editiert von
                        #12

                        danke dir sehr

                        wenn ich den wert bei set.BetriebArtM1

                        muss ich das nur ändern oder?

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

                          @Motsche1:

                          "_id": "viessmann.0.set.BetriebArtM1",
                          ```` `  
                          

                          Falsche ID im Skript verwendet !

                          createState('alexa.Heizung', false, {type: 'boolean', role: 'switch'});
                          
                          on('javascript.0.alexa.Heizung', function(obj) {
                          	if (obj.state.val) setState('viessmann.0.set.BetriebArtM1', 'H+WW');
                          	else setState('viessmann.0.set.BetriebArtM1', 'ABSCHALT');
                          });
                          

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

                            @paul53

                            Kürzer geht immer, was? .. :-)

                            Ich bin ein Fan von { und } … da weiß man wo es anfägt und aufhört ...

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

                              @modmax:

                              … da weiß man wo es anfägt und aufhört ... `
                              Das weiß man bei einer Einzelanweisung auch.
                              @modmax:

                              Ich bin ein Fan von { und } `
                              Das kannst / sollst Du auch bleiben 8-)

                              Allerdings habe ich auch die Logik umgedreht: Bei "Heizung" = true schaltet sie ein.

                              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
                              • modmaxM Offline
                                modmaxM Offline
                                modmax
                                schrieb am zuletzt editiert von
                                #16

                                Macht auch mehr Sinn sie bei true anzuschalten … :-)

                                Darauf hatte ich nicht geachtet geb ich zu .. hab keine Viessmann-Heizung,

                                nur ne 12 Jahre alte .. da war noch nix mit Smart und so ...

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  Motsche1
                                  schrieb am zuletzt editiert von
                                  #17

                                  Meine ist auch recht alt. So 2001 oder so. Aber das zubehör machts halt. :D

                                  Zur info….es klappt perfekt. Danke nochmal

                                  1 Antwort Letzte Antwort
                                  0
                                  • dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #18

                                    Schön das Dir schon geholfen wurde.

                                    (ich habe unerwartet Besuch bekommen und musste dann aufhören.)

                                    PS:

                                    Den Smartnamen für Alexa bzw. den CloudAdapter baue ich mir bei eigenen Datenpunkten immer gleich mit ein.

                                    Hier z.B. für meinen Rasenmäher

                                    ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... b2ab16.jpg">https://uploads.tapatalk-cdn.com/20180929/a8c50c94b00d4ef4411032e45cb2ab16.jpg</link_text>" />

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

                                      @Motsche1:

                                      es klappt perfekt. `
                                      Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].

                                      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
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      778

                                      Online

                                      32.5k

                                      Benutzer

                                      81.7k

                                      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