Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly und triggern auf mehrere Devices mit RegExp

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly und triggern auf mehrere Devices mit RegExp

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

      Moin Moin,

      nach mehreren Tagen Google-Fu habe ich einige Beiträge zum Thema Blockly und RegExp für mehrere Devices gefunden, jedoch leider keine funktionsfähige Lösung. Die Beiträge waren alle von 2017/2018 mit JS Adapter 1.0. Das "große" Fenster-/Tür-Script in Javascript im Forum ist ... zu groß für das Problem.

      Daher meine Frage: ich möchte ein Blockly-Script definieren, daß meine Homematic-Fenster-Stati ausliest. Alle Homematic-Fenstersensoren folgen dem Namensschema

      HM.<Raum>.Fenster.<Art>
      

      und finden sich in

      hm-rpc.0.<SERIAL>.1.STATE
      

      Mein Versuch

      on({id: new RegExp("^hm-rpc.+\.(Fenster)\..+"), change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        sendTo("telegram", "send", {
            text: (['Fensteränderung ',obj.deviceName,'. Neuer Zustand: ',(obj.state ? obj.state.val : "")].join(''))
        });
      });
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMiUzQU4lN0Juamc1M2pwWmZZJTNGODUlNUVfNW4lMjIlMjB4JTNEJTIyMzEzJTIyJTIweSUzRCUyMjI2MyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIqZyU3Q1RQSSUzRlgxKiU2MCU3Q2klN0JHZyUyNVFKKCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWRlZmF1bHQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnJlZ2V4JTIyJTIwaWQlM0QlMjJWJTVEJTI0ZDEpJTJCUkFNJTI0MFg0JTYwKi1NJTNGaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlNUVobS1ycGMuJTJCJTVDLihGZW5zdGVyKSU1Qy4uJTJCJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRlbGVncmFtJTIyJTIwaWQlM0QlMjIlMjRsSEVLaGZUJTdDUV9ERlprLXAtKU4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJJTlNUQU5DRSUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTE9HJTIyJTNFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTSUxFTlQlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyUEFSU0VNT0RFJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyTUVTU0FHRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlN0RxQlR0VWE0SGklMjVvbCUzQlB5KjV4JTdEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRleHQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyT0tybmJWJTJGd18lN0M2VSU2MGwlMjRWJTVEYSElMkYlMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyNCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmNkUVJjJTI1JTIzcGZrbVYlN0Q4JTdCTyU1QjElM0RFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRUZlbnN0ZXIlQzMlQTRuZGVydW5nJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyKGhjcDJrMiUyNVFRRG5QVy5IQXlpMSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VkZXZpY2VOYW1lJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlR+JTVCcSU1Qi5HeSUyQzZyVzFhJTI0UjghJTNGeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UuJTIwTmV1ZXIlMjBadXN0YW5kJTNBJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyLiUzQkklMjUlN0RwaER3JTI1LkhHLVk4T0lhcCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS52YWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
      

      funktioniert nicht - es wird nicht getriggert und ich erhalte kein Telegram.

      Unterstützt denn Blockly im Trigger überhaupt ein RegExp-Ausdruck? Und wenn nein, was in etwa könnte ich flasch gemacht haben...?

      Danke, -MN

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

        @Morgennebel sagte:

        Unterstützt denn Blockly im Trigger überhaupt ein RegExp-Ausdruck?

        Ja, aber nur für die ID, nicht für den Namen.

        @Morgennebel sagte in Blockly und triggern auf mehrere Devices mit RegExp:

        und finden sich in
        hm-rpc.0.<SERIAL>.1.STATE

        Versuche es mal so:

        on({id: new RegExp("^hm-rpc\.0\..+\.1\.STATE$"), change: "ne"}, function (obj) {
        

        EDIT: Falls mit diesem RegExp nicht nur die Fenster triggern, kann man noch nach dem Namen bzw. Kanalnamen filtern:

        Blockly_temp.JPG

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

        Support us

        ioBroker
        Community Adapters
        Donate

        867
        Online

        32.0k
        Users

        80.4k
        Topics

        1.3m
        Posts

        2
        2
        570
        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