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. Praktische Anwendungen (Showcase)
  4. [Projekt] Alarmanlage mit mehreren Alarmstufen

NEWS

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

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

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

[Projekt] Alarmanlage mit mehreren Alarmstufen

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
138 Beiträge 32 Kommentatoren 36.3k Aufrufe 21 Watching
  • Ä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.
  • sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #86

    Es wird….....aber irgend wo ist noch ein Fehler?

    2858_screenshot__554_.png

    2858_screenshot__562_.png

    2858_screenshot__560_.png

    2858_screenshot__558_.png

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    1 Antwort Letzte Antwort
    0
    • sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #87

      Hat ausgelöst, dauerte ein wenig…....... :D

      Steht aber im Log Objekt......Objekt.......

      2858_screenshot__564_.png

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      1 Antwort Letzte Antwort
      0
      • ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #88

        @sigi234:

        Hat ausgelöst, dauerte ein wenig…....... :D

        Steht aber im Log Objekt......Objekt.......

        Screenshot (564).png `

        Hat der ausglöste State was stehen in "common.name"?

        Poste mal bitte den RAW von dem State

        1 Antwort Letzte Antwort
        0
        • sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #89
          {
            "from": "system.adapter.javascript.0",
            "ts": 1536149201713,
            "common": {
              "name": "alarm.out.last_sensor",
              "desc": "Tells you which sensor has been activated. The output gives the room, name, date and time.",
              "type": "string",
              "role": "javascript",
              "read": true,
              "write": false
            },
            "native": {},
            "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
            },
            "_id": "javascript.0.alarm.out.last_sensor",
            "type": "state"
          }
          

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          1 Antwort Letzte Antwort
          0
          • Homer.J.H Offline
            Homer.J.H Offline
            Homer.J.
            schrieb am zuletzt editiert von
            #90

            So hatte ich es bis gestern auch deswegen habe ich ständig Fehlalarm über Motion gehabt wenn du es über die CCU machst muss es so aussehen dann funktioniert es.

            var selFacade = $('state[state.id=*.STATE](functions=facade)');
            selFacade.on(function(obj) {
            _checkSensor(obj,'facade');
            
            var selMotion = $('state[state.id=*.MOTION](functions=motion)');
            selMotion.on(function(obj) {
            _checkSensor(obj,'motion');
            });
            
            1 Antwort Letzte Antwort
            0
            • sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #91

              Da bekomme ich einen Fehler…...

              2858_screenshot__576_.png

              avascript.0	2018-09-06 14:07:38.176	error	at Object.createScript (vm.js:80:10)
              javascript.0	2018-09-06 14:07:38.176	error	SyntaxError: Unexpected end of input
              javascript.0	2018-09-06 14:07:38.176	error	
              javascript.0	2018-09-06 14:07:38.176	error	log('registered ' + __engine.__subscriptions + ' subscription' + (__engine.__subscriptions === 1 ? '' : 's' ) + ' and ' + __engine.__schedules + ' schedule' + (__engine.__schedules === 1 ? '' : 's' )
              javascript.0	2018-09-06 14:07:38.176	error	at script.js.common.multi_channel_burglar_alarm:188
              javascript.0	2018-09-06 14:07:38.176	error	script.js.common.multi_channel_burglar_alarm compile failed:
              

              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Immer Daten sichern!

              1 Antwort Letzte Antwort
              0
              • sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #92

                @nisio:

                @sigi234:

                Hat ausgelöst, dauerte ein wenig…....... :D

                Steht aber im Log Objekt......Objekt.......

                Screenshot (564).png `

                Hat der ausglöste State was stehen in "common.name"?

                Poste mal bitte den RAW von dem State `

                Bekomme auch eine E-Mail aber nach wie vor mit diesen Angaben?

                alarm triggered by [object Object]

                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Immer Daten sichern!

                1 Antwort Letzte Antwort
                0
                • Homer.J.H Offline
                  Homer.J.H Offline
                  Homer.J.
                  schrieb am zuletzt editiert von
                  #93

                  Füg mal das ein. Zeit kannst du ja selber dann wieder stellen.

                  /* 
                  
                  multi channel burglar alarm - v 0.01
                  
                  features:
                  - six different alarm channels
                  - delayed alarm action
                  - delayed sensor check
                  - alarmlog
                  - define settings as profil
                  
                  changelog:
                   29.09.2017 initial version
                   01.10.2017 restructered with revealing module pattern 
                   03.10.2017 profiles added for alarm channels and sensor groups
                  
                  */
                  
                  var ALARM = (function () {
                  
                      //Settings
                      var instance = 'javascript.0.';
                      var maxLogEntries = 5;
                  
                      //Internal states
                      var enable = false;
                      var state = 0;
                      var alarm = false;
                      var alarmDelay;
                      var alarmTimer = {};
                      var alarmLog = [];
                      var sensorDelay;
                      var sensorTimer = {};
                  
                      //Sensors
                      var selFacade = $('state[state.id=*.STATE](functions=facade)');
                      selFacade.on(function(obj) {
                          _checkSensor(obj,'facade');
                      });
                  
                      var selMotion = $('state[state.id=*.MOTION](functions=motion)');
                      selMotion.on(function(obj) {
                          _checkSensor(obj,'motion');
                      });
                  
                      function _checkSensor(obj, group) {
                          if (enable) {
                              if (sensorDelay[group] === 0) {
                                  _check(obj);
                              } else if (sensorDelay[group] > 0) {
                                  setTimeout(_check, (sensorDelay[group] * 1000), obj);
                              }
                          log('checkSensor group:' + group + ' obj:' + obj.id, 'debug');
                          }
                      }
                  
                      function _loadSettings(profile){
                          switch(profile) {
                              case 'silent':
                                  sensorDelay = {motion:0,facade:0};
                                  alarmDelay = {silent:0};
                                  break;
                              case 'night':
                                  sensorDelay = {facade:0};
                                  alarmDelay = {silent:30,intern:2,extern:2};
                                  break;    
                              case 'full':
                                  sensorDelay = {motion:0,facade:0};
                                  alarmDelay = {silent:4,sound:10,strobe:3,intern:60,extern:60,mail:2};
                                  break;
                              case 'presence':
                                  sensorDelay = {motion:0,facade:0};
                                  alarmDelay = {silent:0,sound:10,strobe:30,intern:60,extern:60,mail:120};
                                  break;
                              case 'auto':
                                  sensorDelay = {motion:0,facade:0};
                                  alarmDelay = {silent:4,sound:10,strobe:30,intern:60,extern:60,mail:2};
                                  break;
                              default:
                                  profile = 'default';
                                  sensorDelay = {motion:0,facade:0};
                                  alarmDelay = {silent:4,sound:2,strobe:30,intern:60,extern:60,mail:2};
                          }
                          setState(instance+'alarm.out.profile', profile, true);
                          log('loadSettings profile:'+profile);
                      }
                      function _enable(profil){
                          enable = true;
                          state = 1;
                          _resetAlarm();
                          _loadSettings(profil);
                          log('enable');
                      }
                      function _disable(){
                          enable = false;
                          state = 0;
                          _resetAlarm();
                          _resetAlarmTimer();
                          log('disable');
                      }
                      function _stop(){
                          state = 1;
                          _resetAlarm();
                          log('stop');
                      }
                      function _resetAlarmTimer(){
                          for (var elem in alarmTimer) {
                              clearTimeout(alarmTimer[elem]);
                              alarmTimer[elem] = null;
                          }
                          log('resetAlarmTimer');
                      }
                      function _resetAlarm(){
                          alarm = false;
                          setState(instance+'alarm.out.state_sirene', state, true);
                          setState(instance+'alarm.out.state', state, true);
                          setState(instance+'alarm.out.alarm', false, true);
                          setState(instance+'alarm.out.alarm_silent', false, true);
                          setState(instance+'alarm.out.alarm_sound', false, true);
                          setState(instance+'alarm.out.alarm_strobe', false, true);
                          setState(instance+'alarm.out.alarm_intern', false, true);
                          setState(instance+'alarm.out.alarm_extern', false, true);
                          setState(instance+'alarm.out.alarm_mail', false, true);
                          _resetAlarmTimer();
                          log('resetAlarm state:'+state);
                      }
                      function _startAlarm(elem){
                          alarm = true;
                          setState(instance+'alarm.out.alarm_'+elem, true, true);
                          setState(instance+'alarm.out.state', 3, true);
                          log('startAlarm elem:'+elem);
                      }
                      function _check(obj){
                          if(obj.state.val && enable){
                              for (var elem in alarmDelay) {
                                  if(alarmDelay[elem] === 0){
                                      _startAlarm(elem);
                                  } else if(!alarmTimer[elem]){
                                          alarmTimer[elem] = setTimeout(_startAlarm,(alarmDelay[elem]*1000),elem);
                                  }
                                  log('startAlarms elem'+elem+':'+alarmDelay[elem]);
                              }
                              _logSensor(obj);
                              log('alarm triggered by sensor '+obj.common.name);
                          }
                          log('check obj:'+obj.common.name);
                      }
                      function _logSensor(obj){
                          var time = (new Date()).toLocaleDateString()+' '+(new Date()).toLocaleTimeString();
                          var sensor = obj.common.name;
                          var room = getObject(obj.id, 'rooms').enumNames[0];
                          alarmLog.push(time+' '+sensor+' '+room);
                          alarmLog.splice(maxLogEntries);
                          setState(instance+'alarm.out.log', alarmLog.join('
                  '), true);
                          setState(instance+'alarm.out.last_sensor', time+' '+sensor+' '+room, true);
                      }
                  
                      _loadSettings();
                  
                      return {
                          enable: _enable,
                          disable: _disable,
                          stop: _stop
                      };
                  
                  })();
                  
                  on({id:'javascript.0.alarm.in.enable', change:'any'}, function(obj){
                      ALARM.enable(obj.state.val);
                      log('on: in.enable val:'+obj.state.val);
                  });
                  on({id:'javascript.0.alarm.in.disable', change:'any'}, function(obj){
                      ALARM.disable();
                      log('on: in.disable');
                  });
                  on({id:'javascript.0.alarm.in.stop', change:'any'}, function(obj){
                      ALARM.stop();
                      log('on: in.stop');
                  });
                  
                  // ############# Alarmanlage schalten Anwesenheit ###############
                  
                  on("hm-rega.0.950"/*Anwesenheit*/, function (obj) {
                  var state = getState('javascript.0.alarm.out.state').val;
                  var profile = getState('javascript.0.alarm.out.profile').val;
                  if (profile == 'auto' || state === 0) {
                  if (obj.state.val && state > 0) {
                  setState('javascript.0.alarm.in.disable', true, true);
                  } else {
                  setState('javascript.0.alarm.in.enable', 'auto', true);
                  }
                  }
                  });
                  
                  1 Antwort Letzte Antwort
                  0
                  • sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #94

                    2858_screenshot__578_.png

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    1 Antwort Letzte Antwort
                    0
                    • sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #95

                      Habe den Fehler:

                      In der Cloud wird auch Objekt Objekt angezeigt….......warum weis ich nicht.

                      2858_screenshot__580_.png
                      2858_screenshot__582_.png

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      1 Antwort Letzte Antwort
                      0
                      • ? Offline
                        ? Offline
                        Ein ehemaliger Benutzer
                        schrieb am zuletzt editiert von
                        #96

                        @sigi234:

                        @nisio:

                        @sigi234:

                        Hat ausgelöst, dauerte ein wenig…....... :D

                        Steht aber im Log Objekt......Objekt.......

                        Screenshot (564).png `

                        Hat der ausglöste State was stehen in "common.name"?

                        Poste mal bitte den RAW von dem State `

                        Bekomme auch eine E-Mail aber nach wie vor mit diesen Angaben?

                        alarm triggered by [object Object] `

                        Wie sieht denn nun der RAW aus von dem State der den Alarm auslöst?!?

                        Ich vermute dort wird in common.name irgendwas stehen in geschweiften Klammern…

                        1 Antwort Letzte Antwort
                        0
                        • sigi234S Online
                          sigi234S Online
                          sigi234
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #97
                          {
                            "from": "system.adapter.hm-rpc.1",
                            "ts": 1536258965916,
                            "common": {
                              "name": "Haustuer.STATE",
                              "type": "boolean",
                              "role": "state",
                              "def": false,
                              "read": true,
                              "write": false,
                              "custom": {
                                "history.0": {
                                  "enabled": true,
                                  "changesOnly": false,
                                  "debounce": "1000",
                                  "maxLength": "10",
                                  "retention": 0,
                                  "changesRelogInterval": 0,
                                  "changesMinDelta": 0
                                },
                                "material": {
                                  "admin": {
                                    "inverted": false,
                                    "name": "Haustuer",
                                    "colorOn": "rgba(0,0,0,1)",
                                    "doubleSize": true,
                                    "colorOff": "rgba(0,0,0,1)",
                                    "icon": "",
                                    "iconOff": "",
                                    "background": "/material.0/admin/hm-rpc_1_NEQ1818500_1_STATE.jpg",
                                    "enabled": true
                                  }
                                }
                              }
                            },
                            "native": {
                              "CONTROL": "DOOR_SENSOR.STATE",
                              "ID": "STATE",
                              "TYPE": "BOOL",
                              "UNIT": "",
                              "FLAGS": 1,
                              "OPERATIONS": 5,
                              "TAB_ORDER": 0,
                              "DEFAULT": false,
                              "MAX": true,
                              "MIN": false
                            },
                            "acl": {
                              "object": 1636,
                              "owner": "system.user.admin",
                              "ownerGroup": "system.group.administrator",
                              "state": 1636
                            },
                            "_id": "hm-rpc.1.NEQ1818500.1.STATE",
                            "type": "state"
                          }
                          

                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Immer Daten sichern!

                          1 Antwort Letzte Antwort
                          0
                          • ? Offline
                            ? Offline
                            Ein ehemaliger Benutzer
                            schrieb am zuletzt editiert von
                            #98

                            Ist der State einem Raum zugeordnet?

                            Dann bitte auch mal den RAW von dem Raum posten. Danke

                            1 Antwort Letzte Antwort
                            0
                            • sigi234S Online
                              sigi234S Online
                              sigi234
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #99
                              {
                                "type": "enum",
                                "common": {
                                  "name": {
                                    "en": "Vorraum",
                                    "de": "Vorraum"
                                  },
                                  "desc": "",
                                  "members": [
                                    "hm-rpc.1.NEQ1818500.1",
                                    "hm-rpc.1.OEQ0473764.1"
                                  ],
                                  "custom": {
                                    "material": {
                                      "admin": {
                                        "align": "",
                                        "newLine": false,
                                        "name": "Vorraum",
                                        "color": "",
                                        "background": "/material.0/admin/enum.rooms.Garten.jpg",
                                        "backgroundColor": "",
                                        "icon": ""
                                      }
                                    }
                                  },
                                  "color": "#e4428d"
                                },
                                "native": {
                                  "Name": "Vorraum",
                                  "TypeName": "ENUM",
                                  "EnumInfo": ""
                                },
                                "from": "system.adapter.admin.0",
                                "ts": 1535716516586,
                                "_id": "enum.rooms.Vorraum",
                                "acl": {
                                  "object": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator"
                                }
                              }
                              

                              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Immer Daten sichern!

                              1 Antwort Letzte Antwort
                              0
                              • ? Offline
                                ? Offline
                                Ein ehemaliger Benutzer
                                schrieb am zuletzt editiert von
                                #100

                                @sigi234:

                                {
                                  "type": "enum",
                                  "common": {
                                    "name": {
                                      "en": "Vorraum",
                                      "de": "Vorraum"
                                    },
                                    "desc": "",
                                    "members": [
                                      "hm-rpc.1.NEQ1818500.1",
                                      "hm-rpc.1.OEQ0473764.1"
                                    ],
                                    "custom": {
                                      "material": {
                                        "admin": {
                                          "align": "",
                                          "newLine": false,
                                          "name": "Vorraum",
                                          "color": "",
                                          "background": "/material.0/admin/enum.rooms.Garten.jpg",
                                          "backgroundColor": "",
                                          "icon": ""
                                        }
                                      }
                                    },
                                    "color": "#e4428d"
                                  },
                                  "native": {
                                    "Name": "Vorraum",
                                    "TypeName": "ENUM",
                                    "EnumInfo": ""
                                  },
                                  "from": "system.adapter.admin.0",
                                  "ts": 1535716516586,
                                  "_id": "enum.rooms.Vorraum",
                                  "acl": {
                                    "object": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator"
                                  }
                                }
                                ```` `  
                                

                                Versuche mal, wenn du die verschiedenen Sprachen nicht angibst:

                                ...
                                "common": {
                                    "name": "Vorraum",
                                    "desc": "",
                                    ...
                                
                                1 Antwort Letzte Antwort
                                0
                                • sigi234S Online
                                  sigi234S Online
                                  sigi234
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #101

                                  2858_screenshot__592_.png

                                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                  Immer Daten sichern!

                                  1 Antwort Letzte Antwort
                                  0
                                  • E Offline
                                    E Offline
                                    ErazorVIP
                                    schrieb am zuletzt editiert von
                                    #102

                                    Nur mal so eine Frage, wo kann ich denn die Verzögerungszeit einstellen?

                                    :shock:

                                    1 Antwort Letzte Antwort
                                    0
                                    • ? Offline
                                      ? Offline
                                      Ein ehemaliger Benutzer
                                      schrieb am zuletzt editiert von
                                      #103

                                      @ErazorVIP:

                                      Nur mal so eine Frage, wo kann ich denn die Verzögerungszeit einstellen? `

                                      Du kannst für jeden Ausgang die Verzögerung einstellen.

                                      Das passiert in _loadSettings für jedes Profil einzeln.

                                      motion: 0 => keine Verzögerung

                                      motion: 30 => 30sec Verzögerung

                                      function _loadSettings(profile) {
                                              switch (profile) {
                                                  case 'silent':
                                                      sensorDelay = {
                                                          motion: 0,
                                                          facade: 0
                                                      };
                                                      alarmDelay = {
                                                          silent: 0
                                                      };
                                                      break;
                                                  case 'night':
                                                      sensorDelay = {
                                                          facade: 0
                                                      };
                                                      alarmDelay = {
                                                          silent: 0,
                                                          strobe: 0
                                                          ...
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • E Offline
                                        E Offline
                                        ErazorVIP
                                        schrieb am zuletzt editiert von
                                        #104

                                        Super ;) Danke

                                        Mit den Logs hab ich noch ein kleines Problem…

                                        Wenn aus auf 5 eigestellt ist funktioniert auch soweit alles super...

                                        var maxLogEntries = 5;
                                        

                                        Leider bleibt es dann bei den 5 Logs - ein neues Ereignis wird dann nicht mehr gelogt?

                                        1 Antwort Letzte Antwort
                                        0
                                        • F Offline
                                          F Offline
                                          flat1984
                                          schrieb am zuletzt editiert von
                                          #105

                                          @ErazorVIP:

                                          Leider bleibt es dann bei den 5 Logs - ein neues Ereignis wird dann nicht mehr gelogt? `

                                          Hallo,

                                          das kann ich nachvollziehen - nach erster Untersuchung vermute ich die Ursache in der Funktion````
                                          _logsensor(obj)

                                          
                                          Dort wird mittels````
                                          alarmLog.push(time+' '+sensor+' '+room);
                                          ````die aktuelles Meldung an das Ende des Arrays geschrieben, mittels````
                                          alarmLog.splice(maxLogEntries)
                                          ````wird die Anzahl der Elemente des Arrays auf maxLogEntries (default: 5) begrenzt.
                                          
                                          Dadurch wird der neue Eintrag gleich wieder abgeschnitten / gelöscht, sobald 5 Einträge im Array sind.
                                          
                                          Da ich das Log lieber in umgekehrter Reihenfolge sehen möchte (aktuellster Alarm oben), habe ich es wie folgt gelöst:
                                          
                                          Ich lasse mittels````
                                          alarmLog.unshift(time+' '+sensor+' '+room);
                                          ````die aktuellste Logmeldung an den Array-Anfang stellen.
                                          
                                          Ich hoffe ich liege mit meinem Verdacht richtig :-)
                                          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

                                          378

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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