Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. System.adapter.jeelink.0 && LaCrosse Temperatursensor

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    System.adapter.jeelink.0 && LaCrosse Temperatursensor

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

      Hallo zusammen,

      durch Zufall bin ich auf diesen Adapter gestoßen. Habe ihn auch direkt getestet.

      http://forum.iobroker.net/viewtopic.php … 479#p25479

      <u>Hintergrund:</u>

      Es gibt preiswerte LaCrosse Temperatursensor (Technoline Außensender TX 29 DTH - IT, weiß )

      Dazu habe ich mir auch einen JeeLink Clone besorgt. In einer FHEM-Installation werden die Sensoren auch ausgelesen.

      https://blog.moneybag.de/lacrosse-tempe … nk-ersatz/

      Nun möchte ich die Daten aber in ioBroker haben.

      In ioBroker kann ich die Daten empfangen.

      • 2016-05-13 06:58:49.091 - debug: jeelink.0 Daten wurden gelesen : rx : OK 9 27 1 4 124 63
      2016-05-13 06:58:52.584 - debug: jeelink.0 Daten wurden gelesen : rx : OK 9 30 1 4 174 52
      
      2016-05-13 06:58:53.302 - debug: jeelink.0 Daten wurden gelesen : rx : OK 9 27 1 4 124 62
      
      2016-05-13 06:58:57.514 - debug: jeelink.0 Daten wurden gelesen : rx : OK 9 27 1 4 124 62 
      

      Diese werde jedoch nicht weiter ausgewertet oder gespeichert.

      <u>Forschungsarbeit gestartet:</u>

      Dann habe ich mich mal durch den Quelltext gearbeitet.

      https://github.com/foxthefox/ioBroker.j … jeelink.js

      Hier stelle ich fest, dass es ein andere Ansatz ist die Daten auszuwerten.

      Mein naives Denke sagte mir: Das kannst du doch wohl anpassen. :?

      Habe mich dann auf die Suche gemacht um einen Quellcode zur Auswertung zu finden und bin fündig geworden.

      "36_LaCrosse-LaCrosseITPlusReader"
      315_lacrosse.cpp.txt
      Leider schaffe ich es nicht, den Quellcode zu verstehen und in den iobroker-adapter zu integrieren.

      Vielleicht ist der ursprüngliche Ansatz ja auch ein andere.

      Aber es währe schön wenn das in ioBroker auch funktionieren würde.

      Das Format der empfangenen Daten ist

      //

      // OK 9 56 1 4 156 37 ID = 56 T: 18.0 H: 37 no NewBatt

      // OK 9 49 1 4 182 54 ID = 49 T: 20.6 H: 54 no NewBatt

      // OK 9 55 129 4 192 56 ID = 55 T: 21.6 H: 56 WITH NewBatt

      // OK 9 ID XXX XXX XXX XXX

      // | | | | | | |

      // | | | | | | –- Humidity incl. WeakBatteryFlag

      // | | | | | |------ Temp * 10 + 1000 LSB

      // | | | | |---------- Temp * 10 + 1000 MSB

      // | | | |-------------- Sensor type (1 or 2) +128 if NewBatteryFlag

      // | | |----------------- Sensor ID

      // | |------------------- fix "9"

      // |---------------------- fix "OK"

      Vielleich kann da mal ein Dev drauf schauen ob es eine Möglichkeit gibt das der ioBroker-Adappter angepasst werden kann.

      Gruß

      Jürgen

      1 Reply Last reply Reply Quote 0
      • Lenny.CB
        Lenny.CB Most Active last edited by

        @derAuge:

        // OK 9 56 1 4 156 37 ID = 56 T: 18.0 H: 37 no NewBatt

        // OK 9 49 1 4 182 54 ID = 49 T: 20.6 H: 54 no NewBatt

        // OK 9 55 129 4 192 56 ID = 55 T: 21.6 H: 56 WITH NewBatt

        // OK 9 ID XXX XXX XXX XXX

        // | | | | | | |

        // | | | | | | –- Humidity incl. WeakBatteryFlag

        // | | | | | |------ Temp * 10 + 1000 LSB

        // | | | | |---------- Temp * 10 + 1000 MSB

        // | | | |-------------- Sensor type (1 or 2) +128 if NewBatteryFlag

        // | | |----------------- Sensor ID

        // | |------------------- fix "9"

        // |---------------------- fix "OK"

        Jürgen `

        moin, genau diese "Übersicht hat mir auch Kopfschmerzen bereitet…

        Die Frage die sich mir stellte, "Wie kommt man mit dem String auf die Temp im Beispiel?"

        eine Formel zur Berechnung habe ich in der pm-Datei von FHEM gefunden. Damit simmen die Beispiele auch wieder.

        OK 9 56 1 4 156 37 ID = 56 T: 18.0 H: 37 no NewBatt

        Temp. (4*256+156-1000)/10 =18.0

        hier wird m.E. der String "zusammen geschnipselt"

        if(tmp[2]=='19'){ 
        229                         //we are expecting data in form \"OK nodeid data1 data2 etc 
        230                         var tmpp=tmp.splice(3,8); 
        231                         adapter.log.info('splice:'+tmpp); 
        232                         var buf = new Buffer(tmpp); 
        233                         adapter.log.info('Temperature:'+ (buf.readInt16LE(0))/10); 
        234                         adapter.setState('emonTH_'+ tmp[2] +'.temp', {val: (buf.readInt16LE(0))/10, ack: true}); 
        235                         adapter.log.info('Humidty: ' + (buf.readInt16LE(4))/10); 
        236                         adapter.setState('emonTH_'+ tmp[2] +'.humid', {val: (buf.readInt16LE(4))/10, ack: true}); 
        237                         adapter.log.info('Voltage: ' + (buf.readInt16LE(6))/10); 
        238                         adapter.setState('emonTH_'+ tmp[2] +'.batt', {val: (buf.readInt16LE(6))/10, ack: true}); 
        239                     } 
        
        

        das habe ich mal in meinem Leichtsinn als "Programmier-Null" angepasst

        if(tmp[2]=='9'){ 
        229                         //we are expecting data in form \"OK nodeid data1 data2 etc 
        230                         var tmpp=tmp.splice(4,6); 
        231                         adapter.log.info('splice:'+tmpp); 
        232                         var buf = new Buffer(tmpp); 
        233                         adapter.log.info('Temperature:'+ ((buf.readInt16LE(0))*256+(buf.readInt16LE(1)-1000)/10); 
        234                         //adapter.setState('emonTH_'+ tmp[2] +'.temp', {val: (buf.readInt16LE(0))/10, ack: true}); 
        235                         }
        

        habe es jetzt noch nicht getestet… Weiß nicht ob der Syntax korrekt ist oder ob es überhaupt geht... Programmier-Null eben... will da Abend noch weiter machen...

        Weiterhin dachte ich mir, es muss für die TX29 die io-package.json angepasst werden. Der TX29 hat als fix die "9". Also habe ich Folgendes hinzugefügt:

        "19": { 
        27                 "room": [ 
        28                     "Temp" 
        29                 ], 
        30                 "stype": [ 
        31                     "emonTH" 
        32                 ] 
        33             }, 
        
        

        Vielleicht klappts ja… :shock:

        1 Reply Last reply Reply Quote 0
        • derAuge
          derAuge last edited by

          @Lenny.CB:

          die io-package.json angepasst werden `

          In dieser Datei kann ich ändern was ich will. Das hat kein Einfluss auf den Adapter

          Gruß

          Jürgen

          1 Reply Last reply Reply Quote 0
          • Lenny.CB
            Lenny.CB Most Active last edited by

            @derAuge:

            [

            In dieser Datei kann ich ändern was ich will. Das hat kein Einfluss auf den Adapter ` habe ich auch grad festgestellt.

            bin etwas weiter mit der jeelink.js

            adapter.log.info('Temperature0:'+ ((buf.readIntLE(0))*256+(buf.readIntLE(1))-1000)/10);
            ````bekomme ich erst einmal einen "vernünftigen" Wert ausgerechnet. Hier wird aber noch nicht die Kommastelle berücksichtigt. Mal schauen warum
            
            Log:
            

            jeelink.0 2016-05-13 14:19:55 info jeelink.0 Temperature0:20
            jeelink.0 2016-05-13 14:19:55 info jeelink.0 splice:4,177,49

            1 Reply Last reply Reply Quote 0
            • Lenny.CB
              Lenny.CB Most Active last edited by

              scheind erstmal was zu machen…

              jeelink.js

              Code austauschen

               if(tmp[2]=='19'){
                                      //we are expecting data in form \"OK nodeid data1 data2 etc
                                      var tmpp=tmp.splice(3,8);
                                      adapter.log.info('splice:'+tmpp);
                                      var buf = new Buffer(tmpp);
                                      adapter.log.info('Temperature:'+ (buf.readInt16LE(0))/10);
                                      adapter.setState('emonTH_'+ tmp[2] +'.temp', {val: (buf.readInt16LE(0))/10, ack: true});
                                      adapter.log.info('Humidty: ' + (buf.readInt16LE(4))/10);
                                      adapter.setState('emonTH_'+ tmp[2] +'.humid', {val: (buf.readInt16LE(4))/10, ack: true});
                                      adapter.log.info('Voltage: ' + (buf.readInt16LE(6))/10);
                                      adapter.setState('emonTH_'+ tmp[2] +'.batt', {val: (buf.readInt16LE(6))/10, ack: true});
                                      }
              

              mit

              if(tmp[2]=='12' || tmp[2]=='11'){
                                      //we are expecting data in form \"OK nodeid data1 data2 etc
                                      var tmpp=tmp.splice(4,6);
                                      adapter.log.info('splice_TH' + tmp[2] + ':'+tmpp);
                                      var buf = new Buffer(tmpp);
                                      adapter.log.info('Temperature_TH'+ tmp[2] +': '+ ((buf.readIntLE(0))*256+(buf.readIntLE(1))-1000)/10);
                                      adapter.setState('emonTH_' + tmp[2] +'.temp', {val: ((buf.readIntLE(0))*256+(buf.readIntLE(1))-1000)/10, ack: true});
                                      adapter.log.info('Humidty_TH'+ tmp[2] +': ' + (buf.readIntLE(2)));
                                      adapter.setState('emonTH_'+ tmp[2] +'.humid', {val: (buf.readIntLE(2)), ack: true});
                                      }
              ````ID 11 und 12 sind bei mir 2 Sensoren, müssen entsprechend angepasst werden
              
              dann noch die io-package.json anpassen
              
              	"11": {
                          "room": [
                              "Test1"
                          ],
                          "stype": [
                              "emonTH"
                          ]
                      },
              	"12": {
                          "room": [
                              "Test"
                          ],
                          "stype": [
                              "emonTH"
                          ]
                      },
              
              
              dann
              

              cd /opt/iobroker
              iobroker upload jeelink

              
              und das Ergebnis ist
              [983_jeelink.jpg](/assets/uploads/files/983_jeelink.jpg)
              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                @derAuge:

                @Lenny.CB:

                die io-package.json angepasst werden `

                In dieser Datei kann ich ändern was ich will. Das hat kein Einfluss auf den Adapter

                Gruß

                Jürgen `

                Habe ähnliche "Probleme" mit dem RPI-Adapter, bei dem ich die Temperaturausgabe an den BPi anpassen möchte.

                Die kommt da nur zweistellig.

                Wo muss man denn etwas ändern, damit es wirkt?

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • Lenny.CB
                  Lenny.CB Most Active last edited by

                  @Homoran:

                  Wo muss man denn etwas ändern, damit es wirkt? `

                  nachdem ich "iobroker upload jeelink" gemacht habe, wurde alles übernommen was ich in der io-package.json geändert habe…

                  ob das die lösung ist weiß ich nicht, hat jedenfalls funktioniert.

                  1 Reply Last reply Reply Quote 0
                  • derAuge
                    derAuge last edited by

                    so, nach einem entspannendem Wochenende klappte es heute etwas besser.

                    Anpassungen:

                    <u>Punkt 1 : io-package.json</u>

                    Dort habe ich eine neue "stype" aufgemacht.

                    ! "sensors": {
                    ! "30": {
                    ! "room": [
                    ! "WC"
                    ! ],
                    ! "stype": [
                    ! "LaCrosse"
                    ! ]
                    ! },
                    ! "27": {
                    ! "room": [
                    ! "Bad"
                    ! ],
                    ! "stype": [
                    ! "LaCrosse"
                    ! ]
                    ! },
                    Hier muss für jeden vorhandenen Sensor ein Eintrag mit der SensorID erstellt werden.

                    Ob das mir dem "iobroker upload jeelink" grundsätzlich sein muss vermag ich noch nicht zu beurteilen. Es hilft aber

                    <u>Punkt 2 : jeelink.js</u>

                    Hier habe ich die Funktion für das anlegen der Sensoren angepasst.

                    ! var obj = adapter.config.sensors;
                    ! for (var anz in obj){
                    ! if(obj[anz].stype=="LaCrosse") {
                    ! adapter.setObject('LaCrosse_' + anz, {
                    ! type: 'channel',
                    ! common: {
                    ! name: 'LaCrosse ' + obj[anz].room,
                    ! role: 'sensor'
                    ! },
                    ! native: {
                    ! "addr": anz
                    ! }
                    ! });
                    ! adapter.log.info('RFM12B setting up object = LaCrosse ' + anz);
                    ! adapter.setObject('LaCrosse_' + anz + '.temp', {
                    ! type: 'state',
                    ! common: {
                    ! "name": "Temperature",
                    ! "type": "number",
                    ! "unit": "°C",
                    ! "min": -50,
                    ! "max": 50,
                    ! "read": true,
                    ! "write": false,
                    ! "role": "value.temperature",
                    ! "desc": "Temperature"
                    ! },
                    ! native: {}
                    ! });
                    ! adapter.setObject('LaCrosse_' + anz + '.humid', {
                    ! type: 'state',
                    ! common: {
                    ! "name": "Humidity",
                    ! "type": "number",
                    ! "unit": "%",
                    ! "min": 0,
                    ! "max": 100,
                    ! "read": true,
                    ! "write": false,
                    ! "role": "value.humidity",
                    ! "desc": "Humidity"
                    ! },
                    ! native: {}
                    ! });
                    ! adapter.setObject('LaCrosse_' + anz + '.batt', {
                    ! type: 'state',
                    ! common: {
                    ! "name": "Battery",
                    ! "type": "number",
                    ! "unit": "V",
                    ! "min": 0,
                    ! "max": 4,
                    ! "read": true,
                    ! "write": false,
                    ! "role": "value.battery",
                    ! "desc": "Battery"
                    ! },
                    ! native: {}
                    ! });
                    ! adapter.setObject('LaCrosse_' + anz + '.type', {
                    ! type: 'state',
                    ! common: {
                    ! "name": "Type",
                    ! "type": "number",
                    ! "unit": "",
                    ! "min": 1,
                    ! "max": 2,
                    ! "read": true,
                    ! "write": false,
                    ! "role": "value.type",
                    ! "desc": "SensorType"
                    ! },
                    ! native: {}
                    ! });
                    ! }

                    Weiterhin habe ich Funktion für die Auswertung der Datensätze angepasst.

                    Nun muss nicht jeder Sensor hier zusätzlich eingetragen werden

                    Auch ist es mir gelungen die integer-Werte umzurechnen (Danke für den Denkanstoß @Lenny.CB)

                    ! sp.on('data', function(data) {
                    ! adapter.log.debug('data received: ' + data);
                    ! // OK 9 56 1 4 156 37 ID = 56 T: 18.0 H: 37 no NewBatt
                    ! // OK 9 49 1 4 182 54 ID = 49 T: 20.6 H: 54 no NewBatt
                    ! // OK 9 55 129 4 192 56 ID = 55 T: 21.6 H: 56 WITH NewBatt
                    ! // OK 9 ID XXX XXX XXX XXX
                    ! // | | | | | | |
                    ! // | | | | | | |– [6]Humidity incl. WeakBatteryFlag
                    ! // | | | | | |–---- [5]Temp * 10 + 1000 LSB
                    ! // | | | | |–-------- [4]Temp * 10 + 1000 MSB
                    ! // | | | |–------------ [3]Sensor type (1 or 2) +128 if NewBatteryFlag
                    ! // | | |–--------------- [2]Sensor ID
                    ! // | |–----------------- [1]fix "9"
                    ! // |–-------------------- [0]fix "OK"
                    ! var tmp = data.split(' ');
                    ! if(tmp[0]==='OK'){ // Wenn ein Datensatz sauber gelesen wurde
                    ! if(tmp[1]=='9'){ // Für jeden Datensatz mit dem fixen Eintrag 9
                    ! // somit werden alle SendorIDs bearbeitet
                    ! var tmpp=tmp.splice(3,6); // es werden die vorderen Blöcke (0,1,2) entfernt
                    ! adapter.log.debug('splice : '+ tmpp);
                    ! var buf = new Buffer(tmpp);
                    ! adapter.log.debug('Sensor ID : '+ tmp[2]);
                    ! adapter.log.debug('Type/NewBatt : '+ (buf.readIntLE(0))); // wenn "100000xx" dann NewBatt # xx = SensorType 1 oder 2
                    ! adapter.log.debug('Hi *256 : '+ (buf.readIntLE(1)));
                    ! adapter.log.debug('Low -1000/10 : '+ (buf.readIntLE(2)));
                    ! adapter.log.debug('Temperatur : '+ ((((buf.readIntLE(1))*256)+(buf.readIntLE(2))-1000)/10));
                    ! adapter.log.debug('Humidty : '+ (buf.readIntLE(3))); // Hier muss noch "incl. WeakBatteryFlag" ausgewertet werden
                    ! // Werte schreiben
                    ! // adapter.setState('LaCrosse_'+ tmp[2] +'.batt', {val: (buf.readIntLE(0)), ack: true}); //Baustelle
                    ! adapter.setState('LaCrosse_'+ tmp[2] +'.type', {val: (buf.readIntLE(0)), ack: true}); //Baustelle
                    ! adapter.setState('LaCrosse_'+ tmp[2] +'.temp', {val: ((((buf.readIntLE(1))*256)+(buf.readIntLE(2))-1000)/10), ack: true});
                    ! adapter.setState('LaCrosse_'+ tmp[2] +'.humid',{val: (buf.readIntLE(3)), ack: true});
                    ! }

                    Damit nicht zu vile Einträge ins LOG kommen habe ich die Meldungen auf DEBUG gelegt. Samit sind sie einfach abzuschalten.

                    315_jeelink.js.txt

                    Baustellen:

                    Auswertung von NewBattery und WeakBattery

                    Wunsch:

                    Automatisches Anlegen der SensorIDs

                    Das ganze kann sicher noch optimiert werden. Werde es erst mal so laufen lassen um die Daten zu loggen.

                    Gruß

                    Jürgen

                    1 Reply Last reply Reply Quote 0
                    • S
                      simpixo last edited by

                      Verstehe ich das richtig, das man jetzt die Jeelink Sensoren einbinden kann!? Und man die Werte in ioBroker angezeigt bekommt!?

                      Gesendet von meinem iPhone mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • Lenny.CB
                        Lenny.CB Most Active last edited by

                        @simpixo:

                        Verstehe ich das richtig, das man jetzt die Jeelink Sensoren einbinden kann!? Und man die Werte in ioBroker angezeigt bekommt!?

                        Gesendet von meinem iPhone mit Tapatalk `

                        ja, zwar noch nicht so schön "vollautomatisch" wie bei anderen Adaptern, aber mit Initialen, manuellem Aufwand geht erst einmal schon.

                        1 Reply Last reply Reply Quote 0
                        • S
                          simpixo last edited by

                          Gibt es denn Empfehlungen für die Sensoren!? Oder ist es erstmal egal welche man sich holt!?

                          Ich möchte günstig jeden Raum mit einem Luftfeuchtigkeit/ Temperatur Sensor ausstatten! Und das wäre im Gegensatz zu Homematic sehr preiswert [emoji16][emoji12][emoji6]

                          Gesendet von meinem iPhone mit Tapatalk

                          1 Reply Last reply Reply Quote 0
                          • derAuge
                            derAuge last edited by

                            @simpixo:

                            Gibt es denn Empfehlungen für die Sensoren!? Oder ist es erstmal egal welche man sich holt!?

                            Ich möchte günstig jeden Raum mit einem Luftfeuchtigkeit/ Temperatur Sensor ausstatten! Und das wäre im Gegensatz zu Homematic sehr preiswert [emoji16][emoji12][emoji6]

                            Gesendet von meinem iPhone mit Tapatalk `

                            Ja genau das war auch mein Gedanke

                            Daher habe ich mir ein JeeLink-Clone besorgt und Technoline Außensender TX 29 DTH - IT, weiß
                            315_jeelink_lacross.png

                            Gruß

                            Jürgen

                            1 Reply Last reply Reply Quote 0
                            • S
                              simpixo last edited by

                              Wo bekomme ich denn Jeelink clone her!? Amazon/ eBay habe ich nichts gefunden [emoji30]

                              Gesendet von meinem iPhone mit Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • derAuge
                                derAuge last edited by

                                @simpixo:

                                Wo bekomme ich denn Jeelink clone her!? Amazon/ eBay habe ich nichts gefunden [emoji30] `

                                Steht im ersten Post. (sogar mit Link) :geek:

                                1 Reply Last reply Reply Quote 0
                                • S
                                  simpixo last edited by

                                  Ahh stimmt ja, schon länger her das ich den Thread zum ersten Mal gelesen habe [emoji53]

                                  Asche über mein Haupt!!! [emoji6]

                                  Gesendet von meinem iPhone mit Tapatalk

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators last edited by

                                    Hallo Jürgen,

                                    hast du mal in github deine Änderungen an foxthefox geschickt als pullrequest?

                                    Gruß

                                    Rainer

                                    1 Reply Last reply Reply Quote 0
                                    • derAuge
                                      derAuge last edited by

                                      @Homoran:

                                      Hallo Jürgen,

                                      hast du mal in github deine Änderungen an foxthefox geschickt als pullrequest?

                                      Gruß

                                      Rainer `

                                      nein,

                                      ich denke seine Idee war eine ganz andere. Wenn wir es nutzen wollen müsten wir den Adapter wohl neu schreiben(JeeLinkLaCrosse)

                                      Gruß

                                      Jürgen

                                      1 Reply Last reply Reply Quote 0
                                      • Lenny.CB
                                        Lenny.CB Most Active last edited by

                                        @derAuge:

                                        nein,

                                        ich denke seine Idee war eine ganz andere. Wenn wir es nutzen wollen müsten wir den Adapter wohl neu schreiben(JeeLinkLaCrosse)

                                        Gruß

                                        Jürgen `
                                        neu schreiben wäre ja auch möglich, aber könnte man das nicht so machen wie beim rpc-Adapter?

                                        Ein Instanz für Lacrosse, 1 Instanz für PCA301 u.s.w.? Mal abgesehen davon, dass man für die Sachen jeweils einen JeeLink mit eigener Software braucht.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          simpixo last edited by

                                          Also habe mir den Jeelink v3c bestellt! Ist der schon geflasht wenn ich den erhalte!? Oder muss ich das selbst übernehmen!?

                                          Weiß das zufällig jemand!?

                                          Wenn ich flashen muss, woher bekomme ich die Firmware!?

                                          Muss ja nicht das Rad neu erfinden, deshalb frage ich hier erst nach [emoji12][emoji6]

                                          Gesendet von meinem iPhone mit Tapatalk

                                          1 Reply Last reply Reply Quote 0
                                          • derAuge
                                            derAuge last edited by

                                            @simpixo:

                                            Also habe mir den Jeelink v3c bestellt! Ist der schon geflasht wenn ich den erhalte!? Oder muss ich das selbst übernehmen!? `

                                            Wie ich vermute hast du das original bestellt. Damit habe ich keine Erfahrung.

                                            Sollte da dann noch Software eingespielt werden (HowTo aus FHEM suchen) wirst du es sicher hier berichten.

                                            Halte uns bitte auf dem Laufenden.

                                            Gruß

                                            Jürgen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            639
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            62
                                            12022
                                            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