Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Rauchmelder Skript

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Rauchmelder Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @paul53 last edited by dslraser

      @paul53
      ich wollte gerade anfangen 😊

      Bildschirmfoto 2020-02-17 um 22.25.21.png

      Meine 6 Melder werden auch gefunden

      17.2.2020, 22:25:12.450	[info ]: javascript.0 (4842) Stop script script.js.Rauchmelder.Rauchmelder_Auslöser
      17.2.2020, 22:25:12.538	[info ]: javascript.0 (4842) Start javascript script.js.Rauchmelder.Rauchmelder_Auslöser
      17.2.2020, 22:25:12.545	[info ]: javascript.0 (4842) script.js.Rauchmelder.Rauchmelder_Auslöser: registered 6 subscriptions and 0 schedules
      
      1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @paul53 last edited by dslraser

        @paul53 sagte in Rauchmelder Skript:

        @dslraser
        Dieser $Selector sollte genügen:

        const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS');
        

        ich mußte var statt const schreiben, sonst kamen Fehler.

        Script Start aus dem ersten Beitrag mit dem HMIP Selector

        17.2.2020, 22:32:19.153	[info ]: javascript.0 (4842) Stop script script.js.Rauchmelder.Skript_1
        17.2.2020, 22:32:19.238	[info ]: javascript.0 (4842) Start javascript script.js.Rauchmelder.Skript_1
        17.2.2020, 22:32:19.340	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Function Rauch erkannt wird gestartet.
        17.2.2020, 22:32:19.341	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 0 Name: Rauchmelder Keller Flur_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
        17.2.2020, 22:32:19.341	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 1 Name: Rauchmelder Flur_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
        17.2.2020, 22:32:19.342	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 2 Name: Rauchmelder Wohnzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 17.02.20 21:45:20 Uhr
        17.2.2020, 22:32:19.342	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 3 Name: Rauchmelder Gästezimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
        17.2.2020, 22:32:19.343	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 4 Name: Rauchmelder Keller Wohnzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
        17.2.2020, 22:32:19.344	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 5 Name: Rauchmelder Schlafzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr
        17.2.2020, 22:32:19.344	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: 6 Geräte mit dem Datenpunkt Rauch erkannt werden überwacht.
        17.2.2020, 22:32:19.344	[info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: registered 6 subscriptions and 0 schedules
        

        Beim Wohnzimmer habe ich vorhin in den Datenpunkten "gespielt", deshalb heute "Rauch erkannt"

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

          @dslraser sagte:

          var statt const schreiben, sonst kamen Fehler.

          Welche ?

          dslraser 1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @paul53 last edited by dslraser

            @paul53

            avascript.0	2020-02-17 22:54:21.348	error	(4842) at process._tickCallback (internal/process/next_tick.js:68:7)
            javascript.0	2020-02-17 22:54:21.348	error	(4842) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
            javascript.0	2020-02-17 22:54:21.348	error	(4842) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
            javascript.0	2020-02-17 22:54:21.348	error	(4842) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17)
            javascript.0	2020-02-17 22:54:21.348	error	(4842) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:1055:17)
            javascript.0	2020-02-17 22:54:21.348	error	(4842) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1464:17)
            javascript.0	2020-02-17 22:54:21.348	error	(4842) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1411:37)
            javascript.0	2020-02-17 22:54:21.347	error	(4842) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:1188:28)
            javascript.0	2020-02-17 22:54:21.347	error	(4842) at Object.createScript (vm.js:277:10)
            javascript.0	2020-02-17 22:54:21.347	error	(4842) at new Script (vm.js:83:7)
            javascript.0	2020-02-17 22:54:21.347	error	(4842) SyntaxError: Identifier 'cacheSelectorSmoke' has already been declared
            javascript.0	2020-02-17 22:54:21.347	error	(4842) ^
            javascript.0	2020-02-17 22:54:21.347	error	(4842) const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS');
            javascript.0	2020-02-17 22:54:21.347	error	at script.js.Rauchmelder.Skript_1:38
            javascript.0	2020-02-17 22:54:21.347	error	(4842) script.js.Rauchmelder.Skript_1 compile failed:
            

            Script Engine 4.4.2

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

              @dslraser sagte:

              SyntaxError: Identifier 'cacheSelectorSmoke' has already been declared

              Eine Konstante kann nur einmal deklariert werden. Wo erfolgt die erste Deklaration ?

              dslraser 1 Reply Last reply Reply Quote 0
              • dslraser
                dslraser Forum Testing Most Active @paul53 last edited by dslraser

                @paul53
                Ich habe nur das komplette Script aus dem ersten Beitrag genommen und den zweiten Selector eingefügt.

                Edit: muss der "zweite" Selector anders heißen, wenn man den ersten drinn läßt ?

                paul53 2 Replies Last reply Reply Quote 0
                • paul53
                  paul53 @dslraser last edited by

                  @dslraser sagte:

                  und den zweiten Selector eingefügt.

                  Mit gleichem Bezeichner cacheSelectorSmoke eingefügt, nicht ersetzt ? Dann ist die Fehlermeldung logisch.

                  dslraser 1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @paul53 last edited by

                    @paul53 sagte in Rauchmelder Skript:

                    Mit gleichem Bezeichner cacheSelectorSmoke eingefügt, nicht ersetzt ? Dann ist die Fehlermeldung logisch.

                    ja, habe ich. Ich lerne ja noch...
                    Ich hatte es einen Beitrag über Deinem als Edit eingefügt.
                    Und ist ein var quasi auch ein const ?

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

                      @dslraser sagte:

                      muss der "zweite" Selector anders heißen, wenn man den ersten drinn läßt ?

                      Als Variablendeklaration wird der erste Wert überschrieben.

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

                        @dslraser sagte:

                        Und ist ein var quasi auch ein const ?

                        Der Wert einer Variablen (var, let) kann überschrieben werden, der Wert einer Konstanten (const) nicht.

                        1 Reply Last reply Reply Quote 1
                        • D
                          darkiop Most Active @Feuersturm last edited by

                          @feuersturm sagte in Rauchmelder Skript:

                          @Dominik-F Setzt du die Homematic IP Rauchmelder HMIP-SWSD ein? Ich hätte Interesse an deinem Skript. Könntest du in deinem ersten Beitrag die aktuelle Version deines Skriptes einstellen bzw. bei neuen Erkenntnissen das Skript dort aktualisieren?

                          Guten Morgen,

                          ich habe bei uns hier auch 3 HM-IP Rauchmelder installiert und wollte die Tage mal die Integration in den ioBroker angehen um dann bei Alarm reagieren zu könnnen (Push-Nachricht, Beschattung auf, Licht an, ...).

                          Hast du deine mitterweile eingebunden?

                          9e111164-cba3-4b45-8b8b-1f9d41fc5481-image.png

                          Hier ein Export der Objekte eines der HM-Rauchmelder:

                          hm-ip-rauchmelder.json

                          Das Skript oben müsste man anpassen, das triggert ja auf STATE und nicht auf den DP von HM-IP Rauchmelder.

                          Dominik F. 1 Reply Last reply Reply Quote 0
                          • Dominik F.
                            Dominik F. @darkiop last edited by

                            @darkiop

                            Ich habe immer noch keine Rauchmelder von HM IP.

                            @dslraser wollte das Skript in Blockly umschreiben für sich und für HM und HM IP. Eventuell ist das bisher geschehen? Vielleicht stellt er uns sein Skript ja hier zur Verfügung.

                            dslraser 1 Reply Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @Dominik F. last edited by

                              @dominik-f sagte in Rauchmelder Skript:

                              @darkiop

                              Ich habe immer noch keine Rauchmelder von HM IP.

                              @dslraser wollte das Skript in Blockly umschreiben für sich und für HM und HM IP. Eventuell ist das bisher geschehen? Vielleicht stellt er uns sein Skript ja hier zur Verfügung.

                              Ich habe durch diesen Post gerade festgestellt, das ich für alles Mögliche Listen mit Telegram/E-Mail Funktion habe (Telegram und E-Mail sind an/abschaltbar), aber meine Rauchmelder komplett vergessen habe....🙄 Ich habe übrigens nur HMIP Rauchmelder.

                              Dominik F. 2 Replies Last reply Reply Quote 0
                              • Dominik F.
                                Dominik F. @dslraser last edited by

                                @dslraser

                                Ach schade. Ich freunde mich gerade mit Blockly an und überlegt, wie ich mein Rauchmelderskript in Blockly umschreiben kann und bin da auf meinen alten Thread gestoßen. Da in 2-3 Jahren meine Rauchmelder ausgetauscht werden müssen und ich mir offen halten möchte ob ich nicht zu hm ip wechsel hatte ich gehofft das du da schon was bei dir erstellt hast, eventuell sogar für hm und hm ip

                                dslraser paul53 2 Replies Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active @Dominik F. last edited by dslraser

                                  @dominik-f

                                  damit geht es doch (bzw. mit dem Selector einen Post weiter unten)

                                  https://forum.iobroker.net/post/379455

                                  damit kannst Du doch arbeiten.

                                  Edit: ich werde mir erstmal aliase erstellen und dann sehen wir weiter…

                                  Dominik F. 1 Reply Last reply Reply Quote 0
                                  • Dominik F.
                                    Dominik F. @dslraser last edited by

                                    @dslraser

                                    Das Problem ist, ich werds nicht testen können. Ich versuche es dann erst mal das Blockly nur mit den HM Geräten umzusetzen.

                                    1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Dominik F. last edited by

                                      @dominik-f sagte: eventuell sogar für hm und hm ip

                                      Du verwendest doch die Aufzählung "functions". Dann erfasst folgender Selektor alle Rauchmelder, wenn die Aufzählung "rauchmelder" zugeordnet wird:

                                      Bild_2022-07-30_192910036.png

                                      Dominik F. 1 Reply Last reply Reply Quote 0
                                      • Dominik F.
                                        Dominik F. @paul53 last edited by

                                        @paul53

                                        Bei HM IP gibt es wohl andere Datenpunkte die den Wert 0-4 oder so haben, wäre dann in diesem Fall 0 = false und alles andere =true?

                                        Prinzipiell könnte ich jetzt das Skript für die Wassermelder, wo du mir gerade geholfen hast, auch für die Rauchmelder nutzen mit wenigen Anpassungen oder?

                                        paul53 1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @Dominik F. last edited by paul53

                                          @dominik-f sagte: Bei HM IP gibt es wohl andere Datenpunkte die den Wert 0-4 oder so haben

                                          Du musst die Gewerke nicht aus der CCU übernehmen, sondern kannst sie in ioBroker einzelnen Datenpunkten zuweisen. In der CCU sind die Gewerke den Kanälen zugeordnet und umfassen damit alle Datenpunkte eines Kanales.
                                          Alternativ kann man einen Alias zu den interessierenden Datenpunkten verwenden. Bei Austausch der RM tauscht man dann dort die zugehörige Original-ID.

                                          @dominik-f sagte in Rauchmelder Skript:

                                          Prinzipiell könnte ich jetzt das Skript für die Wassermelder, wo du mir gerade geholfen hast, auch für die Rauchmelder nutzen mit wenigen Anpassungen oder?

                                          Ja.

                                          @dominik-f sagte in Rauchmelder Skript:

                                          Wert 0-4 oder so haben, wäre dann in diesem Fall 0 = false und alles andere =true?

                                          Ja.

                                          Dominik F. 1 Reply Last reply Reply Quote 0
                                          • Dominik F.
                                            Dominik F. @paul53 last edited by

                                            @paul53 sagte in Rauchmelder Skript:

                                            @dominik-f sagte: Bei HM IP gibt es wohl andere Datenpunkte die den Wert 0-4 oder so haben

                                            Du musst die Gewerke nicht aus der CCU übernehmen, sondern kannst sie in ioBroker einzelnen Datenpunkten zuweisen. In der CCU sind die Gewerke den Kanälen zugeordnet und umfassen damit alle Datenpunkte eines Kanales.
                                            Alternativ kann man einen Alias zu den interessierenden Datenpunkten verwenden. Bei Austausch der RM tauscht man dann dort die zugehörige Original-ID.

                                            Ich übernehme eigentlich nur die Namen aus der CCU damit ich ein Gerät schneller wiederfinden kann falls mal was ist. Ansonsten erstelle ich mir mittlerweile Aliase. Das hat mir jetzt schon öfter geholfen und bin echt begeistert davon.

                                            Ich werde jetzt zuerst noch ein paar Sachen am Wassermelder Skript hinzufügen (ich versuche es zumindest 😄 ) und wenn das dann komplett ist dann das auf die Rauchmelder übertragen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            841
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript security
                                            6
                                            52
                                            4817
                                            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